diff --git a/16/a.py b/16/a.py new file mode 100755 index 0000000..2d8fe70 --- /dev/null +++ b/16/a.py @@ -0,0 +1,191 @@ +#!/usr/bin/env python3 + + +""" +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. + +ch opcode has a number from 0 through 15 +""" + + +def addr(regs, a, b, c): + # addr (add register) stores into register C the result of adding register A and register B. + regs.set(c, regs.get(a) + regs.get(b)) + + +def addi(regs, a, b, c): + # addi (add immediate) stores into register C the result of adding register A and value B. + regs.set(c, regs.get(a) + b) + + +def mulr(regs, a, b, c): + # mulr (multiply register) stores into register C the result of multiplying register A and register B. + regs.set(c, regs.get(a) * regs.get(b)) + + +def muli(regs, a, b, c): + # muli (multiply immediate) stores into register C the result of multiplying register A and value B. + regs.set(c, regs.get(a) * b) + + +def banr(regs, a, b, c): + # banr (bitwise AND register) stores into register C the result of the bitwise AND of register A and register B. + regs.set(c, regs.get(a) & regs.get(b)) + + +def bani(regs, a, b, c): + # bani (bitwise AND immediate) stores into register C the result of the bitwise AND of register A and value B. + regs.set(c, regs.get(a) & b) + + +def borr(regs, a, b, c): + # borr (bitwise OR register) stores into register C the result of the bitwise OR of register A and register B. + regs.set(c, regs.get(a) | regs.get(b)) + + +def bori(regs, a, b, c): + # bori (bitwise OR immediate) stores into register C the result of the bitwise OR of register A and value B. + regs.set(c, regs.get(a) | b) + + +def setr(regs, a, b, c): + # setr (set register) copies the contents of register A into register C. (Input B is ignored.) + regs.set(c, regs.get(a)) + + +def seti(regs, a, b, c): + # seti (set immediate) stores value A into register C. (Input B is ignored.) + regs.set(c, a) + + +def gtir(regs, a, b, c): + # 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. + regs.set(c, 1 if a > regs.get(b) else 0) + + +def gtri(regs, a, b, c): + # 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. + regs.set(c, 1 if regs.get(a) > b else 0) + + +def gtrr(regs, a, b, c): + # 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. + regs.set(c, 1 if regs.get(a) > regs.get(b) else 0) + + +def eqir(regs, a, b, c): + # eqir (equal immediate/register) sets register C to 1 if value A is equal to register B. Otherwise, register C is set to 0. + regs.set(c, 1 if a == regs.get(b) else 0) + + +def eqri(regs, a, b, c): + # eqri (equal register/immediate) sets register C to 1 if register A is equal to value B. Otherwise, register C is set to 0. + regs.set(c, 1 if regs.get(a) == b else 0) + + +def eqrr(regs, a, b, c): + # eqrr (equal register/register) sets register C to 1 if register A is equal to register B. Otherwise, register C is set to 0. + regs.set(c, 1 if regs.get(a) == regs.get(b) else 0) + + +ops = (addr, + addi, + mulr, + muli, + banr, + bani, + borr, + bori, + setr, + seti, + gtir, + gtri, + gtrr, + eqir, + eqri, + eqrr) + + +class Registers(object): + def __init__(self, initial=None): + self.regs = list(initial) if initial else [0, 0, 0, 0] + + def get(self, num): + return self.regs[num] + + def set(self, num, value): + self.regs[num] = value + + +class SampleInstr(object): + def __init__(self, before, instr, after): + self.before = before + self.instr = instr + self.after = after + + +def load_samples(fname): + """ + Load the samples into a list + """ + samples = [] + program = [] + with open(fname) as f: + while True: + line = f.readline() + if not line.startswith("Before"): + break + samples.append(SampleInstr( + [int(i) for i in line.strip().split(": [")[1][0:-1].split(", ")], + [int(i) for i in f.readline().strip().split()], + [int(i) for i in f.readline().strip().split(": [")[1][0:-1].split(", ")])) + f.readline() + + f.readline() + for line in f.readlines(): + program.append([int(i) for i in line.strip().split()]) + + return samples, program + + +def run_sample(sample, op): + # Run the sample through one opcode and returns True if our output matches the sample output + r = Registers(sample.before) + op(r, *sample.instr[1:]) + return sample.after == r.regs + + +def sample_repeats(sample): + # run the sample through the opcodes until a duplicate result is found + matching = 0 + for op in ops: + if run_sample(sample, op): + matching += 1 + if matching >= 3: + return True + return False + + +def main(): + samples, _ = load_samples("input.txt") + + repeating = 0 + for sample in samples: + if sample_repeats(sample): + repeating += 1 + + print(repeating) + + +if __name__ == '__main__': + main() diff --git a/16/b.py b/16/b.py new file mode 100755 index 0000000..fca8a09 --- /dev/null +++ b/16/b.py @@ -0,0 +1,51 @@ +#!/usr/bin/env python3 + + +from a import load_samples, ops, Registers + + +def find_opcodes(samples): + # process of elimination to find opcode IDs + + options = {i: set(ops) for i in range(0, 16)} + found_codes = set() + while len(found_codes) < 15: + for sample in samples: + op_id = sample.instr[0] + if op_id in found_codes: + continue + for op in list(options[op_id]): + cpu = Registers(sample.before) + op(cpu, *sample.instr[1:]) + if cpu.regs != sample.after: + options[op_id].remove(op) + + if len(options[op_id]) == 1: + found_op = list(options[op_id])[0] + found_codes.update([op_id]) + for o_opid, opset in options.items(): + if o_opid != op_id: + try: + opset.remove(found_op) + except KeyError: + pass + + return {k: list(v)[0] for k, v in options.items()} + + +def main(): + samples, program = load_samples("input.txt") + + optable = find_opcodes(samples) + + cpu = Registers() + + for instruction in program: + optable[instruction[0]](cpu, *instruction[1:]) + + print("Registers:", cpu.regs) + print("Answer:", cpu.regs[0]) + + +if __name__ == '__main__': + main() diff --git a/16/input.txt b/16/input.txt new file mode 100644 index 0000000..097d3af --- /dev/null +++ b/16/input.txt @@ -0,0 +1,4266 @@ +Before: [0, 2, 0, 2] +6 0 1 1 +After: [0, 1, 0, 2] + +Before: [0, 3, 0, 1] +3 3 1 3 +After: [0, 3, 0, 1] + +Before: [2, 0, 3, 3] +7 2 0 2 +After: [2, 0, 2, 3] + +Before: [0, 2, 3, 3] +13 0 3 0 +After: [3, 2, 3, 3] + +Before: [2, 2, 3, 3] +7 2 1 3 +After: [2, 2, 3, 2] + +Before: [0, 2, 0, 0] +4 0 1 0 +After: [0, 2, 0, 0] + +Before: [2, 0, 3, 2] +15 3 2 0 +After: [4, 0, 3, 2] + +Before: [3, 3, 0, 3] +12 3 3 0 +After: [3, 3, 0, 3] + +Before: [2, 1, 1, 0] +14 3 1 3 +After: [2, 1, 1, 1] + +Before: [2, 2, 3, 2] +7 2 3 1 +After: [2, 2, 3, 2] + +Before: [0, 3, 2, 1] +5 2 1 3 +After: [0, 3, 2, 3] + +Before: [0, 2, 2, 3] +10 1 2 0 +After: [4, 2, 2, 3] + +Before: [2, 3, 2, 2] +5 0 1 2 +After: [2, 3, 3, 2] + +Before: [2, 0, 3, 0] +7 2 0 1 +After: [2, 2, 3, 0] + +Before: [3, 2, 3, 0] +6 3 2 1 +After: [3, 2, 3, 0] + +Before: [0, 3, 3, 0] +4 0 1 0 +After: [0, 3, 3, 0] + +Before: [0, 0, 2, 0] +1 0 0 1 +After: [0, 0, 2, 0] + +Before: [0, 2, 3, 3] +1 0 0 0 +After: [0, 2, 3, 3] + +Before: [1, 3, 1, 0] +9 0 1 3 +After: [1, 3, 1, 1] + +Before: [1, 3, 1, 3] +9 0 1 1 +After: [1, 1, 1, 3] + +Before: [2, 0, 3, 2] +6 1 3 2 +After: [2, 0, 3, 2] + +Before: [1, 1, 0, 0] +14 3 1 0 +After: [1, 1, 0, 0] + +Before: [2, 3, 0, 0] +5 0 1 3 +After: [2, 3, 0, 3] + +Before: [2, 3, 2, 3] +10 0 2 2 +After: [2, 3, 4, 3] + +Before: [0, 1, 3, 3] +13 0 3 0 +After: [3, 1, 3, 3] + +Before: [2, 0, 1, 2] +15 0 2 2 +After: [2, 0, 4, 2] + +Before: [2, 1, 0, 3] +14 2 1 2 +After: [2, 1, 1, 3] + +Before: [0, 3, 2, 2] +4 0 2 0 +After: [0, 3, 2, 2] + +Before: [1, 0, 3, 3] +12 3 1 1 +After: [1, 3, 3, 3] + +Before: [0, 2, 3, 2] +7 2 3 3 +After: [0, 2, 3, 2] + +Before: [1, 1, 2, 3] +10 1 3 3 +After: [1, 1, 2, 3] + +Before: [0, 2, 1, 3] +1 0 0 1 +After: [0, 0, 1, 3] + +Before: [3, 1, 2, 2] +2 3 1 3 +After: [3, 1, 2, 3] + +Before: [1, 0, 3, 3] +10 0 2 0 +After: [3, 0, 3, 3] + +Before: [1, 0, 2, 3] +11 0 1 0 +After: [1, 0, 2, 3] + +Before: [2, 1, 2, 2] +13 1 3 2 +After: [2, 1, 3, 2] + +Before: [0, 1, 2, 1] +2 3 2 0 +After: [3, 1, 2, 1] + +Before: [2, 0, 0, 3] +15 0 2 3 +After: [2, 0, 0, 4] + +Before: [1, 3, 3, 2] +15 3 2 1 +After: [1, 4, 3, 2] + +Before: [1, 2, 3, 0] +10 0 2 1 +After: [1, 3, 3, 0] + +Before: [2, 2, 2, 1] +2 3 2 3 +After: [2, 2, 2, 3] + +Before: [3, 3, 2, 1] +10 2 2 2 +After: [3, 3, 4, 1] + +Before: [3, 2, 2, 2] +10 3 2 2 +After: [3, 2, 4, 2] + +Before: [1, 1, 3, 1] +2 3 2 0 +After: [3, 1, 3, 1] + +Before: [2, 1, 1, 0] +14 3 1 1 +After: [2, 1, 1, 0] + +Before: [1, 0, 2, 1] +11 3 1 0 +After: [1, 0, 2, 1] + +Before: [1, 3, 0, 2] +9 0 1 1 +After: [1, 1, 0, 2] + +Before: [0, 1, 1, 0] +4 0 2 0 +After: [0, 1, 1, 0] + +Before: [3, 3, 2, 1] +5 2 1 0 +After: [3, 3, 2, 1] + +Before: [3, 1, 1, 0] +14 3 1 3 +After: [3, 1, 1, 1] + +Before: [1, 3, 2, 3] +5 2 1 1 +After: [1, 3, 2, 3] + +Before: [1, 2, 2, 1] +2 3 2 2 +After: [1, 2, 3, 1] + +Before: [3, 3, 3, 2] +15 3 2 0 +After: [4, 3, 3, 2] + +Before: [0, 3, 2, 1] +5 2 1 2 +After: [0, 3, 3, 1] + +Before: [1, 1, 0, 2] +2 3 1 2 +After: [1, 1, 3, 2] + +Before: [3, 1, 0, 3] +8 3 2 3 +After: [3, 1, 0, 6] + +Before: [0, 1, 1, 3] +1 0 0 0 +After: [0, 1, 1, 3] + +Before: [2, 3, 2, 3] +5 0 1 3 +After: [2, 3, 2, 3] + +Before: [3, 0, 2, 1] +2 3 2 0 +After: [3, 0, 2, 1] + +Before: [2, 3, 3, 1] +3 3 1 0 +After: [1, 3, 3, 1] + +Before: [2, 2, 3, 3] +15 1 2 2 +After: [2, 2, 4, 3] + +Before: [1, 2, 1, 1] +9 3 1 1 +After: [1, 1, 1, 1] + +Before: [1, 3, 1, 1] +3 3 1 1 +After: [1, 1, 1, 1] + +Before: [1, 3, 0, 1] +9 0 1 3 +After: [1, 3, 0, 1] + +Before: [0, 1, 3, 2] +2 3 1 2 +After: [0, 1, 3, 2] + +Before: [1, 3, 2, 3] +0 3 2 1 +After: [1, 2, 2, 3] + +Before: [0, 2, 0, 2] +15 3 2 3 +After: [0, 2, 0, 4] + +Before: [0, 1, 3, 3] +1 0 0 1 +After: [0, 0, 3, 3] + +Before: [0, 2, 3, 2] +7 2 1 1 +After: [0, 2, 3, 2] + +Before: [0, 2, 3, 2] +7 2 3 2 +After: [0, 2, 2, 2] + +Before: [1, 0, 2, 1] +2 3 2 2 +After: [1, 0, 3, 1] + +Before: [1, 2, 3, 0] +8 1 3 1 +After: [1, 6, 3, 0] + +Before: [2, 3, 0, 1] +5 0 1 2 +After: [2, 3, 3, 1] + +Before: [3, 2, 2, 2] +10 1 2 3 +After: [3, 2, 2, 4] + +Before: [0, 3, 1, 2] +8 3 3 2 +After: [0, 3, 6, 2] + +Before: [3, 0, 3, 1] +11 3 1 3 +After: [3, 0, 3, 1] + +Before: [3, 3, 3, 1] +3 3 1 0 +After: [1, 3, 3, 1] + +Before: [1, 2, 3, 1] +7 2 1 0 +After: [2, 2, 3, 1] + +Before: [0, 0, 2, 0] +4 0 2 0 +After: [0, 0, 2, 0] + +Before: [0, 3, 1, 1] +3 3 1 2 +After: [0, 3, 1, 1] + +Before: [1, 1, 0, 2] +14 2 1 0 +After: [1, 1, 0, 2] + +Before: [3, 3, 1, 1] +8 1 3 1 +After: [3, 9, 1, 1] + +Before: [1, 0, 0, 1] +6 0 3 0 +After: [3, 0, 0, 1] + +Before: [0, 2, 2, 0] +12 2 0 3 +After: [0, 2, 2, 2] + +Before: [0, 2, 3, 3] +12 3 0 0 +After: [3, 2, 3, 3] + +Before: [0, 1, 2, 1] +13 1 2 1 +After: [0, 3, 2, 1] + +Before: [3, 3, 3, 0] +0 2 2 0 +After: [2, 3, 3, 0] + +Before: [0, 1, 0, 3] +13 0 3 3 +After: [0, 1, 0, 3] + +Before: [0, 1, 2, 1] +13 0 2 2 +After: [0, 1, 2, 1] + +Before: [2, 3, 2, 3] +0 3 2 3 +After: [2, 3, 2, 2] + +Before: [2, 3, 2, 0] +5 2 1 2 +After: [2, 3, 3, 0] + +Before: [2, 0, 3, 0] +7 2 0 3 +After: [2, 0, 3, 2] + +Before: [0, 3, 2, 2] +5 2 1 2 +After: [0, 3, 3, 2] + +Before: [3, 2, 1, 2] +15 1 2 3 +After: [3, 2, 1, 4] + +Before: [3, 3, 3, 1] +3 3 1 1 +After: [3, 1, 3, 1] + +Before: [0, 1, 0, 3] +4 0 1 2 +After: [0, 1, 0, 3] + +Before: [3, 3, 3, 1] +3 3 1 3 +After: [3, 3, 3, 1] + +Before: [2, 1, 3, 0] +13 0 1 1 +After: [2, 3, 3, 0] + +Before: [3, 1, 2, 2] +12 2 2 3 +After: [3, 1, 2, 2] + +Before: [0, 0, 2, 1] +1 0 0 2 +After: [0, 0, 0, 1] + +Before: [0, 2, 3, 1] +2 3 2 3 +After: [0, 2, 3, 3] + +Before: [2, 0, 3, 0] +4 1 0 0 +After: [0, 0, 3, 0] + +Before: [2, 0, 3, 2] +7 2 3 3 +After: [2, 0, 3, 2] + +Before: [2, 2, 2, 1] +12 2 0 3 +After: [2, 2, 2, 2] + +Before: [3, 1, 0, 2] +6 1 2 2 +After: [3, 1, 3, 2] + +Before: [1, 0, 3, 0] +11 0 1 0 +After: [1, 0, 3, 0] + +Before: [0, 3, 1, 3] +12 3 1 1 +After: [0, 3, 1, 3] + +Before: [2, 1, 0, 1] +14 2 1 0 +After: [1, 1, 0, 1] + +Before: [2, 0, 0, 1] +11 3 1 1 +After: [2, 1, 0, 1] + +Before: [1, 1, 3, 0] +0 2 2 0 +After: [2, 1, 3, 0] + +Before: [2, 0, 3, 2] +0 2 2 0 +After: [2, 0, 3, 2] + +Before: [1, 3, 0, 3] +9 0 1 1 +After: [1, 1, 0, 3] + +Before: [0, 3, 0, 0] +1 0 0 2 +After: [0, 3, 0, 0] + +Before: [2, 1, 2, 2] +2 3 1 1 +After: [2, 3, 2, 2] + +Before: [1, 2, 3, 0] +10 0 2 0 +After: [3, 2, 3, 0] + +Before: [2, 2, 1, 2] +6 0 1 0 +After: [3, 2, 1, 2] + +Before: [3, 2, 2, 3] +0 0 2 1 +After: [3, 2, 2, 3] + +Before: [2, 3, 2, 1] +3 3 1 2 +After: [2, 3, 1, 1] + +Before: [2, 3, 3, 2] +15 0 2 2 +After: [2, 3, 4, 2] + +Before: [0, 2, 3, 3] +7 2 1 0 +After: [2, 2, 3, 3] + +Before: [1, 0, 2, 3] +12 3 1 0 +After: [3, 0, 2, 3] + +Before: [2, 3, 2, 3] +5 2 1 0 +After: [3, 3, 2, 3] + +Before: [1, 3, 0, 3] +9 0 1 2 +After: [1, 3, 1, 3] + +Before: [0, 1, 2, 2] +12 2 2 0 +After: [2, 1, 2, 2] + +Before: [1, 1, 2, 3] +12 3 1 2 +After: [1, 1, 3, 3] + +Before: [0, 2, 0, 1] +9 3 1 2 +After: [0, 2, 1, 1] + +Before: [3, 1, 1, 2] +2 3 1 1 +After: [3, 3, 1, 2] + +Before: [3, 3, 2, 1] +3 3 1 0 +After: [1, 3, 2, 1] + +Before: [3, 0, 3, 0] +6 1 2 1 +After: [3, 2, 3, 0] + +Before: [3, 1, 0, 1] +8 1 2 0 +After: [2, 1, 0, 1] + +Before: [3, 1, 1, 0] +14 3 1 2 +After: [3, 1, 1, 0] + +Before: [0, 0, 2, 0] +13 3 2 3 +After: [0, 0, 2, 2] + +Before: [1, 0, 2, 1] +11 3 1 2 +After: [1, 0, 1, 1] + +Before: [0, 1, 3, 0] +14 3 1 1 +After: [0, 1, 3, 0] + +Before: [0, 1, 0, 2] +13 0 1 2 +After: [0, 1, 1, 2] + +Before: [3, 3, 1, 1] +3 3 1 3 +After: [3, 3, 1, 1] + +Before: [3, 1, 0, 2] +6 1 2 0 +After: [3, 1, 0, 2] + +Before: [0, 0, 1, 2] +11 2 1 0 +After: [1, 0, 1, 2] + +Before: [3, 1, 3, 0] +14 3 1 2 +After: [3, 1, 1, 0] + +Before: [2, 3, 3, 0] +5 0 1 3 +After: [2, 3, 3, 3] + +Before: [1, 1, 0, 0] +6 1 3 3 +After: [1, 1, 0, 3] + +Before: [0, 2, 0, 1] +6 2 3 1 +After: [0, 3, 0, 1] + +Before: [3, 2, 3, 0] +0 2 2 1 +After: [3, 2, 3, 0] + +Before: [3, 0, 2, 0] +0 0 2 3 +After: [3, 0, 2, 2] + +Before: [0, 3, 1, 3] +4 0 2 3 +After: [0, 3, 1, 0] + +Before: [0, 0, 3, 2] +4 0 3 2 +After: [0, 0, 0, 2] + +Before: [1, 3, 2, 1] +13 0 2 2 +After: [1, 3, 3, 1] + +Before: [3, 3, 1, 3] +10 2 3 0 +After: [3, 3, 1, 3] + +Before: [2, 3, 2, 1] +3 3 1 0 +After: [1, 3, 2, 1] + +Before: [2, 2, 3, 1] +7 2 0 1 +After: [2, 2, 3, 1] + +Before: [3, 0, 3, 3] +0 2 2 2 +After: [3, 0, 2, 3] + +Before: [2, 3, 0, 2] +5 0 1 3 +After: [2, 3, 0, 3] + +Before: [3, 1, 1, 1] +8 0 3 3 +After: [3, 1, 1, 9] + +Before: [0, 3, 2, 3] +5 2 1 0 +After: [3, 3, 2, 3] + +Before: [2, 1, 2, 1] +10 2 2 0 +After: [4, 1, 2, 1] + +Before: [1, 3, 3, 1] +3 3 1 1 +After: [1, 1, 3, 1] + +Before: [1, 3, 3, 1] +3 3 1 0 +After: [1, 3, 3, 1] + +Before: [3, 3, 0, 1] +4 2 0 3 +After: [3, 3, 0, 0] + +Before: [1, 0, 2, 1] +11 0 1 1 +After: [1, 1, 2, 1] + +Before: [1, 3, 0, 2] +6 2 3 1 +After: [1, 3, 0, 2] + +Before: [1, 3, 2, 2] +5 2 1 1 +After: [1, 3, 2, 2] + +Before: [1, 1, 2, 3] +13 2 1 0 +After: [3, 1, 2, 3] + +Before: [2, 2, 1, 1] +9 3 1 3 +After: [2, 2, 1, 1] + +Before: [3, 1, 3, 2] +2 3 1 3 +After: [3, 1, 3, 3] + +Before: [2, 3, 0, 1] +3 3 1 0 +After: [1, 3, 0, 1] + +Before: [2, 0, 3, 1] +2 3 2 0 +After: [3, 0, 3, 1] + +Before: [1, 3, 2, 2] +5 2 1 3 +After: [1, 3, 2, 3] + +Before: [2, 3, 0, 3] +12 3 3 0 +After: [3, 3, 0, 3] + +Before: [1, 2, 2, 3] +10 0 3 0 +After: [3, 2, 2, 3] + +Before: [2, 1, 3, 2] +7 2 0 2 +After: [2, 1, 2, 2] + +Before: [2, 2, 1, 0] +6 0 1 2 +After: [2, 2, 3, 0] + +Before: [0, 2, 3, 0] +0 2 2 1 +After: [0, 2, 3, 0] + +Before: [2, 1, 2, 3] +13 0 1 3 +After: [2, 1, 2, 3] + +Before: [0, 2, 3, 3] +13 0 3 2 +After: [0, 2, 3, 3] + +Before: [0, 2, 3, 3] +7 2 1 1 +After: [0, 2, 3, 3] + +Before: [3, 1, 0, 1] +14 2 1 1 +After: [3, 1, 0, 1] + +Before: [2, 2, 3, 1] +8 2 3 2 +After: [2, 2, 9, 1] + +Before: [1, 1, 1, 0] +14 3 1 2 +After: [1, 1, 1, 0] + +Before: [0, 3, 1, 0] +1 0 0 1 +After: [0, 0, 1, 0] + +Before: [3, 3, 2, 0] +12 2 2 2 +After: [3, 3, 2, 0] + +Before: [3, 3, 0, 1] +3 3 1 3 +After: [3, 3, 0, 1] + +Before: [1, 3, 2, 2] +5 2 1 0 +After: [3, 3, 2, 2] + +Before: [1, 1, 1, 0] +14 3 1 0 +After: [1, 1, 1, 0] + +Before: [1, 2, 3, 2] +6 1 1 1 +After: [1, 3, 3, 2] + +Before: [0, 3, 0, 1] +4 0 1 3 +After: [0, 3, 0, 0] + +Before: [0, 0, 2, 1] +1 0 0 3 +After: [0, 0, 2, 0] + +Before: [0, 0, 1, 0] +1 0 0 3 +After: [0, 0, 1, 0] + +Before: [2, 0, 2, 1] +8 0 3 1 +After: [2, 6, 2, 1] + +Before: [2, 1, 0, 0] +8 1 2 3 +After: [2, 1, 0, 2] + +Before: [1, 3, 2, 1] +9 0 1 0 +After: [1, 3, 2, 1] + +Before: [3, 0, 3, 0] +0 2 2 1 +After: [3, 2, 3, 0] + +Before: [3, 0, 0, 1] +4 2 0 0 +After: [0, 0, 0, 1] + +Before: [3, 2, 3, 1] +2 3 2 1 +After: [3, 3, 3, 1] + +Before: [1, 1, 1, 2] +2 3 1 3 +After: [1, 1, 1, 3] + +Before: [1, 0, 1, 0] +11 0 1 1 +After: [1, 1, 1, 0] + +Before: [0, 3, 3, 1] +0 2 2 1 +After: [0, 2, 3, 1] + +Before: [0, 0, 2, 2] +1 0 0 0 +After: [0, 0, 2, 2] + +Before: [0, 0, 2, 3] +10 2 2 0 +After: [4, 0, 2, 3] + +Before: [0, 1, 0, 1] +1 0 0 0 +After: [0, 1, 0, 1] + +Before: [0, 2, 3, 0] +7 2 1 0 +After: [2, 2, 3, 0] + +Before: [3, 1, 3, 2] +8 0 3 3 +After: [3, 1, 3, 9] + +Before: [0, 2, 1, 1] +1 0 0 0 +After: [0, 2, 1, 1] + +Before: [0, 0, 1, 2] +11 2 1 3 +After: [0, 0, 1, 1] + +Before: [2, 3, 2, 2] +5 2 1 0 +After: [3, 3, 2, 2] + +Before: [1, 0, 0, 1] +6 0 2 0 +After: [3, 0, 0, 1] + +Before: [1, 0, 0, 2] +13 0 3 1 +After: [1, 3, 0, 2] + +Before: [3, 3, 1, 2] +9 2 1 1 +After: [3, 1, 1, 2] + +Before: [1, 1, 3, 3] +10 1 3 1 +After: [1, 3, 3, 3] + +Before: [0, 3, 2, 0] +12 2 2 3 +After: [0, 3, 2, 2] + +Before: [0, 1, 2, 0] +6 1 3 2 +After: [0, 1, 3, 0] + +Before: [0, 2, 3, 2] +7 2 1 0 +After: [2, 2, 3, 2] + +Before: [3, 3, 3, 3] +12 3 1 3 +After: [3, 3, 3, 3] + +Before: [1, 3, 3, 1] +8 0 2 0 +After: [2, 3, 3, 1] + +Before: [0, 0, 1, 2] +4 0 2 0 +After: [0, 0, 1, 2] + +Before: [1, 0, 3, 0] +8 0 2 2 +After: [1, 0, 2, 0] + +Before: [2, 0, 1, 0] +11 2 1 2 +After: [2, 0, 1, 0] + +Before: [0, 1, 2, 2] +10 2 2 1 +After: [0, 4, 2, 2] + +Before: [3, 2, 2, 1] +9 3 1 1 +After: [3, 1, 2, 1] + +Before: [2, 2, 2, 0] +6 1 1 0 +After: [3, 2, 2, 0] + +Before: [0, 0, 2, 1] +11 3 1 3 +After: [0, 0, 2, 1] + +Before: [0, 2, 0, 1] +6 0 2 2 +After: [0, 2, 2, 1] + +Before: [1, 1, 1, 3] +10 2 3 0 +After: [3, 1, 1, 3] + +Before: [1, 2, 3, 0] +6 1 1 2 +After: [1, 2, 3, 0] + +Before: [2, 3, 0, 3] +5 0 1 2 +After: [2, 3, 3, 3] + +Before: [3, 2, 3, 1] +7 2 1 3 +After: [3, 2, 3, 2] + +Before: [3, 1, 0, 3] +14 2 1 2 +After: [3, 1, 1, 3] + +Before: [3, 0, 3, 3] +12 3 0 2 +After: [3, 0, 3, 3] + +Before: [0, 2, 1, 3] +6 0 1 2 +After: [0, 2, 1, 3] + +Before: [0, 2, 0, 1] +15 1 2 1 +After: [0, 4, 0, 1] + +Before: [0, 3, 0, 1] +6 0 1 0 +After: [1, 3, 0, 1] + +Before: [0, 0, 2, 3] +0 3 2 3 +After: [0, 0, 2, 2] + +Before: [3, 3, 2, 3] +0 3 2 2 +After: [3, 3, 2, 3] + +Before: [2, 2, 3, 3] +12 3 3 3 +After: [2, 2, 3, 3] + +Before: [3, 1, 3, 2] +10 1 2 1 +After: [3, 3, 3, 2] + +Before: [0, 2, 3, 1] +8 1 3 2 +After: [0, 2, 6, 1] + +Before: [2, 2, 3, 2] +7 2 0 1 +After: [2, 2, 3, 2] + +Before: [2, 1, 0, 2] +14 2 1 3 +After: [2, 1, 0, 1] + +Before: [0, 1, 2, 0] +13 0 1 0 +After: [1, 1, 2, 0] + +Before: [3, 3, 0, 1] +8 0 3 1 +After: [3, 9, 0, 1] + +Before: [0, 1, 3, 2] +2 3 1 1 +After: [0, 3, 3, 2] + +Before: [0, 2, 0, 2] +1 0 0 2 +After: [0, 2, 0, 2] + +Before: [0, 3, 1, 3] +9 2 1 0 +After: [1, 3, 1, 3] + +Before: [1, 2, 2, 1] +10 2 2 2 +After: [1, 2, 4, 1] + +Before: [0, 0, 3, 0] +6 0 3 2 +After: [0, 0, 3, 0] + +Before: [2, 0, 2, 3] +12 2 2 0 +After: [2, 0, 2, 3] + +Before: [2, 3, 3, 1] +5 0 1 2 +After: [2, 3, 3, 1] + +Before: [2, 3, 3, 3] +5 0 1 1 +After: [2, 3, 3, 3] + +Before: [0, 0, 0, 2] +1 0 0 0 +After: [0, 0, 0, 2] + +Before: [0, 1, 1, 1] +4 0 3 3 +After: [0, 1, 1, 0] + +Before: [3, 2, 1, 2] +15 3 2 1 +After: [3, 4, 1, 2] + +Before: [0, 2, 3, 1] +7 2 1 1 +After: [0, 2, 3, 1] + +Before: [3, 2, 1, 3] +6 2 2 3 +After: [3, 2, 1, 3] + +Before: [3, 2, 2, 1] +9 3 1 2 +After: [3, 2, 1, 1] + +Before: [2, 3, 0, 2] +8 1 2 2 +After: [2, 3, 6, 2] + +Before: [1, 0, 1, 1] +11 3 1 0 +After: [1, 0, 1, 1] + +Before: [1, 3, 0, 1] +3 3 1 2 +After: [1, 3, 1, 1] + +Before: [3, 3, 3, 2] +7 2 3 2 +After: [3, 3, 2, 2] + +Before: [1, 1, 0, 0] +14 2 1 0 +After: [1, 1, 0, 0] + +Before: [2, 3, 3, 2] +15 0 2 1 +After: [2, 4, 3, 2] + +Before: [2, 3, 2, 3] +10 0 2 0 +After: [4, 3, 2, 3] + +Before: [1, 0, 0, 3] +12 3 1 3 +After: [1, 0, 0, 3] + +Before: [2, 1, 2, 2] +2 3 1 2 +After: [2, 1, 3, 2] + +Before: [1, 1, 3, 2] +2 3 1 3 +After: [1, 1, 3, 3] + +Before: [3, 0, 1, 1] +6 2 3 0 +After: [3, 0, 1, 1] + +Before: [0, 2, 3, 2] +4 0 3 1 +After: [0, 0, 3, 2] + +Before: [3, 3, 3, 2] +0 2 2 1 +After: [3, 2, 3, 2] + +Before: [2, 0, 3, 1] +0 2 2 1 +After: [2, 2, 3, 1] + +Before: [3, 1, 1, 1] +6 2 2 3 +After: [3, 1, 1, 3] + +Before: [0, 0, 1, 0] +11 2 1 3 +After: [0, 0, 1, 1] + +Before: [2, 0, 2, 0] +8 2 3 3 +After: [2, 0, 2, 6] + +Before: [1, 0, 1, 1] +11 2 1 1 +After: [1, 1, 1, 1] + +Before: [0, 2, 3, 3] +4 0 1 3 +After: [0, 2, 3, 0] + +Before: [0, 1, 0, 2] +2 3 1 3 +After: [0, 1, 0, 3] + +Before: [0, 1, 0, 3] +4 0 1 0 +After: [0, 1, 0, 3] + +Before: [2, 1, 0, 3] +14 2 1 0 +After: [1, 1, 0, 3] + +Before: [2, 3, 3, 3] +5 0 1 0 +After: [3, 3, 3, 3] + +Before: [0, 0, 1, 3] +1 0 0 3 +After: [0, 0, 1, 0] + +Before: [0, 1, 2, 0] +4 0 2 3 +After: [0, 1, 2, 0] + +Before: [0, 0, 3, 2] +7 2 3 1 +After: [0, 2, 3, 2] + +Before: [2, 3, 2, 1] +3 3 1 3 +After: [2, 3, 2, 1] + +Before: [0, 1, 3, 3] +12 3 0 2 +After: [0, 1, 3, 3] + +Before: [0, 3, 2, 3] +0 3 2 3 +After: [0, 3, 2, 2] + +Before: [3, 3, 1, 0] +8 1 3 2 +After: [3, 3, 9, 0] + +Before: [0, 2, 3, 3] +4 0 2 2 +After: [0, 2, 0, 3] + +Before: [0, 3, 2, 2] +0 1 2 1 +After: [0, 2, 2, 2] + +Before: [0, 0, 2, 2] +12 2 2 0 +After: [2, 0, 2, 2] + +Before: [1, 3, 0, 1] +3 3 1 0 +After: [1, 3, 0, 1] + +Before: [0, 0, 2, 2] +13 1 2 0 +After: [2, 0, 2, 2] + +Before: [1, 0, 0, 0] +6 0 3 0 +After: [3, 0, 0, 0] + +Before: [1, 2, 3, 3] +7 2 1 0 +After: [2, 2, 3, 3] + +Before: [1, 3, 3, 2] +7 2 3 3 +After: [1, 3, 3, 2] + +Before: [0, 2, 3, 3] +7 2 1 3 +After: [0, 2, 3, 2] + +Before: [0, 1, 1, 2] +1 0 0 1 +After: [0, 0, 1, 2] + +Before: [0, 1, 0, 3] +1 0 0 0 +After: [0, 1, 0, 3] + +Before: [3, 0, 1, 0] +11 2 1 2 +After: [3, 0, 1, 0] + +Before: [2, 3, 0, 3] +5 0 1 1 +After: [2, 3, 0, 3] + +Before: [1, 3, 2, 1] +8 1 3 0 +After: [9, 3, 2, 1] + +Before: [0, 1, 0, 3] +4 0 1 3 +After: [0, 1, 0, 0] + +Before: [1, 0, 2, 1] +2 3 2 3 +After: [1, 0, 2, 3] + +Before: [2, 0, 2, 3] +10 2 2 2 +After: [2, 0, 4, 3] + +Before: [2, 3, 1, 1] +3 3 1 0 +After: [1, 3, 1, 1] + +Before: [2, 2, 0, 2] +6 1 1 1 +After: [2, 3, 0, 2] + +Before: [3, 2, 2, 2] +0 0 2 1 +After: [3, 2, 2, 2] + +Before: [1, 1, 2, 3] +0 3 2 2 +After: [1, 1, 2, 3] + +Before: [1, 1, 2, 1] +2 3 2 1 +After: [1, 3, 2, 1] + +Before: [3, 0, 1, 3] +11 2 1 2 +After: [3, 0, 1, 3] + +Before: [2, 3, 1, 3] +12 3 3 0 +After: [3, 3, 1, 3] + +Before: [0, 2, 2, 1] +10 2 2 2 +After: [0, 2, 4, 1] + +Before: [2, 2, 2, 1] +10 2 2 0 +After: [4, 2, 2, 1] + +Before: [1, 0, 1, 2] +11 0 1 0 +After: [1, 0, 1, 2] + +Before: [1, 0, 0, 2] +11 0 1 2 +After: [1, 0, 1, 2] + +Before: [2, 1, 3, 2] +7 2 3 2 +After: [2, 1, 2, 2] + +Before: [1, 3, 1, 3] +9 2 1 2 +After: [1, 3, 1, 3] + +Before: [1, 0, 3, 3] +10 0 2 2 +After: [1, 0, 3, 3] + +Before: [0, 3, 3, 0] +8 2 3 0 +After: [9, 3, 3, 0] + +Before: [1, 3, 2, 1] +5 2 1 0 +After: [3, 3, 2, 1] + +Before: [1, 2, 0, 0] +15 1 2 3 +After: [1, 2, 0, 4] + +Before: [3, 2, 3, 1] +6 1 1 3 +After: [3, 2, 3, 3] + +Before: [2, 3, 3, 1] +3 3 1 2 +After: [2, 3, 1, 1] + +Before: [3, 0, 1, 1] +11 2 1 2 +After: [3, 0, 1, 1] + +Before: [3, 0, 2, 1] +11 3 1 0 +After: [1, 0, 2, 1] + +Before: [2, 3, 1, 1] +3 3 1 3 +After: [2, 3, 1, 1] + +Before: [3, 3, 0, 0] +8 1 3 2 +After: [3, 3, 9, 0] + +Before: [2, 2, 0, 2] +15 3 2 2 +After: [2, 2, 4, 2] + +Before: [0, 2, 0, 0] +6 3 2 3 +After: [0, 2, 0, 2] + +Before: [1, 3, 3, 1] +9 0 1 3 +After: [1, 3, 3, 1] + +Before: [2, 1, 3, 1] +6 1 3 3 +After: [2, 1, 3, 3] + +Before: [0, 2, 3, 3] +1 0 0 3 +After: [0, 2, 3, 0] + +Before: [2, 3, 3, 2] +5 0 1 0 +After: [3, 3, 3, 2] + +Before: [3, 3, 2, 0] +5 2 1 3 +After: [3, 3, 2, 3] + +Before: [3, 0, 3, 1] +11 3 1 1 +After: [3, 1, 3, 1] + +Before: [0, 2, 1, 1] +4 0 1 2 +After: [0, 2, 0, 1] + +Before: [3, 3, 2, 2] +5 2 1 3 +After: [3, 3, 2, 3] + +Before: [1, 0, 3, 3] +10 0 2 3 +After: [1, 0, 3, 3] + +Before: [3, 2, 2, 2] +10 1 2 1 +After: [3, 4, 2, 2] + +Before: [2, 2, 3, 1] +7 2 0 2 +After: [2, 2, 2, 1] + +Before: [2, 3, 1, 3] +12 3 1 2 +After: [2, 3, 3, 3] + +Before: [2, 3, 1, 0] +5 0 1 1 +After: [2, 3, 1, 0] + +Before: [0, 3, 1, 1] +9 2 1 0 +After: [1, 3, 1, 1] + +Before: [1, 1, 3, 0] +14 3 1 3 +After: [1, 1, 3, 1] + +Before: [3, 3, 2, 0] +5 2 1 0 +After: [3, 3, 2, 0] + +Before: [1, 0, 3, 2] +8 2 3 1 +After: [1, 9, 3, 2] + +Before: [0, 1, 2, 3] +4 0 2 0 +After: [0, 1, 2, 3] + +Before: [0, 3, 3, 2] +0 2 2 3 +After: [0, 3, 3, 2] + +Before: [2, 3, 3, 3] +7 2 0 2 +After: [2, 3, 2, 3] + +Before: [1, 2, 0, 1] +15 1 2 3 +After: [1, 2, 0, 4] + +Before: [2, 1, 1, 2] +15 3 2 0 +After: [4, 1, 1, 2] + +Before: [2, 0, 3, 3] +13 1 3 1 +After: [2, 3, 3, 3] + +Before: [2, 3, 2, 0] +12 2 0 3 +After: [2, 3, 2, 2] + +Before: [1, 1, 3, 1] +2 3 2 2 +After: [1, 1, 3, 1] + +Before: [1, 3, 3, 2] +7 2 3 2 +After: [1, 3, 2, 2] + +Before: [1, 2, 2, 0] +13 3 2 0 +After: [2, 2, 2, 0] + +Before: [0, 1, 1, 0] +1 0 0 3 +After: [0, 1, 1, 0] + +Before: [0, 0, 0, 1] +11 3 1 2 +After: [0, 0, 1, 1] + +Before: [0, 0, 3, 1] +11 3 1 1 +After: [0, 1, 3, 1] + +Before: [3, 1, 2, 0] +14 3 1 2 +After: [3, 1, 1, 0] + +Before: [1, 3, 2, 3] +0 1 2 0 +After: [2, 3, 2, 3] + +Before: [3, 3, 1, 0] +9 2 1 3 +After: [3, 3, 1, 1] + +Before: [2, 3, 1, 2] +5 0 1 3 +After: [2, 3, 1, 3] + +Before: [2, 3, 2, 2] +10 2 2 0 +After: [4, 3, 2, 2] + +Before: [0, 0, 2, 2] +1 0 0 1 +After: [0, 0, 2, 2] + +Before: [3, 1, 3, 2] +7 2 3 0 +After: [2, 1, 3, 2] + +Before: [0, 3, 2, 1] +4 0 3 2 +After: [0, 3, 0, 1] + +Before: [3, 0, 1, 1] +11 3 1 1 +After: [3, 1, 1, 1] + +Before: [3, 1, 1, 2] +15 3 2 1 +After: [3, 4, 1, 2] + +Before: [3, 2, 1, 2] +8 0 3 0 +After: [9, 2, 1, 2] + +Before: [0, 1, 1, 2] +15 3 2 0 +After: [4, 1, 1, 2] + +Before: [0, 3, 2, 1] +3 3 1 1 +After: [0, 1, 2, 1] + +Before: [1, 1, 2, 2] +2 3 1 2 +After: [1, 1, 3, 2] + +Before: [3, 2, 1, 0] +8 0 3 0 +After: [9, 2, 1, 0] + +Before: [1, 0, 0, 0] +11 0 1 2 +After: [1, 0, 1, 0] + +Before: [2, 2, 3, 3] +7 2 1 1 +After: [2, 2, 3, 3] + +Before: [0, 1, 0, 3] +12 3 1 3 +After: [0, 1, 0, 3] + +Before: [3, 1, 3, 3] +0 2 2 1 +After: [3, 2, 3, 3] + +Before: [3, 2, 0, 0] +15 1 2 0 +After: [4, 2, 0, 0] + +Before: [0, 3, 3, 3] +12 3 0 0 +After: [3, 3, 3, 3] + +Before: [0, 2, 2, 3] +10 2 2 1 +After: [0, 4, 2, 3] + +Before: [0, 1, 1, 1] +1 0 0 3 +After: [0, 1, 1, 0] + +Before: [0, 1, 0, 2] +1 0 0 3 +After: [0, 1, 0, 0] + +Before: [1, 1, 2, 1] +2 3 2 3 +After: [1, 1, 2, 3] + +Before: [2, 1, 2, 1] +2 3 2 0 +After: [3, 1, 2, 1] + +Before: [0, 0, 1, 2] +1 0 0 1 +After: [0, 0, 1, 2] + +Before: [1, 2, 1, 3] +12 3 0 3 +After: [1, 2, 1, 3] + +Before: [2, 2, 1, 0] +15 1 2 0 +After: [4, 2, 1, 0] + +Before: [2, 2, 1, 2] +13 2 3 2 +After: [2, 2, 3, 2] + +Before: [1, 0, 1, 2] +11 2 1 0 +After: [1, 0, 1, 2] + +Before: [2, 3, 1, 2] +15 3 2 1 +After: [2, 4, 1, 2] + +Before: [1, 3, 2, 1] +3 3 1 2 +After: [1, 3, 1, 1] + +Before: [3, 2, 0, 3] +12 3 3 1 +After: [3, 3, 0, 3] + +Before: [3, 1, 0, 3] +14 2 1 3 +After: [3, 1, 0, 1] + +Before: [3, 2, 1, 2] +8 3 3 1 +After: [3, 6, 1, 2] + +Before: [1, 3, 2, 3] +0 1 2 2 +After: [1, 3, 2, 3] + +Before: [0, 2, 3, 2] +7 2 3 0 +After: [2, 2, 3, 2] + +Before: [1, 0, 1, 2] +11 0 1 2 +After: [1, 0, 1, 2] + +Before: [2, 1, 2, 0] +13 0 1 2 +After: [2, 1, 3, 0] + +Before: [0, 0, 2, 1] +8 2 3 1 +After: [0, 6, 2, 1] + +Before: [3, 0, 2, 3] +13 1 2 1 +After: [3, 2, 2, 3] + +Before: [2, 1, 3, 0] +14 3 1 0 +After: [1, 1, 3, 0] + +Before: [0, 3, 1, 1] +3 3 1 0 +After: [1, 3, 1, 1] + +Before: [0, 3, 2, 3] +4 0 2 0 +After: [0, 3, 2, 3] + +Before: [1, 2, 2, 1] +8 1 3 3 +After: [1, 2, 2, 6] + +Before: [3, 0, 1, 2] +4 1 0 2 +After: [3, 0, 0, 2] + +Before: [2, 3, 3, 1] +2 3 2 3 +After: [2, 3, 3, 3] + +Before: [1, 1, 1, 0] +6 0 2 3 +After: [1, 1, 1, 3] + +Before: [0, 1, 1, 2] +2 3 1 2 +After: [0, 1, 3, 2] + +Before: [2, 3, 0, 3] +8 3 2 1 +After: [2, 6, 0, 3] + +Before: [2, 3, 3, 0] +7 2 0 0 +After: [2, 3, 3, 0] + +Before: [1, 1, 1, 3] +10 2 3 1 +After: [1, 3, 1, 3] + +Before: [2, 0, 3, 0] +0 2 2 2 +After: [2, 0, 2, 0] + +Before: [2, 1, 2, 0] +13 1 2 1 +After: [2, 3, 2, 0] + +Before: [0, 1, 0, 3] +13 0 3 2 +After: [0, 1, 3, 3] + +Before: [0, 2, 3, 0] +4 0 2 1 +After: [0, 0, 3, 0] + +Before: [0, 2, 1, 1] +9 3 1 3 +After: [0, 2, 1, 1] + +Before: [3, 1, 3, 2] +7 2 3 2 +After: [3, 1, 2, 2] + +Before: [0, 3, 2, 2] +1 0 0 2 +After: [0, 3, 0, 2] + +Before: [3, 1, 2, 2] +10 3 2 0 +After: [4, 1, 2, 2] + +Before: [2, 3, 0, 1] +3 3 1 1 +After: [2, 1, 0, 1] + +Before: [1, 0, 3, 1] +2 3 2 0 +After: [3, 0, 3, 1] + +Before: [2, 1, 1, 2] +15 3 2 2 +After: [2, 1, 4, 2] + +Before: [1, 3, 2, 2] +5 2 1 2 +After: [1, 3, 3, 2] + +Before: [0, 3, 2, 3] +5 2 1 1 +After: [0, 3, 2, 3] + +Before: [0, 1, 0, 2] +6 2 3 3 +After: [0, 1, 0, 3] + +Before: [2, 3, 0, 1] +3 3 1 3 +After: [2, 3, 0, 1] + +Before: [0, 1, 1, 0] +14 3 1 1 +After: [0, 1, 1, 0] + +Before: [2, 1, 3, 0] +7 2 0 0 +After: [2, 1, 3, 0] + +Before: [2, 3, 1, 3] +5 0 1 2 +After: [2, 3, 3, 3] + +Before: [1, 3, 2, 1] +5 2 1 2 +After: [1, 3, 3, 1] + +Before: [0, 1, 0, 2] +4 0 1 3 +After: [0, 1, 0, 0] + +Before: [2, 3, 3, 3] +0 2 2 3 +After: [2, 3, 3, 2] + +Before: [1, 3, 2, 3] +10 0 3 2 +After: [1, 3, 3, 3] + +Before: [2, 0, 2, 3] +4 1 0 2 +After: [2, 0, 0, 3] + +Before: [2, 0, 1, 3] +11 2 1 3 +After: [2, 0, 1, 1] + +Before: [3, 1, 1, 3] +12 3 3 0 +After: [3, 1, 1, 3] + +Before: [3, 3, 1, 1] +3 3 1 1 +After: [3, 1, 1, 1] + +Before: [1, 2, 1, 2] +15 1 2 2 +After: [1, 2, 4, 2] + +Before: [1, 3, 1, 1] +8 1 2 2 +After: [1, 3, 6, 1] + +Before: [3, 1, 1, 3] +12 3 0 0 +After: [3, 1, 1, 3] + +Before: [3, 1, 0, 2] +14 2 1 1 +After: [3, 1, 0, 2] + +Before: [1, 0, 2, 2] +11 0 1 3 +After: [1, 0, 2, 1] + +Before: [1, 1, 2, 2] +2 3 1 3 +After: [1, 1, 2, 3] + +Before: [0, 1, 2, 3] +13 0 1 0 +After: [1, 1, 2, 3] + +Before: [2, 0, 2, 1] +10 0 2 1 +After: [2, 4, 2, 1] + +Before: [2, 3, 1, 3] +5 0 1 1 +After: [2, 3, 1, 3] + +Before: [3, 2, 2, 1] +9 3 1 0 +After: [1, 2, 2, 1] + +Before: [1, 2, 3, 2] +15 1 2 3 +After: [1, 2, 3, 4] + +Before: [3, 2, 1, 3] +15 1 2 3 +After: [3, 2, 1, 4] + +Before: [3, 2, 0, 0] +8 1 3 1 +After: [3, 6, 0, 0] + +Before: [2, 1, 3, 1] +8 3 2 3 +After: [2, 1, 3, 2] + +Before: [0, 3, 1, 3] +9 2 1 3 +After: [0, 3, 1, 1] + +Before: [1, 3, 0, 1] +9 0 1 1 +After: [1, 1, 0, 1] + +Before: [3, 1, 2, 2] +2 3 1 1 +After: [3, 3, 2, 2] + +Before: [0, 0, 2, 3] +0 3 2 2 +After: [0, 0, 2, 3] + +Before: [2, 3, 1, 1] +9 2 1 0 +After: [1, 3, 1, 1] + +Before: [2, 1, 0, 0] +13 0 1 3 +After: [2, 1, 0, 3] + +Before: [3, 3, 2, 2] +5 2 1 1 +After: [3, 3, 2, 2] + +Before: [1, 2, 3, 3] +7 2 1 1 +After: [1, 2, 3, 3] + +Before: [0, 3, 1, 3] +12 3 0 2 +After: [0, 3, 3, 3] + +Before: [3, 2, 3, 2] +7 2 1 2 +After: [3, 2, 2, 2] + +Before: [0, 1, 3, 3] +12 3 0 1 +After: [0, 3, 3, 3] + +Before: [1, 1, 0, 2] +2 3 1 1 +After: [1, 3, 0, 2] + +Before: [2, 3, 2, 0] +10 0 2 0 +After: [4, 3, 2, 0] + +Before: [2, 2, 2, 1] +6 1 1 3 +After: [2, 2, 2, 3] + +Before: [3, 3, 2, 0] +0 0 2 0 +After: [2, 3, 2, 0] + +Before: [0, 0, 3, 0] +1 0 0 3 +After: [0, 0, 3, 0] + +Before: [2, 1, 2, 1] +12 2 0 0 +After: [2, 1, 2, 1] + +Before: [0, 2, 3, 1] +1 0 0 2 +After: [0, 2, 0, 1] + +Before: [1, 3, 2, 1] +3 3 1 3 +After: [1, 3, 2, 1] + +Before: [0, 1, 2, 3] +1 0 0 0 +After: [0, 1, 2, 3] + +Before: [0, 1, 3, 0] +14 3 1 3 +After: [0, 1, 3, 1] + +Before: [3, 0, 0, 3] +8 3 2 2 +After: [3, 0, 6, 3] + +Before: [2, 0, 1, 1] +11 3 1 1 +After: [2, 1, 1, 1] + +Before: [3, 2, 3, 0] +7 2 1 2 +After: [3, 2, 2, 0] + +Before: [0, 0, 1, 2] +11 2 1 2 +After: [0, 0, 1, 2] + +Before: [3, 2, 3, 3] +7 2 1 0 +After: [2, 2, 3, 3] + +Before: [3, 1, 2, 0] +8 2 3 3 +After: [3, 1, 2, 6] + +Before: [1, 1, 0, 3] +14 2 1 2 +After: [1, 1, 1, 3] + +Before: [0, 1, 3, 1] +2 3 2 3 +After: [0, 1, 3, 3] + +Before: [3, 0, 2, 1] +11 3 1 3 +After: [3, 0, 2, 1] + +Before: [1, 1, 2, 2] +12 2 2 1 +After: [1, 2, 2, 2] + +Before: [1, 0, 2, 0] +6 0 3 0 +After: [3, 0, 2, 0] + +Before: [1, 3, 3, 3] +10 0 3 0 +After: [3, 3, 3, 3] + +Before: [0, 1, 0, 2] +1 0 0 0 +After: [0, 1, 0, 2] + +Before: [2, 2, 3, 3] +0 2 2 3 +After: [2, 2, 3, 2] + +Before: [3, 2, 3, 3] +7 2 1 3 +After: [3, 2, 3, 2] + +Before: [3, 3, 2, 1] +5 2 1 1 +After: [3, 3, 2, 1] + +Before: [2, 0, 0, 2] +6 1 2 1 +After: [2, 2, 0, 2] + +Before: [2, 1, 0, 2] +15 3 2 0 +After: [4, 1, 0, 2] + +Before: [1, 0, 3, 2] +6 1 3 2 +After: [1, 0, 3, 2] + +Before: [2, 0, 2, 0] +13 3 2 0 +After: [2, 0, 2, 0] + +Before: [1, 3, 2, 1] +3 3 1 0 +After: [1, 3, 2, 1] + +Before: [1, 2, 0, 1] +9 3 1 3 +After: [1, 2, 0, 1] + +Before: [1, 0, 3, 2] +11 0 1 3 +After: [1, 0, 3, 1] + +Before: [2, 1, 0, 0] +13 0 1 0 +After: [3, 1, 0, 0] + +Before: [0, 1, 2, 1] +2 3 2 2 +After: [0, 1, 3, 1] + +Before: [2, 1, 2, 2] +13 2 1 3 +After: [2, 1, 2, 3] + +Before: [3, 3, 0, 0] +8 0 3 2 +After: [3, 3, 9, 0] + +Before: [2, 1, 2, 3] +12 2 2 1 +After: [2, 2, 2, 3] + +Before: [0, 0, 1, 1] +11 3 1 2 +After: [0, 0, 1, 1] + +Before: [1, 2, 0, 2] +6 0 2 1 +After: [1, 3, 0, 2] + +Before: [1, 3, 3, 3] +12 3 1 2 +After: [1, 3, 3, 3] + +Before: [3, 0, 2, 1] +11 3 1 1 +After: [3, 1, 2, 1] + +Before: [2, 3, 3, 1] +7 2 0 1 +After: [2, 2, 3, 1] + +Before: [2, 0, 2, 0] +4 1 0 0 +After: [0, 0, 2, 0] + +Before: [0, 3, 3, 1] +2 3 2 2 +After: [0, 3, 3, 1] + +Before: [3, 3, 2, 1] +3 3 1 1 +After: [3, 1, 2, 1] + +Before: [3, 0, 2, 0] +8 2 3 3 +After: [3, 0, 2, 6] + +Before: [2, 1, 2, 1] +2 3 2 3 +After: [2, 1, 2, 3] + +Before: [3, 1, 1, 2] +15 3 2 3 +After: [3, 1, 1, 4] + +Before: [0, 1, 2, 2] +2 3 1 0 +After: [3, 1, 2, 2] + +Before: [0, 3, 0, 3] +4 0 3 0 +After: [0, 3, 0, 3] + +Before: [2, 0, 0, 3] +4 1 0 2 +After: [2, 0, 0, 3] + +Before: [2, 3, 1, 2] +5 0 1 2 +After: [2, 3, 3, 2] + +Before: [3, 3, 2, 1] +0 0 2 2 +After: [3, 3, 2, 1] + +Before: [1, 1, 2, 2] +10 2 2 2 +After: [1, 1, 4, 2] + +Before: [3, 1, 1, 2] +13 1 3 3 +After: [3, 1, 1, 3] + +Before: [1, 2, 2, 1] +9 3 1 2 +After: [1, 2, 1, 1] + +Before: [3, 0, 1, 2] +11 2 1 1 +After: [3, 1, 1, 2] + +Before: [1, 2, 0, 2] +8 0 2 0 +After: [2, 2, 0, 2] + +Before: [2, 2, 3, 2] +15 1 2 0 +After: [4, 2, 3, 2] + +Before: [2, 3, 3, 0] +0 2 2 1 +After: [2, 2, 3, 0] + +Before: [0, 2, 3, 1] +2 3 2 1 +After: [0, 3, 3, 1] + +Before: [2, 3, 3, 1] +5 0 1 3 +After: [2, 3, 3, 3] + +Before: [0, 3, 2, 1] +1 0 0 3 +After: [0, 3, 2, 0] + +Before: [3, 2, 2, 3] +0 3 2 1 +After: [3, 2, 2, 3] + +Before: [1, 2, 2, 1] +9 3 1 0 +After: [1, 2, 2, 1] + +Before: [3, 3, 3, 0] +8 2 3 1 +After: [3, 9, 3, 0] + +Before: [2, 3, 3, 1] +3 3 1 3 +After: [2, 3, 3, 1] + +Before: [0, 2, 3, 1] +2 3 2 0 +After: [3, 2, 3, 1] + +Before: [2, 0, 0, 3] +13 2 3 1 +After: [2, 3, 0, 3] + +Before: [0, 0, 2, 1] +13 1 2 1 +After: [0, 2, 2, 1] + +Before: [2, 2, 3, 3] +7 2 0 0 +After: [2, 2, 3, 3] + +Before: [1, 0, 2, 3] +11 0 1 1 +After: [1, 1, 2, 3] + +Before: [0, 0, 1, 2] +15 3 2 0 +After: [4, 0, 1, 2] + +Before: [3, 3, 3, 2] +7 2 3 3 +After: [3, 3, 3, 2] + +Before: [1, 2, 3, 1] +9 3 1 1 +After: [1, 1, 3, 1] + +Before: [1, 3, 1, 1] +3 3 1 0 +After: [1, 3, 1, 1] + +Before: [0, 2, 3, 2] +7 2 1 3 +After: [0, 2, 3, 2] + +Before: [0, 3, 3, 2] +1 0 0 3 +After: [0, 3, 3, 0] + +Before: [0, 0, 3, 3] +6 0 2 1 +After: [0, 2, 3, 3] + +Before: [0, 0, 2, 2] +12 2 2 2 +After: [0, 0, 2, 2] + +Before: [0, 0, 0, 3] +1 0 0 0 +After: [0, 0, 0, 3] + +Before: [0, 2, 0, 3] +1 0 0 0 +After: [0, 2, 0, 3] + +Before: [0, 2, 2, 1] +4 0 3 3 +After: [0, 2, 2, 0] + +Before: [2, 0, 1, 2] +11 2 1 2 +After: [2, 0, 1, 2] + +Before: [3, 1, 2, 1] +13 1 2 0 +After: [3, 1, 2, 1] + +Before: [2, 2, 1, 0] +8 0 3 2 +After: [2, 2, 6, 0] + +Before: [0, 3, 1, 1] +3 3 1 3 +After: [0, 3, 1, 1] + +Before: [2, 1, 3, 3] +0 2 2 1 +After: [2, 2, 3, 3] + +Before: [0, 2, 1, 3] +15 1 2 2 +After: [0, 2, 4, 3] + +Before: [3, 0, 1, 2] +11 2 1 3 +After: [3, 0, 1, 1] + +Before: [2, 3, 1, 1] +5 0 1 3 +After: [2, 3, 1, 3] + +Before: [2, 3, 1, 0] +5 0 1 3 +After: [2, 3, 1, 3] + +Before: [3, 3, 3, 2] +8 0 3 2 +After: [3, 3, 9, 2] + +Before: [1, 3, 1, 1] +9 2 1 1 +After: [1, 1, 1, 1] + +Before: [2, 1, 1, 2] +13 0 1 2 +After: [2, 1, 3, 2] + +Before: [0, 3, 2, 1] +1 0 0 1 +After: [0, 0, 2, 1] + +Before: [0, 3, 2, 1] +5 2 1 1 +After: [0, 3, 2, 1] + +Before: [2, 0, 0, 2] +15 0 2 0 +After: [4, 0, 0, 2] + +Before: [1, 1, 0, 0] +14 3 1 3 +After: [1, 1, 0, 1] + +Before: [0, 1, 3, 3] +12 3 3 3 +After: [0, 1, 3, 3] + +Before: [0, 2, 3, 0] +4 0 2 2 +After: [0, 2, 0, 0] + +Before: [0, 2, 1, 1] +1 0 0 2 +After: [0, 2, 0, 1] + +Before: [1, 3, 2, 0] +5 2 1 0 +After: [3, 3, 2, 0] + +Before: [3, 3, 2, 2] +0 1 2 3 +After: [3, 3, 2, 2] + +Before: [3, 1, 0, 0] +14 3 1 3 +After: [3, 1, 0, 1] + +Before: [3, 3, 2, 0] +5 2 1 1 +After: [3, 3, 2, 0] + +Before: [0, 0, 2, 1] +2 3 2 2 +After: [0, 0, 3, 1] + +Before: [3, 3, 2, 1] +3 3 1 2 +After: [3, 3, 1, 1] + +Before: [2, 3, 0, 2] +5 0 1 2 +After: [2, 3, 3, 2] + +Before: [3, 1, 0, 3] +10 1 3 0 +After: [3, 1, 0, 3] + +Before: [2, 1, 1, 2] +15 0 2 0 +After: [4, 1, 1, 2] + +Before: [1, 1, 3, 3] +10 1 3 2 +After: [1, 1, 3, 3] + +Before: [0, 0, 1, 1] +1 0 0 2 +After: [0, 0, 0, 1] + +Before: [3, 1, 1, 3] +10 2 3 0 +After: [3, 1, 1, 3] + +Before: [1, 3, 2, 1] +8 2 3 2 +After: [1, 3, 6, 1] + +Before: [2, 0, 1, 1] +11 2 1 1 +After: [2, 1, 1, 1] + +Before: [1, 3, 3, 1] +3 3 1 3 +After: [1, 3, 3, 1] + +Before: [2, 1, 3, 3] +12 3 1 2 +After: [2, 1, 3, 3] + +Before: [1, 0, 0, 2] +6 1 3 3 +After: [1, 0, 0, 3] + +Before: [3, 2, 1, 0] +15 1 2 2 +After: [3, 2, 4, 0] + +Before: [0, 3, 0, 2] +1 0 0 3 +After: [0, 3, 0, 0] + +Before: [3, 0, 2, 0] +13 1 2 1 +After: [3, 2, 2, 0] + +Before: [2, 2, 3, 0] +7 2 1 2 +After: [2, 2, 2, 0] + +Before: [0, 0, 1, 3] +1 0 0 2 +After: [0, 0, 0, 3] + +Before: [0, 0, 1, 2] +8 3 3 1 +After: [0, 6, 1, 2] + +Before: [1, 1, 3, 2] +2 3 1 1 +After: [1, 3, 3, 2] + +Before: [3, 2, 2, 2] +8 0 3 1 +After: [3, 9, 2, 2] + +Before: [0, 3, 3, 1] +3 3 1 2 +After: [0, 3, 1, 1] + +Before: [1, 0, 1, 2] +11 2 1 3 +After: [1, 0, 1, 1] + +Before: [1, 2, 2, 0] +13 3 2 2 +After: [1, 2, 2, 0] + +Before: [0, 2, 3, 2] +15 3 2 3 +After: [0, 2, 3, 4] + +Before: [0, 2, 1, 1] +4 0 3 3 +After: [0, 2, 1, 0] + +Before: [1, 1, 3, 3] +10 0 2 3 +After: [1, 1, 3, 3] + +Before: [3, 2, 2, 2] +8 0 3 3 +After: [3, 2, 2, 9] + +Before: [2, 1, 2, 1] +13 1 2 2 +After: [2, 1, 3, 1] + +Before: [1, 2, 3, 2] +7 2 3 3 +After: [1, 2, 3, 2] + +Before: [0, 3, 3, 0] +1 0 0 0 +After: [0, 3, 3, 0] + +Before: [1, 3, 2, 1] +2 3 2 3 +After: [1, 3, 2, 3] + +Before: [0, 1, 3, 3] +0 2 2 2 +After: [0, 1, 2, 3] + +Before: [2, 0, 2, 1] +2 3 2 0 +After: [3, 0, 2, 1] + +Before: [1, 0, 1, 0] +6 3 2 3 +After: [1, 0, 1, 2] + +Before: [3, 1, 1, 2] +2 3 1 3 +After: [3, 1, 1, 3] + +Before: [2, 3, 2, 1] +5 2 1 2 +After: [2, 3, 3, 1] + +Before: [1, 2, 3, 2] +7 2 1 3 +After: [1, 2, 3, 2] + +Before: [2, 3, 2, 0] +5 0 1 1 +After: [2, 3, 2, 0] + +Before: [0, 3, 1, 1] +8 1 3 2 +After: [0, 3, 9, 1] + +Before: [2, 3, 2, 3] +12 3 3 2 +After: [2, 3, 3, 3] + +Before: [1, 3, 1, 1] +9 0 1 1 +After: [1, 1, 1, 1] + +Before: [2, 0, 2, 2] +10 2 2 0 +After: [4, 0, 2, 2] + +Before: [0, 2, 1, 0] +1 0 0 3 +After: [0, 2, 1, 0] + +Before: [0, 0, 2, 3] +4 0 2 0 +After: [0, 0, 2, 3] + +Before: [3, 1, 0, 0] +14 2 1 1 +After: [3, 1, 0, 0] + +Before: [0, 3, 3, 2] +8 3 3 2 +After: [0, 3, 6, 2] + +Before: [2, 3, 2, 1] +3 3 1 1 +After: [2, 1, 2, 1] + +Before: [0, 3, 3, 1] +1 0 0 3 +After: [0, 3, 3, 0] + +Before: [0, 3, 3, 2] +8 2 3 3 +After: [0, 3, 3, 9] + +Before: [1, 3, 2, 3] +9 0 1 2 +After: [1, 3, 1, 3] + +Before: [1, 0, 3, 3] +13 1 3 0 +After: [3, 0, 3, 3] + +Before: [3, 0, 3, 0] +6 1 2 3 +After: [3, 0, 3, 2] + +Before: [0, 0, 0, 3] +12 3 0 2 +After: [0, 0, 3, 3] + +Before: [0, 0, 1, 1] +1 0 0 1 +After: [0, 0, 1, 1] + +Before: [2, 3, 3, 2] +5 0 1 2 +After: [2, 3, 3, 2] + +Before: [0, 3, 3, 3] +1 0 0 3 +After: [0, 3, 3, 0] + +Before: [1, 1, 0, 2] +6 0 2 1 +After: [1, 3, 0, 2] + +Before: [0, 3, 2, 1] +3 3 1 3 +After: [0, 3, 2, 1] + +Before: [1, 0, 3, 1] +11 3 1 0 +After: [1, 0, 3, 1] + +Before: [0, 2, 1, 3] +15 1 2 0 +After: [4, 2, 1, 3] + +Before: [1, 3, 0, 3] +9 0 1 3 +After: [1, 3, 0, 1] + +Before: [2, 0, 3, 2] +15 0 2 1 +After: [2, 4, 3, 2] + +Before: [1, 2, 3, 2] +13 0 3 3 +After: [1, 2, 3, 3] + +Before: [1, 1, 0, 2] +14 2 1 3 +After: [1, 1, 0, 1] + +Before: [0, 1, 2, 1] +2 3 2 3 +After: [0, 1, 2, 3] + +Before: [3, 0, 1, 2] +6 1 3 2 +After: [3, 0, 3, 2] + +Before: [2, 1, 0, 0] +14 2 1 1 +After: [2, 1, 0, 0] + +Before: [2, 3, 1, 2] +5 0 1 1 +After: [2, 3, 1, 2] + +Before: [1, 1, 0, 0] +14 2 1 3 +After: [1, 1, 0, 1] + +Before: [2, 3, 1, 1] +5 0 1 1 +After: [2, 3, 1, 1] + +Before: [0, 0, 1, 0] +6 1 2 1 +After: [0, 2, 1, 0] + +Before: [0, 2, 2, 0] +12 2 2 2 +After: [0, 2, 2, 0] + +Before: [3, 3, 1, 2] +8 0 3 3 +After: [3, 3, 1, 9] + +Before: [3, 1, 0, 0] +14 2 1 3 +After: [3, 1, 0, 1] + +Before: [3, 2, 1, 1] +15 1 2 3 +After: [3, 2, 1, 4] + +Before: [3, 0, 2, 1] +0 0 2 1 +After: [3, 2, 2, 1] + +Before: [0, 3, 3, 0] +4 0 2 1 +After: [0, 0, 3, 0] + +Before: [2, 1, 3, 3] +10 1 2 1 +After: [2, 3, 3, 3] + +Before: [2, 0, 0, 3] +13 2 3 3 +After: [2, 0, 0, 3] + +Before: [2, 3, 1, 1] +8 1 3 2 +After: [2, 3, 9, 1] + +Before: [2, 3, 0, 0] +5 0 1 0 +After: [3, 3, 0, 0] + +Before: [0, 2, 2, 3] +12 2 0 0 +After: [2, 2, 2, 3] + +Before: [1, 3, 0, 1] +3 3 1 3 +After: [1, 3, 0, 1] + +Before: [1, 3, 1, 3] +9 0 1 0 +After: [1, 3, 1, 3] + +Before: [0, 1, 2, 3] +13 1 2 3 +After: [0, 1, 2, 3] + +Before: [0, 0, 0, 2] +1 0 0 2 +After: [0, 0, 0, 2] + +Before: [0, 3, 0, 0] +1 0 0 1 +After: [0, 0, 0, 0] + +Before: [0, 2, 2, 1] +10 2 2 3 +After: [0, 2, 2, 4] + +Before: [0, 2, 1, 1] +9 3 1 0 +After: [1, 2, 1, 1] + +Before: [3, 1, 2, 3] +10 1 3 1 +After: [3, 3, 2, 3] + +Before: [3, 1, 1, 1] +8 0 3 2 +After: [3, 1, 9, 1] + +Before: [1, 3, 2, 3] +12 2 2 1 +After: [1, 2, 2, 3] + +Before: [2, 1, 1, 3] +10 2 3 0 +After: [3, 1, 1, 3] + +Before: [2, 1, 1, 2] +13 2 3 0 +After: [3, 1, 1, 2] + +Before: [1, 0, 2, 3] +0 3 2 0 +After: [2, 0, 2, 3] + +Before: [2, 3, 2, 1] +5 2 1 3 +After: [2, 3, 2, 3] + +Before: [0, 1, 3, 2] +4 0 2 3 +After: [0, 1, 3, 0] + +Before: [0, 3, 3, 3] +4 0 1 0 +After: [0, 3, 3, 3] + +Before: [2, 1, 1, 1] +13 0 1 0 +After: [3, 1, 1, 1] + +Before: [1, 1, 0, 1] +6 0 2 3 +After: [1, 1, 0, 3] + +Before: [0, 3, 2, 3] +4 0 3 0 +After: [0, 3, 2, 3] + +Before: [0, 0, 3, 1] +11 3 1 0 +After: [1, 0, 3, 1] + +Before: [0, 1, 2, 1] +1 0 0 2 +After: [0, 1, 0, 1] + +Before: [0, 3, 2, 1] +2 3 2 3 +After: [0, 3, 2, 3] + +Before: [0, 1, 3, 1] +1 0 0 2 +After: [0, 1, 0, 1] + +Before: [1, 2, 0, 0] +8 1 3 2 +After: [1, 2, 6, 0] + +Before: [2, 1, 2, 2] +10 0 2 1 +After: [2, 4, 2, 2] + +Before: [1, 2, 2, 1] +9 3 1 1 +After: [1, 1, 2, 1] + +Before: [3, 3, 2, 3] +12 3 0 2 +After: [3, 3, 3, 3] + +Before: [3, 3, 0, 1] +3 3 1 0 +After: [1, 3, 0, 1] + +Before: [2, 2, 1, 1] +9 3 1 2 +After: [2, 2, 1, 1] + +Before: [1, 0, 3, 2] +15 3 2 3 +After: [1, 0, 3, 4] + +Before: [2, 0, 0, 1] +11 3 1 3 +After: [2, 0, 0, 1] + +Before: [0, 3, 2, 3] +5 2 1 3 +After: [0, 3, 2, 3] + +Before: [2, 3, 2, 3] +12 2 0 3 +After: [2, 3, 2, 2] + +Before: [1, 3, 3, 3] +9 0 1 2 +After: [1, 3, 1, 3] + +Before: [2, 2, 1, 3] +6 0 1 0 +After: [3, 2, 1, 3] + +Before: [0, 3, 0, 2] +4 0 3 1 +After: [0, 0, 0, 2] + +Before: [1, 0, 2, 2] +10 3 2 1 +After: [1, 4, 2, 2] + +Before: [2, 1, 1, 3] +8 3 2 0 +After: [6, 1, 1, 3] + +Before: [1, 0, 3, 2] +7 2 3 2 +After: [1, 0, 2, 2] + +Before: [1, 2, 2, 3] +12 2 2 1 +After: [1, 2, 2, 3] + +Before: [3, 0, 0, 1] +11 3 1 3 +After: [3, 0, 0, 1] + +Before: [0, 2, 2, 2] +12 2 0 3 +After: [0, 2, 2, 2] + +Before: [2, 1, 0, 0] +14 3 1 0 +After: [1, 1, 0, 0] + +Before: [1, 1, 2, 0] +13 1 2 0 +After: [3, 1, 2, 0] + +Before: [0, 3, 3, 1] +3 3 1 0 +After: [1, 3, 3, 1] + +Before: [3, 3, 2, 2] +5 2 1 0 +After: [3, 3, 2, 2] + +Before: [0, 3, 1, 2] +9 2 1 2 +After: [0, 3, 1, 2] + +Before: [0, 2, 3, 2] +1 0 0 1 +After: [0, 0, 3, 2] + +Before: [2, 3, 2, 0] +8 2 3 1 +After: [2, 6, 2, 0] + +Before: [0, 1, 2, 0] +1 0 0 1 +After: [0, 0, 2, 0] + +Before: [0, 3, 1, 1] +3 3 1 1 +After: [0, 1, 1, 1] + +Before: [3, 0, 3, 1] +2 3 2 0 +After: [3, 0, 3, 1] + +Before: [0, 0, 1, 2] +1 0 0 3 +After: [0, 0, 1, 0] + +Before: [1, 2, 3, 1] +7 2 1 2 +After: [1, 2, 2, 1] + +Before: [1, 1, 0, 1] +8 3 2 1 +After: [1, 2, 0, 1] + +Before: [3, 0, 1, 3] +11 2 1 1 +After: [3, 1, 1, 3] + +Before: [1, 1, 0, 0] +14 3 1 2 +After: [1, 1, 1, 0] + +Before: [1, 3, 2, 2] +8 3 3 3 +After: [1, 3, 2, 6] + +Before: [2, 3, 1, 1] +3 3 1 1 +After: [2, 1, 1, 1] + +Before: [1, 1, 3, 1] +8 0 2 2 +After: [1, 1, 2, 1] + +Before: [0, 3, 3, 3] +4 0 3 3 +After: [0, 3, 3, 0] + +Before: [3, 0, 1, 2] +6 1 3 1 +After: [3, 3, 1, 2] + +Before: [0, 2, 3, 3] +7 2 1 2 +After: [0, 2, 2, 3] + +Before: [2, 0, 3, 2] +7 2 0 3 +After: [2, 0, 3, 2] + +Before: [2, 2, 2, 3] +6 1 1 2 +After: [2, 2, 3, 3] + +Before: [0, 0, 3, 2] +7 2 3 3 +After: [0, 0, 3, 2] + +Before: [2, 1, 3, 1] +2 3 2 3 +After: [2, 1, 3, 3] + +Before: [1, 0, 3, 2] +11 0 1 1 +After: [1, 1, 3, 2] + +Before: [3, 3, 2, 3] +0 0 2 0 +After: [2, 3, 2, 3] + +Before: [3, 2, 2, 1] +2 3 2 1 +After: [3, 3, 2, 1] + +Before: [3, 2, 0, 0] +4 2 0 0 +After: [0, 2, 0, 0] + +Before: [0, 3, 1, 1] +4 0 2 0 +After: [0, 3, 1, 1] + +Before: [1, 3, 3, 2] +8 1 3 1 +After: [1, 9, 3, 2] + +Before: [2, 2, 3, 0] +7 2 0 0 +After: [2, 2, 3, 0] + +Before: [0, 0, 3, 2] +1 0 0 0 +After: [0, 0, 3, 2] + +Before: [2, 2, 0, 2] +8 0 3 3 +After: [2, 2, 0, 6] + +Before: [1, 0, 3, 0] +6 1 3 1 +After: [1, 3, 3, 0] + +Before: [3, 2, 3, 1] +2 3 2 3 +After: [3, 2, 3, 3] + +Before: [2, 1, 3, 0] +14 3 1 2 +After: [2, 1, 1, 0] + +Before: [2, 0, 2, 3] +4 1 0 1 +After: [2, 0, 2, 3] + +Before: [0, 3, 0, 3] +12 3 0 2 +After: [0, 3, 3, 3] + +Before: [1, 0, 2, 3] +12 3 0 3 +After: [1, 0, 2, 3] + +Before: [0, 3, 1, 3] +1 0 0 3 +After: [0, 3, 1, 0] + +Before: [2, 3, 1, 1] +3 3 1 2 +After: [2, 3, 1, 1] + +Before: [1, 1, 3, 3] +10 1 3 0 +After: [3, 1, 3, 3] + +Before: [2, 2, 2, 0] +10 1 2 0 +After: [4, 2, 2, 0] + +Before: [0, 0, 0, 2] +6 1 2 2 +After: [0, 0, 2, 2] + +Before: [1, 1, 3, 2] +2 3 1 0 +After: [3, 1, 3, 2] + +Before: [2, 2, 1, 2] +13 2 3 3 +After: [2, 2, 1, 3] + +Before: [3, 1, 0, 3] +10 1 3 2 +After: [3, 1, 3, 3] + +Before: [2, 2, 3, 3] +7 2 0 1 +After: [2, 2, 3, 3] + +Before: [0, 3, 0, 3] +4 0 1 1 +After: [0, 0, 0, 3] + +Before: [2, 1, 3, 3] +13 0 1 0 +After: [3, 1, 3, 3] + +Before: [0, 3, 0, 0] +4 0 1 2 +After: [0, 3, 0, 0] + +Before: [0, 1, 1, 0] +14 3 1 3 +After: [0, 1, 1, 1] + +Before: [3, 3, 1, 2] +9 2 1 3 +After: [3, 3, 1, 1] + +Before: [0, 2, 0, 0] +15 1 2 3 +After: [0, 2, 0, 4] + +Before: [0, 3, 2, 0] +1 0 0 1 +After: [0, 0, 2, 0] + +Before: [1, 0, 2, 3] +13 1 3 0 +After: [3, 0, 2, 3] + +Before: [0, 0, 3, 3] +1 0 0 1 +After: [0, 0, 3, 3] + +Before: [3, 1, 0, 2] +2 3 1 1 +After: [3, 3, 0, 2] + +Before: [0, 3, 3, 2] +1 0 0 2 +After: [0, 3, 0, 2] + +Before: [0, 2, 3, 0] +0 2 2 3 +After: [0, 2, 3, 2] + +Before: [2, 3, 3, 3] +12 3 3 3 +After: [2, 3, 3, 3] + +Before: [3, 2, 2, 3] +0 3 2 0 +After: [2, 2, 2, 3] + +Before: [1, 2, 0, 1] +15 1 2 2 +After: [1, 2, 4, 1] + +Before: [3, 0, 3, 2] +0 2 2 3 +After: [3, 0, 3, 2] + +Before: [0, 3, 1, 2] +9 2 1 1 +After: [0, 1, 1, 2] + +Before: [0, 3, 3, 0] +6 0 1 1 +After: [0, 1, 3, 0] + +Before: [2, 3, 2, 2] +5 2 1 2 +After: [2, 3, 3, 2] + +Before: [2, 3, 2, 0] +10 2 2 2 +After: [2, 3, 4, 0] + +Before: [3, 1, 2, 0] +14 3 1 1 +After: [3, 1, 2, 0] + +Before: [0, 3, 1, 2] +1 0 0 1 +After: [0, 0, 1, 2] + +Before: [1, 0, 1, 1] +11 2 1 0 +After: [1, 0, 1, 1] + +Before: [3, 2, 3, 1] +8 2 3 3 +After: [3, 2, 3, 9] + +Before: [3, 3, 2, 1] +5 2 1 2 +After: [3, 3, 3, 1] + +Before: [1, 3, 1, 1] +3 3 1 3 +After: [1, 3, 1, 1] + +Before: [2, 1, 0, 1] +14 2 1 3 +After: [2, 1, 0, 1] + +Before: [0, 3, 2, 1] +1 0 0 2 +After: [0, 3, 0, 1] + +Before: [2, 2, 2, 1] +2 3 2 0 +After: [3, 2, 2, 1] + +Before: [3, 3, 0, 3] +12 3 3 3 +After: [3, 3, 0, 3] + +Before: [0, 1, 0, 0] +14 2 1 1 +After: [0, 1, 0, 0] + +Before: [3, 3, 1, 1] +9 2 1 0 +After: [1, 3, 1, 1] + +Before: [2, 2, 1, 2] +8 3 3 1 +After: [2, 6, 1, 2] + +Before: [3, 3, 2, 3] +5 2 1 1 +After: [3, 3, 2, 3] + +Before: [3, 2, 3, 2] +7 2 3 2 +After: [3, 2, 2, 2] + +Before: [2, 0, 1, 2] +11 2 1 0 +After: [1, 0, 1, 2] + +Before: [3, 3, 2, 1] +2 3 2 2 +After: [3, 3, 3, 1] + +Before: [2, 0, 3, 0] +0 2 2 0 +After: [2, 0, 3, 0] + +Before: [0, 2, 0, 2] +1 0 0 0 +After: [0, 2, 0, 2] + +Before: [3, 1, 3, 1] +2 3 2 2 +After: [3, 1, 3, 1] + +Before: [2, 3, 1, 3] +5 0 1 0 +After: [3, 3, 1, 3] + +Before: [0, 1, 0, 1] +6 1 2 3 +After: [0, 1, 0, 3] + +Before: [1, 0, 2, 3] +10 2 2 2 +After: [1, 0, 4, 3] + +Before: [1, 2, 2, 1] +2 3 2 3 +After: [1, 2, 2, 3] + +Before: [0, 3, 0, 3] +4 0 3 2 +After: [0, 3, 0, 3] + +Before: [2, 1, 0, 2] +2 3 1 0 +After: [3, 1, 0, 2] + +Before: [3, 0, 2, 0] +4 1 0 3 +After: [3, 0, 2, 0] + +Before: [2, 3, 1, 3] +9 2 1 1 +After: [2, 1, 1, 3] + +Before: [2, 0, 0, 3] +13 1 3 3 +After: [2, 0, 0, 3] + +Before: [2, 1, 0, 1] +14 2 1 1 +After: [2, 1, 0, 1] + +Before: [1, 0, 1, 0] +6 2 2 2 +After: [1, 0, 3, 0] + +Before: [1, 1, 2, 2] +2 3 1 1 +After: [1, 3, 2, 2] + +Before: [2, 3, 1, 3] +5 0 1 3 +After: [2, 3, 1, 3] + +Before: [1, 3, 0, 1] +3 3 1 1 +After: [1, 1, 0, 1] + +Before: [1, 3, 0, 2] +15 3 2 2 +After: [1, 3, 4, 2] + +Before: [1, 2, 1, 3] +15 1 2 0 +After: [4, 2, 1, 3] + +Before: [2, 3, 3, 3] +15 0 2 0 +After: [4, 3, 3, 3] + +Before: [0, 1, 1, 2] +4 0 3 3 +After: [0, 1, 1, 0] + +Before: [0, 0, 3, 3] +4 0 2 0 +After: [0, 0, 3, 3] + +Before: [0, 3, 3, 1] +3 3 1 1 +After: [0, 1, 3, 1] + +Before: [0, 0, 2, 3] +13 1 2 3 +After: [0, 0, 2, 2] + +Before: [0, 1, 3, 0] +4 0 2 2 +After: [0, 1, 0, 0] + +Before: [0, 3, 2, 1] +2 3 2 2 +After: [0, 3, 3, 1] + +Before: [0, 0, 1, 0] +11 2 1 2 +After: [0, 0, 1, 0] + +Before: [2, 1, 1, 0] +15 0 2 1 +After: [2, 4, 1, 0] + +Before: [3, 1, 0, 3] +13 2 3 0 +After: [3, 1, 0, 3] + +Before: [2, 0, 1, 3] +11 2 1 0 +After: [1, 0, 1, 3] + +Before: [2, 3, 3, 1] +3 3 1 1 +After: [2, 1, 3, 1] + +Before: [0, 2, 3, 1] +15 1 2 2 +After: [0, 2, 4, 1] + +Before: [1, 0, 3, 0] +10 0 2 3 +After: [1, 0, 3, 3] + +Before: [1, 2, 2, 1] +9 3 1 3 +After: [1, 2, 2, 1] + + + +2 0 1 1 +2 2 2 3 +2 0 0 2 +3 2 3 1 +8 1 2 1 +13 1 0 0 +12 0 1 1 +2 3 1 3 +2 2 0 0 +2 3 3 2 +9 0 2 2 +8 2 3 2 +13 2 1 1 +12 1 3 3 +2 2 3 1 +2 3 3 0 +2 1 2 2 +7 0 1 1 +8 1 2 1 +8 1 1 1 +13 3 1 3 +12 3 1 1 +8 0 0 2 +15 2 0 2 +2 1 2 0 +2 2 3 3 +8 0 2 0 +8 0 1 0 +13 1 0 1 +2 1 0 0 +2 0 2 3 +2 2 0 2 +6 2 3 2 +8 2 3 2 +13 2 1 1 +12 1 2 3 +8 1 0 2 +15 2 2 2 +2 2 3 1 +12 0 2 1 +8 1 2 1 +13 1 3 3 +12 3 3 2 +8 0 0 0 +15 0 2 0 +2 0 1 1 +2 2 0 3 +4 0 3 3 +8 3 3 3 +13 2 3 2 +12 2 3 3 +2 1 1 1 +2 2 2 2 +10 1 0 0 +8 0 1 0 +13 0 3 3 +12 3 0 2 +2 2 0 0 +2 1 3 3 +11 0 3 0 +8 0 2 0 +13 2 0 2 +12 2 3 3 +2 1 0 0 +2 1 1 2 +13 1 0 2 +8 2 2 2 +13 2 3 3 +2 0 0 1 +2 3 0 2 +15 0 1 2 +8 2 3 2 +8 2 2 2 +13 2 3 3 +12 3 0 1 +2 2 3 0 +2 0 0 3 +2 3 3 2 +5 0 2 0 +8 0 2 0 +13 1 0 1 +12 1 2 3 +2 1 0 0 +2 1 3 2 +8 0 0 1 +15 1 0 1 +15 0 1 1 +8 1 1 1 +13 1 3 3 +12 3 0 1 +8 1 0 2 +15 2 3 2 +2 2 0 3 +8 3 0 0 +15 0 2 0 +4 0 3 2 +8 2 2 2 +13 2 1 1 +12 1 0 2 +8 1 0 1 +15 1 1 1 +2 1 3 0 +10 1 3 3 +8 3 1 3 +13 2 3 2 +12 2 2 0 +2 0 1 2 +2 2 2 3 +2 2 1 1 +3 2 3 1 +8 1 3 1 +13 0 1 0 +12 0 1 1 +2 3 2 0 +2 0 2 3 +9 2 0 0 +8 0 2 0 +8 0 3 0 +13 1 0 1 +12 1 0 2 +2 0 1 0 +2 0 2 1 +8 3 0 3 +15 3 2 3 +2 3 0 0 +8 0 1 0 +8 0 1 0 +13 0 2 2 +12 2 0 3 +2 0 0 2 +2 3 0 0 +9 2 0 2 +8 2 2 2 +8 2 2 2 +13 2 3 3 +12 3 3 1 +8 2 0 3 +15 3 2 3 +2 1 2 0 +2 1 3 2 +13 0 0 2 +8 2 3 2 +13 2 1 1 +2 2 2 2 +2 2 2 0 +4 0 3 3 +8 3 2 3 +13 3 1 1 +12 1 3 0 +2 1 0 2 +8 3 0 1 +15 1 3 1 +8 1 0 3 +15 3 1 3 +15 3 1 2 +8 2 1 2 +8 2 3 2 +13 2 0 0 +12 0 1 1 +2 3 2 2 +2 1 1 0 +2 0 3 3 +8 0 2 0 +8 0 3 0 +13 0 1 1 +12 1 3 0 +2 2 0 3 +2 1 1 1 +8 1 0 2 +15 2 0 2 +3 2 3 1 +8 1 1 1 +13 0 1 0 +12 0 0 1 +8 1 0 3 +15 3 1 3 +2 2 0 0 +2 2 3 2 +11 0 3 3 +8 3 2 3 +8 3 3 3 +13 3 1 1 +12 1 1 2 +2 2 0 1 +2 2 0 3 +2 1 2 0 +13 0 0 1 +8 1 1 1 +13 2 1 2 +12 2 3 0 +2 2 2 1 +2 0 1 2 +2 1 0 3 +8 3 2 1 +8 1 2 1 +13 0 1 0 +12 0 1 2 +2 2 3 0 +2 0 0 1 +2 2 0 3 +4 0 3 0 +8 0 1 0 +13 0 2 2 +12 2 3 3 +2 2 0 2 +2 1 0 0 +12 0 2 0 +8 0 1 0 +8 0 2 0 +13 3 0 3 +12 3 3 2 +2 2 0 0 +2 1 3 3 +2 1 1 1 +11 0 3 3 +8 3 3 3 +8 3 3 3 +13 2 3 2 +12 2 0 0 +2 0 3 3 +2 2 2 2 +14 3 2 3 +8 3 2 3 +13 0 3 0 +12 0 0 1 +2 2 2 0 +2 2 2 3 +2 3 1 2 +9 0 2 0 +8 0 3 0 +13 0 1 1 +8 2 0 0 +15 0 2 0 +2 0 2 2 +3 2 3 3 +8 3 3 3 +13 3 1 1 +2 1 0 2 +2 0 2 3 +2 3 0 0 +0 0 2 0 +8 0 3 0 +8 0 3 0 +13 0 1 1 +2 1 0 0 +2 3 1 3 +8 3 0 2 +15 2 2 2 +12 0 2 2 +8 2 2 2 +13 2 1 1 +12 1 3 3 +2 2 3 0 +2 1 3 1 +2 1 1 2 +10 1 0 2 +8 2 1 2 +13 3 2 3 +12 3 0 2 +8 1 0 3 +15 3 3 3 +7 3 0 0 +8 0 2 0 +13 2 0 2 +12 2 2 0 +2 2 1 2 +2 0 2 1 +8 1 0 3 +15 3 1 3 +13 3 3 1 +8 1 3 1 +13 1 0 0 +12 0 1 2 +2 2 2 1 +2 0 0 3 +2 3 0 0 +5 1 0 3 +8 3 2 3 +8 3 2 3 +13 3 2 2 +12 2 1 0 +2 1 1 3 +2 3 2 1 +2 2 0 2 +1 2 1 2 +8 2 2 2 +8 2 3 2 +13 2 0 0 +12 0 1 2 +8 2 0 3 +15 3 2 3 +8 2 0 0 +15 0 2 0 +2 2 3 1 +4 0 3 1 +8 1 3 1 +8 1 1 1 +13 2 1 2 +2 2 1 1 +8 0 0 0 +15 0 3 0 +2 1 0 3 +5 1 0 1 +8 1 2 1 +13 2 1 2 +2 0 0 3 +2 2 1 1 +6 1 3 3 +8 3 3 3 +13 2 3 2 +12 2 2 1 +2 1 1 3 +2 2 1 0 +8 1 0 2 +15 2 3 2 +8 3 2 0 +8 0 1 0 +13 0 1 1 +12 1 1 0 +2 0 2 1 +2 0 3 3 +2 1 2 1 +8 1 2 1 +13 0 1 0 +12 0 3 1 +8 0 0 2 +15 2 1 2 +8 0 0 3 +15 3 1 3 +2 3 3 0 +13 3 3 3 +8 3 2 3 +13 1 3 1 +2 2 0 3 +2 2 3 0 +4 0 3 3 +8 3 1 3 +13 3 1 1 +12 1 3 3 +2 1 1 1 +10 1 0 0 +8 0 2 0 +13 3 0 3 +12 3 0 2 +2 1 2 3 +2 2 0 0 +2 0 3 1 +15 3 1 3 +8 3 2 3 +8 3 2 3 +13 3 2 2 +12 2 3 1 +2 1 1 3 +2 2 0 2 +2 1 2 0 +12 0 2 2 +8 2 1 2 +8 2 3 2 +13 1 2 1 +12 1 3 3 +2 0 0 2 +8 0 0 1 +15 1 1 1 +13 0 0 0 +8 0 1 0 +13 3 0 3 +12 3 2 2 +8 3 0 3 +15 3 3 3 +2 3 3 0 +2 2 1 1 +2 1 3 1 +8 1 1 1 +13 1 2 2 +12 2 0 3 +8 3 0 0 +15 0 1 0 +2 1 3 1 +2 0 1 2 +8 0 2 2 +8 2 2 2 +13 3 2 3 +12 3 1 0 +2 1 3 2 +2 3 0 1 +2 2 3 3 +7 1 3 1 +8 1 1 1 +13 1 0 0 +12 0 1 3 +2 2 2 1 +2 2 2 2 +2 1 0 0 +12 0 2 0 +8 0 3 0 +13 3 0 3 +12 3 0 1 +2 2 3 0 +8 1 0 2 +15 2 3 2 +2 3 0 3 +7 3 0 0 +8 0 2 0 +13 1 0 1 +12 1 1 2 +2 3 1 1 +2 2 2 0 +2 1 3 3 +7 1 0 3 +8 3 1 3 +13 3 2 2 +8 2 0 1 +15 1 2 1 +8 2 0 3 +15 3 0 3 +2 3 0 0 +8 0 2 0 +13 0 2 2 +12 2 1 0 +2 2 2 3 +2 0 3 2 +2 0 0 1 +3 2 3 3 +8 3 1 3 +13 0 3 0 +8 3 0 1 +15 1 3 1 +2 3 1 3 +2 3 3 2 +0 3 2 1 +8 1 1 1 +13 1 0 0 +2 1 3 3 +2 2 1 1 +5 1 2 3 +8 3 1 3 +13 3 0 0 +12 0 1 1 +2 3 2 0 +8 1 0 3 +15 3 2 3 +8 1 0 2 +15 2 1 2 +0 0 2 3 +8 3 3 3 +13 3 1 1 +12 1 1 0 +2 2 1 2 +2 0 2 3 +2 2 1 1 +14 3 2 1 +8 1 2 1 +13 1 0 0 +12 0 3 1 +2 1 0 0 +8 2 0 3 +15 3 2 3 +2 1 1 2 +10 0 3 0 +8 0 3 0 +13 1 0 1 +2 0 0 0 +2 2 3 2 +6 2 3 3 +8 3 2 3 +13 1 3 1 +2 0 1 2 +2 1 3 3 +2 1 2 0 +13 0 0 2 +8 2 2 2 +13 1 2 1 +12 1 1 2 +8 0 0 1 +15 1 3 1 +2 2 0 0 +11 0 3 1 +8 1 3 1 +13 2 1 2 +12 2 1 1 +2 1 1 2 +2 2 0 3 +4 0 3 2 +8 2 2 2 +8 2 3 2 +13 1 2 1 +2 3 3 0 +2 2 0 2 +1 2 0 0 +8 0 1 0 +8 0 1 0 +13 1 0 1 +12 1 2 0 +2 1 3 1 +2 0 2 3 +8 0 0 2 +15 2 3 2 +2 2 3 2 +8 2 3 2 +8 2 3 2 +13 0 2 0 +2 0 0 2 +2 2 3 3 +2 2 1 1 +6 1 3 1 +8 1 1 1 +13 1 0 0 +12 0 3 2 +2 2 1 0 +2 3 2 1 +4 0 3 1 +8 1 1 1 +13 1 2 2 +12 2 0 3 +2 0 3 1 +2 3 0 2 +5 0 2 0 +8 0 3 0 +8 0 1 0 +13 0 3 3 +12 3 1 2 +8 0 0 3 +15 3 2 3 +2 1 0 1 +2 0 0 0 +10 1 3 0 +8 0 2 0 +13 2 0 2 +12 2 3 0 +8 1 0 1 +15 1 3 1 +2 0 0 3 +2 0 1 2 +0 1 2 3 +8 3 1 3 +13 0 3 0 +12 0 3 2 +2 0 1 1 +8 0 0 0 +15 0 1 0 +2 0 0 3 +13 0 0 3 +8 3 1 3 +13 3 2 2 +12 2 0 1 +8 3 0 3 +15 3 2 3 +2 2 1 0 +2 3 1 2 +4 0 3 0 +8 0 1 0 +13 0 1 1 +8 3 0 3 +15 3 0 3 +2 3 0 0 +0 0 2 2 +8 2 1 2 +13 2 1 1 +12 1 2 3 +8 1 0 1 +15 1 3 1 +2 0 0 2 +9 2 0 2 +8 2 2 2 +8 2 3 2 +13 3 2 3 +12 3 0 2 +2 2 3 0 +8 3 0 3 +15 3 2 3 +7 1 0 3 +8 3 2 3 +13 2 3 2 +12 2 2 3 +2 2 2 1 +2 1 1 0 +2 0 1 2 +8 0 2 2 +8 2 2 2 +13 3 2 3 +12 3 3 0 +2 1 2 3 +8 0 0 1 +15 1 0 1 +2 0 3 2 +8 3 2 1 +8 1 2 1 +13 1 0 0 +12 0 1 3 +2 0 1 1 +2 2 3 0 +2 3 0 2 +5 0 2 1 +8 1 2 1 +13 1 3 3 +12 3 3 0 +2 1 1 3 +2 0 3 2 +2 3 1 1 +8 3 2 2 +8 2 2 2 +13 2 0 0 +12 0 1 1 +2 3 3 3 +2 3 3 0 +2 1 1 2 +0 3 2 0 +8 0 3 0 +13 1 0 1 +12 1 3 2 +2 1 1 0 +2 2 2 3 +2 0 3 1 +13 0 0 3 +8 3 2 3 +13 2 3 2 +12 2 3 1 +2 3 1 3 +2 3 1 0 +2 3 0 2 +0 3 2 3 +8 3 2 3 +8 3 1 3 +13 1 3 1 +2 1 2 3 +8 3 0 0 +15 0 2 0 +11 0 3 3 +8 3 2 3 +13 1 3 1 +12 1 1 0 +2 2 2 2 +8 3 0 3 +15 3 0 3 +2 2 1 1 +2 3 2 1 +8 1 3 1 +13 1 0 0 +2 3 1 2 +2 1 0 3 +8 2 0 1 +15 1 3 1 +15 3 1 1 +8 1 2 1 +13 0 1 0 +12 0 3 1 +8 2 0 0 +15 0 1 0 +8 3 2 3 +8 3 1 3 +13 3 1 1 +12 1 1 3 +2 2 1 2 +2 3 3 0 +2 2 0 1 +7 0 1 2 +8 2 3 2 +8 2 1 2 +13 3 2 3 +12 3 2 1 +2 0 0 2 +2 1 2 3 +0 0 2 2 +8 2 1 2 +13 2 1 1 +2 0 0 3 +2 1 0 0 +2 2 1 2 +12 0 2 3 +8 3 1 3 +8 3 1 3 +13 3 1 1 +12 1 1 3 +8 2 0 1 +15 1 0 1 +12 0 2 1 +8 1 1 1 +13 3 1 3 +12 3 1 1 +2 3 1 3 +2 3 1 0 +2 0 2 2 +9 2 0 0 +8 0 3 0 +13 1 0 1 +12 1 0 3 +2 3 1 2 +8 2 0 0 +15 0 2 0 +2 3 1 1 +2 2 1 2 +8 2 1 2 +13 3 2 3 +2 0 0 2 +2 3 1 0 +9 2 0 0 +8 0 2 0 +13 3 0 3 +12 3 3 2 +2 3 0 3 +2 0 3 1 +2 1 1 0 +13 0 0 0 +8 0 1 0 +8 0 1 0 +13 0 2 2 +12 2 2 1 +2 1 2 3 +2 0 3 2 +8 3 0 0 +15 0 2 0 +11 0 3 0 +8 0 1 0 +13 1 0 1 +2 2 2 3 +2 1 3 0 +2 3 2 2 +8 0 2 0 +8 0 3 0 +8 0 3 0 +13 1 0 1 +12 1 3 0 +2 0 3 3 +2 2 3 2 +2 0 2 1 +14 3 2 2 +8 2 1 2 +8 2 3 2 +13 0 2 0 +12 0 2 1 +8 1 0 3 +15 3 1 3 +2 1 0 2 +2 3 0 0 +0 0 2 2 +8 2 3 2 +13 1 2 1 +12 1 0 3 +2 0 2 1 +2 1 3 2 +2 0 2 0 +2 2 0 0 +8 0 2 0 +13 3 0 3 +12 3 2 1 +2 2 1 2 +2 2 2 3 +2 3 0 0 +1 2 0 2 +8 2 1 2 +8 2 2 2 +13 1 2 1 +12 1 2 3 +2 3 2 2 +2 2 2 0 +2 3 1 1 +5 0 2 1 +8 1 3 1 +8 1 2 1 +13 1 3 3 +12 3 3 2 +2 3 3 1 +2 0 2 3 +1 0 1 1 +8 1 1 1 +13 2 1 2 +12 2 1 1 +2 0 2 2 +2 1 2 0 +2 1 3 3 +13 3 0 3 +8 3 2 3 +8 3 1 3 +13 1 3 1 +12 1 3 0 +8 3 0 1 +15 1 0 1 +2 2 3 3 +2 2 3 2 +2 3 2 1 +8 1 2 1 +13 0 1 0 +12 0 3 1 +2 1 1 3 +2 2 2 0 +11 0 3 0 +8 0 2 0 +13 0 1 1 +12 1 2 0 +2 2 2 3 +2 2 1 1 +6 1 3 3 +8 3 3 3 +13 3 0 0 +12 0 0 3 +8 3 0 0 +15 0 2 0 +2 3 0 1 +1 0 1 0 +8 0 1 0 +13 0 3 3 +12 3 2 2 +2 2 0 3 +8 0 0 0 +15 0 2 0 +4 0 3 0 +8 0 3 0 +13 0 2 2 +12 2 1 0 +8 3 0 3 +15 3 1 3 +8 2 0 2 +15 2 0 2 +15 3 1 1 +8 1 1 1 +13 0 1 0 +2 3 3 1 +8 3 2 1 +8 1 1 1 +13 1 0 0 +12 0 1 2 +8 2 0 0 +15 0 2 0 +2 0 2 1 +11 0 3 3 +8 3 1 3 +13 2 3 2 +12 2 3 1 +8 0 0 3 +15 3 0 3 +2 3 1 2 +5 0 2 3 +8 3 2 3 +8 3 3 3 +13 1 3 1 +12 1 1 2 +8 3 0 3 +15 3 3 3 +2 2 0 1 +2 3 3 0 +5 1 0 3 +8 3 3 3 +13 3 2 2 +12 2 3 3 +2 1 1 0 +2 1 2 1 +2 2 1 2 +12 0 2 2 +8 2 3 2 +13 2 3 3 +12 3 1 2 +2 0 3 3 +8 0 0 0 +15 0 2 0 +6 0 3 1 +8 1 3 1 +13 2 1 2 +2 3 3 0 +2 2 0 3 +8 1 0 1 +15 1 3 1 +7 1 3 3 +8 3 3 3 +13 3 2 2 +2 1 2 0 +2 2 1 3 +2 2 2 1 +6 1 3 1 +8 1 2 1 +13 1 2 2 +12 2 0 1 +2 0 1 2 +2 1 2 3 +2 2 3 0 +11 0 3 2 +8 2 3 2 +8 2 1 2 +13 1 2 1 +2 1 0 0 +2 2 3 2 +12 0 2 0 +8 0 3 0 +8 0 1 0 +13 1 0 1 +12 1 1 0 +2 3 0 1 +8 0 0 2 +15 2 0 2 +0 1 2 3 +8 3 3 3 +13 0 3 0 +12 0 1 3 +2 2 0 2 +2 1 1 0 +12 0 2 1 +8 1 2 1 +13 1 3 3 +2 0 0 1 +2 3 1 0 +2 1 2 2 +0 0 2 1 +8 1 2 1 +8 1 2 1 +13 3 1 3 +12 3 3 2 +2 2 0 3 +2 2 3 0 +2 1 0 1 +4 0 3 3 +8 3 3 3 +13 2 3 2 +8 0 0 3 +15 3 3 3 +2 3 1 1 +1 0 1 1 +8 1 3 1 +13 1 2 2 +12 2 0 1 +2 2 2 2 +2 1 0 0 +2 0 3 3 +14 3 2 3 +8 3 3 3 +8 3 1 3 +13 3 1 1 +12 1 2 3 +2 3 0 0 +8 2 0 1 +15 1 2 1 +5 1 0 1 +8 1 1 1 +13 1 3 3 +12 3 2 1 +8 1 0 3 +15 3 0 3 +14 3 2 2 +8 2 1 2 +13 1 2 1 +12 1 2 3 +2 3 1 1 +2 1 3 0 +2 2 0 2 +12 0 2 0 +8 0 1 0 +13 0 3 3 +12 3 1 0 +2 1 0 3 +15 3 1 1 +8 1 3 1 +13 1 0 0 +12 0 1 2 +2 2 3 0 +8 3 0 3 +15 3 2 3 +2 3 3 1 +4 0 3 3 +8 3 2 3 +13 2 3 2 +2 1 2 1 +2 1 0 0 +2 2 2 3 +10 1 3 1 +8 1 2 1 +13 1 2 2 +12 2 3 1 +2 2 0 2 +2 0 0 3 +12 0 2 2 +8 2 3 2 +13 2 1 1 +12 1 3 3 +2 2 3 2 +2 0 0 1 +2 3 1 0 +1 2 0 2 +8 2 1 2 +13 2 3 3 +12 3 3 1 +2 1 0 0 +2 1 0 3 +2 0 1 2 +8 0 2 2 +8 2 1 2 +8 2 3 2 +13 2 1 1 +12 1 1 2 +2 3 1 3 +2 2 2 1 +2 2 1 0 +7 3 0 3 +8 3 3 3 +13 3 2 2 +12 2 2 1 +2 3 3 3 +2 0 1 2 +0 3 2 2 +8 2 2 2 +13 2 1 1 +12 1 0 2 +2 3 2 1 +2 1 0 0 +2 2 0 3 +15 0 1 1 +8 1 3 1 +8 1 1 1 +13 2 1 2 +2 2 3 0 +2 2 0 1 +8 0 0 3 +15 3 0 3 +6 0 3 1 +8 1 2 1 +13 1 2 2 +2 0 1 1 +2 1 0 3 +11 0 3 0 +8 0 3 0 +8 0 2 0 +13 0 2 2 +12 2 0 0