From 5e18158a240fe48eaf398bbdccbb16a59a96c061 Mon Sep 17 00:00:00 2001 From: "Valeriano A.R." Date: Tue, 5 Dec 2023 03:53:08 +0100 Subject: [PATCH] AdventOfCode 2018 Day16 Part1 --- AdventOfCode.sln.DotSettings | 3 +- AdventOfCode2018.Tests/Day16_Tests.cs | 25 + AdventOfCode2018/Day16.cs | 279 ++ AdventOfCode2018/Program.cs | 2 +- AdventOfCode2018/inputs/Day16.txt | 3938 +++++++++++++++++++++++++ 5 files changed, 4245 insertions(+), 2 deletions(-) create mode 100644 AdventOfCode2018.Tests/Day16_Tests.cs create mode 100644 AdventOfCode2018/Day16.cs create mode 100644 AdventOfCode2018/inputs/Day16.txt diff --git a/AdventOfCode.sln.DotSettings b/AdventOfCode.sln.DotSettings index 3da65b2..9bcab71 100644 --- a/AdventOfCode.sln.DotSettings +++ b/AdventOfCode.sln.DotSettings @@ -7,4 +7,5 @@ <Policy Inspect="True" Prefix="" Suffix="" Style="AaBb_AaBb" /> True True - True \ No newline at end of file + True + True \ No newline at end of file diff --git a/AdventOfCode2018.Tests/Day16_Tests.cs b/AdventOfCode2018.Tests/Day16_Tests.cs new file mode 100644 index 0000000..70e89ca --- /dev/null +++ b/AdventOfCode2018.Tests/Day16_Tests.cs @@ -0,0 +1,25 @@ +namespace AdventOfCode2018.Tests; + +public class Day16_Tests +{ + [Fact] + public void ResolvePart1__Test1() + { + Day16 day = new(); + + string result = day.ResolvePart1(new[] { + "Before: [3, 2, 1, 1]", + "9 2 1 2", + "After: [3, 2, 2, 1]", + "", + "Before: [3, 2, 1, 1]", + "9 2 1 2", + "After: [3, 2, 2, 1]", + "", + "", + "Garbage", + }); + + Assert.Equal("2", result); + } +} \ No newline at end of file diff --git a/AdventOfCode2018/Day16.cs b/AdventOfCode2018/Day16.cs new file mode 100644 index 0000000..0fbd800 --- /dev/null +++ b/AdventOfCode2018/Day16.cs @@ -0,0 +1,279 @@ +using System; +using System.Collections.Generic; +using System.Linq; + +namespace AdventOfCode2018; + +/* +--- Day 16: Chronal Classification --- + +As you see the Elves defend their hot chocolate successfully, you go back to falling through time. This is going to become a problem. + +If you're ever going to return to your own time, you need to understand how this device on your wrist works. You have a little while before you reach your next destination, and with a bit of trial and error, you manage to pull up a programming manual on the device's tiny screen. + +According to the manual, the device has four registers (numbered 0 through 3) that can be manipulated by instructions containing one of 16 opcodes. The registers start with the value 0. + +Every instruction consists of four values: an opcode, two inputs (named A and B), and an output (named C), in that order. The opcode specifies the behavior of the instruction and how the inputs are interpreted. The output, C, is always treated as a register. + +In the opcode descriptions below, if something says "value A", it means to take the number given as A literally. (This is also called an "immediate" value.) If something says "register A", it means to use the number given as A to read from (or write to) the register with that number. So, if the opcode addi adds register A and value B, storing the result in register C, and the instruction addi 0 7 3 is encountered, it would add 7 to the value contained by register 0 and store the sum in register 3, never modifying registers 0, 1, or 2 in the process. + +Many opcodes are similar except for how they interpret their arguments. The opcodes fall into seven general categories: + +Addition: + + addr (add register) stores into register C the result of adding register A and register B. + addi (add immediate) stores into register C the result of adding register A and value B. + +Multiplication: + + mulr (multiply register) stores into register C the result of multiplying register A and register B. + muli (multiply immediate) stores into register C the result of multiplying register A and value B. + +Bitwise AND: + + banr (bitwise AND register) stores into register C the result of the bitwise AND of register A and register B. + bani (bitwise AND immediate) stores into register C the result of the bitwise AND of register A and value B. + +Bitwise OR: + + borr (bitwise OR register) stores into register C the result of the bitwise OR of register A and register B. + bori (bitwise OR immediate) stores into register C the result of the bitwise OR of register A and value B. + +Assignment: + + setr (set register) copies the contents of register A into register C. (Input B is ignored.) + seti (set immediate) stores value A into register C. (Input B is ignored.) + +Greater-than testing: + + gtir (greater-than immediate/register) sets register C to 1 if value A is greater than register B. Otherwise, register C is set to 0. + gtri (greater-than register/immediate) sets register C to 1 if register A is greater than value B. Otherwise, register C is set to 0. + gtrr (greater-than register/register) sets register C to 1 if register A is greater than register B. Otherwise, register C is set to 0. + +Equality testing: + + eqir (equal immediate/register) sets register C to 1 if value A is equal to register B. Otherwise, register C is set to 0. + eqri (equal register/immediate) sets register C to 1 if register A is equal to value B. Otherwise, register C is set to 0. + eqrr (equal register/register) sets register C to 1 if register A is equal to register B. Otherwise, register C is set to 0. + +Unfortunately, while the manual gives the name of each opcode, it doesn't seem to indicate the number. However, you can monitor the CPU to see the contents of the registers before and after instructions are executed to try to work them out. Each opcode has a number from 0 through 15, but the manual doesn't say which is which. For example, suppose you capture the following sample: + +Before: [3, 2, 1, 1] +9 2 1 2 +After: [3, 2, 2, 1] + +This sample shows the effect of the instruction 9 2 1 2 on the registers. Before the instruction is executed, register 0 has value 3, register 1 has value 2, and registers 2 and 3 have value 1. After the instruction is executed, register 2's value becomes 2. + +The instruction itself, 9 2 1 2, means that opcode 9 was executed with A=2, B=1, and C=2. Opcode 9 could be any of the 16 opcodes listed above, but only three of them behave in a way that would cause the result shown in the sample: + + Opcode 9 could be mulr: register 2 (which has a value of 1) times register 1 (which has a value of 2) produces 2, which matches the value stored in the output register, register 2. + Opcode 9 could be addi: register 2 (which has a value of 1) plus value 1 produces 2, which matches the value stored in the output register, register 2. + Opcode 9 could be seti: value 2 matches the value stored in the output register, register 2; the number given for B is irrelevant. + +None of the other opcodes produce the result captured in the sample. Because of this, the sample above behaves like three opcodes. + +You collect many of these samples (the first section of your puzzle input). The manual also includes a small test program (the second section of your puzzle input) - you can ignore it for now. + +Ignoring the opcode numbers, how many samples in your puzzle input behave like three or more opcodes? + +*/ + +public class Day16 : IDay +{ + public string ResolvePart1(string[] inputs) + { + int count = 0; + int i = 0; + ChronoMachine machine = new(); + bool end = false; + int[] beforeRegisters = null; + int[] afterRegisters; + int[] instruction = null; + const string beforeKeyword = "Before: ["; + const string afterKeyword = "After: ["; + while (inputs.Length > i) + { + if (string.IsNullOrEmpty(inputs[i])) + { + if (end) { break; } + end = true; + i++; + } + else if (inputs[i].StartsWith(beforeKeyword)) + { + end = false; + string strBeforeRegisters = inputs[i].Substring(beforeKeyword.Length, inputs[i].Length - (1 + beforeKeyword.Length)); + beforeRegisters = strBeforeRegisters.Split(", ").Select(s => Convert.ToInt32(s)).ToArray(); + i++; + } + else if (inputs[i].StartsWith(afterKeyword)) + { + end = false; + string strBeforeRegisters = inputs[i].Substring(afterKeyword.Length, inputs[i].Length - (1 + afterKeyword.Length)); + afterRegisters = strBeforeRegisters.Split(", ").Select(s => Convert.ToInt32(s)).ToArray(); + i++; + + if (instruction == null || beforeRegisters == null) { continue; } + + if (machine.MutationCheck(instruction[1], instruction[2], instruction[3], beforeRegisters, afterRegisters) >= 3) + { + count++; + } + } + else + { + end = false; + instruction = inputs[i].Split(" ").Where(s => string.IsNullOrEmpty(s) == false).Select(s => Convert.ToInt32(s)).ToArray(); + i++; + } + + } + return count.ToString(); + } + + public string ResolvePart2(string[] inputs) + { + throw new NotImplementedException(); + } + + public class ChronoMachine + { + private int[] _registers; + + private List<(string OpCode, Action OpFunc)> _instructions; + + + + public ChronoMachine() + { + _registers = new int[4]; + _instructions = new List<(string OpCode, Action OpFunc)> { + ("addr", Op_AddR), + ("addi", Op_AddI), + ("mulr", Op_MulR), + ("muli", Op_MulI), + ("banr", Op_BAnR), + ("bani", Op_BAnI), + ("borr", Op_BOrR), + ("bori", Op_BOrI), + ("setr", Op_SetR), + ("seti", Op_SetI), + ("gtir", Op_GTIR), + ("gtri", Op_GTRI), + ("gtrr", Op_GTRR), + ("eqir", Op_EqIR), + ("eqri", Op_EqRI), + ("eqrr", Op_EqRR), + }; + } + + private void SetRegisters(int[] registers) + { + for (int i = 0; i < 4; i++) + { + _registers[i] = registers[i]; + } + } + + private bool CheckRegisters(int[] registers) + { + for (int i = 0; i < 4; i++) + { + if (registers[i] != _registers[i]) { return false; } + } + return true; + } + + private void Op_AddR(int a, int b, int c) + { + _registers[c] = _registers[a] + _registers[b]; + } + + private void Op_AddI(int a, int b, int c) + { + _registers[c] = _registers[a] + b; + } + + private void Op_MulR(int a, int b, int c) + { + _registers[c] = _registers[a] * _registers[b]; + } + + private void Op_MulI(int a, int b, int c) + { + _registers[c] = _registers[a] * b; + } + + private void Op_BAnR(int a, int b, int c) + { + _registers[c] = _registers[a] & _registers[b]; + } + + private void Op_BAnI(int a, int b, int c) + { + _registers[c] = _registers[a] & b; + } + + private void Op_BOrR(int a, int b, int c) + { + _registers[c] = _registers[a] | _registers[b]; + } + + private void Op_BOrI(int a, int b, int c) + { + _registers[c] = _registers[a] | b; + } + + private void Op_SetR(int a, int b, int c) + { + _registers[c] = _registers[a]; + } + + private void Op_SetI(int a, int b, int c) + { + _registers[c] = a; + } + + private void Op_GTIR(int a, int b, int c) + { + _registers[c] = (a > _registers[b]) ? 1 : 0; + } + + private void Op_GTRI(int a, int b, int c) + { + _registers[c] = (_registers[a] > b) ? 1 : 0; + } + + private void Op_GTRR(int a, int b, int c) + { + _registers[c] = (_registers[a] > _registers[b]) ? 1 : 0; + } + + private void Op_EqIR(int a, int b, int c) + { + _registers[c] = (a == _registers[b]) ? 1 : 0; + } + + private void Op_EqRI(int a, int b, int c) + { + _registers[c] = (_registers[a] == b) ? 1 : 0; + } + + private void Op_EqRR(int a, int b, int c) + { + _registers[c] = (_registers[a] == _registers[b]) ? 1 : 0; + } + + public int MutationCheck(int a, int b, int c, int[] initialRegisters, int[] finalRegisters) + { + int count = 0; + foreach ((string _, Action OpFunc) in _instructions) + { + SetRegisters(initialRegisters); + OpFunc(a, b, c); + if (CheckRegisters(finalRegisters)) { count++; } + } + return count; + } + } +} \ No newline at end of file diff --git a/AdventOfCode2018/Program.cs b/AdventOfCode2018/Program.cs index ff6d91b..becddc8 100644 --- a/AdventOfCode2018/Program.cs +++ b/AdventOfCode2018/Program.cs @@ -1,3 +1,3 @@ global using AdventOfCode.Common; -DayHelper.RunDay("AdventOfCode2018", 2); \ No newline at end of file +DayHelper.RunDay("AdventOfCode2018", 16); \ No newline at end of file diff --git a/AdventOfCode2018/inputs/Day16.txt b/AdventOfCode2018/inputs/Day16.txt new file mode 100644 index 0000000..f4ae971 --- /dev/null +++ b/AdventOfCode2018/inputs/Day16.txt @@ -0,0 +1,3938 @@ +Before: [3, 0, 0, 1] +0 3 0 2 +After: [3, 0, 1, 1] + +Before: [2, 0, 0, 2] +4 0 3 1 +After: [2, 1, 0, 2] + +Before: [0, 1, 1, 1] +14 0 0 2 +After: [0, 1, 0, 1] + +Before: [3, 0, 1, 1] +11 0 0 3 +After: [3, 0, 1, 1] + +Before: [1, 2, 2, 0] +9 0 2 1 +After: [1, 0, 2, 0] + +Before: [0, 2, 3, 3] +11 2 2 3 +After: [0, 2, 3, 1] + +Before: [2, 0, 1, 2] +4 0 3 2 +After: [2, 0, 1, 2] + +Before: [2, 0, 2, 2] +6 3 3 3 +After: [2, 0, 2, 0] + +Before: [0, 1, 2, 2] +1 1 2 3 +After: [0, 1, 2, 0] + +Before: [0, 3, 0, 0] +14 0 0 0 +After: [0, 3, 0, 0] + +Before: [2, 2, 0, 2] +4 0 3 3 +After: [2, 2, 0, 1] + +Before: [2, 3, 2, 1] +13 2 2 0 +After: [1, 3, 2, 1] + +Before: [2, 1, 1, 2] +4 0 3 1 +After: [2, 1, 1, 2] + +Before: [1, 2, 2, 1] +9 0 2 0 +After: [0, 2, 2, 1] + +Before: [2, 2, 0, 2] +4 0 3 1 +After: [2, 1, 0, 2] + +Before: [1, 0, 2, 3] +9 0 2 1 +After: [1, 0, 2, 3] + +Before: [1, 1, 3, 2] +10 1 3 1 +After: [1, 0, 3, 2] + +Before: [0, 2, 1, 3] +14 0 0 1 +After: [0, 0, 1, 3] + +Before: [2, 1, 2, 1] +11 0 0 1 +After: [2, 1, 2, 1] + +Before: [1, 1, 2, 2] +3 2 3 1 +After: [1, 2, 2, 2] + +Before: [3, 0, 2, 3] +8 1 0 1 +After: [3, 0, 2, 3] + +Before: [1, 3, 2, 2] +9 0 2 2 +After: [1, 3, 0, 2] + +Before: [2, 0, 3, 2] +4 0 3 2 +After: [2, 0, 1, 2] + +Before: [2, 1, 1, 2] +10 1 3 1 +After: [2, 0, 1, 2] + +Before: [2, 1, 2, 3] +1 1 2 2 +After: [2, 1, 0, 3] + +Before: [3, 1, 2, 1] +1 1 2 3 +After: [3, 1, 2, 0] + +Before: [2, 2, 2, 3] +5 2 2 1 +After: [2, 2, 2, 3] + +Before: [2, 0, 2, 2] +4 0 3 2 +After: [2, 0, 1, 2] + +Before: [2, 3, 1, 1] +11 0 0 0 +After: [1, 3, 1, 1] + +Before: [2, 3, 2, 2] +4 0 3 1 +After: [2, 1, 2, 2] + +Before: [3, 1, 3, 0] +0 1 0 1 +After: [3, 1, 3, 0] + +Before: [3, 1, 2, 3] +12 3 0 3 +After: [3, 1, 2, 1] + +Before: [1, 0, 3, 1] +6 3 3 1 +After: [1, 0, 3, 1] + +Before: [0, 1, 2, 3] +1 1 2 3 +After: [0, 1, 2, 0] + +Before: [1, 2, 1, 3] +2 1 3 1 +After: [1, 0, 1, 3] + +Before: [1, 2, 2, 3] +9 0 2 2 +After: [1, 2, 0, 3] + +Before: [3, 3, 3, 2] +11 0 2 1 +After: [3, 1, 3, 2] + +Before: [2, 1, 0, 2] +10 1 3 3 +After: [2, 1, 0, 0] + +Before: [3, 3, 3, 3] +5 3 3 0 +After: [3, 3, 3, 3] + +Before: [0, 3, 2, 0] +13 0 0 0 +After: [1, 3, 2, 0] + +Before: [3, 0, 2, 2] +3 2 3 3 +After: [3, 0, 2, 2] + +Before: [1, 3, 2, 1] +9 0 2 1 +After: [1, 0, 2, 1] + +Before: [1, 1, 2, 3] +1 1 2 0 +After: [0, 1, 2, 3] + +Before: [1, 1, 0, 2] +15 1 0 1 +After: [1, 1, 0, 2] + +Before: [0, 1, 1, 3] +2 2 3 3 +After: [0, 1, 1, 0] + +Before: [3, 1, 3, 3] +0 3 0 3 +After: [3, 1, 3, 3] + +Before: [0, 0, 3, 3] +14 0 0 3 +After: [0, 0, 3, 0] + +Before: [2, 1, 2, 2] +1 1 2 2 +After: [2, 1, 0, 2] + +Before: [2, 1, 0, 2] +4 0 3 0 +After: [1, 1, 0, 2] + +Before: [2, 1, 2, 1] +7 3 2 0 +After: [1, 1, 2, 1] + +Before: [3, 1, 2, 2] +10 1 3 2 +After: [3, 1, 0, 2] + +Before: [3, 1, 1, 3] +0 1 0 2 +After: [3, 1, 1, 3] + +Before: [3, 0, 2, 1] +7 3 2 0 +After: [1, 0, 2, 1] + +Before: [2, 2, 0, 2] +4 0 3 0 +After: [1, 2, 0, 2] + +Before: [0, 3, 3, 3] +13 3 3 0 +After: [1, 3, 3, 3] + +Before: [2, 1, 2, 3] +5 3 3 3 +After: [2, 1, 2, 3] + +Before: [1, 1, 2, 1] +7 3 2 0 +After: [1, 1, 2, 1] + +Before: [3, 0, 1, 3] +2 2 3 2 +After: [3, 0, 0, 3] + +Before: [0, 2, 2, 1] +14 0 0 2 +After: [0, 2, 0, 1] + +Before: [0, 3, 3, 1] +14 0 0 2 +After: [0, 3, 0, 1] + +Before: [0, 1, 2, 2] +3 2 3 0 +After: [2, 1, 2, 2] + +Before: [0, 3, 2, 0] +14 0 0 1 +After: [0, 0, 2, 0] + +Before: [0, 1, 2, 2] +10 1 3 0 +After: [0, 1, 2, 2] + +Before: [1, 3, 2, 1] +7 3 2 1 +After: [1, 1, 2, 1] + +Before: [1, 0, 2, 3] +9 0 2 3 +After: [1, 0, 2, 0] + +Before: [0, 3, 2, 2] +6 3 3 0 +After: [0, 3, 2, 2] + +Before: [0, 0, 0, 3] +13 3 3 0 +After: [1, 0, 0, 3] + +Before: [2, 0, 2, 2] +3 2 3 0 +After: [2, 0, 2, 2] + +Before: [0, 0, 2, 2] +3 2 3 3 +After: [0, 0, 2, 2] + +Before: [2, 2, 2, 1] +7 3 2 0 +After: [1, 2, 2, 1] + +Before: [3, 3, 1, 3] +0 3 0 2 +After: [3, 3, 3, 3] + +Before: [1, 1, 1, 1] +15 1 0 3 +After: [1, 1, 1, 1] + +Before: [1, 2, 2, 0] +9 0 2 3 +After: [1, 2, 2, 0] + +Before: [2, 2, 2, 1] +12 2 0 2 +After: [2, 2, 1, 1] + +Before: [2, 1, 2, 2] +1 1 2 0 +After: [0, 1, 2, 2] + +Before: [1, 0, 2, 2] +5 2 2 2 +After: [1, 0, 2, 2] + +Before: [0, 0, 2, 2] +3 2 3 1 +After: [0, 2, 2, 2] + +Before: [0, 1, 0, 2] +10 1 3 1 +After: [0, 0, 0, 2] + +Before: [3, 1, 1, 3] +2 2 3 1 +After: [3, 0, 1, 3] + +Before: [0, 2, 1, 0] +8 0 1 3 +After: [0, 2, 1, 0] + +Before: [1, 1, 3, 3] +2 1 3 0 +After: [0, 1, 3, 3] + +Before: [0, 0, 2, 2] +14 0 0 0 +After: [0, 0, 2, 2] + +Before: [1, 2, 2, 3] +9 0 2 3 +After: [1, 2, 2, 0] + +Before: [2, 2, 1, 3] +5 3 3 1 +After: [2, 3, 1, 3] + +Before: [2, 2, 2, 2] +4 0 3 0 +After: [1, 2, 2, 2] + +Before: [0, 0, 3, 0] +14 0 0 3 +After: [0, 0, 3, 0] + +Before: [3, 2, 2, 0] +12 2 1 1 +After: [3, 1, 2, 0] + +Before: [2, 1, 1, 2] +4 0 3 2 +After: [2, 1, 1, 2] + +Before: [3, 2, 2, 3] +5 3 3 3 +After: [3, 2, 2, 3] + +Before: [3, 2, 2, 2] +3 2 3 0 +After: [2, 2, 2, 2] + +Before: [0, 0, 0, 1] +6 3 3 0 +After: [0, 0, 0, 1] + +Before: [1, 1, 0, 0] +15 1 0 1 +After: [1, 1, 0, 0] + +Before: [0, 0, 1, 1] +14 0 0 2 +After: [0, 0, 0, 1] + +Before: [1, 3, 0, 3] +13 3 3 1 +After: [1, 1, 0, 3] + +Before: [1, 1, 3, 1] +15 1 0 3 +After: [1, 1, 3, 1] + +Before: [1, 1, 2, 1] +5 2 2 2 +After: [1, 1, 2, 1] + +Before: [3, 2, 2, 1] +7 3 2 1 +After: [3, 1, 2, 1] + +Before: [1, 1, 2, 0] +15 1 0 2 +After: [1, 1, 1, 0] + +Before: [0, 0, 3, 0] +11 2 2 0 +After: [1, 0, 3, 0] + +Before: [0, 2, 2, 3] +12 2 1 2 +After: [0, 2, 1, 3] + +Before: [0, 0, 3, 2] +14 0 0 3 +After: [0, 0, 3, 0] + +Before: [1, 3, 2, 3] +13 2 2 2 +After: [1, 3, 1, 3] + +Before: [1, 1, 2, 1] +7 3 2 3 +After: [1, 1, 2, 1] + +Before: [0, 1, 3, 0] +8 0 1 1 +After: [0, 0, 3, 0] + +Before: [1, 0, 2, 2] +9 0 2 0 +After: [0, 0, 2, 2] + +Before: [0, 1, 0, 3] +8 0 1 3 +After: [0, 1, 0, 0] + +Before: [0, 2, 1, 3] +2 1 3 3 +After: [0, 2, 1, 0] + +Before: [2, 3, 2, 3] +11 0 0 0 +After: [1, 3, 2, 3] + +Before: [0, 0, 2, 1] +6 3 3 3 +After: [0, 0, 2, 0] + +Before: [2, 2, 3, 2] +11 0 0 0 +After: [1, 2, 3, 2] + +Before: [3, 1, 2, 1] +7 3 2 1 +After: [3, 1, 2, 1] + +Before: [0, 2, 2, 1] +7 3 2 1 +After: [0, 1, 2, 1] + +Before: [0, 1, 0, 3] +14 0 0 1 +After: [0, 0, 0, 3] + +Before: [1, 1, 2, 1] +9 0 2 3 +After: [1, 1, 2, 0] + +Before: [0, 3, 3, 3] +8 0 1 3 +After: [0, 3, 3, 0] + +Before: [0, 3, 0, 3] +13 3 3 3 +After: [0, 3, 0, 1] + +Before: [0, 2, 2, 3] +8 0 3 0 +After: [0, 2, 2, 3] + +Before: [2, 3, 2, 1] +12 2 0 0 +After: [1, 3, 2, 1] + +Before: [0, 3, 3, 0] +8 0 1 0 +After: [0, 3, 3, 0] + +Before: [1, 1, 1, 2] +10 1 3 3 +After: [1, 1, 1, 0] + +Before: [0, 3, 1, 1] +8 0 3 0 +After: [0, 3, 1, 1] + +Before: [2, 1, 3, 3] +2 1 3 0 +After: [0, 1, 3, 3] + +Before: [1, 1, 2, 3] +1 1 2 2 +After: [1, 1, 0, 3] + +Before: [3, 3, 2, 3] +2 2 3 3 +After: [3, 3, 2, 0] + +Before: [0, 1, 1, 3] +13 3 2 0 +After: [0, 1, 1, 3] + +Before: [0, 2, 0, 2] +13 0 0 1 +After: [0, 1, 0, 2] + +Before: [3, 1, 2, 3] +1 1 2 0 +After: [0, 1, 2, 3] + +Before: [0, 3, 3, 3] +11 2 2 1 +After: [0, 1, 3, 3] + +Before: [0, 2, 3, 2] +8 0 2 3 +After: [0, 2, 3, 0] + +Before: [3, 1, 1, 0] +0 1 0 0 +After: [1, 1, 1, 0] + +Before: [2, 1, 2, 1] +0 2 0 3 +After: [2, 1, 2, 2] + +Before: [0, 1, 2, 3] +13 3 3 1 +After: [0, 1, 2, 3] + +Before: [1, 0, 2, 0] +9 0 2 3 +After: [1, 0, 2, 0] + +Before: [3, 1, 2, 0] +11 0 0 0 +After: [1, 1, 2, 0] + +Before: [0, 2, 1, 0] +14 0 0 1 +After: [0, 0, 1, 0] + +Before: [2, 1, 3, 2] +4 0 3 3 +After: [2, 1, 3, 1] + +Before: [0, 2, 2, 3] +2 1 3 0 +After: [0, 2, 2, 3] + +Before: [2, 3, 3, 1] +11 2 2 1 +After: [2, 1, 3, 1] + +Before: [0, 2, 2, 1] +12 2 1 2 +After: [0, 2, 1, 1] + +Before: [2, 3, 2, 2] +3 2 3 2 +After: [2, 3, 2, 2] + +Before: [2, 3, 3, 2] +4 0 3 0 +After: [1, 3, 3, 2] + +Before: [3, 1, 3, 3] +0 3 0 0 +After: [3, 1, 3, 3] + +Before: [0, 2, 1, 3] +8 0 3 2 +After: [0, 2, 0, 3] + +Before: [2, 1, 2, 2] +3 2 3 3 +After: [2, 1, 2, 2] + +Before: [2, 2, 2, 2] +12 2 1 1 +After: [2, 1, 2, 2] + +Before: [2, 1, 2, 2] +3 2 3 1 +After: [2, 2, 2, 2] + +Before: [3, 0, 3, 3] +0 3 0 2 +After: [3, 0, 3, 3] + +Before: [1, 0, 3, 0] +11 2 2 3 +After: [1, 0, 3, 1] + +Before: [0, 2, 2, 0] +12 2 1 1 +After: [0, 1, 2, 0] + +Before: [1, 1, 0, 0] +15 1 0 2 +After: [1, 1, 1, 0] + +Before: [2, 1, 0, 2] +4 0 3 1 +After: [2, 1, 0, 2] + +Before: [1, 2, 2, 3] +2 2 3 2 +After: [1, 2, 0, 3] + +Before: [3, 1, 2, 3] +2 1 3 1 +After: [3, 0, 2, 3] + +Before: [1, 1, 1, 3] +15 1 0 2 +After: [1, 1, 1, 3] + +Before: [1, 2, 3, 0] +11 2 2 3 +After: [1, 2, 3, 1] + +Before: [1, 1, 0, 2] +15 1 0 2 +After: [1, 1, 1, 2] + +Before: [3, 1, 3, 2] +10 1 3 3 +After: [3, 1, 3, 0] + +Before: [1, 1, 2, 2] +3 2 3 0 +After: [2, 1, 2, 2] + +Before: [2, 1, 2, 1] +1 1 2 1 +After: [2, 0, 2, 1] + +Before: [3, 1, 3, 1] +0 1 0 2 +After: [3, 1, 1, 1] + +Before: [3, 1, 1, 2] +0 1 0 2 +After: [3, 1, 1, 2] + +Before: [1, 3, 3, 1] +12 2 3 2 +After: [1, 3, 0, 1] + +Before: [3, 1, 1, 2] +10 1 3 3 +After: [3, 1, 1, 0] + +Before: [1, 1, 1, 2] +10 1 3 0 +After: [0, 1, 1, 2] + +Before: [0, 1, 0, 2] +8 0 3 3 +After: [0, 1, 0, 0] + +Before: [3, 0, 0, 3] +5 3 3 1 +After: [3, 3, 0, 3] + +Before: [1, 1, 2, 2] +1 1 2 1 +After: [1, 0, 2, 2] + +Before: [0, 0, 1, 1] +6 3 3 3 +After: [0, 0, 1, 0] + +Before: [1, 2, 2, 2] +6 3 3 3 +After: [1, 2, 2, 0] + +Before: [2, 3, 2, 1] +7 3 2 3 +After: [2, 3, 2, 1] + +Before: [3, 3, 1, 1] +11 0 0 0 +After: [1, 3, 1, 1] + +Before: [3, 0, 2, 1] +7 3 2 2 +After: [3, 0, 1, 1] + +Before: [2, 0, 3, 2] +4 0 3 1 +After: [2, 1, 3, 2] + +Before: [2, 3, 2, 1] +5 2 2 1 +After: [2, 2, 2, 1] + +Before: [1, 1, 0, 2] +10 1 3 3 +After: [1, 1, 0, 0] + +Before: [0, 3, 1, 3] +8 0 2 1 +After: [0, 0, 1, 3] + +Before: [2, 0, 1, 2] +4 0 3 1 +After: [2, 1, 1, 2] + +Before: [1, 3, 3, 3] +5 3 3 0 +After: [3, 3, 3, 3] + +Before: [2, 2, 2, 2] +4 0 3 3 +After: [2, 2, 2, 1] + +Before: [3, 1, 2, 0] +1 1 2 1 +After: [3, 0, 2, 0] + +Before: [1, 3, 3, 1] +6 3 3 3 +After: [1, 3, 3, 0] + +Before: [1, 1, 3, 1] +15 1 0 2 +After: [1, 1, 1, 1] + +Before: [1, 1, 1, 1] +15 1 0 1 +After: [1, 1, 1, 1] + +Before: [1, 3, 2, 3] +5 3 3 0 +After: [3, 3, 2, 3] + +Before: [2, 0, 2, 1] +7 3 2 2 +After: [2, 0, 1, 1] + +Before: [0, 1, 1, 2] +10 1 3 2 +After: [0, 1, 0, 2] + +Before: [0, 2, 1, 3] +2 2 3 2 +After: [0, 2, 0, 3] + +Before: [1, 1, 2, 0] +1 1 2 2 +After: [1, 1, 0, 0] + +Before: [1, 0, 1, 3] +2 2 3 2 +After: [1, 0, 0, 3] + +Before: [3, 1, 0, 3] +0 3 0 3 +After: [3, 1, 0, 3] + +Before: [0, 2, 0, 1] +8 0 3 0 +After: [0, 2, 0, 1] + +Before: [3, 1, 1, 0] +11 0 0 1 +After: [3, 1, 1, 0] + +Before: [1, 2, 2, 2] +6 3 3 1 +After: [1, 0, 2, 2] + +Before: [1, 2, 1, 3] +2 2 3 3 +After: [1, 2, 1, 0] + +Before: [0, 3, 3, 2] +14 0 0 1 +After: [0, 0, 3, 2] + +Before: [2, 2, 2, 1] +7 3 2 2 +After: [2, 2, 1, 1] + +Before: [2, 2, 0, 2] +4 0 3 2 +After: [2, 2, 1, 2] + +Before: [0, 1, 1, 3] +8 0 2 1 +After: [0, 0, 1, 3] + +Before: [2, 1, 1, 2] +10 1 3 3 +After: [2, 1, 1, 0] + +Before: [3, 0, 2, 3] +13 3 2 1 +After: [3, 0, 2, 3] + +Before: [0, 3, 2, 1] +14 0 0 3 +After: [0, 3, 2, 0] + +Before: [2, 3, 2, 1] +5 2 2 0 +After: [2, 3, 2, 1] + +Before: [2, 1, 2, 3] +2 2 3 0 +After: [0, 1, 2, 3] + +Before: [0, 1, 3, 2] +10 1 3 1 +After: [0, 0, 3, 2] + +Before: [1, 1, 2, 0] +9 0 2 2 +After: [1, 1, 0, 0] + +Before: [0, 3, 0, 3] +14 0 0 0 +After: [0, 3, 0, 3] + +Before: [0, 2, 0, 3] +2 1 3 0 +After: [0, 2, 0, 3] + +Before: [0, 0, 2, 1] +13 2 2 3 +After: [0, 0, 2, 1] + +Before: [0, 1, 2, 2] +1 1 2 2 +After: [0, 1, 0, 2] + +Before: [3, 1, 3, 3] +2 1 3 3 +After: [3, 1, 3, 0] + +Before: [0, 3, 2, 0] +5 2 2 0 +After: [2, 3, 2, 0] + +Before: [1, 2, 2, 1] +9 0 2 1 +After: [1, 0, 2, 1] + +Before: [1, 3, 2, 3] +2 2 3 3 +After: [1, 3, 2, 0] + +Before: [2, 3, 0, 2] +4 0 3 3 +After: [2, 3, 0, 1] + +Before: [2, 2, 3, 1] +12 2 3 0 +After: [0, 2, 3, 1] + +Before: [0, 1, 2, 2] +13 0 0 1 +After: [0, 1, 2, 2] + +Before: [1, 0, 2, 1] +7 3 2 2 +After: [1, 0, 1, 1] + +Before: [0, 3, 3, 0] +14 0 0 2 +After: [0, 3, 0, 0] + +Before: [3, 0, 3, 1] +11 0 2 0 +After: [1, 0, 3, 1] + +Before: [1, 2, 0, 1] +6 3 3 0 +After: [0, 2, 0, 1] + +Before: [2, 1, 2, 1] +1 1 2 0 +After: [0, 1, 2, 1] + +Before: [3, 3, 2, 3] +0 3 0 0 +After: [3, 3, 2, 3] + +Before: [0, 3, 2, 3] +5 3 3 0 +After: [3, 3, 2, 3] + +Before: [0, 1, 3, 3] +14 0 0 3 +After: [0, 1, 3, 0] + +Before: [0, 0, 3, 1] +13 0 0 1 +After: [0, 1, 3, 1] + +Before: [0, 3, 2, 2] +3 2 3 2 +After: [0, 3, 2, 2] + +Before: [2, 2, 2, 3] +2 1 3 0 +After: [0, 2, 2, 3] + +Before: [2, 2, 2, 3] +12 2 1 0 +After: [1, 2, 2, 3] + +Before: [0, 0, 1, 0] +14 0 0 3 +After: [0, 0, 1, 0] + +Before: [1, 1, 1, 2] +15 1 0 0 +After: [1, 1, 1, 2] + +Before: [2, 0, 2, 1] +7 3 2 0 +After: [1, 0, 2, 1] + +Before: [3, 0, 2, 1] +11 0 0 3 +After: [3, 0, 2, 1] + +Before: [3, 1, 2, 2] +10 1 3 3 +After: [3, 1, 2, 0] + +Before: [0, 1, 2, 3] +13 3 1 0 +After: [0, 1, 2, 3] + +Before: [0, 1, 0, 3] +14 0 0 3 +After: [0, 1, 0, 0] + +Before: [0, 3, 2, 3] +8 0 2 3 +After: [0, 3, 2, 0] + +Before: [1, 3, 2, 2] +9 0 2 0 +After: [0, 3, 2, 2] + +Before: [1, 0, 2, 1] +9 0 2 1 +After: [1, 0, 2, 1] + +Before: [0, 1, 0, 3] +2 1 3 1 +After: [0, 0, 0, 3] + +Before: [0, 0, 2, 3] +14 0 0 0 +After: [0, 0, 2, 3] + +Before: [2, 2, 2, 1] +12 2 1 0 +After: [1, 2, 2, 1] + +Before: [3, 3, 3, 1] +0 3 0 3 +After: [3, 3, 3, 1] + +Before: [3, 3, 0, 1] +0 3 0 1 +After: [3, 1, 0, 1] + +Before: [0, 1, 2, 3] +1 1 2 0 +After: [0, 1, 2, 3] + +Before: [3, 3, 3, 3] +0 3 0 3 +After: [3, 3, 3, 3] + +Before: [1, 0, 2, 2] +3 2 3 1 +After: [1, 2, 2, 2] + +Before: [1, 2, 2, 2] +12 2 1 3 +After: [1, 2, 2, 1] + +Before: [0, 1, 1, 2] +10 1 3 1 +After: [0, 0, 1, 2] + +Before: [1, 0, 2, 2] +9 0 2 2 +After: [1, 0, 0, 2] + +Before: [1, 1, 2, 2] +10 1 3 1 +After: [1, 0, 2, 2] + +Before: [3, 3, 1, 1] +0 3 0 1 +After: [3, 1, 1, 1] + +Before: [2, 1, 2, 2] +12 2 0 0 +After: [1, 1, 2, 2] + +Before: [2, 0, 3, 2] +4 0 3 0 +After: [1, 0, 3, 2] + +Before: [2, 2, 3, 2] +4 0 3 3 +After: [2, 2, 3, 1] + +Before: [2, 3, 3, 3] +13 3 3 2 +After: [2, 3, 1, 3] + +Before: [3, 3, 2, 1] +7 3 2 1 +After: [3, 1, 2, 1] + +Before: [0, 3, 2, 0] +8 0 2 2 +After: [0, 3, 0, 0] + +Before: [0, 1, 3, 2] +13 2 1 1 +After: [0, 0, 3, 2] + +Before: [0, 1, 2, 2] +13 0 0 0 +After: [1, 1, 2, 2] + +Before: [2, 2, 1, 3] +2 1 3 0 +After: [0, 2, 1, 3] + +Before: [1, 1, 1, 0] +15 1 0 1 +After: [1, 1, 1, 0] + +Before: [2, 2, 2, 2] +3 2 3 2 +After: [2, 2, 2, 2] + +Before: [1, 1, 2, 3] +15 1 0 3 +After: [1, 1, 2, 1] + +Before: [2, 0, 3, 2] +4 0 3 3 +After: [2, 0, 3, 1] + +Before: [3, 0, 3, 3] +0 3 0 3 +After: [3, 0, 3, 3] + +Before: [0, 2, 1, 1] +8 0 2 1 +After: [0, 0, 1, 1] + +Before: [1, 3, 2, 0] +5 2 2 3 +After: [1, 3, 2, 2] + +Before: [0, 2, 2, 1] +6 3 3 1 +After: [0, 0, 2, 1] + +Before: [1, 1, 3, 0] +15 1 0 1 +After: [1, 1, 3, 0] + +Before: [2, 0, 1, 3] +5 3 3 0 +After: [3, 0, 1, 3] + +Before: [1, 1, 2, 1] +15 1 0 1 +After: [1, 1, 2, 1] + +Before: [2, 1, 2, 2] +3 2 3 0 +After: [2, 1, 2, 2] + +Before: [1, 1, 3, 2] +15 1 0 3 +After: [1, 1, 3, 1] + +Before: [0, 2, 1, 1] +14 0 0 0 +After: [0, 2, 1, 1] + +Before: [0, 0, 2, 0] +5 2 2 1 +After: [0, 2, 2, 0] + +Before: [0, 1, 2, 3] +2 1 3 2 +After: [0, 1, 0, 3] + +Before: [3, 1, 2, 2] +3 2 3 0 +After: [2, 1, 2, 2] + +Before: [1, 2, 2, 2] +9 0 2 2 +After: [1, 2, 0, 2] + +Before: [2, 2, 2, 1] +5 2 2 1 +After: [2, 2, 2, 1] + +Before: [1, 1, 2, 1] +7 3 2 1 +After: [1, 1, 2, 1] + +Before: [3, 0, 0, 1] +0 3 0 3 +After: [3, 0, 0, 1] + +Before: [3, 2, 3, 3] +12 3 0 3 +After: [3, 2, 3, 1] + +Before: [3, 1, 2, 2] +10 1 3 1 +After: [3, 0, 2, 2] + +Before: [1, 0, 1, 3] +13 3 2 1 +After: [1, 0, 1, 3] + +Before: [0, 0, 0, 2] +14 0 0 1 +After: [0, 0, 0, 2] + +Before: [3, 0, 3, 1] +0 3 0 1 +After: [3, 1, 3, 1] + +Before: [1, 1, 2, 3] +1 1 2 3 +After: [1, 1, 2, 0] + +Before: [3, 1, 2, 1] +1 1 2 1 +After: [3, 0, 2, 1] + +Before: [3, 3, 0, 3] +13 3 3 2 +After: [3, 3, 1, 3] + +Before: [3, 3, 2, 3] +2 2 3 2 +After: [3, 3, 0, 3] + +Before: [1, 2, 2, 1] +9 0 2 2 +After: [1, 2, 0, 1] + +Before: [3, 1, 0, 1] +0 3 0 1 +After: [3, 1, 0, 1] + +Before: [2, 2, 3, 2] +4 0 3 0 +After: [1, 2, 3, 2] + +Before: [2, 0, 2, 1] +7 3 2 1 +After: [2, 1, 2, 1] + +Before: [1, 1, 2, 2] +9 0 2 2 +After: [1, 1, 0, 2] + +Before: [0, 1, 3, 2] +6 3 3 2 +After: [0, 1, 0, 2] + +Before: [3, 3, 0, 2] +6 3 3 3 +After: [3, 3, 0, 0] + +Before: [3, 1, 3, 1] +11 0 2 2 +After: [3, 1, 1, 1] + +Before: [0, 1, 2, 1] +7 3 2 3 +After: [0, 1, 2, 1] + +Before: [1, 2, 2, 1] +7 3 2 1 +After: [1, 1, 2, 1] + +Before: [3, 1, 0, 2] +10 1 3 2 +After: [3, 1, 0, 2] + +Before: [0, 1, 3, 2] +14 0 0 2 +After: [0, 1, 0, 2] + +Before: [0, 3, 0, 2] +14 0 0 1 +After: [0, 0, 0, 2] + +Before: [0, 1, 2, 1] +1 1 2 3 +After: [0, 1, 2, 0] + +Before: [1, 1, 2, 1] +9 0 2 1 +After: [1, 0, 2, 1] + +Before: [0, 1, 2, 2] +10 1 3 2 +After: [0, 1, 0, 2] + +Before: [1, 0, 2, 2] +3 2 3 2 +After: [1, 0, 2, 2] + +Before: [2, 3, 3, 1] +12 2 3 3 +After: [2, 3, 3, 0] + +Before: [2, 0, 3, 1] +12 2 3 0 +After: [0, 0, 3, 1] + +Before: [2, 1, 2, 1] +7 3 2 2 +After: [2, 1, 1, 1] + +Before: [3, 3, 2, 2] +3 2 3 0 +After: [2, 3, 2, 2] + +Before: [0, 1, 0, 1] +8 0 1 1 +After: [0, 0, 0, 1] + +Before: [1, 1, 2, 1] +6 3 3 2 +After: [1, 1, 0, 1] + +Before: [0, 1, 2, 2] +1 1 2 0 +After: [0, 1, 2, 2] + +Before: [3, 3, 1, 3] +2 2 3 2 +After: [3, 3, 0, 3] + +Before: [3, 2, 1, 3] +5 3 3 1 +After: [3, 3, 1, 3] + +Before: [2, 1, 2, 2] +4 0 3 0 +After: [1, 1, 2, 2] + +Before: [3, 3, 2, 2] +13 2 2 2 +After: [3, 3, 1, 2] + +Before: [2, 1, 3, 2] +4 0 3 2 +After: [2, 1, 1, 2] + +Before: [3, 0, 2, 2] +3 2 3 1 +After: [3, 2, 2, 2] + +Before: [2, 0, 1, 2] +4 0 3 3 +After: [2, 0, 1, 1] + +Before: [3, 2, 2, 0] +5 2 2 3 +After: [3, 2, 2, 2] + +Before: [0, 0, 3, 3] +5 3 3 3 +After: [0, 0, 3, 3] + +Before: [0, 1, 0, 3] +13 3 1 0 +After: [0, 1, 0, 3] + +Before: [2, 2, 3, 2] +4 0 3 2 +After: [2, 2, 1, 2] + +Before: [0, 3, 0, 1] +14 0 0 2 +After: [0, 3, 0, 1] + +Before: [3, 3, 3, 0] +11 0 0 2 +After: [3, 3, 1, 0] + +Before: [0, 3, 3, 3] +14 0 0 1 +After: [0, 0, 3, 3] + +Before: [2, 2, 1, 1] +6 3 3 2 +After: [2, 2, 0, 1] + +Before: [3, 2, 0, 3] +5 3 3 0 +After: [3, 2, 0, 3] + +Before: [2, 2, 2, 3] +2 1 3 1 +After: [2, 0, 2, 3] + +Before: [2, 3, 2, 2] +3 2 3 1 +After: [2, 2, 2, 2] + +Before: [0, 1, 2, 1] +7 3 2 1 +After: [0, 1, 2, 1] + +Before: [0, 1, 2, 2] +3 2 3 1 +After: [0, 2, 2, 2] + +Before: [3, 1, 2, 0] +0 1 0 2 +After: [3, 1, 1, 0] + +Before: [2, 2, 2, 0] +0 2 0 1 +After: [2, 2, 2, 0] + +Before: [1, 1, 3, 0] +15 1 0 0 +After: [1, 1, 3, 0] + +Before: [0, 3, 0, 3] +5 3 3 0 +After: [3, 3, 0, 3] + +Before: [3, 3, 3, 3] +0 3 0 0 +After: [3, 3, 3, 3] + +Before: [3, 0, 2, 0] +5 2 2 2 +After: [3, 0, 2, 0] + +Before: [2, 3, 2, 2] +6 3 3 0 +After: [0, 3, 2, 2] + +Before: [1, 0, 2, 3] +9 0 2 0 +After: [0, 0, 2, 3] + +Before: [2, 3, 2, 0] +5 2 2 1 +After: [2, 2, 2, 0] + +Before: [3, 3, 3, 1] +12 2 3 3 +After: [3, 3, 3, 0] + +Before: [1, 1, 1, 3] +2 2 3 2 +After: [1, 1, 0, 3] + +Before: [3, 1, 1, 2] +11 0 0 2 +After: [3, 1, 1, 2] + +Before: [1, 1, 0, 2] +15 1 0 3 +After: [1, 1, 0, 1] + +Before: [1, 1, 1, 1] +15 1 0 2 +After: [1, 1, 1, 1] + +Before: [0, 1, 0, 3] +2 1 3 2 +After: [0, 1, 0, 3] + +Before: [2, 0, 2, 2] +3 2 3 2 +After: [2, 0, 2, 2] + +Before: [0, 3, 3, 3] +11 2 2 3 +After: [0, 3, 3, 1] + +Before: [0, 1, 2, 2] +3 2 3 3 +After: [0, 1, 2, 2] + +Before: [0, 3, 3, 0] +8 0 1 1 +After: [0, 0, 3, 0] + +Before: [3, 1, 3, 2] +10 1 3 1 +After: [3, 0, 3, 2] + +Before: [3, 2, 2, 3] +12 2 1 2 +After: [3, 2, 1, 3] + +Before: [3, 2, 2, 0] +5 2 2 0 +After: [2, 2, 2, 0] + +Before: [3, 1, 1, 2] +10 1 3 1 +After: [3, 0, 1, 2] + +Before: [3, 0, 3, 1] +11 0 2 2 +After: [3, 0, 1, 1] + +Before: [3, 1, 0, 3] +0 1 0 1 +After: [3, 1, 0, 3] + +Before: [0, 1, 2, 1] +7 3 2 2 +After: [0, 1, 1, 1] + +Before: [2, 1, 2, 0] +12 2 0 1 +After: [2, 1, 2, 0] + +Before: [0, 1, 0, 2] +14 0 0 2 +After: [0, 1, 0, 2] + +Before: [2, 3, 2, 1] +0 2 0 3 +After: [2, 3, 2, 2] + +Before: [1, 1, 0, 2] +10 1 3 1 +After: [1, 0, 0, 2] + +Before: [3, 1, 2, 3] +13 3 3 2 +After: [3, 1, 1, 3] + +Before: [2, 3, 2, 3] +0 2 0 1 +After: [2, 2, 2, 3] + +Before: [3, 1, 2, 3] +1 1 2 3 +After: [3, 1, 2, 0] + +Before: [2, 2, 1, 2] +4 0 3 0 +After: [1, 2, 1, 2] + +Before: [0, 0, 3, 1] +14 0 0 0 +After: [0, 0, 3, 1] + +Before: [3, 2, 3, 0] +11 0 2 3 +After: [3, 2, 3, 1] + +Before: [2, 1, 1, 1] +11 0 0 1 +After: [2, 1, 1, 1] + +Before: [3, 2, 2, 2] +12 2 1 2 +After: [3, 2, 1, 2] + +Before: [0, 1, 3, 2] +10 1 3 2 +After: [0, 1, 0, 2] + +Before: [1, 1, 2, 2] +15 1 0 1 +After: [1, 1, 2, 2] + +Before: [0, 0, 3, 3] +8 0 2 3 +After: [0, 0, 3, 0] + +Before: [2, 0, 0, 0] +11 0 0 1 +After: [2, 1, 0, 0] + +Before: [3, 2, 3, 3] +0 3 0 2 +After: [3, 2, 3, 3] + +Before: [2, 2, 2, 2] +4 0 3 2 +After: [2, 2, 1, 2] + +Before: [1, 1, 1, 3] +15 1 0 0 +After: [1, 1, 1, 3] + +Before: [0, 1, 2, 0] +8 0 1 0 +After: [0, 1, 2, 0] + +Before: [3, 1, 3, 1] +12 2 3 0 +After: [0, 1, 3, 1] + +Before: [1, 1, 2, 2] +3 2 3 2 +After: [1, 1, 2, 2] + +Before: [3, 1, 2, 2] +3 2 3 1 +After: [3, 2, 2, 2] + +Before: [1, 1, 0, 1] +15 1 0 0 +After: [1, 1, 0, 1] + +Before: [2, 3, 1, 3] +2 2 3 3 +After: [2, 3, 1, 0] + +Before: [2, 0, 3, 1] +12 2 3 2 +After: [2, 0, 0, 1] + +Before: [2, 0, 0, 3] +8 1 0 0 +After: [0, 0, 0, 3] + +Before: [1, 1, 2, 0] +15 1 0 0 +After: [1, 1, 2, 0] + +Before: [3, 0, 0, 0] +8 2 0 3 +After: [3, 0, 0, 0] + +Before: [2, 0, 2, 2] +0 2 0 3 +After: [2, 0, 2, 2] + +Before: [2, 0, 2, 2] +4 0 3 3 +After: [2, 0, 2, 1] + +Before: [0, 2, 2, 1] +7 3 2 2 +After: [0, 2, 1, 1] + +Before: [2, 2, 0, 1] +6 3 3 1 +After: [2, 0, 0, 1] + +Before: [2, 1, 1, 2] +10 1 3 2 +After: [2, 1, 0, 2] + +Before: [2, 0, 1, 3] +2 2 3 0 +After: [0, 0, 1, 3] + +Before: [2, 0, 0, 2] +4 0 3 3 +After: [2, 0, 0, 1] + +Before: [1, 2, 2, 2] +3 2 3 0 +After: [2, 2, 2, 2] + +Before: [0, 3, 2, 1] +8 0 1 0 +After: [0, 3, 2, 1] + +Before: [0, 2, 2, 3] +8 0 3 2 +After: [0, 2, 0, 3] + +Before: [0, 2, 2, 0] +5 2 2 3 +After: [0, 2, 2, 2] + +Before: [3, 0, 3, 1] +12 2 3 0 +After: [0, 0, 3, 1] + +Before: [0, 2, 1, 3] +2 1 3 0 +After: [0, 2, 1, 3] + +Before: [1, 1, 2, 2] +1 1 2 0 +After: [0, 1, 2, 2] + +Before: [2, 0, 2, 0] +0 2 0 2 +After: [2, 0, 2, 0] + +Before: [0, 1, 3, 2] +10 1 3 3 +After: [0, 1, 3, 0] + +Before: [1, 1, 2, 0] +15 1 0 3 +After: [1, 1, 2, 1] + +Before: [2, 1, 2, 3] +1 1 2 0 +After: [0, 1, 2, 3] + +Before: [1, 3, 1, 3] +2 2 3 3 +After: [1, 3, 1, 0] + +Before: [2, 3, 2, 0] +12 2 0 1 +After: [2, 1, 2, 0] + +Before: [3, 0, 3, 3] +12 3 0 2 +After: [3, 0, 1, 3] + +Before: [3, 1, 1, 3] +2 2 3 0 +After: [0, 1, 1, 3] + +Before: [3, 2, 2, 3] +2 1 3 3 +After: [3, 2, 2, 0] + +Before: [2, 2, 2, 1] +7 3 2 3 +After: [2, 2, 2, 1] + +Before: [1, 1, 1, 1] +6 2 3 3 +After: [1, 1, 1, 0] + +Before: [2, 3, 2, 3] +5 2 2 2 +After: [2, 3, 2, 3] + +Before: [2, 3, 2, 2] +4 0 3 0 +After: [1, 3, 2, 2] + +Before: [0, 1, 2, 1] +13 2 2 2 +After: [0, 1, 1, 1] + +Before: [1, 3, 2, 2] +9 0 2 3 +After: [1, 3, 2, 0] + +Before: [0, 0, 0, 3] +14 0 0 1 +After: [0, 0, 0, 3] + +Before: [0, 2, 0, 0] +14 0 0 2 +After: [0, 2, 0, 0] + +Before: [1, 3, 2, 1] +9 0 2 3 +After: [1, 3, 2, 0] + +Before: [3, 2, 2, 3] +13 3 2 1 +After: [3, 0, 2, 3] + +Before: [1, 0, 2, 0] +9 0 2 0 +After: [0, 0, 2, 0] + +Before: [0, 3, 2, 1] +5 2 2 1 +After: [0, 2, 2, 1] + +Before: [3, 1, 2, 3] +1 1 2 1 +After: [3, 0, 2, 3] + +Before: [0, 3, 1, 2] +14 0 0 2 +After: [0, 3, 0, 2] + +Before: [2, 1, 1, 3] +13 3 2 1 +After: [2, 0, 1, 3] + +Before: [0, 0, 2, 2] +6 3 3 3 +After: [0, 0, 2, 0] + +Before: [0, 1, 3, 0] +8 0 2 0 +After: [0, 1, 3, 0] + +Before: [1, 1, 1, 2] +15 1 0 2 +After: [1, 1, 1, 2] + +Before: [0, 1, 3, 2] +8 0 2 3 +After: [0, 1, 3, 0] + +Before: [1, 1, 3, 3] +15 1 0 0 +After: [1, 1, 3, 3] + +Before: [2, 2, 1, 2] +11 0 1 0 +After: [1, 2, 1, 2] + +Before: [1, 0, 2, 2] +3 2 3 0 +After: [2, 0, 2, 2] + +Before: [0, 0, 2, 2] +3 2 3 0 +After: [2, 0, 2, 2] + +Before: [2, 2, 2, 2] +3 2 3 0 +After: [2, 2, 2, 2] + +Before: [2, 2, 2, 0] +12 2 0 0 +After: [1, 2, 2, 0] + +Before: [0, 1, 1, 2] +10 1 3 0 +After: [0, 1, 1, 2] + +Before: [0, 0, 0, 2] +14 0 0 3 +After: [0, 0, 0, 0] + +Before: [1, 3, 3, 3] +13 3 3 2 +After: [1, 3, 1, 3] + +Before: [3, 2, 2, 3] +5 3 3 0 +After: [3, 2, 2, 3] + +Before: [1, 1, 3, 1] +15 1 0 1 +After: [1, 1, 3, 1] + +Before: [2, 3, 2, 2] +4 0 3 2 +After: [2, 3, 1, 2] + +Before: [3, 3, 2, 3] +0 3 0 1 +After: [3, 3, 2, 3] + +Before: [1, 1, 2, 0] +9 0 2 3 +After: [1, 1, 2, 0] + +Before: [1, 2, 2, 0] +9 0 2 2 +After: [1, 2, 0, 0] + +Before: [0, 3, 2, 1] +7 3 2 1 +After: [0, 1, 2, 1] + +Before: [2, 0, 2, 3] +5 2 2 0 +After: [2, 0, 2, 3] + +Before: [2, 0, 0, 2] +4 0 3 2 +After: [2, 0, 1, 2] + +Before: [3, 3, 1, 1] +0 3 0 2 +After: [3, 3, 1, 1] + +Before: [0, 3, 3, 0] +14 0 0 1 +After: [0, 0, 3, 0] + +Before: [3, 2, 1, 1] +0 3 0 1 +After: [3, 1, 1, 1] + +Before: [1, 1, 2, 2] +15 1 0 0 +After: [1, 1, 2, 2] + +Before: [2, 2, 1, 2] +6 3 3 0 +After: [0, 2, 1, 2] + +Before: [2, 1, 2, 2] +4 0 3 2 +After: [2, 1, 1, 2] + +Before: [1, 1, 1, 2] +10 1 3 1 +After: [1, 0, 1, 2] + +Before: [1, 1, 0, 0] +15 1 0 0 +After: [1, 1, 0, 0] + +Before: [1, 2, 2, 3] +9 0 2 1 +After: [1, 0, 2, 3] + +Before: [2, 0, 1, 2] +4 0 3 0 +After: [1, 0, 1, 2] + +Before: [1, 3, 3, 3] +12 3 2 3 +After: [1, 3, 3, 1] + +Before: [3, 1, 1, 2] +0 1 0 0 +After: [1, 1, 1, 2] + +Before: [3, 0, 2, 1] +0 3 0 3 +After: [3, 0, 2, 1] + +Before: [3, 3, 0, 1] +0 3 0 0 +After: [1, 3, 0, 1] + +Before: [1, 3, 3, 2] +6 3 3 2 +After: [1, 3, 0, 2] + +Before: [0, 2, 1, 0] +8 0 2 2 +After: [0, 2, 0, 0] + +Before: [2, 2, 2, 0] +12 2 0 2 +After: [2, 2, 1, 0] + +Before: [2, 1, 2, 3] +5 2 2 0 +After: [2, 1, 2, 3] + +Before: [0, 0, 1, 3] +5 3 3 3 +After: [0, 0, 1, 3] + +Before: [1, 0, 2, 3] +13 2 2 2 +After: [1, 0, 1, 3] + +Before: [1, 1, 2, 3] +15 1 0 2 +After: [1, 1, 1, 3] + +Before: [2, 2, 2, 2] +3 2 3 3 +After: [2, 2, 2, 2] + +Before: [1, 1, 0, 1] +15 1 0 2 +After: [1, 1, 1, 1] + +Before: [1, 1, 2, 3] +15 1 0 0 +After: [1, 1, 2, 3] + +Before: [1, 1, 0, 3] +2 1 3 1 +After: [1, 0, 0, 3] + +Before: [2, 0, 2, 1] +12 2 0 1 +After: [2, 1, 2, 1] + +Before: [0, 2, 1, 2] +8 0 1 1 +After: [0, 0, 1, 2] + +Before: [1, 1, 2, 3] +1 1 2 1 +After: [1, 0, 2, 3] + +Before: [0, 3, 2, 3] +2 2 3 0 +After: [0, 3, 2, 3] + +Before: [0, 0, 2, 3] +13 3 3 2 +After: [0, 0, 1, 3] + +Before: [2, 1, 3, 2] +10 1 3 1 +After: [2, 0, 3, 2] + +Before: [1, 1, 2, 3] +2 1 3 3 +After: [1, 1, 2, 0] + +Before: [0, 0, 3, 2] +14 0 0 2 +After: [0, 0, 0, 2] + +Before: [0, 2, 2, 1] +7 3 2 3 +After: [0, 2, 2, 1] + +Before: [1, 0, 3, 2] +11 2 2 3 +After: [1, 0, 3, 1] + +Before: [3, 2, 3, 3] +11 0 0 1 +After: [3, 1, 3, 3] + +Before: [0, 3, 2, 2] +14 0 0 2 +After: [0, 3, 0, 2] + +Before: [3, 2, 1, 1] +6 3 3 2 +After: [3, 2, 0, 1] + +Before: [0, 2, 2, 3] +2 2 3 0 +After: [0, 2, 2, 3] + +Before: [1, 2, 1, 2] +6 3 3 3 +After: [1, 2, 1, 0] + +Before: [2, 1, 2, 1] +7 3 2 1 +After: [2, 1, 2, 1] + +Before: [1, 1, 1, 2] +10 1 3 2 +After: [1, 1, 0, 2] + +Before: [0, 0, 1, 1] +14 0 0 1 +After: [0, 0, 1, 1] + +Before: [3, 3, 3, 1] +11 0 2 1 +After: [3, 1, 3, 1] + +Before: [2, 1, 2, 2] +12 2 0 2 +After: [2, 1, 1, 2] + +Before: [1, 2, 2, 1] +7 3 2 0 +After: [1, 2, 2, 1] + +Before: [1, 2, 2, 2] +9 0 2 1 +After: [1, 0, 2, 2] + +Before: [3, 3, 2, 1] +7 3 2 3 +After: [3, 3, 2, 1] + +Before: [2, 1, 1, 2] +6 3 3 3 +After: [2, 1, 1, 0] + +Before: [2, 2, 1, 3] +2 2 3 2 +After: [2, 2, 0, 3] + +Before: [3, 2, 2, 2] +3 2 3 1 +After: [3, 2, 2, 2] + +Before: [2, 2, 2, 1] +0 2 0 0 +After: [2, 2, 2, 1] + +Before: [0, 1, 3, 1] +14 0 0 1 +After: [0, 0, 3, 1] + +Before: [2, 0, 3, 1] +8 1 0 0 +After: [0, 0, 3, 1] + +Before: [2, 3, 0, 2] +4 0 3 2 +After: [2, 3, 1, 2] + +Before: [2, 0, 2, 2] +3 2 3 1 +After: [2, 2, 2, 2] + +Before: [0, 0, 3, 2] +8 0 2 2 +After: [0, 0, 0, 2] + +Before: [3, 1, 1, 2] +10 1 3 2 +After: [3, 1, 0, 2] + +Before: [3, 2, 2, 1] +7 3 2 2 +After: [3, 2, 1, 1] + +Before: [2, 2, 2, 2] +4 0 3 1 +After: [2, 1, 2, 2] + +Before: [1, 1, 2, 2] +9 0 2 1 +After: [1, 0, 2, 2] + +Before: [3, 0, 2, 2] +5 2 2 1 +After: [3, 2, 2, 2] + +Before: [0, 2, 0, 1] +14 0 0 0 +After: [0, 2, 0, 1] + +Before: [2, 2, 2, 1] +5 2 2 0 +After: [2, 2, 2, 1] + +Before: [2, 1, 2, 3] +1 1 2 1 +After: [2, 0, 2, 3] + +Before: [2, 3, 0, 2] +4 0 3 1 +After: [2, 1, 0, 2] + +Before: [2, 3, 2, 1] +7 3 2 0 +After: [1, 3, 2, 1] + +Before: [2, 0, 2, 2] +12 2 0 0 +After: [1, 0, 2, 2] + +Before: [1, 2, 2, 2] +3 2 3 2 +After: [1, 2, 2, 2] + +Before: [0, 0, 2, 1] +7 3 2 0 +After: [1, 0, 2, 1] + +Before: [2, 2, 3, 3] +11 2 2 3 +After: [2, 2, 3, 1] + +Before: [3, 3, 2, 0] +5 2 2 2 +After: [3, 3, 2, 0] + +Before: [3, 2, 2, 2] +3 2 3 2 +After: [3, 2, 2, 2] + +Before: [2, 3, 2, 2] +4 0 3 3 +After: [2, 3, 2, 1] + +Before: [2, 1, 1, 2] +11 0 0 1 +After: [2, 1, 1, 2] + +Before: [0, 0, 2, 1] +7 3 2 2 +After: [0, 0, 1, 1] + +Before: [0, 2, 1, 0] +14 0 0 3 +After: [0, 2, 1, 0] + +Before: [1, 1, 2, 0] +15 1 0 1 +After: [1, 1, 2, 0] + +Before: [0, 1, 2, 3] +1 1 2 1 +After: [0, 0, 2, 3] + +Before: [0, 3, 1, 0] +14 0 0 3 +After: [0, 3, 1, 0] + +Before: [0, 2, 3, 2] +8 0 3 0 +After: [0, 2, 3, 2] + +Before: [0, 1, 3, 3] +13 0 0 0 +After: [1, 1, 3, 3] + +Before: [2, 1, 2, 0] +1 1 2 0 +After: [0, 1, 2, 0] + +Before: [3, 0, 1, 1] +11 0 0 0 +After: [1, 0, 1, 1] + +Before: [0, 2, 1, 3] +14 0 0 3 +After: [0, 2, 1, 0] + +Before: [0, 2, 2, 1] +14 0 0 0 +After: [0, 2, 2, 1] + +Before: [0, 2, 3, 0] +14 0 0 1 +After: [0, 0, 3, 0] + +Before: [2, 2, 2, 2] +3 2 3 1 +After: [2, 2, 2, 2] + +Before: [3, 0, 2, 1] +7 3 2 3 +After: [3, 0, 2, 1] + +Before: [2, 2, 2, 1] +6 3 3 0 +After: [0, 2, 2, 1] + +Before: [2, 1, 3, 2] +10 1 3 2 +After: [2, 1, 0, 2] + +Before: [2, 1, 2, 2] +5 2 2 3 +After: [2, 1, 2, 2] + +Before: [3, 2, 1, 1] +0 3 0 3 +After: [3, 2, 1, 1] + +Before: [2, 1, 2, 3] +1 1 2 3 +After: [2, 1, 2, 0] + +Before: [2, 3, 2, 0] +0 2 0 1 +After: [2, 2, 2, 0] + +Before: [3, 0, 3, 1] +11 0 0 3 +After: [3, 0, 3, 1] + +Before: [2, 3, 1, 1] +6 2 3 2 +After: [2, 3, 0, 1] + +Before: [2, 0, 3, 2] +11 2 2 0 +After: [1, 0, 3, 2] + +Before: [0, 1, 1, 2] +10 1 3 3 +After: [0, 1, 1, 0] + +Before: [0, 1, 3, 3] +12 3 2 2 +After: [0, 1, 1, 3] + +Before: [0, 1, 1, 2] +14 0 0 1 +After: [0, 0, 1, 2] + +Before: [0, 1, 2, 3] +1 1 2 2 +After: [0, 1, 0, 3] + +Before: [1, 1, 2, 2] +1 1 2 3 +After: [1, 1, 2, 0] + +Before: [0, 1, 0, 1] +14 0 0 3 +After: [0, 1, 0, 0] + +Before: [2, 0, 0, 1] +6 3 3 1 +After: [2, 0, 0, 1] + +Before: [1, 2, 1, 3] +13 3 2 3 +After: [1, 2, 1, 0] + +Before: [2, 1, 2, 1] +6 3 3 3 +After: [2, 1, 2, 0] + +Before: [0, 1, 0, 2] +6 3 3 3 +After: [0, 1, 0, 0] + +Before: [3, 1, 0, 2] +8 2 0 0 +After: [0, 1, 0, 2] + +Before: [1, 1, 3, 3] +12 3 2 0 +After: [1, 1, 3, 3] + +Before: [0, 1, 2, 1] +5 2 2 3 +After: [0, 1, 2, 2] + +Before: [1, 0, 3, 0] +11 2 2 0 +After: [1, 0, 3, 0] + +Before: [3, 3, 2, 1] +5 2 2 0 +After: [2, 3, 2, 1] + +Before: [0, 2, 2, 3] +14 0 0 3 +After: [0, 2, 2, 0] + +Before: [3, 0, 1, 3] +2 2 3 3 +After: [3, 0, 1, 0] + +Before: [2, 3, 3, 2] +4 0 3 3 +After: [2, 3, 3, 1] + +Before: [1, 1, 3, 2] +15 1 0 2 +After: [1, 1, 1, 2] + +Before: [1, 1, 2, 2] +9 0 2 0 +After: [0, 1, 2, 2] + +Before: [2, 1, 2, 2] +10 1 3 0 +After: [0, 1, 2, 2] + +Before: [3, 1, 2, 0] +1 1 2 3 +After: [3, 1, 2, 0] + +Before: [0, 1, 1, 3] +14 0 0 1 +After: [0, 0, 1, 3] + +Before: [1, 1, 2, 3] +13 3 1 0 +After: [0, 1, 2, 3] + +Before: [1, 1, 1, 2] +6 3 3 1 +After: [1, 0, 1, 2] + +Before: [2, 1, 2, 2] +5 2 2 1 +After: [2, 2, 2, 2] + +Before: [0, 2, 2, 0] +14 0 0 0 +After: [0, 2, 2, 0] + +Before: [0, 0, 2, 2] +8 0 2 2 +After: [0, 0, 0, 2] + +Before: [0, 1, 2, 0] +14 0 0 3 +After: [0, 1, 2, 0] + +Before: [1, 3, 2, 2] +9 0 2 1 +After: [1, 0, 2, 2] + +Before: [1, 2, 2, 0] +12 2 1 0 +After: [1, 2, 2, 0] + +Before: [2, 1, 3, 2] +4 0 3 0 +After: [1, 1, 3, 2] + +Before: [0, 1, 2, 1] +1 1 2 1 +After: [0, 0, 2, 1] + +Before: [3, 0, 3, 3] +11 0 0 0 +After: [1, 0, 3, 3] + +Before: [0, 3, 2, 1] +7 3 2 0 +After: [1, 3, 2, 1] + +Before: [3, 1, 1, 3] +12 3 0 0 +After: [1, 1, 1, 3] + +Before: [0, 2, 2, 1] +7 3 2 0 +After: [1, 2, 2, 1] + +Before: [1, 1, 3, 2] +10 1 3 3 +After: [1, 1, 3, 0] + +Before: [1, 1, 2, 1] +1 1 2 1 +After: [1, 0, 2, 1] + +Before: [2, 0, 1, 2] +6 3 3 0 +After: [0, 0, 1, 2] + +Before: [2, 0, 2, 0] +0 2 0 3 +After: [2, 0, 2, 2] + +Before: [0, 2, 3, 3] +13 3 3 0 +After: [1, 2, 3, 3] + +Before: [1, 1, 0, 3] +15 1 0 3 +After: [1, 1, 0, 1] + +Before: [2, 0, 1, 1] +11 0 0 2 +After: [2, 0, 1, 1] + +Before: [2, 3, 0, 2] +6 3 3 2 +After: [2, 3, 0, 2] + +Before: [3, 1, 1, 2] +10 1 3 0 +After: [0, 1, 1, 2] + +Before: [2, 3, 0, 1] +6 3 3 1 +After: [2, 0, 0, 1] + +Before: [3, 1, 2, 1] +1 1 2 0 +After: [0, 1, 2, 1] + +Before: [1, 1, 0, 2] +10 1 3 0 +After: [0, 1, 0, 2] + +Before: [2, 1, 2, 1] +1 1 2 2 +After: [2, 1, 0, 1] + +Before: [2, 1, 0, 2] +10 1 3 2 +After: [2, 1, 0, 2] + +Before: [1, 1, 2, 2] +15 1 0 2 +After: [1, 1, 1, 2] + +Before: [2, 3, 0, 2] +4 0 3 0 +After: [1, 3, 0, 2] + +Before: [1, 1, 2, 1] +1 1 2 0 +After: [0, 1, 2, 1] + +Before: [3, 1, 2, 3] +13 3 3 0 +After: [1, 1, 2, 3] + +Before: [3, 0, 2, 3] +0 3 0 1 +After: [3, 3, 2, 3] + +Before: [0, 1, 2, 1] +1 1 2 0 +After: [0, 1, 2, 1] + +Before: [2, 2, 1, 2] +4 0 3 3 +After: [2, 2, 1, 1] + +Before: [3, 3, 0, 3] +11 0 0 0 +After: [1, 3, 0, 3] + +Before: [3, 3, 2, 2] +3 2 3 1 +After: [3, 2, 2, 2] + +Before: [1, 3, 2, 3] +2 2 3 0 +After: [0, 3, 2, 3] + +Before: [1, 2, 2, 3] +9 0 2 0 +After: [0, 2, 2, 3] + +Before: [2, 1, 2, 0] +1 1 2 2 +After: [2, 1, 0, 0] + +Before: [3, 1, 2, 1] +1 1 2 2 +After: [3, 1, 0, 1] + +Before: [3, 1, 0, 2] +10 1 3 1 +After: [3, 0, 0, 2] + +Before: [3, 0, 3, 1] +12 2 3 2 +After: [3, 0, 0, 1] + +Before: [1, 0, 2, 2] +9 0 2 3 +After: [1, 0, 2, 0] + +Before: [0, 2, 2, 3] +5 3 3 1 +After: [0, 3, 2, 3] + +Before: [2, 0, 2, 1] +12 2 0 2 +After: [2, 0, 1, 1] + +Before: [2, 3, 1, 2] +11 0 0 3 +After: [2, 3, 1, 1] + +Before: [0, 2, 2, 2] +14 0 0 0 +After: [0, 2, 2, 2] + +Before: [1, 0, 3, 0] +11 2 2 2 +After: [1, 0, 1, 0] + +Before: [0, 1, 2, 3] +14 0 0 0 +After: [0, 1, 2, 3] + +Before: [2, 2, 3, 1] +6 3 3 3 +After: [2, 2, 3, 0] + +Before: [1, 1, 2, 2] +10 1 3 0 +After: [0, 1, 2, 2] + +Before: [3, 1, 2, 2] +6 3 3 1 +After: [3, 0, 2, 2] + +Before: [1, 2, 3, 3] +13 3 1 2 +After: [1, 2, 0, 3] + +Before: [1, 2, 1, 3] +2 2 3 2 +After: [1, 2, 0, 3] + +Before: [3, 1, 0, 2] +10 1 3 3 +After: [3, 1, 0, 0] + +Before: [3, 1, 3, 3] +11 2 2 3 +After: [3, 1, 3, 1] + +Before: [2, 2, 1, 2] +11 0 0 2 +After: [2, 2, 1, 2] + +Before: [3, 1, 3, 2] +10 1 3 0 +After: [0, 1, 3, 2] + +Before: [3, 0, 2, 2] +3 2 3 2 +After: [3, 0, 2, 2] + +Before: [1, 1, 0, 3] +2 1 3 0 +After: [0, 1, 0, 3] + +Before: [2, 1, 2, 2] +1 1 2 3 +After: [2, 1, 2, 0] + +Before: [2, 2, 2, 3] +2 2 3 2 +After: [2, 2, 0, 3] + +Before: [3, 0, 2, 1] +7 3 2 1 +After: [3, 1, 2, 1] + +Before: [1, 1, 2, 3] +9 0 2 0 +After: [0, 1, 2, 3] + +Before: [3, 2, 2, 3] +2 1 3 2 +After: [3, 2, 0, 3] + +Before: [2, 1, 2, 2] +4 0 3 1 +After: [2, 1, 2, 2] + +Before: [2, 0, 2, 2] +4 0 3 0 +After: [1, 0, 2, 2] + +Before: [2, 3, 1, 2] +4 0 3 2 +After: [2, 3, 1, 2] + +Before: [0, 2, 1, 0] +8 0 2 3 +After: [0, 2, 1, 0] + +Before: [3, 0, 1, 1] +6 2 3 3 +After: [3, 0, 1, 0] + +Before: [1, 2, 2, 0] +12 2 1 2 +After: [1, 2, 1, 0] + +Before: [1, 3, 2, 1] +9 0 2 2 +After: [1, 3, 0, 1] + +Before: [1, 1, 1, 3] +15 1 0 1 +After: [1, 1, 1, 3] + +Before: [0, 0, 0, 3] +8 0 3 2 +After: [0, 0, 0, 3] + +Before: [3, 1, 2, 0] +1 1 2 2 +After: [3, 1, 0, 0] + +Before: [2, 1, 2, 2] +10 1 3 2 +After: [2, 1, 0, 2] + +Before: [1, 1, 0, 1] +15 1 0 1 +After: [1, 1, 0, 1] + +Before: [1, 1, 3, 0] +13 2 1 0 +After: [0, 1, 3, 0] + +Before: [0, 0, 2, 1] +7 3 2 1 +After: [0, 1, 2, 1] + +Before: [2, 1, 3, 0] +11 0 0 3 +After: [2, 1, 3, 1] + +Before: [3, 1, 3, 0] +0 1 0 3 +After: [3, 1, 3, 1] + +Before: [1, 1, 3, 3] +13 2 1 1 +After: [1, 0, 3, 3] + +Before: [1, 3, 2, 3] +9 0 2 3 +After: [1, 3, 2, 0] + +Before: [0, 3, 1, 3] +8 0 3 1 +After: [0, 0, 1, 3] + +Before: [2, 1, 0, 2] +4 0 3 3 +After: [2, 1, 0, 1] + +Before: [2, 0, 2, 2] +3 2 3 3 +After: [2, 0, 2, 2] + +Before: [2, 3, 1, 0] +11 0 0 0 +After: [1, 3, 1, 0] + +Before: [3, 2, 3, 2] +11 0 0 2 +After: [3, 2, 1, 2] + +Before: [2, 1, 2, 2] +4 0 3 3 +After: [2, 1, 2, 1] + +Before: [3, 0, 3, 3] +5 3 3 1 +After: [3, 3, 3, 3] + +Before: [2, 2, 2, 1] +7 3 2 1 +After: [2, 1, 2, 1] + +Before: [2, 1, 2, 2] +3 2 3 2 +After: [2, 1, 2, 2] + +Before: [1, 1, 2, 1] +7 3 2 2 +After: [1, 1, 1, 1] + +Before: [2, 0, 2, 2] +5 2 2 0 +After: [2, 0, 2, 2] + +Before: [2, 1, 3, 2] +4 0 3 1 +After: [2, 1, 3, 2] + +Before: [0, 2, 2, 2] +3 2 3 3 +After: [0, 2, 2, 2] + +Before: [0, 3, 2, 2] +14 0 0 0 +After: [0, 3, 2, 2] + +Before: [2, 1, 3, 2] +10 1 3 0 +After: [0, 1, 3, 2] + +Before: [3, 1, 2, 1] +7 3 2 0 +After: [1, 1, 2, 1] + +Before: [2, 2, 1, 2] +4 0 3 2 +After: [2, 2, 1, 2] + +Before: [3, 2, 1, 1] +11 0 0 2 +After: [3, 2, 1, 1] + +Before: [0, 3, 3, 1] +13 0 0 1 +After: [0, 1, 3, 1] + +Before: [3, 0, 2, 3] +13 3 2 2 +After: [3, 0, 0, 3] + +Before: [0, 0, 0, 1] +6 3 3 2 +After: [0, 0, 0, 1] + +Before: [2, 3, 1, 2] +4 0 3 1 +After: [2, 1, 1, 2] + +Before: [2, 3, 2, 3] +0 2 0 3 +After: [2, 3, 2, 2] + +Before: [1, 3, 2, 0] +9 0 2 0 +After: [0, 3, 2, 0] + +Before: [0, 1, 0, 2] +6 3 3 0 +After: [0, 1, 0, 2] + +Before: [0, 1, 2, 1] +1 1 2 2 +After: [0, 1, 0, 1] + +Before: [1, 3, 2, 1] +7 3 2 0 +After: [1, 3, 2, 1] + +Before: [0, 3, 2, 1] +8 0 2 1 +After: [0, 0, 2, 1] + +Before: [2, 2, 0, 3] +5 3 3 1 +After: [2, 3, 0, 3] + +Before: [1, 1, 2, 2] +3 2 3 3 +After: [1, 1, 2, 2] + +Before: [0, 0, 3, 2] +11 2 2 1 +After: [0, 1, 3, 2] + +Before: [0, 3, 1, 3] +2 2 3 3 +After: [0, 3, 1, 0] + +Before: [3, 3, 3, 3] +11 2 0 0 +After: [1, 3, 3, 3] + +Before: [2, 0, 0, 2] +4 0 3 0 +After: [1, 0, 0, 2] + +Before: [0, 1, 2, 3] +2 2 3 1 +After: [0, 0, 2, 3] + +Before: [2, 3, 2, 1] +7 3 2 2 +After: [2, 3, 1, 1] + +Before: [3, 1, 2, 2] +10 1 3 0 +After: [0, 1, 2, 2] + +Before: [0, 2, 3, 3] +14 0 0 3 +After: [0, 2, 3, 0] + +Before: [3, 2, 2, 3] +13 3 1 1 +After: [3, 0, 2, 3] + +Before: [1, 1, 2, 2] +9 0 2 3 +After: [1, 1, 2, 0] + +Before: [0, 2, 1, 3] +14 0 0 2 +After: [0, 2, 0, 3] + +Before: [1, 0, 2, 1] +7 3 2 3 +After: [1, 0, 2, 1] + +Before: [0, 3, 2, 1] +7 3 2 3 +After: [0, 3, 2, 1] + +Before: [0, 1, 3, 2] +11 2 2 0 +After: [1, 1, 3, 2] + +Before: [0, 0, 2, 0] +13 0 0 2 +After: [0, 0, 1, 0] + +Before: [3, 1, 1, 3] +11 0 0 2 +After: [3, 1, 1, 3] + +Before: [3, 2, 1, 3] +0 3 0 3 +After: [3, 2, 1, 3] + +Before: [1, 2, 2, 0] +9 0 2 0 +After: [0, 2, 2, 0] + +Before: [3, 0, 0, 3] +0 3 0 0 +After: [3, 0, 0, 3] + +Before: [1, 0, 1, 3] +2 2 3 0 +After: [0, 0, 1, 3] + +Before: [0, 0, 2, 1] +7 3 2 3 +After: [0, 0, 2, 1] + +Before: [1, 1, 2, 2] +15 1 0 3 +After: [1, 1, 2, 1] + +Before: [2, 1, 1, 3] +2 1 3 0 +After: [0, 1, 1, 3] + +Before: [0, 2, 0, 2] +8 0 3 0 +After: [0, 2, 0, 2] + +Before: [3, 1, 0, 3] +0 3 0 0 +After: [3, 1, 0, 3] + +Before: [2, 3, 2, 3] +2 2 3 1 +After: [2, 0, 2, 3] + +Before: [2, 1, 2, 3] +0 2 0 0 +After: [2, 1, 2, 3] + +Before: [2, 0, 2, 3] +8 1 0 3 +After: [2, 0, 2, 0] + +Before: [1, 1, 2, 3] +2 2 3 1 +After: [1, 0, 2, 3] + +Before: [0, 0, 2, 2] +8 0 3 1 +After: [0, 0, 2, 2] + +Before: [1, 0, 2, 1] +7 3 2 0 +After: [1, 0, 2, 1] + +Before: [1, 3, 2, 3] +9 0 2 2 +After: [1, 3, 0, 3] + +Before: [1, 1, 3, 3] +11 2 2 1 +After: [1, 1, 3, 3] + +Before: [1, 1, 0, 3] +15 1 0 1 +After: [1, 1, 0, 3] + +Before: [2, 3, 3, 2] +4 0 3 1 +After: [2, 1, 3, 2] + +Before: [2, 1, 0, 1] +6 3 3 0 +After: [0, 1, 0, 1] + +Before: [1, 1, 2, 2] +10 1 3 2 +After: [1, 1, 0, 2] + +Before: [2, 0, 2, 1] +7 3 2 3 +After: [2, 0, 2, 1] + +Before: [2, 3, 2, 2] +13 2 2 3 +After: [2, 3, 2, 1] + +Before: [0, 1, 1, 0] +14 0 0 0 +After: [0, 1, 1, 0] + +Before: [0, 1, 3, 2] +14 0 0 1 +After: [0, 0, 3, 2] + +Before: [0, 3, 2, 3] +8 0 1 2 +After: [0, 3, 0, 3] + +Before: [2, 3, 1, 3] +2 2 3 0 +After: [0, 3, 1, 3] + +Before: [0, 0, 1, 1] +8 0 2 0 +After: [0, 0, 1, 1] + +Before: [0, 1, 0, 2] +10 1 3 0 +After: [0, 1, 0, 2] + +Before: [2, 3, 3, 3] +5 3 3 3 +After: [2, 3, 3, 3] + +Before: [0, 3, 2, 1] +7 3 2 2 +After: [0, 3, 1, 1] + +Before: [1, 0, 2, 3] +2 2 3 1 +After: [1, 0, 2, 3] + +Before: [2, 1, 2, 1] +7 3 2 3 +After: [2, 1, 2, 1] + +Before: [3, 1, 1, 1] +0 1 0 0 +After: [1, 1, 1, 1] + +Before: [2, 3, 0, 3] +5 3 3 3 +After: [2, 3, 0, 3] + +Before: [2, 0, 2, 0] +13 2 2 0 +After: [1, 0, 2, 0] + +Before: [3, 2, 2, 3] +13 3 2 2 +After: [3, 2, 0, 3] + +Before: [2, 0, 2, 1] +0 2 0 2 +After: [2, 0, 2, 1] + +Before: [3, 1, 2, 0] +1 1 2 0 +After: [0, 1, 2, 0] + +Before: [1, 2, 2, 1] +9 0 2 3 +After: [1, 2, 2, 0] + +Before: [3, 0, 1, 1] +0 3 0 0 +After: [1, 0, 1, 1] + +Before: [3, 1, 3, 3] +0 1 0 2 +After: [3, 1, 1, 3] + +Before: [0, 1, 1, 3] +2 1 3 1 +After: [0, 0, 1, 3] + +Before: [0, 3, 3, 3] +5 3 3 1 +After: [0, 3, 3, 3] + +Before: [3, 3, 2, 2] +13 2 2 3 +After: [3, 3, 2, 1] + +Before: [1, 1, 2, 1] +1 1 2 3 +After: [1, 1, 2, 0] + +Before: [1, 1, 3, 2] +15 1 0 0 +After: [1, 1, 3, 2] + +Before: [1, 0, 2, 2] +5 2 2 1 +After: [1, 2, 2, 2] + +Before: [2, 2, 1, 1] +11 0 1 1 +After: [2, 1, 1, 1] + +Before: [0, 0, 3, 1] +14 0 0 1 +After: [0, 0, 3, 1] + +Before: [2, 1, 2, 2] +10 1 3 1 +After: [2, 0, 2, 2] + +Before: [0, 1, 0, 2] +10 1 3 3 +After: [0, 1, 0, 0] + +Before: [3, 1, 2, 2] +1 1 2 3 +After: [3, 1, 2, 0] + +Before: [1, 0, 2, 1] +9 0 2 3 +After: [1, 0, 2, 0] + +Before: [2, 1, 2, 2] +1 1 2 1 +After: [2, 0, 2, 2] + +Before: [2, 3, 1, 2] +4 0 3 0 +After: [1, 3, 1, 2] + +Before: [2, 1, 3, 3] +5 3 3 3 +After: [2, 1, 3, 3] + +Before: [2, 2, 3, 3] +2 1 3 0 +After: [0, 2, 3, 3] + +Before: [1, 1, 3, 2] +15 1 0 1 +After: [1, 1, 3, 2] + +Before: [2, 3, 2, 1] +7 3 2 1 +After: [2, 1, 2, 1] + +Before: [1, 0, 2, 0] +9 0 2 2 +After: [1, 0, 0, 0] + +Before: [3, 3, 2, 3] +5 2 2 1 +After: [3, 2, 2, 3] + +Before: [3, 1, 2, 2] +1 1 2 1 +After: [3, 0, 2, 2] + +Before: [0, 0, 2, 3] +2 2 3 3 +After: [0, 0, 2, 0] + +Before: [3, 3, 1, 3] +2 2 3 0 +After: [0, 3, 1, 3] + +Before: [2, 2, 2, 3] +0 2 0 1 +After: [2, 2, 2, 3] + +Before: [3, 1, 2, 1] +0 1 0 2 +After: [3, 1, 1, 1] + +Before: [3, 3, 2, 1] +7 3 2 0 +After: [1, 3, 2, 1] + +Before: [0, 1, 2, 0] +1 1 2 2 +After: [0, 1, 0, 0] + +Before: [0, 0, 1, 0] +14 0 0 0 +After: [0, 0, 1, 0] + +Before: [0, 2, 2, 1] +12 2 1 3 +After: [0, 2, 2, 1] + +Before: [3, 2, 3, 1] +6 3 3 3 +After: [3, 2, 3, 0] + +Before: [1, 1, 2, 1] +1 1 2 2 +After: [1, 1, 0, 1] + +Before: [2, 3, 1, 2] +4 0 3 3 +After: [2, 3, 1, 1] + +Before: [2, 2, 1, 2] +4 0 3 1 +After: [2, 1, 1, 2] + +Before: [2, 1, 1, 2] +4 0 3 0 +After: [1, 1, 1, 2] + + + +9 2 0 1 +9 0 1 0 +9 3 0 3 +10 3 1 1 +8 1 1 1 +14 1 2 2 +7 2 2 1 +9 1 3 3 +9 1 2 0 +9 3 0 2 +8 3 2 3 +8 3 1 3 +14 3 1 1 +7 1 3 2 +9 1 2 3 +8 0 0 0 +0 0 2 0 +8 1 0 1 +0 1 3 1 +15 3 0 0 +8 0 3 0 +8 0 2 0 +14 2 0 2 +7 2 1 1 +9 1 2 2 +8 0 0 0 +0 0 3 0 +9 0 3 3 +1 0 2 2 +8 2 1 2 +14 2 1 1 +7 1 0 2 +8 2 0 3 +0 3 2 3 +9 2 1 0 +9 3 3 1 +4 0 3 0 +8 0 3 0 +14 0 2 2 +9 1 1 3 +9 1 2 1 +9 1 0 0 +14 1 3 0 +8 0 1 0 +14 0 2 2 +9 2 1 1 +9 2 2 0 +6 0 3 1 +8 1 2 1 +8 1 2 1 +14 1 2 2 +7 2 2 1 +9 1 0 0 +8 1 0 3 +0 3 0 3 +9 3 0 2 +12 3 2 0 +8 0 3 0 +8 0 1 0 +14 0 1 1 +9 1 2 0 +8 3 0 3 +0 3 1 3 +9 0 0 2 +8 0 2 2 +8 2 2 2 +14 1 2 1 +9 2 0 0 +8 0 0 2 +0 2 2 2 +6 0 3 0 +8 0 1 0 +8 0 3 0 +14 0 1 1 +7 1 0 3 +9 2 3 0 +9 3 3 2 +9 3 0 1 +1 1 2 2 +8 2 2 2 +14 3 2 3 +7 3 3 0 +9 0 1 2 +9 0 1 1 +9 3 1 3 +1 3 2 2 +8 2 3 2 +14 0 2 0 +7 0 0 3 +9 2 2 0 +9 1 1 1 +9 3 2 2 +13 0 2 1 +8 1 2 1 +8 1 2 1 +14 3 1 3 +7 3 0 1 +9 2 2 3 +9 0 1 2 +12 2 3 2 +8 2 1 2 +14 1 2 1 +8 1 0 2 +0 2 2 2 +9 1 2 3 +8 2 0 0 +0 0 1 0 +7 0 2 0 +8 0 3 0 +8 0 2 0 +14 1 0 1 +7 1 0 0 +8 3 0 2 +0 2 1 2 +9 1 3 1 +14 1 3 3 +8 3 1 3 +8 3 3 3 +14 0 3 0 +9 2 1 1 +9 0 1 3 +9 2 3 3 +8 3 2 3 +8 3 3 3 +14 0 3 0 +7 0 2 1 +9 1 2 3 +9 2 1 0 +6 0 3 2 +8 2 3 2 +14 1 2 1 +7 1 2 3 +9 1 1 0 +9 2 1 2 +9 3 1 1 +0 0 1 2 +8 2 2 2 +14 2 3 3 +7 3 1 0 +9 2 1 3 +8 0 0 2 +0 2 3 2 +9 0 0 1 +9 2 1 2 +8 2 3 2 +8 2 3 2 +14 0 2 0 +7 0 1 2 +9 1 2 3 +9 2 3 1 +9 3 2 0 +10 0 1 0 +8 0 2 0 +14 2 0 2 +7 2 0 3 +8 2 0 2 +0 2 3 2 +9 2 1 0 +8 1 0 1 +0 1 3 1 +10 1 0 1 +8 1 2 1 +8 1 3 1 +14 1 3 3 +7 3 2 0 +9 1 0 1 +9 1 3 3 +9 2 3 1 +8 1 2 1 +14 1 0 0 +7 0 3 2 +9 2 3 0 +9 3 0 3 +9 2 1 1 +10 3 0 1 +8 1 3 1 +14 2 1 2 +7 2 0 0 +9 3 0 2 +9 3 0 1 +9 2 1 3 +10 1 3 3 +8 3 2 3 +14 3 0 0 +7 0 0 2 +9 1 3 3 +9 2 0 0 +9 1 1 1 +6 0 3 0 +8 0 1 0 +14 0 2 2 +7 2 0 3 +8 2 0 0 +0 0 1 0 +9 2 0 2 +9 2 3 1 +7 0 2 0 +8 0 2 0 +14 0 3 3 +9 3 2 1 +9 1 0 2 +9 1 0 0 +0 0 1 0 +8 0 2 0 +14 3 0 3 +7 3 3 1 +9 2 2 3 +9 2 0 2 +9 1 3 0 +7 0 2 3 +8 3 3 3 +8 3 2 3 +14 1 3 1 +9 0 3 2 +9 3 3 3 +8 0 2 3 +8 3 2 3 +8 3 2 3 +14 3 1 1 +8 1 0 0 +0 0 0 0 +9 1 3 3 +9 3 0 2 +8 3 2 2 +8 2 2 2 +14 1 2 1 +7 1 0 2 +9 2 0 0 +9 0 2 1 +9 2 1 3 +5 0 3 3 +8 3 1 3 +8 3 3 3 +14 2 3 2 +9 1 2 3 +9 1 0 1 +15 3 0 0 +8 0 2 0 +14 0 2 2 +7 2 0 0 +9 1 2 2 +9 2 0 3 +15 1 3 2 +8 2 1 2 +14 2 0 0 +9 0 0 3 +8 3 0 2 +0 2 2 2 +9 0 1 1 +5 2 3 1 +8 1 1 1 +8 1 3 1 +14 0 1 0 +9 3 2 2 +9 3 0 1 +9 2 2 3 +1 1 2 2 +8 2 3 2 +14 2 0 0 +7 0 1 3 +9 2 3 2 +9 2 2 0 +11 0 1 2 +8 2 1 2 +14 3 2 3 +7 3 0 1 +9 2 3 2 +9 1 1 0 +9 3 3 3 +7 0 2 3 +8 3 1 3 +14 1 3 1 +9 3 3 2 +8 1 0 3 +0 3 3 3 +8 3 0 0 +0 0 2 0 +13 0 2 2 +8 2 2 2 +8 2 2 2 +14 1 2 1 +9 2 2 2 +9 1 3 3 +6 0 3 2 +8 2 3 2 +14 1 2 1 +7 1 0 2 +9 3 3 1 +9 1 0 0 +0 3 1 1 +8 1 3 1 +14 2 1 2 +7 2 1 1 +9 2 1 0 +8 3 0 3 +0 3 3 3 +9 3 3 2 +3 0 2 2 +8 2 1 2 +8 2 1 2 +14 2 1 1 +7 1 2 2 +8 2 0 3 +0 3 1 3 +9 0 1 1 +6 0 3 1 +8 1 1 1 +14 2 1 2 +9 0 3 1 +9 3 2 0 +9 2 3 3 +10 0 3 1 +8 1 2 1 +8 1 2 1 +14 2 1 2 +7 2 3 3 +9 0 1 2 +9 1 0 0 +9 3 3 1 +8 0 2 1 +8 1 1 1 +14 3 1 3 +7 3 1 2 +9 2 0 1 +9 0 2 3 +9 2 3 0 +5 1 3 1 +8 1 3 1 +8 1 1 1 +14 1 2 2 +7 2 0 1 +9 3 2 0 +8 0 0 2 +0 2 0 2 +9 3 2 3 +13 2 0 0 +8 0 3 0 +14 1 0 1 +8 3 0 2 +0 2 2 2 +8 1 0 0 +0 0 1 0 +7 0 2 2 +8 2 3 2 +8 2 1 2 +14 1 2 1 +7 1 2 2 +9 0 0 3 +8 2 0 1 +0 1 1 1 +14 0 0 0 +8 0 2 0 +14 2 0 2 +7 2 3 3 +8 2 0 0 +0 0 3 0 +8 0 0 1 +0 1 3 1 +9 0 0 2 +1 0 2 0 +8 0 1 0 +14 0 3 3 +7 3 2 1 +9 1 2 3 +9 2 1 0 +6 0 3 0 +8 0 2 0 +8 0 3 0 +14 0 1 1 +7 1 0 3 +9 2 0 2 +9 1 1 0 +8 2 0 1 +0 1 2 1 +7 0 2 1 +8 1 2 1 +8 1 3 1 +14 3 1 3 +9 1 1 1 +7 0 2 1 +8 1 1 1 +14 1 3 3 +7 3 3 2 +9 2 0 3 +9 3 1 1 +0 0 1 0 +8 0 1 0 +14 2 0 2 +7 2 0 3 +8 0 0 2 +0 2 1 2 +9 2 0 0 +1 1 2 1 +8 1 1 1 +14 1 3 3 +7 3 1 2 +9 1 2 1 +9 2 0 3 +15 1 3 0 +8 0 2 0 +14 0 2 2 +9 3 2 3 +9 2 0 0 +9 3 2 1 +11 0 1 0 +8 0 3 0 +14 0 2 2 +7 2 3 3 +9 3 1 0 +9 3 3 2 +9 1 2 1 +8 1 2 1 +8 1 1 1 +8 1 3 1 +14 3 1 3 +7 3 0 0 +9 2 2 2 +8 1 0 3 +0 3 0 3 +9 0 2 1 +2 3 2 1 +8 1 1 1 +14 1 0 0 +7 0 0 1 +9 2 1 0 +9 3 2 2 +12 3 2 2 +8 2 3 2 +14 2 1 1 +7 1 0 2 +8 0 0 1 +0 1 3 1 +9 2 3 3 +10 1 3 1 +8 1 2 1 +14 1 2 2 +7 2 2 1 +9 1 0 2 +5 0 3 0 +8 0 1 0 +14 0 1 1 +7 1 3 3 +9 3 3 2 +9 2 0 0 +9 3 1 1 +13 0 2 2 +8 2 3 2 +8 2 1 2 +14 3 2 3 +9 3 3 2 +8 2 0 1 +0 1 0 1 +3 0 2 1 +8 1 3 1 +8 1 3 1 +14 1 3 3 +7 3 2 1 +9 1 3 3 +13 0 2 2 +8 2 2 2 +14 2 1 1 +7 1 2 0 +9 2 1 3 +9 1 0 1 +9 2 0 2 +5 2 3 3 +8 3 1 3 +14 0 3 0 +8 1 0 3 +0 3 2 3 +9 3 1 1 +10 1 3 1 +8 1 3 1 +8 1 1 1 +14 0 1 0 +9 3 3 1 +9 3 2 3 +11 2 1 1 +8 1 2 1 +8 1 1 1 +14 1 0 0 +7 0 0 1 +9 0 2 2 +8 2 0 0 +0 0 3 0 +8 1 0 3 +0 3 2 3 +13 2 0 3 +8 3 3 3 +14 3 1 1 +9 1 1 2 +8 1 0 3 +0 3 1 3 +14 3 3 3 +8 3 3 3 +14 3 1 1 +7 1 3 3 +9 3 0 2 +9 1 0 1 +9 2 1 0 +8 0 1 0 +8 0 2 0 +14 0 3 3 +7 3 3 2 +8 3 0 0 +0 0 2 0 +8 3 0 1 +0 1 3 1 +9 1 1 3 +6 0 3 0 +8 0 2 0 +14 2 0 2 +9 1 0 1 +9 2 1 3 +9 0 2 0 +15 1 3 1 +8 1 3 1 +14 2 1 2 +7 2 3 1 +9 1 3 0 +9 3 1 2 +9 0 0 3 +12 3 2 3 +8 3 1 3 +14 3 1 1 +7 1 1 2 +9 1 1 3 +9 2 3 0 +9 0 1 1 +15 3 0 0 +8 0 2 0 +14 0 2 2 +7 2 3 0 +8 1 0 1 +0 1 2 1 +9 0 2 3 +9 2 2 2 +2 3 2 3 +8 3 3 3 +14 0 3 0 +7 0 0 2 +9 3 3 0 +9 2 2 3 +3 1 0 1 +8 1 1 1 +14 1 2 2 +9 0 1 1 +10 0 3 0 +8 0 1 0 +8 0 2 0 +14 0 2 2 +8 3 0 0 +0 0 2 0 +4 0 3 3 +8 3 3 3 +14 3 2 2 +7 2 3 0 +8 0 0 3 +0 3 1 3 +9 3 2 1 +9 2 0 2 +14 3 3 1 +8 1 3 1 +14 1 0 0 +7 0 1 2 +9 1 0 0 +9 2 0 3 +9 3 0 1 +10 1 3 3 +8 3 2 3 +14 2 3 2 +7 2 2 1 +8 3 0 3 +0 3 0 3 +9 2 1 2 +8 3 0 0 +0 0 3 0 +11 2 0 3 +8 3 1 3 +8 3 1 3 +14 1 3 1 +9 1 0 3 +9 3 2 2 +9 2 0 0 +13 0 2 3 +8 3 2 3 +14 3 1 1 +8 3 0 3 +0 3 3 3 +8 0 0 0 +0 0 1 0 +8 0 2 0 +8 0 3 0 +14 1 0 1 +7 1 1 3 +9 1 3 1 +9 2 1 0 +13 0 2 0 +8 0 2 0 +8 0 2 0 +14 3 0 3 +7 3 3 0 +8 0 0 3 +0 3 3 3 +9 0 2 1 +1 3 2 2 +8 2 2 2 +14 2 0 0 +9 3 2 2 +9 3 1 1 +1 3 2 1 +8 1 3 1 +8 1 1 1 +14 1 0 0 +7 0 2 2 +9 3 3 1 +9 1 2 0 +9 1 0 3 +0 0 1 1 +8 1 3 1 +14 2 1 2 +7 2 3 1 +8 3 0 2 +0 2 3 2 +8 3 0 0 +0 0 2 0 +9 2 1 3 +4 0 3 0 +8 0 1 0 +14 0 1 1 +9 3 1 3 +9 2 3 2 +9 2 0 0 +10 3 0 0 +8 0 3 0 +14 1 0 1 +8 0 0 3 +0 3 0 3 +9 1 0 0 +7 0 2 2 +8 2 1 2 +14 1 2 1 +9 3 0 0 +8 2 0 2 +0 2 0 2 +13 2 0 2 +8 2 3 2 +14 1 2 1 +9 3 0 2 +9 2 2 3 +9 2 2 0 +3 0 2 3 +8 3 2 3 +14 3 1 1 +7 1 2 2 +9 2 0 3 +8 1 0 1 +0 1 1 1 +4 0 3 3 +8 3 3 3 +8 3 1 3 +14 3 2 2 +7 2 2 1 +9 3 0 0 +8 0 0 2 +0 2 0 2 +9 2 1 3 +13 2 0 2 +8 2 3 2 +14 1 2 1 +7 1 1 2 +9 0 1 1 +9 1 0 0 +8 3 0 3 +0 3 3 3 +0 0 1 1 +8 1 1 1 +14 1 2 2 +7 2 3 1 +9 2 3 0 +9 2 1 3 +9 2 0 2 +4 0 3 3 +8 3 3 3 +14 1 3 1 +9 1 1 3 +8 1 0 2 +0 2 0 2 +6 0 3 3 +8 3 3 3 +14 3 1 1 +7 1 1 3 +9 1 2 0 +9 3 0 1 +9 3 1 2 +0 0 1 0 +8 0 1 0 +14 0 3 3 +7 3 3 1 +8 1 0 0 +0 0 1 0 +9 2 2 3 +9 2 0 2 +7 0 2 0 +8 0 2 0 +14 0 1 1 +7 1 0 2 +9 1 0 3 +9 2 1 1 +9 1 1 0 +14 0 0 1 +8 1 1 1 +8 1 2 1 +14 1 2 2 +7 2 1 3 +9 2 3 0 +9 3 1 2 +9 2 3 1 +13 0 2 0 +8 0 3 0 +14 3 0 3 +7 3 0 2 +9 3 1 1 +9 1 0 3 +9 2 2 0 +11 0 1 3 +8 3 1 3 +14 2 3 2 +7 2 2 1 +8 2 0 0 +0 0 1 0 +9 2 1 2 +9 1 3 3 +7 0 2 3 +8 3 3 3 +14 3 1 1 +7 1 2 0 +9 0 1 3 +9 1 1 1 +2 3 2 2 +8 2 1 2 +14 2 0 0 +7 0 3 3 +9 3 0 1 +9 1 3 0 +8 3 0 2 +0 2 2 2 +0 0 1 1 +8 1 2 1 +14 1 3 3 +7 3 1 2 +9 2 1 1 +9 1 2 3 +9 2 1 0 +6 0 3 0 +8 0 1 0 +8 0 3 0 +14 0 2 2 +9 2 1 3 +9 1 3 1 +9 2 1 0 +4 0 3 1 +8 1 3 1 +8 1 1 1 +14 1 2 2 +7 2 3 1 +9 1 3 2 +9 3 3 0 +9 0 2 3 +9 2 0 2 +8 2 1 2 +14 2 1 1 +9 3 2 3 +8 1 0 2 +0 2 0 2 +9 2 2 0 +10 3 0 3 +8 3 2 3 +14 1 3 1 +9 0 1 3 +9 2 1 2 +2 3 2 0 +8 0 2 0 +14 1 0 1 +7 1 0 3 +9 3 0 0 +9 0 3 1 +11 2 0 0 +8 0 2 0 +14 3 0 3 +9 3 3 2 +9 3 2 0 +9 2 1 1 +1 0 2 0 +8 0 3 0 +14 3 0 3 +7 3 0 2 +8 1 0 0 +0 0 2 0 +9 1 0 3 +8 0 0 1 +0 1 0 1 +6 0 3 3 +8 3 2 3 +8 3 1 3 +14 3 2 2 +7 2 0 3 +9 3 2 2 +13 0 2 2 +8 2 1 2 +14 3 2 3 +7 3 3 1 +8 0 0 3 +0 3 1 3 +9 3 1 0 +9 2 0 2 +11 2 0 3 +8 3 1 3 +14 3 1 1 +9 0 1 3 +9 0 1 0 +2 3 2 2 +8 2 2 2 +8 2 2 2 +14 2 1 1 +7 1 3 3 +9 0 2 2 +9 3 1 1 +1 1 2 2 +8 2 3 2 +14 2 3 3 +7 3 3 0 \ No newline at end of file