diff --git a/2018/day16-input b/2018/day16-input new file mode 100644 index 0000000..841855e --- /dev/null +++ b/2018/day16-input @@ -0,0 +1,4140 @@ +Before: [3, 1, 2, 0] +5 1 2 0 +After: [0, 1, 2, 0] + +Before: [3, 3, 0, 2] +10 2 0 1 +After: [3, 0, 0, 2] + +Before: [3, 3, 1, 1] +7 3 3 3 +After: [3, 3, 1, 0] + +Before: [1, 3, 2, 0] +8 0 2 2 +After: [1, 3, 0, 0] + +Before: [3, 0, 0, 2] +12 2 3 2 +After: [3, 0, 1, 2] + +Before: [0, 3, 1, 1] +1 2 3 1 +After: [0, 2, 1, 1] + +Before: [1, 1, 0, 2] +2 0 2 2 +After: [1, 1, 0, 2] + +Before: [3, 1, 3, 3] +0 1 2 0 +After: [0, 1, 3, 3] + +Before: [3, 0, 2, 1] +10 1 0 3 +After: [3, 0, 2, 0] + +Before: [2, 1, 3, 0] +14 0 3 0 +After: [1, 1, 3, 0] + +Before: [1, 0, 0, 3] +2 0 2 1 +After: [1, 0, 0, 3] + +Before: [2, 1, 3, 0] +0 1 2 3 +After: [2, 1, 3, 0] + +Before: [2, 1, 0, 0] +14 0 3 0 +After: [1, 1, 0, 0] + +Before: [2, 1, 2, 1] +4 3 1 2 +After: [2, 1, 0, 1] + +Before: [1, 0, 1, 1] +7 3 3 1 +After: [1, 0, 1, 1] + +Before: [0, 1, 0, 1] +7 3 3 2 +After: [0, 1, 0, 1] + +Before: [0, 1, 3, 2] +0 1 2 1 +After: [0, 0, 3, 2] + +Before: [1, 1, 2, 2] +8 0 2 3 +After: [1, 1, 2, 0] + +Before: [2, 0, 2, 2] +10 1 0 0 +After: [0, 0, 2, 2] + +Before: [2, 1, 3, 1] +0 1 2 3 +After: [2, 1, 3, 0] + +Before: [1, 1, 2, 2] +8 0 2 1 +After: [1, 0, 2, 2] + +Before: [0, 0, 2, 1] +11 3 2 1 +After: [0, 1, 2, 1] + +Before: [0, 0, 2, 0] +3 2 2 0 +After: [4, 0, 2, 0] + +Before: [1, 0, 0, 0] +2 0 2 3 +After: [1, 0, 0, 0] + +Before: [2, 0, 0, 1] +4 0 1 1 +After: [2, 1, 0, 1] + +Before: [2, 0, 3, 3] +10 1 0 3 +After: [2, 0, 3, 0] + +Before: [0, 1, 3, 2] +0 1 2 0 +After: [0, 1, 3, 2] + +Before: [2, 1, 3, 3] +0 1 2 3 +After: [2, 1, 3, 0] + +Before: [0, 1, 2, 1] +11 3 2 3 +After: [0, 1, 2, 1] + +Before: [0, 2, 2, 3] +13 0 2 1 +After: [0, 0, 2, 3] + +Before: [0, 2, 3, 2] +13 0 1 3 +After: [0, 2, 3, 0] + +Before: [1, 1, 2, 2] +4 3 2 1 +After: [1, 0, 2, 2] + +Before: [1, 1, 2, 1] +11 3 2 2 +After: [1, 1, 1, 1] + +Before: [0, 2, 1, 0] +13 0 1 1 +After: [0, 0, 1, 0] + +Before: [2, 1, 2, 2] +9 2 0 0 +After: [1, 1, 2, 2] + +Before: [1, 1, 1, 1] +1 2 0 3 +After: [1, 1, 1, 2] + +Before: [3, 3, 0, 2] +12 2 3 2 +After: [3, 3, 1, 2] + +Before: [0, 1, 2, 2] +3 3 2 1 +After: [0, 4, 2, 2] + +Before: [0, 2, 2, 3] +13 0 3 0 +After: [0, 2, 2, 3] + +Before: [1, 3, 1, 0] +1 2 0 0 +After: [2, 3, 1, 0] + +Before: [0, 1, 1, 3] +15 1 3 3 +After: [0, 1, 1, 0] + +Before: [3, 2, 3, 0] +12 3 2 3 +After: [3, 2, 3, 1] + +Before: [1, 0, 1, 3] +1 2 0 3 +After: [1, 0, 1, 2] + +Before: [3, 1, 2, 1] +11 3 2 2 +After: [3, 1, 1, 1] + +Before: [0, 0, 0, 2] +6 0 0 3 +After: [0, 0, 0, 0] + +Before: [1, 0, 0, 1] +2 0 2 3 +After: [1, 0, 0, 0] + +Before: [0, 3, 0, 2] +6 0 0 0 +After: [0, 3, 0, 2] + +Before: [1, 1, 3, 0] +0 1 2 0 +After: [0, 1, 3, 0] + +Before: [3, 1, 0, 3] +15 1 3 0 +After: [0, 1, 0, 3] + +Before: [3, 2, 0, 2] +10 2 0 1 +After: [3, 0, 0, 2] + +Before: [0, 2, 0, 2] +6 0 0 1 +After: [0, 0, 0, 2] + +Before: [0, 3, 3, 1] +6 0 0 1 +After: [0, 0, 3, 1] + +Before: [0, 1, 2, 0] +3 2 2 3 +After: [0, 1, 2, 4] + +Before: [3, 0, 0, 0] +4 0 2 1 +After: [3, 1, 0, 0] + +Before: [0, 2, 2, 1] +11 3 2 3 +After: [0, 2, 2, 1] + +Before: [2, 0, 3, 3] +9 3 2 0 +After: [1, 0, 3, 3] + +Before: [2, 1, 2, 2] +5 1 2 2 +After: [2, 1, 0, 2] + +Before: [1, 1, 2, 2] +5 1 2 2 +After: [1, 1, 0, 2] + +Before: [0, 1, 0, 1] +6 0 0 3 +After: [0, 1, 0, 0] + +Before: [1, 3, 2, 2] +3 2 2 1 +After: [1, 4, 2, 2] + +Before: [3, 0, 2, 2] +3 2 2 2 +After: [3, 0, 4, 2] + +Before: [2, 1, 2, 1] +3 2 2 0 +After: [4, 1, 2, 1] + +Before: [1, 3, 2, 3] +8 0 2 2 +After: [1, 3, 0, 3] + +Before: [2, 1, 1, 3] +4 2 1 0 +After: [0, 1, 1, 3] + +Before: [2, 0, 1, 1] +1 2 3 0 +After: [2, 0, 1, 1] + +Before: [3, 0, 0, 3] +10 1 0 0 +After: [0, 0, 0, 3] + +Before: [1, 1, 3, 1] +0 1 2 1 +After: [1, 0, 3, 1] + +Before: [0, 0, 1, 2] +6 0 0 2 +After: [0, 0, 0, 2] + +Before: [3, 3, 0, 2] +10 2 0 2 +After: [3, 3, 0, 2] + +Before: [2, 3, 2, 1] +11 3 2 0 +After: [1, 3, 2, 1] + +Before: [1, 0, 0, 1] +2 0 2 0 +After: [0, 0, 0, 1] + +Before: [0, 2, 2, 0] +6 0 0 3 +After: [0, 2, 2, 0] + +Before: [1, 1, 2, 0] +8 0 2 0 +After: [0, 1, 2, 0] + +Before: [2, 3, 2, 0] +9 2 0 2 +After: [2, 3, 1, 0] + +Before: [1, 3, 0, 2] +2 0 2 0 +After: [0, 3, 0, 2] + +Before: [3, 0, 0, 0] +10 1 0 3 +After: [3, 0, 0, 0] + +Before: [0, 1, 0, 1] +6 0 0 0 +After: [0, 1, 0, 1] + +Before: [0, 1, 3, 0] +12 3 2 2 +After: [0, 1, 1, 0] + +Before: [2, 3, 1, 0] +14 0 3 2 +After: [2, 3, 1, 0] + +Before: [0, 1, 2, 1] +11 3 2 1 +After: [0, 1, 2, 1] + +Before: [3, 1, 1, 3] +4 2 1 0 +After: [0, 1, 1, 3] + +Before: [0, 3, 0, 2] +6 0 0 2 +After: [0, 3, 0, 2] + +Before: [0, 3, 2, 1] +11 3 2 3 +After: [0, 3, 2, 1] + +Before: [2, 2, 2, 1] +3 1 2 3 +After: [2, 2, 2, 4] + +Before: [2, 1, 0, 0] +14 0 3 1 +After: [2, 1, 0, 0] + +Before: [0, 3, 3, 3] +9 3 2 2 +After: [0, 3, 1, 3] + +Before: [0, 3, 3, 1] +13 0 1 2 +After: [0, 3, 0, 1] + +Before: [0, 1, 1, 1] +13 0 3 1 +After: [0, 0, 1, 1] + +Before: [2, 0, 2, 1] +3 2 2 2 +After: [2, 0, 4, 1] + +Before: [0, 2, 2, 1] +9 2 1 1 +After: [0, 1, 2, 1] + +Before: [2, 1, 0, 1] +7 3 3 3 +After: [2, 1, 0, 0] + +Before: [0, 0, 1, 3] +13 0 3 0 +After: [0, 0, 1, 3] + +Before: [3, 3, 1, 3] +15 2 3 3 +After: [3, 3, 1, 0] + +Before: [0, 1, 3, 3] +0 1 2 0 +After: [0, 1, 3, 3] + +Before: [3, 0, 3, 0] +12 3 2 0 +After: [1, 0, 3, 0] + +Before: [1, 0, 2, 3] +8 0 2 1 +After: [1, 0, 2, 3] + +Before: [2, 1, 3, 3] +0 1 2 1 +After: [2, 0, 3, 3] + +Before: [2, 0, 3, 3] +4 2 0 1 +After: [2, 1, 3, 3] + +Before: [0, 0, 2, 3] +13 0 3 1 +After: [0, 0, 2, 3] + +Before: [1, 1, 3, 3] +9 3 2 0 +After: [1, 1, 3, 3] + +Before: [0, 0, 0, 1] +6 0 0 2 +After: [0, 0, 0, 1] + +Before: [0, 0, 3, 2] +13 0 2 3 +After: [0, 0, 3, 0] + +Before: [1, 3, 2, 2] +8 0 2 1 +After: [1, 0, 2, 2] + +Before: [0, 1, 0, 1] +13 0 1 2 +After: [0, 1, 0, 1] + +Before: [2, 3, 0, 0] +14 0 3 2 +After: [2, 3, 1, 0] + +Before: [2, 0, 2, 1] +7 3 3 1 +After: [2, 0, 2, 1] + +Before: [3, 3, 2, 2] +7 3 3 2 +After: [3, 3, 0, 2] + +Before: [0, 3, 1, 2] +6 0 0 3 +After: [0, 3, 1, 0] + +Before: [1, 0, 1, 1] +1 2 0 2 +After: [1, 0, 2, 1] + +Before: [2, 1, 1, 0] +14 0 3 1 +After: [2, 1, 1, 0] + +Before: [3, 3, 3, 3] +9 3 0 3 +After: [3, 3, 3, 1] + +Before: [1, 1, 1, 1] +1 2 3 0 +After: [2, 1, 1, 1] + +Before: [3, 1, 3, 1] +0 1 2 2 +After: [3, 1, 0, 1] + +Before: [1, 1, 2, 0] +5 1 2 2 +After: [1, 1, 0, 0] + +Before: [1, 1, 2, 3] +5 1 2 2 +After: [1, 1, 0, 3] + +Before: [2, 0, 0, 3] +10 1 0 1 +After: [2, 0, 0, 3] + +Before: [1, 2, 0, 1] +7 3 3 3 +After: [1, 2, 0, 0] + +Before: [0, 3, 1, 3] +6 0 0 1 +After: [0, 0, 1, 3] + +Before: [2, 2, 3, 1] +4 2 0 3 +After: [2, 2, 3, 1] + +Before: [3, 0, 2, 1] +11 3 2 2 +After: [3, 0, 1, 1] + +Before: [0, 1, 2, 0] +5 1 2 2 +After: [0, 1, 0, 0] + +Before: [2, 3, 1, 1] +1 2 3 2 +After: [2, 3, 2, 1] + +Before: [0, 1, 1, 2] +13 0 3 3 +After: [0, 1, 1, 0] + +Before: [3, 1, 2, 3] +5 1 2 0 +After: [0, 1, 2, 3] + +Before: [1, 3, 3, 0] +12 3 2 0 +After: [1, 3, 3, 0] + +Before: [2, 3, 0, 2] +12 2 3 2 +After: [2, 3, 1, 2] + +Before: [3, 1, 0, 1] +10 2 0 1 +After: [3, 0, 0, 1] + +Before: [0, 2, 0, 0] +13 0 1 0 +After: [0, 2, 0, 0] + +Before: [0, 2, 2, 2] +13 0 1 2 +After: [0, 2, 0, 2] + +Before: [3, 2, 2, 3] +15 2 3 2 +After: [3, 2, 0, 3] + +Before: [2, 0, 2, 0] +14 0 3 1 +After: [2, 1, 2, 0] + +Before: [2, 2, 0, 0] +14 0 3 2 +After: [2, 2, 1, 0] + +Before: [1, 3, 2, 0] +8 0 2 0 +After: [0, 3, 2, 0] + +Before: [3, 2, 3, 1] +9 2 3 1 +After: [3, 0, 3, 1] + +Before: [0, 1, 1, 0] +4 2 1 1 +After: [0, 0, 1, 0] + +Before: [0, 3, 2, 3] +13 0 3 0 +After: [0, 3, 2, 3] + +Before: [3, 1, 0, 1] +7 3 3 3 +After: [3, 1, 0, 0] + +Before: [1, 3, 3, 3] +9 3 2 3 +After: [1, 3, 3, 1] + +Before: [2, 3, 3, 1] +4 2 0 2 +After: [2, 3, 1, 1] + +Before: [0, 3, 3, 1] +7 3 3 0 +After: [0, 3, 3, 1] + +Before: [1, 2, 1, 2] +1 2 0 1 +After: [1, 2, 1, 2] + +Before: [0, 2, 2, 2] +13 0 2 2 +After: [0, 2, 0, 2] + +Before: [1, 1, 3, 3] +0 1 2 1 +After: [1, 0, 3, 3] + +Before: [2, 0, 3, 2] +4 0 1 0 +After: [1, 0, 3, 2] + +Before: [3, 1, 3, 0] +12 3 2 2 +After: [3, 1, 1, 0] + +Before: [0, 2, 1, 1] +1 2 3 3 +After: [0, 2, 1, 2] + +Before: [2, 3, 1, 0] +14 0 3 3 +After: [2, 3, 1, 1] + +Before: [2, 0, 1, 0] +14 0 3 0 +After: [1, 0, 1, 0] + +Before: [0, 3, 1, 1] +7 3 3 3 +After: [0, 3, 1, 0] + +Before: [2, 3, 3, 3] +9 3 2 3 +After: [2, 3, 3, 1] + +Before: [2, 1, 2, 3] +15 2 3 1 +After: [2, 0, 2, 3] + +Before: [2, 1, 3, 3] +0 1 2 2 +After: [2, 1, 0, 3] + +Before: [3, 1, 2, 1] +7 3 3 0 +After: [0, 1, 2, 1] + +Before: [1, 1, 0, 1] +7 3 3 1 +After: [1, 0, 0, 1] + +Before: [2, 1, 2, 1] +5 1 2 2 +After: [2, 1, 0, 1] + +Before: [3, 1, 3, 2] +0 1 2 1 +After: [3, 0, 3, 2] + +Before: [2, 1, 1, 3] +15 1 3 3 +After: [2, 1, 1, 0] + +Before: [3, 2, 0, 1] +10 2 0 3 +After: [3, 2, 0, 0] + +Before: [1, 3, 0, 1] +2 0 2 2 +After: [1, 3, 0, 1] + +Before: [1, 1, 3, 2] +0 1 2 2 +After: [1, 1, 0, 2] + +Before: [1, 2, 2, 2] +7 3 3 0 +After: [0, 2, 2, 2] + +Before: [1, 2, 2, 2] +8 0 2 0 +After: [0, 2, 2, 2] + +Before: [3, 1, 0, 3] +9 3 0 3 +After: [3, 1, 0, 1] + +Before: [1, 1, 0, 1] +2 0 2 2 +After: [1, 1, 0, 1] + +Before: [2, 3, 3, 0] +14 0 3 0 +After: [1, 3, 3, 0] + +Before: [3, 0, 2, 1] +11 3 2 1 +After: [3, 1, 2, 1] + +Before: [2, 3, 3, 0] +14 0 3 3 +After: [2, 3, 3, 1] + +Before: [0, 1, 2, 2] +5 1 2 2 +After: [0, 1, 0, 2] + +Before: [3, 0, 2, 3] +10 1 0 3 +After: [3, 0, 2, 0] + +Before: [1, 1, 2, 3] +8 0 2 2 +After: [1, 1, 0, 3] + +Before: [0, 0, 0, 3] +6 0 0 1 +After: [0, 0, 0, 3] + +Before: [1, 3, 2, 1] +11 3 2 2 +After: [1, 3, 1, 1] + +Before: [0, 3, 1, 3] +13 0 3 1 +After: [0, 0, 1, 3] + +Before: [2, 0, 3, 0] +14 0 3 1 +After: [2, 1, 3, 0] + +Before: [0, 2, 0, 3] +13 0 3 3 +After: [0, 2, 0, 0] + +Before: [1, 0, 2, 0] +8 0 2 2 +After: [1, 0, 0, 0] + +Before: [1, 3, 2, 0] +8 0 2 1 +After: [1, 0, 2, 0] + +Before: [1, 0, 2, 1] +11 3 2 1 +After: [1, 1, 2, 1] + +Before: [1, 0, 0, 0] +2 0 2 1 +After: [1, 0, 0, 0] + +Before: [2, 2, 2, 1] +11 3 2 1 +After: [2, 1, 2, 1] + +Before: [3, 3, 0, 2] +7 3 3 1 +After: [3, 0, 0, 2] + +Before: [2, 1, 3, 3] +15 1 3 0 +After: [0, 1, 3, 3] + +Before: [0, 3, 3, 2] +13 0 1 1 +After: [0, 0, 3, 2] + +Before: [0, 3, 3, 3] +6 0 0 1 +After: [0, 0, 3, 3] + +Before: [1, 3, 2, 2] +8 0 2 2 +After: [1, 3, 0, 2] + +Before: [1, 0, 0, 3] +2 0 2 3 +After: [1, 0, 0, 0] + +Before: [2, 3, 2, 1] +9 2 0 2 +After: [2, 3, 1, 1] + +Before: [1, 3, 1, 2] +1 2 0 0 +After: [2, 3, 1, 2] + +Before: [2, 1, 3, 0] +0 1 2 0 +After: [0, 1, 3, 0] + +Before: [3, 2, 2, 1] +9 2 1 2 +After: [3, 2, 1, 1] + +Before: [2, 1, 3, 1] +0 1 2 2 +After: [2, 1, 0, 1] + +Before: [0, 2, 1, 0] +6 0 0 1 +After: [0, 0, 1, 0] + +Before: [1, 1, 0, 3] +15 1 3 1 +After: [1, 0, 0, 3] + +Before: [0, 3, 3, 3] +9 3 2 3 +After: [0, 3, 3, 1] + +Before: [3, 1, 3, 1] +7 3 3 3 +After: [3, 1, 3, 0] + +Before: [2, 2, 2, 1] +11 3 2 3 +After: [2, 2, 2, 1] + +Before: [3, 2, 2, 3] +9 3 0 1 +After: [3, 1, 2, 3] + +Before: [3, 2, 2, 0] +3 1 2 1 +After: [3, 4, 2, 0] + +Before: [2, 3, 2, 0] +14 0 3 1 +After: [2, 1, 2, 0] + +Before: [0, 1, 3, 0] +0 1 2 2 +After: [0, 1, 0, 0] + +Before: [2, 2, 3, 0] +4 2 0 3 +After: [2, 2, 3, 1] + +Before: [2, 0, 0, 0] +14 0 3 1 +After: [2, 1, 0, 0] + +Before: [1, 1, 0, 0] +2 0 2 0 +After: [0, 1, 0, 0] + +Before: [0, 2, 3, 2] +6 0 0 1 +After: [0, 0, 3, 2] + +Before: [2, 3, 2, 3] +3 2 2 0 +After: [4, 3, 2, 3] + +Before: [1, 2, 2, 1] +3 2 2 0 +After: [4, 2, 2, 1] + +Before: [2, 2, 2, 0] +14 0 3 0 +After: [1, 2, 2, 0] + +Before: [1, 1, 2, 3] +5 1 2 0 +After: [0, 1, 2, 3] + +Before: [3, 1, 3, 3] +9 3 2 0 +After: [1, 1, 3, 3] + +Before: [1, 1, 0, 0] +2 0 2 2 +After: [1, 1, 0, 0] + +Before: [1, 1, 2, 3] +8 0 2 3 +After: [1, 1, 2, 0] + +Before: [3, 3, 2, 3] +3 2 2 1 +After: [3, 4, 2, 3] + +Before: [3, 3, 1, 3] +15 2 3 2 +After: [3, 3, 0, 3] + +Before: [0, 1, 0, 2] +6 0 0 1 +After: [0, 0, 0, 2] + +Before: [1, 1, 3, 0] +12 3 2 0 +After: [1, 1, 3, 0] + +Before: [2, 1, 2, 2] +3 3 2 2 +After: [2, 1, 4, 2] + +Before: [1, 1, 3, 2] +0 1 2 1 +After: [1, 0, 3, 2] + +Before: [3, 1, 2, 3] +5 1 2 1 +After: [3, 0, 2, 3] + +Before: [0, 1, 3, 1] +0 1 2 1 +After: [0, 0, 3, 1] + +Before: [3, 2, 2, 1] +7 3 3 1 +After: [3, 0, 2, 1] + +Before: [0, 1, 2, 3] +5 1 2 2 +After: [0, 1, 0, 3] + +Before: [1, 1, 0, 3] +2 0 2 1 +After: [1, 0, 0, 3] + +Before: [2, 0, 2, 0] +14 0 3 0 +After: [1, 0, 2, 0] + +Before: [0, 2, 1, 0] +6 0 0 2 +After: [0, 2, 0, 0] + +Before: [0, 2, 0, 1] +13 0 1 0 +After: [0, 2, 0, 1] + +Before: [2, 3, 0, 0] +14 0 3 0 +After: [1, 3, 0, 0] + +Before: [3, 1, 1, 3] +15 1 3 3 +After: [3, 1, 1, 0] + +Before: [1, 2, 1, 3] +15 2 3 3 +After: [1, 2, 1, 0] + +Before: [3, 1, 2, 1] +5 1 2 1 +After: [3, 0, 2, 1] + +Before: [1, 1, 0, 1] +2 0 2 1 +After: [1, 0, 0, 1] + +Before: [1, 2, 2, 3] +8 0 2 0 +After: [0, 2, 2, 3] + +Before: [0, 2, 2, 3] +15 2 3 2 +After: [0, 2, 0, 3] + +Before: [1, 0, 2, 0] +8 0 2 0 +After: [0, 0, 2, 0] + +Before: [0, 2, 2, 3] +3 2 2 0 +After: [4, 2, 2, 3] + +Before: [3, 3, 2, 1] +11 3 2 2 +After: [3, 3, 1, 1] + +Before: [0, 2, 2, 2] +6 0 0 2 +After: [0, 2, 0, 2] + +Before: [1, 1, 2, 1] +5 1 2 3 +After: [1, 1, 2, 0] + +Before: [2, 0, 2, 1] +11 3 2 1 +After: [2, 1, 2, 1] + +Before: [0, 1, 2, 1] +5 1 2 3 +After: [0, 1, 2, 0] + +Before: [1, 2, 2, 2] +3 1 2 0 +After: [4, 2, 2, 2] + +Before: [1, 3, 2, 1] +11 3 2 3 +After: [1, 3, 2, 1] + +Before: [0, 1, 1, 2] +13 0 1 2 +After: [0, 1, 0, 2] + +Before: [1, 2, 2, 0] +3 1 2 1 +After: [1, 4, 2, 0] + +Before: [1, 0, 0, 0] +2 0 2 0 +After: [0, 0, 0, 0] + +Before: [1, 2, 1, 1] +1 2 0 3 +After: [1, 2, 1, 2] + +Before: [3, 3, 2, 1] +11 3 2 1 +After: [3, 1, 2, 1] + +Before: [0, 0, 2, 1] +11 3 2 0 +After: [1, 0, 2, 1] + +Before: [1, 1, 1, 3] +4 2 1 3 +After: [1, 1, 1, 0] + +Before: [2, 0, 2, 2] +7 3 3 1 +After: [2, 0, 2, 2] + +Before: [0, 1, 2, 1] +5 1 2 0 +After: [0, 1, 2, 1] + +Before: [3, 2, 0, 3] +10 2 0 0 +After: [0, 2, 0, 3] + +Before: [1, 1, 2, 0] +5 1 2 1 +After: [1, 0, 2, 0] + +Before: [2, 0, 3, 1] +9 2 3 2 +After: [2, 0, 0, 1] + +Before: [1, 0, 2, 1] +8 0 2 1 +After: [1, 0, 2, 1] + +Before: [0, 2, 0, 3] +15 1 3 3 +After: [0, 2, 0, 0] + +Before: [0, 2, 2, 0] +6 0 0 0 +After: [0, 2, 2, 0] + +Before: [0, 0, 1, 1] +1 2 3 2 +After: [0, 0, 2, 1] + +Before: [1, 0, 1, 3] +15 2 3 3 +After: [1, 0, 1, 0] + +Before: [2, 1, 2, 3] +15 1 3 2 +After: [2, 1, 0, 3] + +Before: [1, 2, 2, 3] +8 0 2 2 +After: [1, 2, 0, 3] + +Before: [2, 2, 3, 0] +12 3 2 2 +After: [2, 2, 1, 0] + +Before: [3, 1, 3, 1] +9 2 3 3 +After: [3, 1, 3, 0] + +Before: [3, 0, 3, 1] +7 3 3 1 +After: [3, 0, 3, 1] + +Before: [0, 3, 0, 2] +6 0 0 3 +After: [0, 3, 0, 0] + +Before: [1, 1, 2, 1] +5 1 2 0 +After: [0, 1, 2, 1] + +Before: [1, 3, 3, 0] +12 3 2 3 +After: [1, 3, 3, 1] + +Before: [3, 0, 1, 1] +1 2 3 0 +After: [2, 0, 1, 1] + +Before: [2, 1, 2, 0] +14 0 3 3 +After: [2, 1, 2, 1] + +Before: [2, 3, 2, 1] +11 3 2 2 +After: [2, 3, 1, 1] + +Before: [0, 3, 3, 0] +6 0 0 3 +After: [0, 3, 3, 0] + +Before: [0, 1, 3, 0] +12 3 2 3 +After: [0, 1, 3, 1] + +Before: [1, 2, 3, 0] +12 3 2 3 +After: [1, 2, 3, 1] + +Before: [2, 1, 0, 2] +12 2 3 3 +After: [2, 1, 0, 1] + +Before: [0, 3, 0, 2] +7 3 3 3 +After: [0, 3, 0, 0] + +Before: [3, 0, 3, 0] +12 3 2 2 +After: [3, 0, 1, 0] + +Before: [2, 2, 0, 0] +14 0 3 3 +After: [2, 2, 0, 1] + +Before: [1, 2, 0, 1] +2 0 2 1 +After: [1, 0, 0, 1] + +Before: [0, 2, 3, 1] +9 2 3 2 +After: [0, 2, 0, 1] + +Before: [2, 1, 2, 1] +11 3 2 1 +After: [2, 1, 2, 1] + +Before: [3, 1, 3, 3] +0 1 2 3 +After: [3, 1, 3, 0] + +Before: [0, 1, 2, 3] +5 1 2 3 +After: [0, 1, 2, 0] + +Before: [1, 3, 1, 0] +1 2 0 2 +After: [1, 3, 2, 0] + +Before: [0, 3, 3, 2] +13 0 1 3 +After: [0, 3, 3, 0] + +Before: [1, 2, 0, 2] +2 0 2 0 +After: [0, 2, 0, 2] + +Before: [2, 2, 0, 0] +14 0 3 0 +After: [1, 2, 0, 0] + +Before: [3, 2, 0, 0] +10 2 0 0 +After: [0, 2, 0, 0] + +Before: [1, 2, 2, 0] +8 0 2 0 +After: [0, 2, 2, 0] + +Before: [2, 0, 2, 2] +3 3 2 1 +After: [2, 4, 2, 2] + +Before: [1, 3, 0, 2] +12 2 3 1 +After: [1, 1, 0, 2] + +Before: [0, 1, 1, 2] +7 3 3 3 +After: [0, 1, 1, 0] + +Before: [0, 0, 1, 2] +7 3 3 1 +After: [0, 0, 1, 2] + +Before: [0, 1, 1, 0] +6 0 0 1 +After: [0, 0, 1, 0] + +Before: [2, 0, 2, 1] +11 3 2 0 +After: [1, 0, 2, 1] + +Before: [2, 2, 3, 3] +15 1 3 1 +After: [2, 0, 3, 3] + +Before: [0, 3, 2, 3] +13 0 2 3 +After: [0, 3, 2, 0] + +Before: [0, 1, 2, 2] +13 0 3 3 +After: [0, 1, 2, 0] + +Before: [2, 1, 2, 0] +5 1 2 0 +After: [0, 1, 2, 0] + +Before: [3, 3, 0, 2] +7 3 3 3 +After: [3, 3, 0, 0] + +Before: [0, 0, 1, 2] +13 0 3 2 +After: [0, 0, 0, 2] + +Before: [1, 3, 1, 2] +1 2 0 3 +After: [1, 3, 1, 2] + +Before: [0, 1, 3, 1] +13 0 3 1 +After: [0, 0, 3, 1] + +Before: [2, 1, 3, 1] +4 2 0 0 +After: [1, 1, 3, 1] + +Before: [1, 1, 2, 2] +8 0 2 2 +After: [1, 1, 0, 2] + +Before: [3, 0, 0, 2] +10 1 0 3 +After: [3, 0, 0, 0] + +Before: [0, 3, 1, 2] +7 3 3 2 +After: [0, 3, 0, 2] + +Before: [3, 2, 2, 2] +9 2 1 2 +After: [3, 2, 1, 2] + +Before: [0, 3, 2, 2] +4 3 2 1 +After: [0, 0, 2, 2] + +Before: [0, 1, 2, 3] +5 1 2 0 +After: [0, 1, 2, 3] + +Before: [1, 2, 0, 3] +2 0 2 3 +After: [1, 2, 0, 0] + +Before: [0, 3, 2, 3] +13 0 2 0 +After: [0, 3, 2, 3] + +Before: [1, 1, 2, 0] +8 0 2 2 +After: [1, 1, 0, 0] + +Before: [1, 2, 0, 0] +2 0 2 2 +After: [1, 2, 0, 0] + +Before: [0, 0, 2, 1] +11 3 2 2 +After: [0, 0, 1, 1] + +Before: [3, 1, 3, 2] +0 1 2 2 +After: [3, 1, 0, 2] + +Before: [1, 1, 1, 1] +4 3 1 1 +After: [1, 0, 1, 1] + +Before: [0, 3, 3, 1] +13 0 3 1 +After: [0, 0, 3, 1] + +Before: [1, 1, 3, 0] +12 3 2 1 +After: [1, 1, 3, 0] + +Before: [2, 0, 0, 0] +14 0 3 0 +After: [1, 0, 0, 0] + +Before: [0, 1, 3, 2] +0 1 2 3 +After: [0, 1, 3, 0] + +Before: [1, 1, 2, 0] +8 0 2 3 +After: [1, 1, 2, 0] + +Before: [3, 0, 2, 3] +15 2 3 2 +After: [3, 0, 0, 3] + +Before: [1, 1, 1, 2] +1 2 0 0 +After: [2, 1, 1, 2] + +Before: [3, 3, 2, 2] +3 2 2 2 +After: [3, 3, 4, 2] + +Before: [0, 1, 0, 2] +7 3 3 2 +After: [0, 1, 0, 2] + +Before: [0, 2, 2, 2] +13 0 2 0 +After: [0, 2, 2, 2] + +Before: [3, 1, 0, 0] +10 2 0 3 +After: [3, 1, 0, 0] + +Before: [2, 1, 3, 0] +0 1 2 1 +After: [2, 0, 3, 0] + +Before: [1, 0, 2, 2] +8 0 2 1 +After: [1, 0, 2, 2] + +Before: [2, 0, 1, 2] +10 1 0 1 +After: [2, 0, 1, 2] + +Before: [2, 3, 2, 1] +11 3 2 1 +After: [2, 1, 2, 1] + +Before: [2, 1, 1, 1] +4 2 1 3 +After: [2, 1, 1, 0] + +Before: [2, 0, 2, 1] +11 3 2 2 +After: [2, 0, 1, 1] + +Before: [2, 1, 3, 2] +0 1 2 1 +After: [2, 0, 3, 2] + +Before: [2, 1, 2, 0] +5 1 2 3 +After: [2, 1, 2, 0] + +Before: [0, 3, 2, 3] +13 0 1 3 +After: [0, 3, 2, 0] + +Before: [1, 1, 2, 2] +5 1 2 0 +After: [0, 1, 2, 2] + +Before: [1, 3, 1, 1] +1 2 3 3 +After: [1, 3, 1, 2] + +Before: [2, 0, 2, 0] +14 0 3 2 +After: [2, 0, 1, 0] + +Before: [3, 2, 2, 1] +11 3 2 1 +After: [3, 1, 2, 1] + +Before: [1, 1, 3, 2] +0 1 2 0 +After: [0, 1, 3, 2] + +Before: [0, 2, 2, 1] +11 3 2 1 +After: [0, 1, 2, 1] + +Before: [2, 0, 0, 3] +10 1 0 3 +After: [2, 0, 0, 0] + +Before: [2, 1, 0, 3] +15 1 3 1 +After: [2, 0, 0, 3] + +Before: [3, 0, 2, 2] +4 3 2 1 +After: [3, 0, 2, 2] + +Before: [3, 2, 2, 1] +11 3 2 2 +After: [3, 2, 1, 1] + +Before: [2, 0, 0, 2] +12 2 3 2 +After: [2, 0, 1, 2] + +Before: [0, 1, 2, 2] +6 0 0 0 +After: [0, 1, 2, 2] + +Before: [2, 2, 2, 3] +3 2 2 1 +After: [2, 4, 2, 3] + +Before: [2, 1, 2, 3] +5 1 2 3 +After: [2, 1, 2, 0] + +Before: [0, 3, 3, 2] +6 0 0 0 +After: [0, 3, 3, 2] + +Before: [3, 0, 3, 1] +7 3 3 0 +After: [0, 0, 3, 1] + +Before: [0, 1, 1, 3] +15 1 3 1 +After: [0, 0, 1, 3] + +Before: [0, 1, 3, 3] +15 1 3 3 +After: [0, 1, 3, 0] + +Before: [2, 3, 2, 2] +4 3 2 0 +After: [0, 3, 2, 2] + +Before: [0, 0, 2, 2] +7 3 3 2 +After: [0, 0, 0, 2] + +Before: [2, 1, 1, 2] +4 2 1 1 +After: [2, 0, 1, 2] + +Before: [1, 2, 0, 3] +2 0 2 0 +After: [0, 2, 0, 3] + +Before: [3, 1, 2, 3] +9 3 0 3 +After: [3, 1, 2, 1] + +Before: [0, 0, 0, 3] +13 0 3 0 +After: [0, 0, 0, 3] + +Before: [1, 2, 2, 1] +8 0 2 2 +After: [1, 2, 0, 1] + +Before: [3, 0, 1, 3] +9 3 0 3 +After: [3, 0, 1, 1] + +Before: [1, 1, 2, 2] +5 1 2 1 +After: [1, 0, 2, 2] + +Before: [1, 0, 2, 1] +11 3 2 0 +After: [1, 0, 2, 1] + +Before: [0, 2, 3, 0] +12 3 2 3 +After: [0, 2, 3, 1] + +Before: [3, 1, 3, 3] +0 1 2 1 +After: [3, 0, 3, 3] + +Before: [3, 1, 0, 2] +7 3 3 0 +After: [0, 1, 0, 2] + +Before: [1, 2, 0, 1] +2 0 2 3 +After: [1, 2, 0, 0] + +Before: [1, 0, 2, 1] +8 0 2 3 +After: [1, 0, 2, 0] + +Before: [2, 0, 2, 0] +10 1 0 1 +After: [2, 0, 2, 0] + +Before: [3, 0, 3, 1] +10 1 0 2 +After: [3, 0, 0, 1] + +Before: [3, 0, 3, 3] +9 3 0 1 +After: [3, 1, 3, 3] + +Before: [0, 1, 3, 1] +13 0 2 1 +After: [0, 0, 3, 1] + +Before: [0, 1, 1, 0] +6 0 0 3 +After: [0, 1, 1, 0] + +Before: [0, 3, 3, 1] +13 0 3 3 +After: [0, 3, 3, 0] + +Before: [1, 3, 0, 3] +2 0 2 0 +After: [0, 3, 0, 3] + +Before: [2, 3, 3, 0] +12 3 2 2 +After: [2, 3, 1, 0] + +Before: [3, 2, 1, 3] +15 1 3 0 +After: [0, 2, 1, 3] + +Before: [1, 3, 2, 1] +8 0 2 2 +After: [1, 3, 0, 1] + +Before: [3, 0, 3, 2] +10 1 0 1 +After: [3, 0, 3, 2] + +Before: [3, 0, 2, 0] +10 1 0 2 +After: [3, 0, 0, 0] + +Before: [2, 2, 3, 0] +14 0 3 1 +After: [2, 1, 3, 0] + +Before: [3, 1, 2, 2] +5 1 2 1 +After: [3, 0, 2, 2] + +Before: [1, 1, 2, 1] +5 1 2 1 +After: [1, 0, 2, 1] + +Before: [1, 2, 2, 1] +11 3 2 2 +After: [1, 2, 1, 1] + +Before: [3, 3, 2, 1] +11 3 2 0 +After: [1, 3, 2, 1] + +Before: [0, 2, 0, 1] +6 0 0 3 +After: [0, 2, 0, 0] + +Before: [2, 1, 2, 1] +11 3 2 2 +After: [2, 1, 1, 1] + +Before: [1, 1, 3, 0] +0 1 2 1 +After: [1, 0, 3, 0] + +Before: [3, 1, 2, 0] +5 1 2 2 +After: [3, 1, 0, 0] + +Before: [0, 1, 2, 1] +5 1 2 2 +After: [0, 1, 0, 1] + +Before: [0, 2, 3, 1] +13 0 1 1 +After: [0, 0, 3, 1] + +Before: [1, 2, 3, 0] +12 3 2 1 +After: [1, 1, 3, 0] + +Before: [1, 0, 3, 0] +12 3 2 0 +After: [1, 0, 3, 0] + +Before: [2, 3, 0, 0] +14 0 3 1 +After: [2, 1, 0, 0] + +Before: [0, 3, 1, 1] +7 3 3 1 +After: [0, 0, 1, 1] + +Before: [3, 1, 3, 2] +0 1 2 3 +After: [3, 1, 3, 0] + +Before: [0, 1, 3, 1] +9 2 3 1 +After: [0, 0, 3, 1] + +Before: [3, 3, 0, 2] +12 2 3 3 +After: [3, 3, 0, 1] + +Before: [1, 3, 2, 1] +11 3 2 0 +After: [1, 3, 2, 1] + +Before: [0, 3, 1, 1] +7 3 3 0 +After: [0, 3, 1, 1] + +Before: [1, 3, 3, 1] +7 3 3 3 +After: [1, 3, 3, 0] + +Before: [2, 1, 2, 2] +5 1 2 3 +After: [2, 1, 2, 0] + +Before: [2, 1, 3, 1] +9 2 3 1 +After: [2, 0, 3, 1] + +Before: [0, 2, 2, 1] +13 0 1 0 +After: [0, 2, 2, 1] + +Before: [0, 1, 2, 1] +11 3 2 0 +After: [1, 1, 2, 1] + +Before: [0, 1, 3, 3] +0 1 2 3 +After: [0, 1, 3, 0] + +Before: [1, 1, 3, 3] +0 1 2 0 +After: [0, 1, 3, 3] + +Before: [1, 0, 1, 2] +1 2 0 1 +After: [1, 2, 1, 2] + +Before: [1, 0, 1, 3] +1 2 0 2 +After: [1, 0, 2, 3] + +Before: [2, 1, 2, 0] +3 0 2 3 +After: [2, 1, 2, 4] + +Before: [3, 0, 2, 2] +7 3 3 0 +After: [0, 0, 2, 2] + +Before: [3, 0, 0, 2] +10 1 0 0 +After: [0, 0, 0, 2] + +Before: [2, 1, 3, 2] +7 3 3 3 +After: [2, 1, 3, 0] + +Before: [2, 0, 2, 1] +4 0 1 1 +After: [2, 1, 2, 1] + +Before: [3, 3, 3, 0] +12 3 2 1 +After: [3, 1, 3, 0] + +Before: [1, 0, 2, 3] +8 0 2 0 +After: [0, 0, 2, 3] + +Before: [0, 1, 1, 3] +15 1 3 0 +After: [0, 1, 1, 3] + +Before: [2, 0, 3, 3] +9 3 2 2 +After: [2, 0, 1, 3] + +Before: [2, 3, 0, 0] +14 0 3 3 +After: [2, 3, 0, 1] + +Before: [2, 3, 2, 1] +11 3 2 3 +After: [2, 3, 2, 1] + +Before: [2, 0, 0, 3] +4 0 1 2 +After: [2, 0, 1, 3] + +Before: [0, 1, 1, 2] +6 0 0 0 +After: [0, 1, 1, 2] + +Before: [1, 0, 3, 0] +12 3 2 1 +After: [1, 1, 3, 0] + +Before: [2, 1, 1, 1] +1 2 3 2 +After: [2, 1, 2, 1] + +Before: [1, 3, 2, 2] +3 2 2 3 +After: [1, 3, 2, 4] + +Before: [0, 1, 1, 1] +1 2 3 1 +After: [0, 2, 1, 1] + +Before: [2, 1, 3, 2] +0 1 2 0 +After: [0, 1, 3, 2] + +Before: [1, 0, 2, 0] +8 0 2 3 +After: [1, 0, 2, 0] + +Before: [0, 3, 2, 3] +3 2 2 2 +After: [0, 3, 4, 3] + +Before: [1, 2, 1, 1] +1 2 3 3 +After: [1, 2, 1, 2] + +Before: [2, 3, 2, 1] +3 2 2 3 +After: [2, 3, 2, 4] + +Before: [3, 1, 1, 1] +1 2 3 2 +After: [3, 1, 2, 1] + +Before: [2, 3, 2, 0] +9 2 0 1 +After: [2, 1, 2, 0] + +Before: [2, 0, 2, 1] +11 3 2 3 +After: [2, 0, 2, 1] + +Before: [1, 1, 2, 0] +3 2 2 2 +After: [1, 1, 4, 0] + +Before: [2, 2, 2, 1] +11 3 2 0 +After: [1, 2, 2, 1] + +Before: [1, 0, 0, 2] +2 0 2 0 +After: [0, 0, 0, 2] + +Before: [1, 0, 3, 0] +12 3 2 3 +After: [1, 0, 3, 1] + +Before: [3, 1, 0, 3] +4 0 2 3 +After: [3, 1, 0, 1] + +Before: [3, 2, 2, 1] +3 2 2 0 +After: [4, 2, 2, 1] + +Before: [3, 1, 2, 3] +5 1 2 3 +After: [3, 1, 2, 0] + +Before: [3, 1, 2, 2] +3 2 2 2 +After: [3, 1, 4, 2] + +Before: [3, 0, 1, 1] +7 3 3 0 +After: [0, 0, 1, 1] + +Before: [1, 0, 3, 0] +12 3 2 2 +After: [1, 0, 1, 0] + +Before: [2, 3, 3, 0] +4 2 0 0 +After: [1, 3, 3, 0] + +Before: [2, 2, 1, 0] +14 0 3 3 +After: [2, 2, 1, 1] + +Before: [1, 2, 0, 3] +2 0 2 1 +After: [1, 0, 0, 3] + +Before: [0, 2, 2, 1] +9 2 1 0 +After: [1, 2, 2, 1] + +Before: [3, 1, 3, 1] +0 1 2 0 +After: [0, 1, 3, 1] + +Before: [0, 1, 2, 3] +6 0 0 0 +After: [0, 1, 2, 3] + +Before: [3, 0, 1, 2] +10 1 0 1 +After: [3, 0, 1, 2] + +Before: [2, 2, 2, 1] +7 3 3 3 +After: [2, 2, 2, 0] + +Before: [3, 0, 1, 3] +10 1 0 0 +After: [0, 0, 1, 3] + +Before: [0, 0, 3, 0] +12 3 2 3 +After: [0, 0, 3, 1] + +Before: [2, 1, 2, 0] +5 1 2 1 +After: [2, 0, 2, 0] + +Before: [2, 2, 2, 3] +15 2 3 2 +After: [2, 2, 0, 3] + +Before: [2, 0, 3, 0] +14 0 3 3 +After: [2, 0, 3, 1] + +Before: [1, 1, 3, 3] +0 1 2 2 +After: [1, 1, 0, 3] + +Before: [0, 1, 1, 2] +6 0 0 3 +After: [0, 1, 1, 0] + +Before: [2, 2, 2, 3] +15 1 3 3 +After: [2, 2, 2, 0] + +Before: [2, 3, 2, 0] +14 0 3 3 +After: [2, 3, 2, 1] + +Before: [0, 1, 3, 3] +0 1 2 1 +After: [0, 0, 3, 3] + +Before: [1, 3, 2, 2] +4 3 2 0 +After: [0, 3, 2, 2] + +Before: [2, 1, 1, 3] +4 2 1 3 +After: [2, 1, 1, 0] + +Before: [2, 1, 0, 0] +14 0 3 3 +After: [2, 1, 0, 1] + +Before: [0, 2, 1, 3] +15 1 3 1 +After: [0, 0, 1, 3] + +Before: [2, 1, 3, 0] +0 1 2 2 +After: [2, 1, 0, 0] + +Before: [1, 2, 0, 2] +12 2 3 0 +After: [1, 2, 0, 2] + +Before: [0, 3, 0, 3] +13 0 3 3 +After: [0, 3, 0, 0] + +Before: [3, 3, 0, 1] +10 2 0 1 +After: [3, 0, 0, 1] + +Before: [2, 1, 1, 0] +14 0 3 3 +After: [2, 1, 1, 1] + +Before: [1, 2, 2, 0] +8 0 2 2 +After: [1, 2, 0, 0] + +Before: [2, 0, 0, 3] +4 0 1 0 +After: [1, 0, 0, 3] + +Before: [1, 1, 2, 1] +5 1 2 2 +After: [1, 1, 0, 1] + +Before: [3, 0, 3, 3] +9 3 2 0 +After: [1, 0, 3, 3] + +Before: [1, 2, 2, 3] +9 2 1 0 +After: [1, 2, 2, 3] + +Before: [2, 3, 2, 0] +14 0 3 0 +After: [1, 3, 2, 0] + +Before: [3, 2, 3, 1] +7 3 3 3 +After: [3, 2, 3, 0] + +Before: [0, 1, 3, 0] +0 1 2 1 +After: [0, 0, 3, 0] + +Before: [3, 3, 0, 3] +9 3 0 2 +After: [3, 3, 1, 3] + +Before: [3, 1, 3, 2] +0 1 2 0 +After: [0, 1, 3, 2] + +Before: [0, 0, 2, 1] +11 3 2 3 +After: [0, 0, 2, 1] + +Before: [0, 2, 1, 3] +13 0 1 3 +After: [0, 2, 1, 0] + +Before: [1, 2, 2, 2] +3 1 2 3 +After: [1, 2, 2, 4] + +Before: [0, 1, 2, 3] +5 1 2 1 +After: [0, 0, 2, 3] + +Before: [2, 0, 3, 2] +10 1 0 0 +After: [0, 0, 3, 2] + +Before: [1, 1, 0, 2] +12 2 3 0 +After: [1, 1, 0, 2] + +Before: [3, 3, 1, 1] +1 2 3 0 +After: [2, 3, 1, 1] + +Before: [1, 1, 0, 3] +2 0 2 3 +After: [1, 1, 0, 0] + +Before: [1, 3, 1, 1] +1 2 0 2 +After: [1, 3, 2, 1] + +Before: [2, 1, 2, 0] +14 0 3 1 +After: [2, 1, 2, 0] + +Before: [2, 0, 2, 1] +4 0 1 3 +After: [2, 0, 2, 1] + +Before: [2, 0, 2, 0] +14 0 3 3 +After: [2, 0, 2, 1] + +Before: [0, 1, 3, 1] +0 1 2 2 +After: [0, 1, 0, 1] + +Before: [1, 1, 2, 2] +3 2 2 1 +After: [1, 4, 2, 2] + +Before: [0, 2, 3, 1] +6 0 0 3 +After: [0, 2, 3, 0] + +Before: [1, 3, 0, 2] +2 0 2 3 +After: [1, 3, 0, 0] + +Before: [1, 0, 1, 1] +1 2 3 3 +After: [1, 0, 1, 2] + +Before: [1, 3, 1, 1] +1 2 3 0 +After: [2, 3, 1, 1] + +Before: [1, 2, 2, 2] +9 2 1 0 +After: [1, 2, 2, 2] + +Before: [2, 1, 3, 0] +14 0 3 1 +After: [2, 1, 3, 0] + +Before: [1, 2, 1, 3] +1 2 0 0 +After: [2, 2, 1, 3] + +Before: [1, 0, 0, 0] +2 0 2 2 +After: [1, 0, 0, 0] + +Before: [2, 0, 2, 2] +3 2 2 0 +After: [4, 0, 2, 2] + +Before: [2, 0, 3, 2] +4 0 1 3 +After: [2, 0, 3, 1] + +Before: [2, 1, 2, 1] +5 1 2 3 +After: [2, 1, 2, 0] + +Before: [1, 2, 2, 3] +15 2 3 1 +After: [1, 0, 2, 3] + +Before: [0, 3, 2, 1] +6 0 0 2 +After: [0, 3, 0, 1] + +Before: [1, 0, 0, 3] +2 0 2 2 +After: [1, 0, 0, 3] + +Before: [1, 3, 2, 2] +8 0 2 0 +After: [0, 3, 2, 2] + +Before: [0, 2, 1, 1] +6 0 0 1 +After: [0, 0, 1, 1] + +Before: [2, 0, 2, 3] +9 2 0 1 +After: [2, 1, 2, 3] + +Before: [2, 1, 2, 0] +14 0 3 2 +After: [2, 1, 1, 0] + +Before: [1, 0, 1, 2] +1 2 0 3 +After: [1, 0, 1, 2] + +Before: [2, 2, 3, 0] +12 3 2 3 +After: [2, 2, 3, 1] + +Before: [3, 3, 3, 3] +9 3 2 1 +After: [3, 1, 3, 3] + +Before: [0, 2, 2, 2] +3 1 2 3 +After: [0, 2, 2, 4] + +Before: [2, 2, 2, 1] +9 2 1 1 +After: [2, 1, 2, 1] + +Before: [1, 3, 0, 0] +2 0 2 1 +After: [1, 0, 0, 0] + +Before: [2, 1, 2, 0] +14 0 3 0 +After: [1, 1, 2, 0] + +Before: [1, 3, 0, 1] +2 0 2 3 +After: [1, 3, 0, 0] + +Before: [1, 3, 1, 1] +1 2 3 1 +After: [1, 2, 1, 1] + +Before: [1, 3, 0, 3] +2 0 2 1 +After: [1, 0, 0, 3] + +Before: [3, 1, 2, 3] +15 2 3 2 +After: [3, 1, 0, 3] + +Before: [2, 3, 3, 3] +9 3 2 0 +After: [1, 3, 3, 3] + +Before: [0, 1, 3, 1] +0 1 2 3 +After: [0, 1, 3, 0] + +Before: [1, 0, 1, 1] +1 2 0 1 +After: [1, 2, 1, 1] + +Before: [1, 0, 2, 1] +8 0 2 0 +After: [0, 0, 2, 1] + +Before: [1, 2, 2, 2] +8 0 2 1 +After: [1, 0, 2, 2] + +Before: [3, 2, 1, 3] +9 3 0 0 +After: [1, 2, 1, 3] + +Before: [2, 1, 3, 2] +0 1 2 3 +After: [2, 1, 3, 0] + +Before: [2, 2, 2, 0] +3 2 2 0 +After: [4, 2, 2, 0] + +Before: [3, 3, 2, 3] +15 2 3 1 +After: [3, 0, 2, 3] + +Before: [3, 0, 1, 1] +10 1 0 3 +After: [3, 0, 1, 0] + +Before: [0, 1, 3, 3] +6 0 0 1 +After: [0, 0, 3, 3] + +Before: [0, 0, 3, 3] +9 3 2 0 +After: [1, 0, 3, 3] + +Before: [0, 2, 1, 1] +1 2 3 0 +After: [2, 2, 1, 1] + +Before: [2, 3, 1, 0] +14 0 3 1 +After: [2, 1, 1, 0] + +Before: [3, 0, 0, 3] +9 3 0 1 +After: [3, 1, 0, 3] + +Before: [0, 0, 0, 2] +6 0 0 0 +After: [0, 0, 0, 2] + +Before: [1, 3, 2, 0] +8 0 2 3 +After: [1, 3, 2, 0] + +Before: [0, 3, 1, 1] +13 0 3 1 +After: [0, 0, 1, 1] + +Before: [1, 2, 1, 1] +1 2 3 0 +After: [2, 2, 1, 1] + +Before: [0, 1, 1, 2] +13 0 1 3 +After: [0, 1, 1, 0] + +Before: [1, 2, 0, 0] +2 0 2 0 +After: [0, 2, 0, 0] + +Before: [0, 0, 0, 0] +6 0 0 1 +After: [0, 0, 0, 0] + +Before: [0, 0, 3, 0] +12 3 2 0 +After: [1, 0, 3, 0] + +Before: [0, 3, 2, 2] +4 3 2 3 +After: [0, 3, 2, 0] + +Before: [3, 3, 3, 2] +7 3 3 2 +After: [3, 3, 0, 2] + +Before: [0, 2, 0, 1] +13 0 3 1 +After: [0, 0, 0, 1] + +Before: [3, 1, 3, 1] +0 1 2 3 +After: [3, 1, 3, 0] + +Before: [3, 1, 2, 0] +5 1 2 1 +After: [3, 0, 2, 0] + +Before: [0, 1, 2, 0] +5 1 2 0 +After: [0, 1, 2, 0] + +Before: [0, 1, 3, 3] +0 1 2 2 +After: [0, 1, 0, 3] + +Before: [1, 0, 0, 2] +2 0 2 1 +After: [1, 0, 0, 2] + +Before: [2, 3, 1, 3] +15 2 3 2 +After: [2, 3, 0, 3] + +Before: [2, 2, 1, 2] +7 3 3 1 +After: [2, 0, 1, 2] + +Before: [0, 1, 0, 2] +7 3 3 3 +After: [0, 1, 0, 0] + +Before: [1, 1, 2, 2] +3 3 2 2 +After: [1, 1, 4, 2] + +Before: [2, 0, 1, 1] +1 2 3 1 +After: [2, 2, 1, 1] + +Before: [1, 2, 0, 1] +2 0 2 2 +After: [1, 2, 0, 1] + +Before: [0, 1, 1, 0] +6 0 0 2 +After: [0, 1, 0, 0] + +Before: [2, 0, 2, 3] +3 0 2 1 +After: [2, 4, 2, 3] + +Before: [0, 1, 2, 0] +5 1 2 1 +After: [0, 0, 2, 0] + +Before: [2, 2, 2, 3] +3 0 2 0 +After: [4, 2, 2, 3] + +Before: [1, 1, 2, 3] +15 2 3 0 +After: [0, 1, 2, 3] + +Before: [0, 1, 2, 1] +3 2 2 2 +After: [0, 1, 4, 1] + +Before: [2, 1, 2, 3] +5 1 2 2 +After: [2, 1, 0, 3] + +Before: [3, 3, 0, 2] +12 2 3 0 +After: [1, 3, 0, 2] + +Before: [3, 1, 3, 1] +0 1 2 1 +After: [3, 0, 3, 1] + +Before: [3, 0, 3, 0] +12 3 2 1 +After: [3, 1, 3, 0] + +Before: [2, 2, 2, 0] +14 0 3 1 +After: [2, 1, 2, 0] + +Before: [1, 1, 0, 1] +2 0 2 0 +After: [0, 1, 0, 1] + +Before: [3, 3, 1, 1] +1 2 3 3 +After: [3, 3, 1, 2] + +Before: [0, 3, 0, 2] +12 2 3 1 +After: [0, 1, 0, 2] + +Before: [1, 1, 2, 2] +3 2 2 0 +After: [4, 1, 2, 2] + +Before: [3, 2, 2, 1] +11 3 2 3 +After: [3, 2, 2, 1] + +Before: [0, 1, 2, 1] +13 0 1 3 +After: [0, 1, 2, 0] + +Before: [1, 1, 1, 2] +1 2 0 1 +After: [1, 2, 1, 2] + +Before: [0, 3, 2, 1] +11 3 2 2 +After: [0, 3, 1, 1] + +Before: [1, 1, 3, 3] +0 1 2 3 +After: [1, 1, 3, 0] + +Before: [3, 1, 0, 2] +4 0 2 0 +After: [1, 1, 0, 2] + +Before: [1, 1, 3, 0] +0 1 2 2 +After: [1, 1, 0, 0] + +Before: [1, 2, 0, 2] +2 0 2 1 +After: [1, 0, 0, 2] + +Before: [1, 0, 1, 2] +1 2 0 0 +After: [2, 0, 1, 2] + +Before: [3, 1, 2, 1] +5 1 2 0 +After: [0, 1, 2, 1] + +Before: [2, 2, 2, 1] +11 3 2 2 +After: [2, 2, 1, 1] + +Before: [0, 1, 2, 0] +5 1 2 3 +After: [0, 1, 2, 0] + +Before: [3, 3, 1, 2] +7 3 3 1 +After: [3, 0, 1, 2] + +Before: [3, 1, 2, 2] +5 1 2 2 +After: [3, 1, 0, 2] + +Before: [1, 3, 0, 3] +2 0 2 3 +After: [1, 3, 0, 0] + +Before: [1, 1, 2, 0] +5 1 2 0 +After: [0, 1, 2, 0] + +Before: [1, 1, 2, 2] +3 3 2 1 +After: [1, 4, 2, 2] + +Before: [3, 0, 2, 1] +10 1 0 0 +After: [0, 0, 2, 1] + +Before: [0, 0, 1, 1] +1 2 3 1 +After: [0, 2, 1, 1] + +Before: [0, 3, 2, 1] +11 3 2 0 +After: [1, 3, 2, 1] + +Before: [3, 3, 0, 3] +10 2 0 1 +After: [3, 0, 0, 3] + +Before: [2, 2, 3, 1] +9 2 3 2 +After: [2, 2, 0, 1] + +Before: [1, 1, 2, 1] +8 0 2 2 +After: [1, 1, 0, 1] + +Before: [2, 1, 2, 1] +5 1 2 0 +After: [0, 1, 2, 1] + +Before: [3, 1, 3, 0] +12 3 2 0 +After: [1, 1, 3, 0] + +Before: [1, 0, 0, 2] +12 2 3 2 +After: [1, 0, 1, 2] + +Before: [1, 3, 2, 1] +8 0 2 0 +After: [0, 3, 2, 1] + +Before: [3, 2, 2, 3] +3 1 2 2 +After: [3, 2, 4, 3] + +Before: [0, 2, 2, 2] +4 3 2 3 +After: [0, 2, 2, 0] + +Before: [3, 1, 2, 1] +5 1 2 3 +After: [3, 1, 2, 0] + +Before: [0, 2, 0, 2] +6 0 0 2 +After: [0, 2, 0, 2] + +Before: [3, 1, 0, 3] +15 1 3 1 +After: [3, 0, 0, 3] + +Before: [2, 2, 2, 0] +3 0 2 0 +After: [4, 2, 2, 0] + +Before: [0, 0, 0, 2] +12 2 3 1 +After: [0, 1, 0, 2] + +Before: [3, 1, 3, 3] +9 3 0 1 +After: [3, 1, 3, 3] + +Before: [1, 0, 2, 1] +11 3 2 3 +After: [1, 0, 2, 1] + +Before: [2, 1, 0, 0] +14 0 3 2 +After: [2, 1, 1, 0] + +Before: [3, 0, 2, 2] +10 1 0 1 +After: [3, 0, 2, 2] + +Before: [2, 2, 1, 1] +1 2 3 1 +After: [2, 2, 1, 1] + +Before: [0, 2, 2, 3] +15 1 3 2 +After: [0, 2, 0, 3] + +Before: [1, 3, 0, 3] +2 0 2 2 +After: [1, 3, 0, 3] + +Before: [3, 1, 2, 1] +11 3 2 0 +After: [1, 1, 2, 1] + +Before: [2, 1, 2, 1] +11 3 2 0 +After: [1, 1, 2, 1] + +Before: [1, 1, 2, 3] +8 0 2 1 +After: [1, 0, 2, 3] + +Before: [2, 1, 2, 3] +5 1 2 0 +After: [0, 1, 2, 3] + +Before: [1, 1, 0, 2] +7 3 3 1 +After: [1, 0, 0, 2] + +Before: [0, 0, 2, 3] +15 2 3 2 +After: [0, 0, 0, 3] + +Before: [1, 3, 0, 0] +2 0 2 0 +After: [0, 3, 0, 0] + +Before: [3, 2, 2, 2] +9 2 1 3 +After: [3, 2, 2, 1] + +Before: [2, 3, 3, 0] +12 3 2 3 +After: [2, 3, 3, 1] + +Before: [3, 0, 1, 1] +7 2 3 0 +After: [0, 0, 1, 1] + +Before: [3, 1, 3, 0] +0 1 2 0 +After: [0, 1, 3, 0] + +Before: [0, 2, 2, 1] +11 3 2 2 +After: [0, 2, 1, 1] + +Before: [1, 1, 1, 3] +15 1 3 2 +After: [1, 1, 0, 3] + +Before: [2, 3, 3, 1] +9 2 3 2 +After: [2, 3, 0, 1] + +Before: [0, 2, 0, 3] +6 0 0 0 +After: [0, 2, 0, 3] + +Before: [2, 3, 1, 0] +14 0 3 0 +After: [1, 3, 1, 0] + +Before: [2, 3, 2, 0] +14 0 3 2 +After: [2, 3, 1, 0] + +Before: [0, 3, 1, 1] +6 0 0 2 +After: [0, 3, 0, 1] + +Before: [2, 0, 1, 1] +1 2 3 3 +After: [2, 0, 1, 2] + +Before: [1, 2, 1, 3] +1 2 0 1 +After: [1, 2, 1, 3] + +Before: [3, 1, 2, 1] +5 1 2 2 +After: [3, 1, 0, 1] + +Before: [1, 3, 2, 3] +8 0 2 0 +After: [0, 3, 2, 3] + +Before: [3, 1, 0, 1] +4 3 1 0 +After: [0, 1, 0, 1] + +Before: [0, 3, 2, 1] +11 3 2 1 +After: [0, 1, 2, 1] + +Before: [2, 1, 3, 2] +0 1 2 2 +After: [2, 1, 0, 2] + +Before: [2, 2, 1, 0] +14 0 3 0 +After: [1, 2, 1, 0] + +Before: [1, 2, 2, 1] +11 3 2 1 +After: [1, 1, 2, 1] + +Before: [2, 2, 2, 0] +14 0 3 3 +After: [2, 2, 2, 1] + +Before: [3, 1, 1, 1] +1 2 3 3 +After: [3, 1, 1, 2] + +Before: [1, 2, 2, 1] +11 3 2 0 +After: [1, 2, 2, 1] + +Before: [3, 3, 0, 2] +4 0 2 1 +After: [3, 1, 0, 2] + +Before: [0, 1, 0, 1] +6 0 0 1 +After: [0, 0, 0, 1] + +Before: [3, 3, 2, 3] +9 3 0 0 +After: [1, 3, 2, 3] + +Before: [0, 2, 1, 3] +13 0 2 3 +After: [0, 2, 1, 0] + +Before: [0, 2, 1, 1] +6 0 0 3 +After: [0, 2, 1, 0] + +Before: [1, 2, 0, 0] +2 0 2 3 +After: [1, 2, 0, 0] + +Before: [2, 1, 0, 2] +7 3 3 0 +After: [0, 1, 0, 2] + +Before: [3, 1, 2, 1] +11 3 2 3 +After: [3, 1, 2, 1] + +Before: [0, 2, 0, 1] +6 0 0 2 +After: [0, 2, 0, 1] + +Before: [1, 2, 2, 1] +8 0 2 3 +After: [1, 2, 2, 0] + +Before: [0, 0, 2, 2] +6 0 0 0 +After: [0, 0, 2, 2] + +Before: [0, 2, 3, 1] +6 0 0 2 +After: [0, 2, 0, 1] + +Before: [3, 2, 0, 2] +12 2 3 3 +After: [3, 2, 0, 1] + +Before: [2, 1, 3, 0] +12 3 2 1 +After: [2, 1, 3, 0] + +Before: [3, 1, 1, 0] +4 2 1 1 +After: [3, 0, 1, 0] + +Before: [2, 1, 2, 1] +11 3 2 3 +After: [2, 1, 2, 1] + +Before: [1, 0, 2, 0] +8 0 2 1 +After: [1, 0, 2, 0] + +Before: [3, 0, 2, 0] +3 2 2 0 +After: [4, 0, 2, 0] + +Before: [2, 2, 1, 3] +15 2 3 2 +After: [2, 2, 0, 3] + +Before: [1, 0, 3, 1] +7 3 3 1 +After: [1, 0, 3, 1] + +Before: [0, 1, 2, 1] +11 3 2 2 +After: [0, 1, 1, 1] + +Before: [1, 0, 1, 0] +1 2 0 1 +After: [1, 2, 1, 0] + +Before: [0, 1, 3, 3] +13 0 1 1 +After: [0, 0, 3, 3] + +Before: [1, 3, 0, 0] +2 0 2 2 +After: [1, 3, 0, 0] + +Before: [0, 1, 1, 1] +13 0 1 0 +After: [0, 1, 1, 1] + +Before: [1, 0, 1, 2] +1 2 0 2 +After: [1, 0, 2, 2] + +Before: [0, 3, 2, 1] +13 0 1 3 +After: [0, 3, 2, 0] + +Before: [2, 0, 0, 0] +14 0 3 2 +After: [2, 0, 1, 0] + +Before: [1, 1, 1, 1] +1 2 0 0 +After: [2, 1, 1, 1] + +Before: [3, 0, 1, 3] +10 1 0 1 +After: [3, 0, 1, 3] + +Before: [1, 2, 1, 2] +7 3 3 1 +After: [1, 0, 1, 2] + +Before: [0, 1, 2, 2] +5 1 2 1 +After: [0, 0, 2, 2] + +Before: [0, 0, 2, 1] +6 0 0 0 +After: [0, 0, 2, 1] + +Before: [1, 1, 0, 2] +2 0 2 3 +After: [1, 1, 0, 0] + +Before: [2, 2, 3, 0] +14 0 3 2 +After: [2, 2, 1, 0] + +Before: [1, 1, 3, 1] +0 1 2 2 +After: [1, 1, 0, 1] + +Before: [1, 3, 1, 1] +7 3 3 0 +After: [0, 3, 1, 1] + +Before: [0, 0, 3, 0] +6 0 0 1 +After: [0, 0, 3, 0] + +Before: [3, 1, 3, 0] +0 1 2 1 +After: [3, 0, 3, 0] + +Before: [1, 2, 2, 1] +8 0 2 1 +After: [1, 0, 2, 1] + +Before: [1, 2, 0, 3] +2 0 2 2 +After: [1, 2, 0, 3] + +Before: [1, 1, 0, 2] +12 2 3 1 +After: [1, 1, 0, 2] + +Before: [0, 0, 3, 0] +12 3 2 2 +After: [0, 0, 1, 0] + +Before: [1, 2, 0, 2] +2 0 2 3 +After: [1, 2, 0, 0] + +Before: [0, 2, 3, 1] +13 0 3 3 +After: [0, 2, 3, 0] + +Before: [0, 2, 2, 1] +11 3 2 0 +After: [1, 2, 2, 1] + +Before: [1, 3, 2, 2] +8 0 2 3 +After: [1, 3, 2, 0] + +Before: [1, 1, 1, 3] +1 2 0 1 +After: [1, 2, 1, 3] + +Before: [3, 0, 0, 1] +10 1 0 0 +After: [0, 0, 0, 1] + +Before: [2, 1, 1, 1] +7 2 3 0 +After: [0, 1, 1, 1] + +Before: [0, 1, 2, 2] +5 1 2 0 +After: [0, 1, 2, 2] + +Before: [0, 2, 1, 2] +6 0 0 1 +After: [0, 0, 1, 2] + +Before: [0, 3, 3, 1] +7 3 3 2 +After: [0, 3, 0, 1] + +Before: [1, 1, 2, 1] +8 0 2 1 +After: [1, 0, 2, 1] + +Before: [1, 1, 2, 1] +11 3 2 3 +After: [1, 1, 2, 1] + +Before: [0, 1, 1, 3] +13 0 2 2 +After: [0, 1, 0, 3] + +Before: [2, 2, 2, 2] +3 1 2 0 +After: [4, 2, 2, 2] + +Before: [0, 3, 1, 1] +1 2 3 0 +After: [2, 3, 1, 1] + +Before: [1, 1, 0, 3] +2 0 2 2 +After: [1, 1, 0, 3] + +Before: [2, 1, 3, 1] +0 1 2 0 +After: [0, 1, 3, 1] + +Before: [1, 1, 0, 0] +2 0 2 1 +After: [1, 0, 0, 0] + +Before: [3, 2, 1, 1] +1 2 3 2 +After: [3, 2, 2, 1] + +Before: [2, 3, 2, 3] +9 2 0 3 +After: [2, 3, 2, 1] + +Before: [0, 0, 0, 1] +6 0 0 3 +After: [0, 0, 0, 0] + +Before: [2, 2, 3, 3] +15 1 3 3 +After: [2, 2, 3, 0] + +Before: [1, 0, 2, 3] +8 0 2 3 +After: [1, 0, 2, 0] + +Before: [1, 1, 0, 2] +2 0 2 0 +After: [0, 1, 0, 2] + +Before: [1, 1, 0, 2] +2 0 2 1 +After: [1, 0, 0, 2] + +Before: [0, 0, 0, 1] +6 0 0 1 +After: [0, 0, 0, 1] + +Before: [1, 3, 2, 1] +8 0 2 1 +After: [1, 0, 2, 1] + +Before: [2, 0, 1, 0] +10 1 0 2 +After: [2, 0, 0, 0] + +Before: [1, 2, 0, 1] +2 0 2 0 +After: [0, 2, 0, 1] + +Before: [0, 2, 2, 3] +15 1 3 3 +After: [0, 2, 2, 0] + +Before: [2, 1, 2, 3] +5 1 2 1 +After: [2, 0, 2, 3] + +Before: [1, 3, 2, 1] +8 0 2 3 +After: [1, 3, 2, 0] + +Before: [1, 1, 2, 2] +5 1 2 3 +After: [1, 1, 2, 0] + +Before: [0, 1, 2, 1] +4 3 1 1 +After: [0, 0, 2, 1] + +Before: [3, 1, 3, 0] +0 1 2 2 +After: [3, 1, 0, 0] + +Before: [2, 0, 2, 2] +3 0 2 0 +After: [4, 0, 2, 2] + +Before: [0, 1, 3, 1] +0 1 2 0 +After: [0, 1, 3, 1] + +Before: [2, 1, 2, 2] +5 1 2 1 +After: [2, 0, 2, 2] + +Before: [1, 3, 0, 0] +2 0 2 3 +After: [1, 3, 0, 0] + +Before: [1, 2, 2, 3] +3 2 2 0 +After: [4, 2, 2, 3] + +Before: [0, 3, 2, 0] +6 0 0 2 +After: [0, 3, 0, 0] + +Before: [0, 3, 2, 3] +13 0 3 3 +After: [0, 3, 2, 0] + +Before: [3, 0, 0, 0] +4 0 2 3 +After: [3, 0, 0, 1] + +Before: [2, 3, 2, 2] +4 3 2 1 +After: [2, 0, 2, 2] + +Before: [2, 2, 2, 0] +3 0 2 2 +After: [2, 2, 4, 0] + +Before: [3, 0, 3, 3] +9 3 0 3 +After: [3, 0, 3, 1] + +Before: [0, 1, 2, 2] +13 0 1 3 +After: [0, 1, 2, 0] + +Before: [1, 1, 1, 1] +1 2 3 3 +After: [1, 1, 1, 2] + +Before: [2, 2, 3, 2] +4 2 0 0 +After: [1, 2, 3, 2] + +Before: [3, 1, 3, 3] +15 1 3 0 +After: [0, 1, 3, 3] + +Before: [0, 1, 1, 3] +6 0 0 1 +After: [0, 0, 1, 3] + +Before: [0, 3, 1, 1] +6 0 0 1 +After: [0, 0, 1, 1] + +Before: [3, 0, 0, 3] +9 3 0 2 +After: [3, 0, 1, 3] + +Before: [0, 3, 3, 1] +9 2 3 2 +After: [0, 3, 0, 1] + +Before: [2, 0, 1, 0] +14 0 3 3 +After: [2, 0, 1, 1] + +Before: [0, 2, 3, 0] +6 0 0 3 +After: [0, 2, 3, 0] + +Before: [1, 3, 0, 2] +2 0 2 1 +After: [1, 0, 0, 2] + +Before: [1, 1, 2, 1] +11 3 2 0 +After: [1, 1, 2, 1] + +Before: [1, 1, 2, 3] +8 0 2 0 +After: [0, 1, 2, 3] + +Before: [3, 1, 2, 2] +5 1 2 3 +After: [3, 1, 2, 0] + +Before: [1, 0, 0, 2] +2 0 2 2 +After: [1, 0, 0, 2] + +Before: [2, 0, 3, 0] +12 3 2 3 +After: [2, 0, 3, 1] + +Before: [1, 1, 2, 1] +8 0 2 3 +After: [1, 1, 2, 0] + +Before: [1, 1, 2, 0] +8 0 2 1 +After: [1, 0, 2, 0] + +Before: [3, 1, 2, 2] +5 1 2 0 +After: [0, 1, 2, 2] + +Before: [1, 2, 2, 2] +8 0 2 3 +After: [1, 2, 2, 0] + +Before: [3, 3, 0, 0] +10 2 0 2 +After: [3, 3, 0, 0] + +Before: [0, 3, 2, 2] +6 0 0 2 +After: [0, 3, 0, 2] + +Before: [3, 0, 3, 1] +10 1 0 0 +After: [0, 0, 3, 1] + +Before: [2, 3, 1, 1] +7 2 3 1 +After: [2, 0, 1, 1] + +Before: [3, 1, 2, 3] +3 2 2 1 +After: [3, 4, 2, 3] + +Before: [0, 2, 2, 3] +15 1 3 1 +After: [0, 0, 2, 3] + +Before: [0, 3, 2, 1] +6 0 0 0 +After: [0, 3, 2, 1] + +Before: [0, 1, 3, 0] +6 0 0 3 +After: [0, 1, 3, 0] + +Before: [1, 3, 2, 1] +7 3 3 1 +After: [1, 0, 2, 1] + +Before: [1, 0, 0, 1] +2 0 2 1 +After: [1, 0, 0, 1] + +Before: [3, 1, 0, 2] +12 2 3 3 +After: [3, 1, 0, 1] + +Before: [3, 0, 2, 3] +10 1 0 0 +After: [0, 0, 2, 3] + +Before: [3, 2, 2, 1] +11 3 2 0 +After: [1, 2, 2, 1] + +Before: [1, 1, 2, 3] +5 1 2 1 +After: [1, 0, 2, 3] + +Before: [1, 1, 0, 1] +2 0 2 3 +After: [1, 1, 0, 0] + +Before: [2, 1, 2, 2] +5 1 2 0 +After: [0, 1, 2, 2] + +Before: [0, 3, 3, 1] +6 0 0 3 +After: [0, 3, 3, 0] + +Before: [3, 2, 2, 3] +9 2 1 3 +After: [3, 2, 2, 1] + +Before: [1, 1, 2, 1] +8 0 2 0 +After: [0, 1, 2, 1] + +Before: [2, 2, 1, 0] +14 0 3 2 +After: [2, 2, 1, 0] + +Before: [3, 2, 2, 3] +9 2 1 2 +After: [3, 2, 1, 3] + +Before: [1, 2, 2, 2] +8 0 2 2 +After: [1, 2, 0, 2] + +Before: [1, 0, 2, 2] +8 0 2 0 +After: [0, 0, 2, 2] + +Before: [1, 3, 0, 1] +2 0 2 1 +After: [1, 0, 0, 1] + +Before: [3, 2, 3, 3] +15 1 3 3 +After: [3, 2, 3, 0] + +Before: [0, 2, 0, 3] +6 0 0 1 +After: [0, 0, 0, 3] + +Before: [2, 1, 3, 1] +0 1 2 1 +After: [2, 0, 3, 1] + +Before: [1, 3, 0, 1] +2 0 2 0 +After: [0, 3, 0, 1] + +Before: [2, 1, 2, 1] +5 1 2 1 +After: [2, 0, 2, 1] + +Before: [1, 3, 0, 2] +12 2 3 2 +After: [1, 3, 1, 2] + +Before: [0, 3, 0, 1] +13 0 1 2 +After: [0, 3, 0, 1] + +Before: [3, 3, 0, 1] +7 3 3 3 +After: [3, 3, 0, 0] + +Before: [0, 3, 0, 0] +13 0 1 2 +After: [0, 3, 0, 0] + +Before: [2, 1, 1, 0] +4 2 1 3 +After: [2, 1, 1, 0] + +Before: [3, 0, 0, 3] +10 1 0 1 +After: [3, 0, 0, 3] + +Before: [2, 0, 2, 3] +15 2 3 0 +After: [0, 0, 2, 3] + +Before: [1, 0, 0, 2] +2 0 2 3 +After: [1, 0, 0, 0] + +Before: [1, 1, 0, 3] +2 0 2 0 +After: [0, 1, 0, 3] + +Before: [3, 0, 0, 0] +10 2 0 3 +After: [3, 0, 0, 0] + +Before: [3, 0, 2, 1] +11 3 2 0 +After: [1, 0, 2, 1] + +Before: [3, 0, 0, 3] +10 2 0 2 +After: [3, 0, 0, 3] + + + +13 0 0 0 +3 0 2 0 +8 3 0 1 +13 0 0 3 +3 3 1 3 +4 0 1 0 +13 0 1 0 +1 2 0 2 +8 2 1 3 +8 1 2 0 +13 0 0 1 +3 1 0 1 +2 0 3 1 +13 1 3 1 +13 1 3 1 +1 2 1 2 +11 2 0 0 +8 3 0 2 +8 3 2 1 +8 0 0 3 +12 3 2 2 +13 2 2 2 +13 2 1 2 +1 0 2 0 +11 0 3 1 +8 3 1 3 +8 0 2 2 +8 0 3 0 +0 3 2 3 +13 3 1 3 +1 1 3 1 +11 1 1 3 +8 3 1 0 +8 0 2 1 +13 3 0 2 +3 2 2 2 +4 2 0 1 +13 1 3 1 +1 3 1 3 +11 3 2 1 +8 0 2 3 +8 1 0 0 +15 3 2 2 +13 2 3 2 +1 1 2 1 +11 1 2 3 +8 3 0 1 +8 2 0 2 +11 0 2 2 +13 2 3 2 +1 2 3 3 +11 3 2 0 +13 2 0 2 +3 2 3 2 +8 3 1 3 +0 3 2 3 +13 3 1 3 +1 3 0 0 +11 0 3 1 +8 2 2 3 +8 2 1 2 +8 3 0 0 +4 2 0 3 +13 3 1 3 +1 3 1 1 +11 1 0 2 +8 3 3 3 +8 2 2 0 +13 1 0 1 +3 1 0 1 +5 3 0 3 +13 3 1 3 +1 2 3 2 +11 2 3 1 +8 1 1 0 +8 0 2 3 +8 2 0 2 +11 0 2 3 +13 3 1 3 +1 3 1 1 +13 2 0 3 +3 3 3 3 +8 2 3 0 +13 2 0 2 +3 2 3 2 +7 0 2 3 +13 3 3 3 +1 3 1 1 +8 2 0 2 +13 3 0 3 +3 3 1 3 +2 3 0 0 +13 0 2 0 +13 0 1 0 +1 1 0 1 +8 2 3 0 +8 2 0 3 +10 2 3 2 +13 2 3 2 +13 2 3 2 +1 2 1 1 +11 1 1 0 +8 0 1 1 +8 1 0 3 +13 2 0 2 +3 2 0 2 +3 3 1 3 +13 3 3 3 +1 0 3 0 +11 0 2 2 +8 2 0 3 +13 0 0 0 +3 0 2 0 +9 0 3 0 +13 0 1 0 +13 0 2 0 +1 2 0 2 +8 3 1 1 +8 3 2 3 +8 2 1 0 +5 1 0 0 +13 0 1 0 +1 2 0 2 +11 2 1 3 +8 2 3 0 +13 1 0 2 +3 2 2 2 +8 1 2 1 +2 1 0 2 +13 2 3 2 +1 3 2 3 +11 3 3 2 +8 1 3 0 +8 3 0 3 +1 1 0 3 +13 3 3 3 +1 2 3 2 +11 2 2 1 +8 3 3 3 +8 2 2 2 +11 0 2 0 +13 0 2 0 +13 0 3 0 +1 0 1 1 +11 1 1 0 +8 2 3 3 +8 2 1 1 +10 1 3 3 +13 3 2 3 +1 0 3 0 +11 0 2 2 +8 1 2 0 +8 3 2 3 +1 0 0 3 +13 3 2 3 +13 3 1 3 +1 2 3 2 +11 2 2 0 +8 1 1 1 +13 2 0 2 +3 2 2 2 +13 2 0 3 +3 3 0 3 +15 3 2 1 +13 1 1 1 +13 1 2 1 +1 1 0 0 +11 0 0 3 +8 1 1 2 +13 0 0 1 +3 1 2 1 +8 3 3 0 +0 0 2 0 +13 0 1 0 +13 0 2 0 +1 3 0 3 +11 3 0 0 +8 1 3 1 +8 2 0 3 +8 0 1 2 +13 1 2 3 +13 3 1 3 +1 3 0 0 +13 1 0 3 +3 3 0 3 +8 3 0 2 +8 0 2 1 +12 3 2 3 +13 3 1 3 +13 3 2 3 +1 0 3 0 +11 0 3 2 +8 0 0 3 +13 1 0 0 +3 0 1 0 +8 2 1 1 +10 1 3 1 +13 1 2 1 +1 1 2 2 +11 2 1 3 +8 2 0 2 +8 2 3 1 +11 0 2 2 +13 2 2 2 +13 2 2 2 +1 2 3 3 +11 3 3 2 +8 1 0 3 +13 0 0 1 +3 1 0 1 +3 3 1 3 +13 3 1 3 +1 3 2 2 +11 2 3 1 +8 2 1 2 +8 2 3 3 +11 0 2 2 +13 2 1 2 +1 2 1 1 +11 1 2 2 +8 1 0 3 +13 3 0 0 +3 0 2 0 +8 0 1 1 +14 0 3 1 +13 1 3 1 +1 1 2 2 +11 2 2 1 +8 1 1 0 +8 3 1 2 +1 0 0 0 +13 0 1 0 +1 0 1 1 +13 2 0 0 +3 0 3 0 +13 3 0 2 +3 2 1 2 +8 0 3 3 +0 0 2 2 +13 2 1 2 +1 1 2 1 +11 1 3 0 +8 1 1 3 +8 2 1 2 +8 3 3 1 +3 3 1 3 +13 3 2 3 +1 3 0 0 +8 1 0 2 +8 2 1 1 +8 0 3 3 +10 1 3 1 +13 1 1 1 +1 0 1 0 +11 0 3 3 +8 3 0 1 +8 1 1 0 +8 0 1 2 +3 0 1 2 +13 2 1 2 +1 2 3 3 +13 2 0 2 +3 2 3 2 +8 2 2 0 +5 1 0 2 +13 2 2 2 +1 3 2 3 +11 3 0 0 +8 2 2 2 +8 2 1 3 +5 1 3 3 +13 3 1 3 +1 3 0 0 +11 0 1 1 +8 3 0 2 +8 1 2 0 +8 0 1 3 +8 2 3 3 +13 3 3 3 +1 3 1 1 +8 2 3 2 +8 3 3 0 +8 1 3 3 +6 2 0 0 +13 0 2 0 +13 0 1 0 +1 1 0 1 +11 1 3 3 +8 1 2 0 +13 2 0 1 +3 1 3 1 +4 2 1 2 +13 2 1 2 +1 2 3 3 +8 3 0 0 +8 2 3 2 +4 2 0 1 +13 1 1 1 +1 3 1 3 +11 3 1 0 +8 2 3 1 +8 0 1 3 +15 3 2 1 +13 1 1 1 +13 1 1 1 +1 1 0 0 +11 0 1 1 +8 0 3 0 +15 3 2 3 +13 3 2 3 +13 3 3 3 +1 1 3 1 +13 3 0 0 +3 0 2 0 +8 0 2 2 +13 1 0 3 +3 3 1 3 +13 3 2 0 +13 0 3 0 +1 1 0 1 +8 0 0 3 +8 3 2 0 +7 2 0 0 +13 0 3 0 +1 0 1 1 +11 1 1 2 +8 1 0 0 +8 1 1 3 +8 1 2 1 +1 3 0 3 +13 3 3 3 +1 3 2 2 +11 2 1 3 +8 0 2 1 +8 0 3 2 +13 0 2 1 +13 1 1 1 +13 1 1 1 +1 3 1 3 +11 3 1 1 +8 3 3 2 +8 0 3 3 +8 2 0 0 +10 0 3 3 +13 3 2 3 +1 3 1 1 +11 1 0 3 +8 2 2 1 +8 2 2 2 +8 3 1 0 +4 2 0 2 +13 2 1 2 +1 3 2 3 +8 1 0 0 +13 2 0 2 +3 2 0 2 +8 1 1 1 +1 0 0 0 +13 0 1 0 +1 3 0 3 +11 3 3 1 +8 2 2 3 +8 2 2 0 +9 0 3 3 +13 3 2 3 +13 3 2 3 +1 1 3 1 +11 1 3 3 +8 1 3 0 +8 3 1 1 +8 2 3 2 +11 0 2 0 +13 0 1 0 +1 0 3 3 +11 3 1 0 +8 3 2 3 +13 0 0 1 +3 1 2 1 +8 1 3 2 +0 3 2 2 +13 2 3 2 +13 2 2 2 +1 2 0 0 +11 0 0 1 +8 3 1 0 +8 2 0 3 +8 0 0 2 +7 2 0 2 +13 2 3 2 +13 2 2 2 +1 1 2 1 +11 1 3 3 +8 2 1 2 +8 1 2 0 +8 0 2 1 +11 0 2 0 +13 0 2 0 +1 3 0 3 +11 3 3 2 +8 2 2 0 +8 0 0 3 +10 0 3 0 +13 0 1 0 +1 2 0 2 +11 2 1 3 +8 2 2 0 +8 1 1 1 +8 3 3 2 +13 1 2 0 +13 0 3 0 +13 0 3 0 +1 0 3 3 +11 3 0 1 +8 1 0 3 +8 2 3 0 +7 0 2 0 +13 0 1 0 +1 1 0 1 +11 1 3 2 +8 2 1 0 +13 2 0 1 +3 1 3 1 +14 0 3 3 +13 3 1 3 +1 3 2 2 +11 2 0 0 +8 2 2 1 +13 0 0 2 +3 2 0 2 +13 0 0 3 +3 3 2 3 +12 2 3 2 +13 2 1 2 +13 2 2 2 +1 2 0 0 +11 0 0 1 +13 2 0 3 +3 3 1 3 +8 3 3 2 +8 2 2 0 +14 0 3 2 +13 2 1 2 +13 2 2 2 +1 2 1 1 +11 1 0 0 +8 3 1 3 +13 1 0 2 +3 2 3 2 +13 0 0 1 +3 1 2 1 +6 1 2 1 +13 1 1 1 +1 0 1 0 +11 0 1 2 +8 2 1 0 +8 1 1 3 +8 0 2 1 +2 3 0 0 +13 0 2 0 +13 0 1 0 +1 0 2 2 +11 2 3 0 +8 3 1 3 +8 3 1 1 +8 2 2 2 +4 2 1 3 +13 3 2 3 +13 3 3 3 +1 3 0 0 +8 3 3 2 +13 0 0 3 +3 3 3 3 +8 1 3 1 +13 1 2 2 +13 2 2 2 +13 2 2 2 +1 0 2 0 +11 0 3 2 +8 2 2 0 +13 0 0 1 +3 1 2 1 +8 2 2 3 +10 0 3 1 +13 1 2 1 +1 1 2 2 +11 2 3 3 +13 3 0 0 +3 0 3 0 +8 0 1 2 +8 3 2 1 +7 2 0 1 +13 1 2 1 +1 3 1 3 +13 2 0 1 +3 1 1 1 +7 2 0 0 +13 0 1 0 +13 0 3 0 +1 3 0 3 +11 3 3 1 +8 2 1 2 +8 3 2 3 +13 0 0 0 +3 0 3 0 +4 2 0 0 +13 0 2 0 +1 1 0 1 +11 1 3 3 +8 1 3 2 +8 2 3 0 +8 3 3 1 +5 1 0 0 +13 0 1 0 +1 0 3 3 +8 2 0 2 +8 1 0 0 +8 0 0 1 +11 0 2 2 +13 2 3 2 +1 3 2 3 +11 3 0 1 +13 0 0 0 +3 0 2 0 +8 2 1 3 +8 3 2 2 +9 0 3 3 +13 3 2 3 +1 3 1 1 +11 1 1 3 +8 3 3 1 +8 2 2 2 +13 2 0 0 +3 0 1 0 +4 2 1 0 +13 0 3 0 +1 3 0 3 +11 3 0 1 +13 1 0 3 +3 3 1 3 +13 0 0 2 +3 2 3 2 +8 1 2 0 +13 0 2 3 +13 3 1 3 +13 3 3 3 +1 1 3 1 +11 1 3 0 +8 0 2 1 +8 0 1 3 +8 2 3 2 +13 2 1 2 +1 2 0 0 +13 3 0 2 +3 2 2 2 +13 2 0 1 +3 1 3 1 +4 2 1 1 +13 1 3 1 +1 0 1 0 +11 0 0 1 +8 1 2 2 +8 2 3 0 +8 3 0 2 +13 2 2 2 +1 2 1 1 +11 1 1 0 +8 1 0 1 +8 1 1 2 +8 1 3 3 +1 3 3 2 +13 2 2 2 +1 0 2 0 +11 0 1 1 +8 3 2 0 +8 2 3 2 +8 0 0 3 +4 2 0 3 +13 3 3 3 +1 1 3 1 +11 1 0 0 +8 3 2 2 +8 0 0 1 +8 3 0 3 +8 2 3 3 +13 3 1 3 +1 3 0 0 +11 0 0 2 +13 2 0 0 +3 0 2 0 +8 1 0 1 +8 2 1 3 +9 0 3 1 +13 1 1 1 +13 1 2 1 +1 2 1 2 +11 2 2 0 +8 3 0 1 +8 1 0 2 +0 1 2 2 +13 2 3 2 +13 2 3 2 +1 2 0 0 +8 2 2 1 +8 2 1 2 +8 0 0 3 +15 3 2 3 +13 3 1 3 +1 3 0 0 +11 0 2 3 +8 3 3 0 +8 3 3 2 +8 0 1 1 +0 0 2 0 +13 0 2 0 +13 0 2 0 +1 3 0 3 +11 3 1 1 +8 2 0 0 +8 3 2 3 +7 0 2 2 +13 2 2 2 +1 1 2 1 +11 1 1 0 +8 0 3 3 +13 1 0 2 +3 2 2 2 +8 0 0 1 +15 3 2 1 +13 1 3 1 +1 0 1 0 +11 0 0 1 +8 3 3 0 +13 3 0 2 +3 2 1 2 +8 1 1 3 +1 3 3 0 +13 0 2 0 +1 0 1 1 +11 1 1 0 +8 3 0 3 +13 0 0 2 +3 2 3 2 +8 2 2 1 +8 2 3 1 +13 1 2 1 +1 1 0 0 +11 0 0 2 +8 2 2 0 +8 1 2 1 +8 1 2 3 +2 3 0 3 +13 3 2 3 +1 3 2 2 +8 3 0 1 +13 1 0 3 +3 3 2 3 +9 0 3 1 +13 1 2 1 +13 1 2 1 +1 1 2 2 +8 1 3 0 +8 2 3 1 +10 1 3 3 +13 3 1 3 +1 2 3 2 +11 2 1 1 +8 2 1 3 +8 3 3 2 +1 0 0 2 +13 2 3 2 +1 1 2 1 +8 2 2 0 +13 3 0 2 +3 2 2 2 +9 0 3 3 +13 3 1 3 +1 3 1 1 +8 2 2 3 +8 1 2 2 +13 0 0 0 +3 0 1 0 +2 0 3 2 +13 2 1 2 +1 1 2 1 +8 0 1 0 +8 3 3 2 +8 3 0 2 +13 2 1 2 +1 2 1 1 +11 1 1 2 +8 3 0 0 +8 0 1 1 +5 0 3 1 +13 1 1 1 +13 1 1 1 +1 1 2 2 +11 2 0 1 +13 2 0 0 +3 0 1 0 +8 3 0 2 +8 0 2 3 +12 3 2 0 +13 0 1 0 +1 0 1 1 +11 1 2 0 +8 3 0 1 +13 1 0 2 +3 2 0 2 +8 3 2 3 +8 2 1 1 +13 1 3 1 +13 1 3 1 +1 1 0 0 +11 0 3 1 +8 0 3 3 +8 3 2 2 +8 1 1 0 +12 3 2 2 +13 2 3 2 +13 2 2 2 +1 2 1 1 +11 1 0 3 +13 0 0 0 +3 0 0 0 +8 1 2 1 +13 1 0 2 +3 2 0 2 +8 2 1 0 +13 0 2 0 +1 0 3 3 +11 3 1 0 +13 0 0 3 +3 3 0 3 +8 3 3 1 +13 3 0 2 +3 2 2 2 +15 3 2 2 +13 2 2 2 +13 2 2 2 +1 0 2 0 +8 1 0 1 +8 0 3 2 +8 2 2 3 +2 1 3 1 +13 1 2 1 +1 1 0 0 +11 0 2 1 +8 2 2 2 +8 2 3 0 +9 0 3 0 +13 0 1 0 +13 0 3 0 +1 1 0 1 +8 0 2 0 +13 3 0 2 +3 2 0 2 +12 2 3 2 +13 2 3 2 +13 2 1 2 +1 2 1 1 +11 1 2 0 +13 3 0 2 +3 2 1 2 +8 2 1 1 +8 0 0 3 +10 1 3 2 +13 2 1 2 +13 2 2 2 +1 0 2 0 +11 0 3 3 +8 1 1 1 +8 3 2 0 +8 3 0 2 +13 1 2 0 +13 0 2 0 +1 3 0 3 +11 3 3 0 +8 2 0 1 +8 0 2 3 +6 1 2 2 +13 2 2 2 +1 2 0 0 +11 0 2 2 +8 0 0 1 +8 2 1 0 +8 3 0 0 +13 0 1 0 +13 0 2 0 +1 0 2 2 +11 2 3 3 +8 3 3 2 +8 3 0 1 +8 2 1 0 +4 0 1 2 +13 2 3 2 +1 3 2 3 +11 3 2 2 +8 2 2 3 +13 1 0 1 +3 1 2 1 +10 1 3 3 +13 3 3 3 +1 2 3 2 +11 2 3 3 +8 0 3 0 +8 0 1 2 +8 3 3 1 +0 1 2 1 +13 1 1 1 +13 1 2 1 +1 1 3 3 +11 3 1 2 +8 1 1 1 +13 2 0 3 +3 3 2 3 +2 1 3 1 +13 1 2 1 +13 1 2 1 +1 2 1 2 +11 2 1 3 +8 2 2 2 +13 2 0 1 +3 1 0 1 +8 3 3 0 +6 2 0 2 +13 2 1 2 +13 2 3 2 +1 3 2 3 +11 3 2 0 +13 0 0 3 +3 3 0 3 +8 3 0 2 +8 3 2 1 +12 3 2 1 +13 1 3 1 +13 1 2 1 +1 0 1 0 +11 0 2 2 +8 1 2 1 +8 2 0 0 +10 0 3 3 +13 3 2 3 +1 3 2 2 +11 2 1 1 +8 2 1 3 +8 3 0 2 +6 0 2 3 +13 3 1 3 +13 3 2 3 +1 3 1 1 +11 1 1 2 +13 2 0 3 +3 3 1 3 +8 0 2 1 +14 0 3 0 +13 0 1 0 +1 2 0 2 +11 2 3 0 +8 1 0 2 +8 2 3 3 +8 1 3 3 +13 3 2 3 +13 3 2 3 +1 3 0 0 +11 0 0 3 +8 3 1 2 +13 0 0 0 +3 0 2 0 +7 0 2 2 +13 2 1 2 +1 2 3 3 +11 3 1 1 +8 2 0 2 +8 0 0 0 +8 1 1 3 +8 3 0 2 +13 2 1 2 +1 1 2 1 +11 1 0 0 +8 2 0 3 +8 1 1 1 +13 1 0 2 +3 2 3 2 +2 1 3 2 +13 2 2 2 +1 2 0 0 +8 3 2 1 +8 0 0 2 +5 1 3 2 +13 2 3 2 +1 0 2 0 +11 0 2 3 +8 2 2 2 +8 2 1 0 +8 1 3 1 +2 1 0 0 +13 0 1 0 +1 3 0 3 +11 3 0 1 +8 2 1 3 +13 0 0 2 +3 2 1 2 +8 1 1 0 +1 0 0 3 +13 3 3 3 +1 3 1 1 +8 2 0 0 +8 2 3 3 +13 2 0 2 +3 2 0 2 +9 0 3 0 +13 0 3 0 +1 0 1 1 +11 1 3 0 +8 2 2 2 +8 0 3 3 +8 0 1 1 +15 3 2 2 +13 2 3 2 +1 0 2 0 +11 0 2 3 +8 3 2 0 +13 3 0 2 +3 2 2 2 +6 2 0 0 +13 0 1 0 +1 0 3 3 +11 3 3 0 +8 3 3 3 +8 0 3 2 +8 2 2 1 +5 3 1 2 +13 2 3 2 +13 2 1 2 +1 0 2 0 +11 0 0 1 +8 2 0 0 +8 0 0 3 +8 0 0 2 +10 0 3 3 +13 3 1 3 +1 3 1 1 +11 1 2 3 +8 3 3 2 +8 0 1 1 +8 2 1 1 +13 1 1 1 +13 1 1 1 +1 3 1 3 +11 3 1 0 diff --git a/2018/day16-input1 b/2018/day16-input1 new file mode 100644 index 0000000..8193e2d --- /dev/null +++ b/2018/day16-input1 @@ -0,0 +1,3187 @@ +Before: [3, 1, 2, 0] +5 1 2 0 +After: [0, 1, 2, 0] + +Before: [3, 3, 0, 2] +10 2 0 1 +After: [3, 0, 0, 2] + +Before: [3, 3, 1, 1] +7 3 3 3 +After: [3, 3, 1, 0] + +Before: [1, 3, 2, 0] +8 0 2 2 +After: [1, 3, 0, 0] + +Before: [3, 0, 0, 2] +12 2 3 2 +After: [3, 0, 1, 2] + +Before: [0, 3, 1, 1] +1 2 3 1 +After: [0, 2, 1, 1] + +Before: [1, 1, 0, 2] +2 0 2 2 +After: [1, 1, 0, 2] + +Before: [3, 1, 3, 3] +0 1 2 0 +After: [0, 1, 3, 3] + +Before: [3, 0, 2, 1] +10 1 0 3 +After: [3, 0, 2, 0] + +Before: [2, 1, 3, 0] +14 0 3 0 +After: [1, 1, 3, 0] + +Before: [1, 0, 0, 3] +2 0 2 1 +After: [1, 0, 0, 3] + +Before: [2, 1, 3, 0] +0 1 2 3 +After: [2, 1, 3, 0] + +Before: [2, 1, 0, 0] +14 0 3 0 +After: [1, 1, 0, 0] + +Before: [2, 1, 2, 1] +4 3 1 2 +After: [2, 1, 0, 1] + +Before: [1, 0, 1, 1] +7 3 3 1 +After: [1, 0, 1, 1] + +Before: [0, 1, 0, 1] +7 3 3 2 +After: [0, 1, 0, 1] + +Before: [0, 1, 3, 2] +0 1 2 1 +After: [0, 0, 3, 2] + +Before: [1, 1, 2, 2] +8 0 2 3 +After: [1, 1, 2, 0] + +Before: [2, 0, 2, 2] +10 1 0 0 +After: [0, 0, 2, 2] + +Before: [2, 1, 3, 1] +0 1 2 3 +After: [2, 1, 3, 0] + +Before: [1, 1, 2, 2] +8 0 2 1 +After: [1, 0, 2, 2] + +Before: [0, 0, 2, 1] +11 3 2 1 +After: [0, 1, 2, 1] + +Before: [0, 0, 2, 0] +3 2 2 0 +After: [4, 0, 2, 0] + +Before: [1, 0, 0, 0] +2 0 2 3 +After: [1, 0, 0, 0] + +Before: [2, 0, 0, 1] +4 0 1 1 +After: [2, 1, 0, 1] + +Before: [2, 0, 3, 3] +10 1 0 3 +After: [2, 0, 3, 0] + +Before: [0, 1, 3, 2] +0 1 2 0 +After: [0, 1, 3, 2] + +Before: [2, 1, 3, 3] +0 1 2 3 +After: [2, 1, 3, 0] + +Before: [0, 1, 2, 1] +11 3 2 3 +After: [0, 1, 2, 1] + +Before: [0, 2, 2, 3] +13 0 2 1 +After: [0, 0, 2, 3] + +Before: [0, 2, 3, 2] +13 0 1 3 +After: [0, 2, 3, 0] + +Before: [1, 1, 2, 2] +4 3 2 1 +After: [1, 0, 2, 2] + +Before: [1, 1, 2, 1] +11 3 2 2 +After: [1, 1, 1, 1] + +Before: [0, 2, 1, 0] +13 0 1 1 +After: [0, 0, 1, 0] + +Before: [2, 1, 2, 2] +9 2 0 0 +After: [1, 1, 2, 2] + +Before: [1, 1, 1, 1] +1 2 0 3 +After: [1, 1, 1, 2] + +Before: [3, 3, 0, 2] +12 2 3 2 +After: [3, 3, 1, 2] + +Before: [0, 1, 2, 2] +3 3 2 1 +After: [0, 4, 2, 2] + +Before: [0, 2, 2, 3] +13 0 3 0 +After: [0, 2, 2, 3] + +Before: [1, 3, 1, 0] +1 2 0 0 +After: [2, 3, 1, 0] + +Before: [0, 1, 1, 3] +15 1 3 3 +After: [0, 1, 1, 0] + +Before: [3, 2, 3, 0] +12 3 2 3 +After: [3, 2, 3, 1] + +Before: [1, 0, 1, 3] +1 2 0 3 +After: [1, 0, 1, 2] + +Before: [3, 1, 2, 1] +11 3 2 2 +After: [3, 1, 1, 1] + +Before: [0, 0, 0, 2] +6 0 0 3 +After: [0, 0, 0, 0] + +Before: [1, 0, 0, 1] +2 0 2 3 +After: [1, 0, 0, 0] + +Before: [0, 3, 0, 2] +6 0 0 0 +After: [0, 3, 0, 2] + +Before: [1, 1, 3, 0] +0 1 2 0 +After: [0, 1, 3, 0] + +Before: [3, 1, 0, 3] +15 1 3 0 +After: [0, 1, 0, 3] + +Before: [3, 2, 0, 2] +10 2 0 1 +After: [3, 0, 0, 2] + +Before: [0, 2, 0, 2] +6 0 0 1 +After: [0, 0, 0, 2] + +Before: [0, 3, 3, 1] +6 0 0 1 +After: [0, 0, 3, 1] + +Before: [0, 1, 2, 0] +3 2 2 3 +After: [0, 1, 2, 4] + +Before: [3, 0, 0, 0] +4 0 2 1 +After: [3, 1, 0, 0] + +Before: [0, 2, 2, 1] +11 3 2 3 +After: [0, 2, 2, 1] + +Before: [2, 0, 3, 3] +9 3 2 0 +After: [1, 0, 3, 3] + +Before: [2, 1, 2, 2] +5 1 2 2 +After: [2, 1, 0, 2] + +Before: [1, 1, 2, 2] +5 1 2 2 +After: [1, 1, 0, 2] + +Before: [0, 1, 0, 1] +6 0 0 3 +After: [0, 1, 0, 0] + +Before: [1, 3, 2, 2] +3 2 2 1 +After: [1, 4, 2, 2] + +Before: [3, 0, 2, 2] +3 2 2 2 +After: [3, 0, 4, 2] + +Before: [2, 1, 2, 1] +3 2 2 0 +After: [4, 1, 2, 1] + +Before: [1, 3, 2, 3] +8 0 2 2 +After: [1, 3, 0, 3] + +Before: [2, 1, 1, 3] +4 2 1 0 +After: [0, 1, 1, 3] + +Before: [2, 0, 1, 1] +1 2 3 0 +After: [2, 0, 1, 1] + +Before: [3, 0, 0, 3] +10 1 0 0 +After: [0, 0, 0, 3] + +Before: [1, 1, 3, 1] +0 1 2 1 +After: [1, 0, 3, 1] + +Before: [0, 0, 1, 2] +6 0 0 2 +After: [0, 0, 0, 2] + +Before: [3, 3, 0, 2] +10 2 0 2 +After: [3, 3, 0, 2] + +Before: [2, 3, 2, 1] +11 3 2 0 +After: [1, 3, 2, 1] + +Before: [1, 0, 0, 1] +2 0 2 0 +After: [0, 0, 0, 1] + +Before: [0, 2, 2, 0] +6 0 0 3 +After: [0, 2, 2, 0] + +Before: [1, 1, 2, 0] +8 0 2 0 +After: [0, 1, 2, 0] + +Before: [2, 3, 2, 0] +9 2 0 2 +After: [2, 3, 1, 0] + +Before: [1, 3, 0, 2] +2 0 2 0 +After: [0, 3, 0, 2] + +Before: [3, 0, 0, 0] +10 1 0 3 +After: [3, 0, 0, 0] + +Before: [0, 1, 0, 1] +6 0 0 0 +After: [0, 1, 0, 1] + +Before: [0, 1, 3, 0] +12 3 2 2 +After: [0, 1, 1, 0] + +Before: [2, 3, 1, 0] +14 0 3 2 +After: [2, 3, 1, 0] + +Before: [0, 1, 2, 1] +11 3 2 1 +After: [0, 1, 2, 1] + +Before: [3, 1, 1, 3] +4 2 1 0 +After: [0, 1, 1, 3] + +Before: [0, 3, 0, 2] +6 0 0 2 +After: [0, 3, 0, 2] + +Before: [0, 3, 2, 1] +11 3 2 3 +After: [0, 3, 2, 1] + +Before: [2, 2, 2, 1] +3 1 2 3 +After: [2, 2, 2, 4] + +Before: [2, 1, 0, 0] +14 0 3 1 +After: [2, 1, 0, 0] + +Before: [0, 3, 3, 3] +9 3 2 2 +After: [0, 3, 1, 3] + +Before: [0, 3, 3, 1] +13 0 1 2 +After: [0, 3, 0, 1] + +Before: [0, 1, 1, 1] +13 0 3 1 +After: [0, 0, 1, 1] + +Before: [2, 0, 2, 1] +3 2 2 2 +After: [2, 0, 4, 1] + +Before: [0, 2, 2, 1] +9 2 1 1 +After: [0, 1, 2, 1] + +Before: [2, 1, 0, 1] +7 3 3 3 +After: [2, 1, 0, 0] + +Before: [0, 0, 1, 3] +13 0 3 0 +After: [0, 0, 1, 3] + +Before: [3, 3, 1, 3] +15 2 3 3 +After: [3, 3, 1, 0] + +Before: [0, 1, 3, 3] +0 1 2 0 +After: [0, 1, 3, 3] + +Before: [3, 0, 3, 0] +12 3 2 0 +After: [1, 0, 3, 0] + +Before: [1, 0, 2, 3] +8 0 2 1 +After: [1, 0, 2, 3] + +Before: [2, 1, 3, 3] +0 1 2 1 +After: [2, 0, 3, 3] + +Before: [2, 0, 3, 3] +4 2 0 1 +After: [2, 1, 3, 3] + +Before: [0, 0, 2, 3] +13 0 3 1 +After: [0, 0, 2, 3] + +Before: [1, 1, 3, 3] +9 3 2 0 +After: [1, 1, 3, 3] + +Before: [0, 0, 0, 1] +6 0 0 2 +After: [0, 0, 0, 1] + +Before: [0, 0, 3, 2] +13 0 2 3 +After: [0, 0, 3, 0] + +Before: [1, 3, 2, 2] +8 0 2 1 +After: [1, 0, 2, 2] + +Before: [0, 1, 0, 1] +13 0 1 2 +After: [0, 1, 0, 1] + +Before: [2, 3, 0, 0] +14 0 3 2 +After: [2, 3, 1, 0] + +Before: [2, 0, 2, 1] +7 3 3 1 +After: [2, 0, 2, 1] + +Before: [3, 3, 2, 2] +7 3 3 2 +After: [3, 3, 0, 2] + +Before: [0, 3, 1, 2] +6 0 0 3 +After: [0, 3, 1, 0] + +Before: [1, 0, 1, 1] +1 2 0 2 +After: [1, 0, 2, 1] + +Before: [2, 1, 1, 0] +14 0 3 1 +After: [2, 1, 1, 0] + +Before: [3, 3, 3, 3] +9 3 0 3 +After: [3, 3, 3, 1] + +Before: [1, 1, 1, 1] +1 2 3 0 +After: [2, 1, 1, 1] + +Before: [3, 1, 3, 1] +0 1 2 2 +After: [3, 1, 0, 1] + +Before: [1, 1, 2, 0] +5 1 2 2 +After: [1, 1, 0, 0] + +Before: [1, 1, 2, 3] +5 1 2 2 +After: [1, 1, 0, 3] + +Before: [2, 0, 0, 3] +10 1 0 1 +After: [2, 0, 0, 3] + +Before: [1, 2, 0, 1] +7 3 3 3 +After: [1, 2, 0, 0] + +Before: [0, 3, 1, 3] +6 0 0 1 +After: [0, 0, 1, 3] + +Before: [2, 2, 3, 1] +4 2 0 3 +After: [2, 2, 3, 1] + +Before: [3, 0, 2, 1] +11 3 2 2 +After: [3, 0, 1, 1] + +Before: [0, 1, 2, 0] +5 1 2 2 +After: [0, 1, 0, 0] + +Before: [2, 3, 1, 1] +1 2 3 2 +After: [2, 3, 2, 1] + +Before: [0, 1, 1, 2] +13 0 3 3 +After: [0, 1, 1, 0] + +Before: [3, 1, 2, 3] +5 1 2 0 +After: [0, 1, 2, 3] + +Before: [1, 3, 3, 0] +12 3 2 0 +After: [1, 3, 3, 0] + +Before: [2, 3, 0, 2] +12 2 3 2 +After: [2, 3, 1, 2] + +Before: [3, 1, 0, 1] +10 2 0 1 +After: [3, 0, 0, 1] + +Before: [0, 2, 0, 0] +13 0 1 0 +After: [0, 2, 0, 0] + +Before: [0, 2, 2, 2] +13 0 1 2 +After: [0, 2, 0, 2] + +Before: [3, 2, 2, 3] +15 2 3 2 +After: [3, 2, 0, 3] + +Before: [2, 0, 2, 0] +14 0 3 1 +After: [2, 1, 2, 0] + +Before: [2, 2, 0, 0] +14 0 3 2 +After: [2, 2, 1, 0] + +Before: [1, 3, 2, 0] +8 0 2 0 +After: [0, 3, 2, 0] + +Before: [3, 2, 3, 1] +9 2 3 1 +After: [3, 0, 3, 1] + +Before: [0, 1, 1, 0] +4 2 1 1 +After: [0, 0, 1, 0] + +Before: [0, 3, 2, 3] +13 0 3 0 +After: [0, 3, 2, 3] + +Before: [3, 1, 0, 1] +7 3 3 3 +After: [3, 1, 0, 0] + +Before: [1, 3, 3, 3] +9 3 2 3 +After: [1, 3, 3, 1] + +Before: [2, 3, 3, 1] +4 2 0 2 +After: [2, 3, 1, 1] + +Before: [0, 3, 3, 1] +7 3 3 0 +After: [0, 3, 3, 1] + +Before: [1, 2, 1, 2] +1 2 0 1 +After: [1, 2, 1, 2] + +Before: [0, 2, 2, 2] +13 0 2 2 +After: [0, 2, 0, 2] + +Before: [1, 1, 3, 3] +0 1 2 1 +After: [1, 0, 3, 3] + +Before: [2, 0, 3, 2] +4 0 1 0 +After: [1, 0, 3, 2] + +Before: [3, 1, 3, 0] +12 3 2 2 +After: [3, 1, 1, 0] + +Before: [0, 2, 1, 1] +1 2 3 3 +After: [0, 2, 1, 2] + +Before: [2, 3, 1, 0] +14 0 3 3 +After: [2, 3, 1, 1] + +Before: [2, 0, 1, 0] +14 0 3 0 +After: [1, 0, 1, 0] + +Before: [0, 3, 1, 1] +7 3 3 3 +After: [0, 3, 1, 0] + +Before: [2, 3, 3, 3] +9 3 2 3 +After: [2, 3, 3, 1] + +Before: [2, 1, 2, 3] +15 2 3 1 +After: [2, 0, 2, 3] + +Before: [2, 1, 3, 3] +0 1 2 2 +After: [2, 1, 0, 3] + +Before: [3, 1, 2, 1] +7 3 3 0 +After: [0, 1, 2, 1] + +Before: [1, 1, 0, 1] +7 3 3 1 +After: [1, 0, 0, 1] + +Before: [2, 1, 2, 1] +5 1 2 2 +After: [2, 1, 0, 1] + +Before: [3, 1, 3, 2] +0 1 2 1 +After: [3, 0, 3, 2] + +Before: [2, 1, 1, 3] +15 1 3 3 +After: [2, 1, 1, 0] + +Before: [3, 2, 0, 1] +10 2 0 3 +After: [3, 2, 0, 0] + +Before: [1, 3, 0, 1] +2 0 2 2 +After: [1, 3, 0, 1] + +Before: [1, 1, 3, 2] +0 1 2 2 +After: [1, 1, 0, 2] + +Before: [1, 2, 2, 2] +7 3 3 0 +After: [0, 2, 2, 2] + +Before: [1, 2, 2, 2] +8 0 2 0 +After: [0, 2, 2, 2] + +Before: [3, 1, 0, 3] +9 3 0 3 +After: [3, 1, 0, 1] + +Before: [1, 1, 0, 1] +2 0 2 2 +After: [1, 1, 0, 1] + +Before: [2, 3, 3, 0] +14 0 3 0 +After: [1, 3, 3, 0] + +Before: [3, 0, 2, 1] +11 3 2 1 +After: [3, 1, 2, 1] + +Before: [2, 3, 3, 0] +14 0 3 3 +After: [2, 3, 3, 1] + +Before: [0, 1, 2, 2] +5 1 2 2 +After: [0, 1, 0, 2] + +Before: [3, 0, 2, 3] +10 1 0 3 +After: [3, 0, 2, 0] + +Before: [1, 1, 2, 3] +8 0 2 2 +After: [1, 1, 0, 3] + +Before: [0, 0, 0, 3] +6 0 0 1 +After: [0, 0, 0, 3] + +Before: [1, 3, 2, 1] +11 3 2 2 +After: [1, 3, 1, 1] + +Before: [0, 3, 1, 3] +13 0 3 1 +After: [0, 0, 1, 3] + +Before: [2, 0, 3, 0] +14 0 3 1 +After: [2, 1, 3, 0] + +Before: [0, 2, 0, 3] +13 0 3 3 +After: [0, 2, 0, 0] + +Before: [1, 0, 2, 0] +8 0 2 2 +After: [1, 0, 0, 0] + +Before: [1, 3, 2, 0] +8 0 2 1 +After: [1, 0, 2, 0] + +Before: [1, 0, 2, 1] +11 3 2 1 +After: [1, 1, 2, 1] + +Before: [1, 0, 0, 0] +2 0 2 1 +After: [1, 0, 0, 0] + +Before: [2, 2, 2, 1] +11 3 2 1 +After: [2, 1, 2, 1] + +Before: [3, 3, 0, 2] +7 3 3 1 +After: [3, 0, 0, 2] + +Before: [2, 1, 3, 3] +15 1 3 0 +After: [0, 1, 3, 3] + +Before: [0, 3, 3, 2] +13 0 1 1 +After: [0, 0, 3, 2] + +Before: [0, 3, 3, 3] +6 0 0 1 +After: [0, 0, 3, 3] + +Before: [1, 3, 2, 2] +8 0 2 2 +After: [1, 3, 0, 2] + +Before: [1, 0, 0, 3] +2 0 2 3 +After: [1, 0, 0, 0] + +Before: [2, 3, 2, 1] +9 2 0 2 +After: [2, 3, 1, 1] + +Before: [1, 3, 1, 2] +1 2 0 0 +After: [2, 3, 1, 2] + +Before: [2, 1, 3, 0] +0 1 2 0 +After: [0, 1, 3, 0] + +Before: [3, 2, 2, 1] +9 2 1 2 +After: [3, 2, 1, 1] + +Before: [2, 1, 3, 1] +0 1 2 2 +After: [2, 1, 0, 1] + +Before: [0, 2, 1, 0] +6 0 0 1 +After: [0, 0, 1, 0] + +Before: [1, 1, 0, 3] +15 1 3 1 +After: [1, 0, 0, 3] + +Before: [0, 3, 3, 3] +9 3 2 3 +After: [0, 3, 3, 1] + +Before: [3, 1, 3, 1] +7 3 3 3 +After: [3, 1, 3, 0] + +Before: [2, 2, 2, 1] +11 3 2 3 +After: [2, 2, 2, 1] + +Before: [3, 2, 2, 3] +9 3 0 1 +After: [3, 1, 2, 3] + +Before: [3, 2, 2, 0] +3 1 2 1 +After: [3, 4, 2, 0] + +Before: [2, 3, 2, 0] +14 0 3 1 +After: [2, 1, 2, 0] + +Before: [0, 1, 3, 0] +0 1 2 2 +After: [0, 1, 0, 0] + +Before: [2, 2, 3, 0] +4 2 0 3 +After: [2, 2, 3, 1] + +Before: [2, 0, 0, 0] +14 0 3 1 +After: [2, 1, 0, 0] + +Before: [1, 1, 0, 0] +2 0 2 0 +After: [0, 1, 0, 0] + +Before: [0, 2, 3, 2] +6 0 0 1 +After: [0, 0, 3, 2] + +Before: [2, 3, 2, 3] +3 2 2 0 +After: [4, 3, 2, 3] + +Before: [1, 2, 2, 1] +3 2 2 0 +After: [4, 2, 2, 1] + +Before: [2, 2, 2, 0] +14 0 3 0 +After: [1, 2, 2, 0] + +Before: [1, 1, 2, 3] +5 1 2 0 +After: [0, 1, 2, 3] + +Before: [3, 1, 3, 3] +9 3 2 0 +After: [1, 1, 3, 3] + +Before: [1, 1, 0, 0] +2 0 2 2 +After: [1, 1, 0, 0] + +Before: [1, 1, 2, 3] +8 0 2 3 +After: [1, 1, 2, 0] + +Before: [3, 3, 2, 3] +3 2 2 1 +After: [3, 4, 2, 3] + +Before: [3, 3, 1, 3] +15 2 3 2 +After: [3, 3, 0, 3] + +Before: [0, 1, 0, 2] +6 0 0 1 +After: [0, 0, 0, 2] + +Before: [1, 1, 3, 0] +12 3 2 0 +After: [1, 1, 3, 0] + +Before: [2, 1, 2, 2] +3 3 2 2 +After: [2, 1, 4, 2] + +Before: [1, 1, 3, 2] +0 1 2 1 +After: [1, 0, 3, 2] + +Before: [3, 1, 2, 3] +5 1 2 1 +After: [3, 0, 2, 3] + +Before: [0, 1, 3, 1] +0 1 2 1 +After: [0, 0, 3, 1] + +Before: [3, 2, 2, 1] +7 3 3 1 +After: [3, 0, 2, 1] + +Before: [0, 1, 2, 3] +5 1 2 2 +After: [0, 1, 0, 3] + +Before: [1, 1, 0, 3] +2 0 2 1 +After: [1, 0, 0, 3] + +Before: [2, 0, 2, 0] +14 0 3 0 +After: [1, 0, 2, 0] + +Before: [0, 2, 1, 0] +6 0 0 2 +After: [0, 2, 0, 0] + +Before: [0, 2, 0, 1] +13 0 1 0 +After: [0, 2, 0, 1] + +Before: [2, 3, 0, 0] +14 0 3 0 +After: [1, 3, 0, 0] + +Before: [3, 1, 1, 3] +15 1 3 3 +After: [3, 1, 1, 0] + +Before: [1, 2, 1, 3] +15 2 3 3 +After: [1, 2, 1, 0] + +Before: [3, 1, 2, 1] +5 1 2 1 +After: [3, 0, 2, 1] + +Before: [1, 1, 0, 1] +2 0 2 1 +After: [1, 0, 0, 1] + +Before: [1, 2, 2, 3] +8 0 2 0 +After: [0, 2, 2, 3] + +Before: [0, 2, 2, 3] +15 2 3 2 +After: [0, 2, 0, 3] + +Before: [1, 0, 2, 0] +8 0 2 0 +After: [0, 0, 2, 0] + +Before: [0, 2, 2, 3] +3 2 2 0 +After: [4, 2, 2, 3] + +Before: [3, 3, 2, 1] +11 3 2 2 +After: [3, 3, 1, 1] + +Before: [0, 2, 2, 2] +6 0 0 2 +After: [0, 2, 0, 2] + +Before: [1, 1, 2, 1] +5 1 2 3 +After: [1, 1, 2, 0] + +Before: [2, 0, 2, 1] +11 3 2 1 +After: [2, 1, 2, 1] + +Before: [0, 1, 2, 1] +5 1 2 3 +After: [0, 1, 2, 0] + +Before: [1, 2, 2, 2] +3 1 2 0 +After: [4, 2, 2, 2] + +Before: [1, 3, 2, 1] +11 3 2 3 +After: [1, 3, 2, 1] + +Before: [0, 1, 1, 2] +13 0 1 2 +After: [0, 1, 0, 2] + +Before: [1, 2, 2, 0] +3 1 2 1 +After: [1, 4, 2, 0] + +Before: [1, 0, 0, 0] +2 0 2 0 +After: [0, 0, 0, 0] + +Before: [1, 2, 1, 1] +1 2 0 3 +After: [1, 2, 1, 2] + +Before: [3, 3, 2, 1] +11 3 2 1 +After: [3, 1, 2, 1] + +Before: [0, 0, 2, 1] +11 3 2 0 +After: [1, 0, 2, 1] + +Before: [1, 1, 1, 3] +4 2 1 3 +After: [1, 1, 1, 0] + +Before: [2, 0, 2, 2] +7 3 3 1 +After: [2, 0, 2, 2] + +Before: [0, 1, 2, 1] +5 1 2 0 +After: [0, 1, 2, 1] + +Before: [3, 2, 0, 3] +10 2 0 0 +After: [0, 2, 0, 3] + +Before: [1, 1, 2, 0] +5 1 2 1 +After: [1, 0, 2, 0] + +Before: [2, 0, 3, 1] +9 2 3 2 +After: [2, 0, 0, 1] + +Before: [1, 0, 2, 1] +8 0 2 1 +After: [1, 0, 2, 1] + +Before: [0, 2, 0, 3] +15 1 3 3 +After: [0, 2, 0, 0] + +Before: [0, 2, 2, 0] +6 0 0 0 +After: [0, 2, 2, 0] + +Before: [0, 0, 1, 1] +1 2 3 2 +After: [0, 0, 2, 1] + +Before: [1, 0, 1, 3] +15 2 3 3 +After: [1, 0, 1, 0] + +Before: [2, 1, 2, 3] +15 1 3 2 +After: [2, 1, 0, 3] + +Before: [1, 2, 2, 3] +8 0 2 2 +After: [1, 2, 0, 3] + +Before: [2, 2, 3, 0] +12 3 2 2 +After: [2, 2, 1, 0] + +Before: [3, 1, 3, 1] +9 2 3 3 +After: [3, 1, 3, 0] + +Before: [3, 0, 3, 1] +7 3 3 1 +After: [3, 0, 3, 1] + +Before: [0, 3, 0, 2] +6 0 0 3 +After: [0, 3, 0, 0] + +Before: [1, 1, 2, 1] +5 1 2 0 +After: [0, 1, 2, 1] + +Before: [1, 3, 3, 0] +12 3 2 3 +After: [1, 3, 3, 1] + +Before: [3, 0, 1, 1] +1 2 3 0 +After: [2, 0, 1, 1] + +Before: [2, 1, 2, 0] +14 0 3 3 +After: [2, 1, 2, 1] + +Before: [2, 3, 2, 1] +11 3 2 2 +After: [2, 3, 1, 1] + +Before: [0, 3, 3, 0] +6 0 0 3 +After: [0, 3, 3, 0] + +Before: [0, 1, 3, 0] +12 3 2 3 +After: [0, 1, 3, 1] + +Before: [1, 2, 3, 0] +12 3 2 3 +After: [1, 2, 3, 1] + +Before: [2, 1, 0, 2] +12 2 3 3 +After: [2, 1, 0, 1] + +Before: [0, 3, 0, 2] +7 3 3 3 +After: [0, 3, 0, 0] + +Before: [3, 0, 3, 0] +12 3 2 2 +After: [3, 0, 1, 0] + +Before: [2, 2, 0, 0] +14 0 3 3 +After: [2, 2, 0, 1] + +Before: [1, 2, 0, 1] +2 0 2 1 +After: [1, 0, 0, 1] + +Before: [0, 2, 3, 1] +9 2 3 2 +After: [0, 2, 0, 1] + +Before: [2, 1, 2, 1] +11 3 2 1 +After: [2, 1, 2, 1] + +Before: [3, 1, 3, 3] +0 1 2 3 +After: [3, 1, 3, 0] + +Before: [0, 1, 2, 3] +5 1 2 3 +After: [0, 1, 2, 0] + +Before: [1, 3, 1, 0] +1 2 0 2 +After: [1, 3, 2, 0] + +Before: [0, 3, 3, 2] +13 0 1 3 +After: [0, 3, 3, 0] + +Before: [1, 2, 0, 2] +2 0 2 0 +After: [0, 2, 0, 2] + +Before: [2, 2, 0, 0] +14 0 3 0 +After: [1, 2, 0, 0] + +Before: [3, 2, 0, 0] +10 2 0 0 +After: [0, 2, 0, 0] + +Before: [1, 2, 2, 0] +8 0 2 0 +After: [0, 2, 2, 0] + +Before: [2, 0, 2, 2] +3 3 2 1 +After: [2, 4, 2, 2] + +Before: [1, 3, 0, 2] +12 2 3 1 +After: [1, 1, 0, 2] + +Before: [0, 1, 1, 2] +7 3 3 3 +After: [0, 1, 1, 0] + +Before: [0, 0, 1, 2] +7 3 3 1 +After: [0, 0, 1, 2] + +Before: [0, 1, 1, 0] +6 0 0 1 +After: [0, 0, 1, 0] + +Before: [2, 0, 2, 1] +11 3 2 0 +After: [1, 0, 2, 1] + +Before: [2, 2, 3, 3] +15 1 3 1 +After: [2, 0, 3, 3] + +Before: [0, 3, 2, 3] +13 0 2 3 +After: [0, 3, 2, 0] + +Before: [0, 1, 2, 2] +13 0 3 3 +After: [0, 1, 2, 0] + +Before: [2, 1, 2, 0] +5 1 2 0 +After: [0, 1, 2, 0] + +Before: [3, 3, 0, 2] +7 3 3 3 +After: [3, 3, 0, 0] + +Before: [0, 0, 1, 2] +13 0 3 2 +After: [0, 0, 0, 2] + +Before: [1, 3, 1, 2] +1 2 0 3 +After: [1, 3, 1, 2] + +Before: [0, 1, 3, 1] +13 0 3 1 +After: [0, 0, 3, 1] + +Before: [2, 1, 3, 1] +4 2 0 0 +After: [1, 1, 3, 1] + +Before: [1, 1, 2, 2] +8 0 2 2 +After: [1, 1, 0, 2] + +Before: [3, 0, 0, 2] +10 1 0 3 +After: [3, 0, 0, 0] + +Before: [0, 3, 1, 2] +7 3 3 2 +After: [0, 3, 0, 2] + +Before: [3, 2, 2, 2] +9 2 1 2 +After: [3, 2, 1, 2] + +Before: [0, 3, 2, 2] +4 3 2 1 +After: [0, 0, 2, 2] + +Before: [0, 1, 2, 3] +5 1 2 0 +After: [0, 1, 2, 3] + +Before: [1, 2, 0, 3] +2 0 2 3 +After: [1, 2, 0, 0] + +Before: [0, 3, 2, 3] +13 0 2 0 +After: [0, 3, 2, 3] + +Before: [1, 1, 2, 0] +8 0 2 2 +After: [1, 1, 0, 0] + +Before: [1, 2, 0, 0] +2 0 2 2 +After: [1, 2, 0, 0] + +Before: [0, 0, 2, 1] +11 3 2 2 +After: [0, 0, 1, 1] + +Before: [3, 1, 3, 2] +0 1 2 2 +After: [3, 1, 0, 2] + +Before: [1, 1, 1, 1] +4 3 1 1 +After: [1, 0, 1, 1] + +Before: [0, 3, 3, 1] +13 0 3 1 +After: [0, 0, 3, 1] + +Before: [1, 1, 3, 0] +12 3 2 1 +After: [1, 1, 3, 0] + +Before: [2, 0, 0, 0] +14 0 3 0 +After: [1, 0, 0, 0] + +Before: [0, 1, 3, 2] +0 1 2 3 +After: [0, 1, 3, 0] + +Before: [1, 1, 2, 0] +8 0 2 3 +After: [1, 1, 2, 0] + +Before: [3, 0, 2, 3] +15 2 3 2 +After: [3, 0, 0, 3] + +Before: [1, 1, 1, 2] +1 2 0 0 +After: [2, 1, 1, 2] + +Before: [3, 3, 2, 2] +3 2 2 2 +After: [3, 3, 4, 2] + +Before: [0, 1, 0, 2] +7 3 3 2 +After: [0, 1, 0, 2] + +Before: [0, 2, 2, 2] +13 0 2 0 +After: [0, 2, 2, 2] + +Before: [3, 1, 0, 0] +10 2 0 3 +After: [3, 1, 0, 0] + +Before: [2, 1, 3, 0] +0 1 2 1 +After: [2, 0, 3, 0] + +Before: [1, 0, 2, 2] +8 0 2 1 +After: [1, 0, 2, 2] + +Before: [2, 0, 1, 2] +10 1 0 1 +After: [2, 0, 1, 2] + +Before: [2, 3, 2, 1] +11 3 2 1 +After: [2, 1, 2, 1] + +Before: [2, 1, 1, 1] +4 2 1 3 +After: [2, 1, 1, 0] + +Before: [2, 0, 2, 1] +11 3 2 2 +After: [2, 0, 1, 1] + +Before: [2, 1, 3, 2] +0 1 2 1 +After: [2, 0, 3, 2] + +Before: [2, 1, 2, 0] +5 1 2 3 +After: [2, 1, 2, 0] + +Before: [0, 3, 2, 3] +13 0 1 3 +After: [0, 3, 2, 0] + +Before: [1, 1, 2, 2] +5 1 2 0 +After: [0, 1, 2, 2] + +Before: [1, 3, 1, 1] +1 2 3 3 +After: [1, 3, 1, 2] + +Before: [2, 0, 2, 0] +14 0 3 2 +After: [2, 0, 1, 0] + +Before: [3, 2, 2, 1] +11 3 2 1 +After: [3, 1, 2, 1] + +Before: [1, 1, 3, 2] +0 1 2 0 +After: [0, 1, 3, 2] + +Before: [0, 2, 2, 1] +11 3 2 1 +After: [0, 1, 2, 1] + +Before: [2, 0, 0, 3] +10 1 0 3 +After: [2, 0, 0, 0] + +Before: [2, 1, 0, 3] +15 1 3 1 +After: [2, 0, 0, 3] + +Before: [3, 0, 2, 2] +4 3 2 1 +After: [3, 0, 2, 2] + +Before: [3, 2, 2, 1] +11 3 2 2 +After: [3, 2, 1, 1] + +Before: [2, 0, 0, 2] +12 2 3 2 +After: [2, 0, 1, 2] + +Before: [0, 1, 2, 2] +6 0 0 0 +After: [0, 1, 2, 2] + +Before: [2, 2, 2, 3] +3 2 2 1 +After: [2, 4, 2, 3] + +Before: [2, 1, 2, 3] +5 1 2 3 +After: [2, 1, 2, 0] + +Before: [0, 3, 3, 2] +6 0 0 0 +After: [0, 3, 3, 2] + +Before: [3, 0, 3, 1] +7 3 3 0 +After: [0, 0, 3, 1] + +Before: [0, 1, 1, 3] +15 1 3 1 +After: [0, 0, 1, 3] + +Before: [0, 1, 3, 3] +15 1 3 3 +After: [0, 1, 3, 0] + +Before: [2, 3, 2, 2] +4 3 2 0 +After: [0, 3, 2, 2] + +Before: [0, 0, 2, 2] +7 3 3 2 +After: [0, 0, 0, 2] + +Before: [2, 1, 1, 2] +4 2 1 1 +After: [2, 0, 1, 2] + +Before: [1, 2, 0, 3] +2 0 2 0 +After: [0, 2, 0, 3] + +Before: [3, 1, 2, 3] +9 3 0 3 +After: [3, 1, 2, 1] + +Before: [0, 0, 0, 3] +13 0 3 0 +After: [0, 0, 0, 3] + +Before: [1, 2, 2, 1] +8 0 2 2 +After: [1, 2, 0, 1] + +Before: [3, 0, 1, 3] +9 3 0 3 +After: [3, 0, 1, 1] + +Before: [1, 1, 2, 2] +5 1 2 1 +After: [1, 0, 2, 2] + +Before: [1, 0, 2, 1] +11 3 2 0 +After: [1, 0, 2, 1] + +Before: [0, 2, 3, 0] +12 3 2 3 +After: [0, 2, 3, 1] + +Before: [3, 1, 3, 3] +0 1 2 1 +After: [3, 0, 3, 3] + +Before: [3, 1, 0, 2] +7 3 3 0 +After: [0, 1, 0, 2] + +Before: [1, 2, 0, 1] +2 0 2 3 +After: [1, 2, 0, 0] + +Before: [1, 0, 2, 1] +8 0 2 3 +After: [1, 0, 2, 0] + +Before: [2, 0, 2, 0] +10 1 0 1 +After: [2, 0, 2, 0] + +Before: [3, 0, 3, 1] +10 1 0 2 +After: [3, 0, 0, 1] + +Before: [3, 0, 3, 3] +9 3 0 1 +After: [3, 1, 3, 3] + +Before: [0, 1, 3, 1] +13 0 2 1 +After: [0, 0, 3, 1] + +Before: [0, 1, 1, 0] +6 0 0 3 +After: [0, 1, 1, 0] + +Before: [0, 3, 3, 1] +13 0 3 3 +After: [0, 3, 3, 0] + +Before: [1, 3, 0, 3] +2 0 2 0 +After: [0, 3, 0, 3] + +Before: [2, 3, 3, 0] +12 3 2 2 +After: [2, 3, 1, 0] + +Before: [3, 2, 1, 3] +15 1 3 0 +After: [0, 2, 1, 3] + +Before: [1, 3, 2, 1] +8 0 2 2 +After: [1, 3, 0, 1] + +Before: [3, 0, 3, 2] +10 1 0 1 +After: [3, 0, 3, 2] + +Before: [3, 0, 2, 0] +10 1 0 2 +After: [3, 0, 0, 0] + +Before: [2, 2, 3, 0] +14 0 3 1 +After: [2, 1, 3, 0] + +Before: [3, 1, 2, 2] +5 1 2 1 +After: [3, 0, 2, 2] + +Before: [1, 1, 2, 1] +5 1 2 1 +After: [1, 0, 2, 1] + +Before: [1, 2, 2, 1] +11 3 2 2 +After: [1, 2, 1, 1] + +Before: [3, 3, 2, 1] +11 3 2 0 +After: [1, 3, 2, 1] + +Before: [0, 2, 0, 1] +6 0 0 3 +After: [0, 2, 0, 0] + +Before: [2, 1, 2, 1] +11 3 2 2 +After: [2, 1, 1, 1] + +Before: [1, 1, 3, 0] +0 1 2 1 +After: [1, 0, 3, 0] + +Before: [3, 1, 2, 0] +5 1 2 2 +After: [3, 1, 0, 0] + +Before: [0, 1, 2, 1] +5 1 2 2 +After: [0, 1, 0, 1] + +Before: [0, 2, 3, 1] +13 0 1 1 +After: [0, 0, 3, 1] + +Before: [1, 2, 3, 0] +12 3 2 1 +After: [1, 1, 3, 0] + +Before: [1, 0, 3, 0] +12 3 2 0 +After: [1, 0, 3, 0] + +Before: [2, 3, 0, 0] +14 0 3 1 +After: [2, 1, 0, 0] + +Before: [0, 3, 1, 1] +7 3 3 1 +After: [0, 0, 1, 1] + +Before: [3, 1, 3, 2] +0 1 2 3 +After: [3, 1, 3, 0] + +Before: [0, 1, 3, 1] +9 2 3 1 +After: [0, 0, 3, 1] + +Before: [3, 3, 0, 2] +12 2 3 3 +After: [3, 3, 0, 1] + +Before: [1, 3, 2, 1] +11 3 2 0 +After: [1, 3, 2, 1] + +Before: [0, 3, 1, 1] +7 3 3 0 +After: [0, 3, 1, 1] + +Before: [1, 3, 3, 1] +7 3 3 3 +After: [1, 3, 3, 0] + +Before: [2, 1, 2, 2] +5 1 2 3 +After: [2, 1, 2, 0] + +Before: [2, 1, 3, 1] +9 2 3 1 +After: [2, 0, 3, 1] + +Before: [0, 2, 2, 1] +13 0 1 0 +After: [0, 2, 2, 1] + +Before: [0, 1, 2, 1] +11 3 2 0 +After: [1, 1, 2, 1] + +Before: [0, 1, 3, 3] +0 1 2 3 +After: [0, 1, 3, 0] + +Before: [1, 1, 3, 3] +0 1 2 0 +After: [0, 1, 3, 3] + +Before: [1, 0, 1, 2] +1 2 0 1 +After: [1, 2, 1, 2] + +Before: [1, 0, 1, 3] +1 2 0 2 +After: [1, 0, 2, 3] + +Before: [2, 1, 2, 0] +3 0 2 3 +After: [2, 1, 2, 4] + +Before: [3, 0, 2, 2] +7 3 3 0 +After: [0, 0, 2, 2] + +Before: [3, 0, 0, 2] +10 1 0 0 +After: [0, 0, 0, 2] + +Before: [2, 1, 3, 2] +7 3 3 3 +After: [2, 1, 3, 0] + +Before: [2, 0, 2, 1] +4 0 1 1 +After: [2, 1, 2, 1] + +Before: [3, 3, 3, 0] +12 3 2 1 +After: [3, 1, 3, 0] + +Before: [1, 0, 2, 3] +8 0 2 0 +After: [0, 0, 2, 3] + +Before: [0, 1, 1, 3] +15 1 3 0 +After: [0, 1, 1, 3] + +Before: [2, 0, 3, 3] +9 3 2 2 +After: [2, 0, 1, 3] + +Before: [2, 3, 0, 0] +14 0 3 3 +After: [2, 3, 0, 1] + +Before: [2, 3, 2, 1] +11 3 2 3 +After: [2, 3, 2, 1] + +Before: [2, 0, 0, 3] +4 0 1 2 +After: [2, 0, 1, 3] + +Before: [0, 1, 1, 2] +6 0 0 0 +After: [0, 1, 1, 2] + +Before: [1, 0, 3, 0] +12 3 2 1 +After: [1, 1, 3, 0] + +Before: [2, 1, 1, 1] +1 2 3 2 +After: [2, 1, 2, 1] + +Before: [1, 3, 2, 2] +3 2 2 3 +After: [1, 3, 2, 4] + +Before: [0, 1, 1, 1] +1 2 3 1 +After: [0, 2, 1, 1] + +Before: [2, 1, 3, 2] +0 1 2 0 +After: [0, 1, 3, 2] + +Before: [1, 0, 2, 0] +8 0 2 3 +After: [1, 0, 2, 0] + +Before: [0, 3, 2, 3] +3 2 2 2 +After: [0, 3, 4, 3] + +Before: [1, 2, 1, 1] +1 2 3 3 +After: [1, 2, 1, 2] + +Before: [2, 3, 2, 1] +3 2 2 3 +After: [2, 3, 2, 4] + +Before: [3, 1, 1, 1] +1 2 3 2 +After: [3, 1, 2, 1] + +Before: [2, 3, 2, 0] +9 2 0 1 +After: [2, 1, 2, 0] + +Before: [2, 0, 2, 1] +11 3 2 3 +After: [2, 0, 2, 1] + +Before: [1, 1, 2, 0] +3 2 2 2 +After: [1, 1, 4, 0] + +Before: [2, 2, 2, 1] +11 3 2 0 +After: [1, 2, 2, 1] + +Before: [1, 0, 0, 2] +2 0 2 0 +After: [0, 0, 0, 2] + +Before: [1, 0, 3, 0] +12 3 2 3 +After: [1, 0, 3, 1] + +Before: [3, 1, 0, 3] +4 0 2 3 +After: [3, 1, 0, 1] + +Before: [3, 2, 2, 1] +3 2 2 0 +After: [4, 2, 2, 1] + +Before: [3, 1, 2, 3] +5 1 2 3 +After: [3, 1, 2, 0] + +Before: [3, 1, 2, 2] +3 2 2 2 +After: [3, 1, 4, 2] + +Before: [3, 0, 1, 1] +7 3 3 0 +After: [0, 0, 1, 1] + +Before: [1, 0, 3, 0] +12 3 2 2 +After: [1, 0, 1, 0] + +Before: [2, 3, 3, 0] +4 2 0 0 +After: [1, 3, 3, 0] + +Before: [2, 2, 1, 0] +14 0 3 3 +After: [2, 2, 1, 1] + +Before: [1, 2, 0, 3] +2 0 2 1 +After: [1, 0, 0, 3] + +Before: [0, 2, 2, 1] +9 2 1 0 +After: [1, 2, 2, 1] + +Before: [3, 1, 3, 1] +0 1 2 0 +After: [0, 1, 3, 1] + +Before: [0, 1, 2, 3] +6 0 0 0 +After: [0, 1, 2, 3] + +Before: [3, 0, 1, 2] +10 1 0 1 +After: [3, 0, 1, 2] + +Before: [2, 2, 2, 1] +7 3 3 3 +After: [2, 2, 2, 0] + +Before: [3, 0, 1, 3] +10 1 0 0 +After: [0, 0, 1, 3] + +Before: [0, 0, 3, 0] +12 3 2 3 +After: [0, 0, 3, 1] + +Before: [2, 1, 2, 0] +5 1 2 1 +After: [2, 0, 2, 0] + +Before: [2, 2, 2, 3] +15 2 3 2 +After: [2, 2, 0, 3] + +Before: [2, 0, 3, 0] +14 0 3 3 +After: [2, 0, 3, 1] + +Before: [1, 1, 3, 3] +0 1 2 2 +After: [1, 1, 0, 3] + +Before: [0, 1, 1, 2] +6 0 0 3 +After: [0, 1, 1, 0] + +Before: [2, 2, 2, 3] +15 1 3 3 +After: [2, 2, 2, 0] + +Before: [2, 3, 2, 0] +14 0 3 3 +After: [2, 3, 2, 1] + +Before: [0, 1, 3, 3] +0 1 2 1 +After: [0, 0, 3, 3] + +Before: [1, 3, 2, 2] +4 3 2 0 +After: [0, 3, 2, 2] + +Before: [2, 1, 1, 3] +4 2 1 3 +After: [2, 1, 1, 0] + +Before: [2, 1, 0, 0] +14 0 3 3 +After: [2, 1, 0, 1] + +Before: [0, 2, 1, 3] +15 1 3 1 +After: [0, 0, 1, 3] + +Before: [2, 1, 3, 0] +0 1 2 2 +After: [2, 1, 0, 0] + +Before: [1, 2, 0, 2] +12 2 3 0 +After: [1, 2, 0, 2] + +Before: [0, 3, 0, 3] +13 0 3 3 +After: [0, 3, 0, 0] + +Before: [3, 3, 0, 1] +10 2 0 1 +After: [3, 0, 0, 1] + +Before: [2, 1, 1, 0] +14 0 3 3 +After: [2, 1, 1, 1] + +Before: [1, 2, 2, 0] +8 0 2 2 +After: [1, 2, 0, 0] + +Before: [2, 0, 0, 3] +4 0 1 0 +After: [1, 0, 0, 3] + +Before: [1, 1, 2, 1] +5 1 2 2 +After: [1, 1, 0, 1] + +Before: [3, 0, 3, 3] +9 3 2 0 +After: [1, 0, 3, 3] + +Before: [1, 2, 2, 3] +9 2 1 0 +After: [1, 2, 2, 3] + +Before: [2, 3, 2, 0] +14 0 3 0 +After: [1, 3, 2, 0] + +Before: [3, 2, 3, 1] +7 3 3 3 +After: [3, 2, 3, 0] + +Before: [0, 1, 3, 0] +0 1 2 1 +After: [0, 0, 3, 0] + +Before: [3, 3, 0, 3] +9 3 0 2 +After: [3, 3, 1, 3] + +Before: [3, 1, 3, 2] +0 1 2 0 +After: [0, 1, 3, 2] + +Before: [0, 0, 2, 1] +11 3 2 3 +After: [0, 0, 2, 1] + +Before: [0, 2, 1, 3] +13 0 1 3 +After: [0, 2, 1, 0] + +Before: [1, 2, 2, 2] +3 1 2 3 +After: [1, 2, 2, 4] + +Before: [0, 1, 2, 3] +5 1 2 1 +After: [0, 0, 2, 3] + +Before: [2, 0, 3, 2] +10 1 0 0 +After: [0, 0, 3, 2] + +Before: [1, 1, 0, 2] +12 2 3 0 +After: [1, 1, 0, 2] + +Before: [3, 3, 1, 1] +1 2 3 0 +After: [2, 3, 1, 1] + +Before: [1, 1, 0, 3] +2 0 2 3 +After: [1, 1, 0, 0] + +Before: [1, 3, 1, 1] +1 2 0 2 +After: [1, 3, 2, 1] + +Before: [2, 1, 2, 0] +14 0 3 1 +After: [2, 1, 2, 0] + +Before: [2, 0, 2, 1] +4 0 1 3 +After: [2, 0, 2, 1] + +Before: [2, 0, 2, 0] +14 0 3 3 +After: [2, 0, 2, 1] + +Before: [0, 1, 3, 1] +0 1 2 2 +After: [0, 1, 0, 1] + +Before: [1, 1, 2, 2] +3 2 2 1 +After: [1, 4, 2, 2] + +Before: [0, 2, 3, 1] +6 0 0 3 +After: [0, 2, 3, 0] + +Before: [1, 3, 0, 2] +2 0 2 3 +After: [1, 3, 0, 0] + +Before: [1, 0, 1, 1] +1 2 3 3 +After: [1, 0, 1, 2] + +Before: [1, 3, 1, 1] +1 2 3 0 +After: [2, 3, 1, 1] + +Before: [1, 2, 2, 2] +9 2 1 0 +After: [1, 2, 2, 2] + +Before: [2, 1, 3, 0] +14 0 3 1 +After: [2, 1, 3, 0] + +Before: [1, 2, 1, 3] +1 2 0 0 +After: [2, 2, 1, 3] + +Before: [1, 0, 0, 0] +2 0 2 2 +After: [1, 0, 0, 0] + +Before: [2, 0, 2, 2] +3 2 2 0 +After: [4, 0, 2, 2] + +Before: [2, 0, 3, 2] +4 0 1 3 +After: [2, 0, 3, 1] + +Before: [2, 1, 2, 1] +5 1 2 3 +After: [2, 1, 2, 0] + +Before: [1, 2, 2, 3] +15 2 3 1 +After: [1, 0, 2, 3] + +Before: [0, 3, 2, 1] +6 0 0 2 +After: [0, 3, 0, 1] + +Before: [1, 0, 0, 3] +2 0 2 2 +After: [1, 0, 0, 3] + +Before: [1, 3, 2, 2] +8 0 2 0 +After: [0, 3, 2, 2] + +Before: [0, 2, 1, 1] +6 0 0 1 +After: [0, 0, 1, 1] + +Before: [2, 0, 2, 3] +9 2 0 1 +After: [2, 1, 2, 3] + +Before: [2, 1, 2, 0] +14 0 3 2 +After: [2, 1, 1, 0] + +Before: [1, 0, 1, 2] +1 2 0 3 +After: [1, 0, 1, 2] + +Before: [2, 2, 3, 0] +12 3 2 3 +After: [2, 2, 3, 1] + +Before: [3, 3, 3, 3] +9 3 2 1 +After: [3, 1, 3, 3] + +Before: [0, 2, 2, 2] +3 1 2 3 +After: [0, 2, 2, 4] + +Before: [2, 2, 2, 1] +9 2 1 1 +After: [2, 1, 2, 1] + +Before: [1, 3, 0, 0] +2 0 2 1 +After: [1, 0, 0, 0] + +Before: [2, 1, 2, 0] +14 0 3 0 +After: [1, 1, 2, 0] + +Before: [1, 3, 0, 1] +2 0 2 3 +After: [1, 3, 0, 0] + +Before: [1, 3, 1, 1] +1 2 3 1 +After: [1, 2, 1, 1] + +Before: [1, 3, 0, 3] +2 0 2 1 +After: [1, 0, 0, 3] + +Before: [3, 1, 2, 3] +15 2 3 2 +After: [3, 1, 0, 3] + +Before: [2, 3, 3, 3] +9 3 2 0 +After: [1, 3, 3, 3] + +Before: [0, 1, 3, 1] +0 1 2 3 +After: [0, 1, 3, 0] + +Before: [1, 0, 1, 1] +1 2 0 1 +After: [1, 2, 1, 1] + +Before: [1, 0, 2, 1] +8 0 2 0 +After: [0, 0, 2, 1] + +Before: [1, 2, 2, 2] +8 0 2 1 +After: [1, 0, 2, 2] + +Before: [3, 2, 1, 3] +9 3 0 0 +After: [1, 2, 1, 3] + +Before: [2, 1, 3, 2] +0 1 2 3 +After: [2, 1, 3, 0] + +Before: [2, 2, 2, 0] +3 2 2 0 +After: [4, 2, 2, 0] + +Before: [3, 3, 2, 3] +15 2 3 1 +After: [3, 0, 2, 3] + +Before: [3, 0, 1, 1] +10 1 0 3 +After: [3, 0, 1, 0] + +Before: [0, 1, 3, 3] +6 0 0 1 +After: [0, 0, 3, 3] + +Before: [0, 0, 3, 3] +9 3 2 0 +After: [1, 0, 3, 3] + +Before: [0, 2, 1, 1] +1 2 3 0 +After: [2, 2, 1, 1] + +Before: [2, 3, 1, 0] +14 0 3 1 +After: [2, 1, 1, 0] + +Before: [3, 0, 0, 3] +9 3 0 1 +After: [3, 1, 0, 3] + +Before: [0, 0, 0, 2] +6 0 0 0 +After: [0, 0, 0, 2] + +Before: [1, 3, 2, 0] +8 0 2 3 +After: [1, 3, 2, 0] + +Before: [0, 3, 1, 1] +13 0 3 1 +After: [0, 0, 1, 1] + +Before: [1, 2, 1, 1] +1 2 3 0 +After: [2, 2, 1, 1] + +Before: [0, 1, 1, 2] +13 0 1 3 +After: [0, 1, 1, 0] + +Before: [1, 2, 0, 0] +2 0 2 0 +After: [0, 2, 0, 0] + +Before: [0, 0, 0, 0] +6 0 0 1 +After: [0, 0, 0, 0] + +Before: [0, 0, 3, 0] +12 3 2 0 +After: [1, 0, 3, 0] + +Before: [0, 3, 2, 2] +4 3 2 3 +After: [0, 3, 2, 0] + +Before: [3, 3, 3, 2] +7 3 3 2 +After: [3, 3, 0, 2] + +Before: [0, 2, 0, 1] +13 0 3 1 +After: [0, 0, 0, 1] + +Before: [3, 1, 3, 1] +0 1 2 3 +After: [3, 1, 3, 0] + +Before: [3, 1, 2, 0] +5 1 2 1 +After: [3, 0, 2, 0] + +Before: [0, 1, 2, 0] +5 1 2 0 +After: [0, 1, 2, 0] + +Before: [0, 1, 3, 3] +0 1 2 2 +After: [0, 1, 0, 3] + +Before: [1, 0, 0, 2] +2 0 2 1 +After: [1, 0, 0, 2] + +Before: [2, 3, 1, 3] +15 2 3 2 +After: [2, 3, 0, 3] + +Before: [2, 2, 1, 2] +7 3 3 1 +After: [2, 0, 1, 2] + +Before: [0, 1, 0, 2] +7 3 3 3 +After: [0, 1, 0, 0] + +Before: [1, 1, 2, 2] +3 3 2 2 +After: [1, 1, 4, 2] + +Before: [2, 0, 1, 1] +1 2 3 1 +After: [2, 2, 1, 1] + +Before: [1, 2, 0, 1] +2 0 2 2 +After: [1, 2, 0, 1] + +Before: [0, 1, 1, 0] +6 0 0 2 +After: [0, 1, 0, 0] + +Before: [2, 0, 2, 3] +3 0 2 1 +After: [2, 4, 2, 3] + +Before: [0, 1, 2, 0] +5 1 2 1 +After: [0, 0, 2, 0] + +Before: [2, 2, 2, 3] +3 0 2 0 +After: [4, 2, 2, 3] + +Before: [1, 1, 2, 3] +15 2 3 0 +After: [0, 1, 2, 3] + +Before: [0, 1, 2, 1] +3 2 2 2 +After: [0, 1, 4, 1] + +Before: [2, 1, 2, 3] +5 1 2 2 +After: [2, 1, 0, 3] + +Before: [3, 3, 0, 2] +12 2 3 0 +After: [1, 3, 0, 2] + +Before: [3, 1, 3, 1] +0 1 2 1 +After: [3, 0, 3, 1] + +Before: [3, 0, 3, 0] +12 3 2 1 +After: [3, 1, 3, 0] + +Before: [2, 2, 2, 0] +14 0 3 1 +After: [2, 1, 2, 0] + +Before: [1, 1, 0, 1] +2 0 2 0 +After: [0, 1, 0, 1] + +Before: [3, 3, 1, 1] +1 2 3 3 +After: [3, 3, 1, 2] + +Before: [0, 3, 0, 2] +12 2 3 1 +After: [0, 1, 0, 2] + +Before: [1, 1, 2, 2] +3 2 2 0 +After: [4, 1, 2, 2] + +Before: [3, 2, 2, 1] +11 3 2 3 +After: [3, 2, 2, 1] + +Before: [0, 1, 2, 1] +13 0 1 3 +After: [0, 1, 2, 0] + +Before: [1, 1, 1, 2] +1 2 0 1 +After: [1, 2, 1, 2] + +Before: [0, 3, 2, 1] +11 3 2 2 +After: [0, 3, 1, 1] + +Before: [1, 1, 3, 3] +0 1 2 3 +After: [1, 1, 3, 0] + +Before: [3, 1, 0, 2] +4 0 2 0 +After: [1, 1, 0, 2] + +Before: [1, 1, 3, 0] +0 1 2 2 +After: [1, 1, 0, 0] + +Before: [1, 2, 0, 2] +2 0 2 1 +After: [1, 0, 0, 2] + +Before: [1, 0, 1, 2] +1 2 0 0 +After: [2, 0, 1, 2] + +Before: [3, 1, 2, 1] +5 1 2 0 +After: [0, 1, 2, 1] + +Before: [2, 2, 2, 1] +11 3 2 2 +After: [2, 2, 1, 1] + +Before: [0, 1, 2, 0] +5 1 2 3 +After: [0, 1, 2, 0] + +Before: [3, 3, 1, 2] +7 3 3 1 +After: [3, 0, 1, 2] + +Before: [3, 1, 2, 2] +5 1 2 2 +After: [3, 1, 0, 2] + +Before: [1, 3, 0, 3] +2 0 2 3 +After: [1, 3, 0, 0] + +Before: [1, 1, 2, 0] +5 1 2 0 +After: [0, 1, 2, 0] + +Before: [1, 1, 2, 2] +3 3 2 1 +After: [1, 4, 2, 2] + +Before: [3, 0, 2, 1] +10 1 0 0 +After: [0, 0, 2, 1] + +Before: [0, 0, 1, 1] +1 2 3 1 +After: [0, 2, 1, 1] + +Before: [0, 3, 2, 1] +11 3 2 0 +After: [1, 3, 2, 1] + +Before: [3, 3, 0, 3] +10 2 0 1 +After: [3, 0, 0, 3] + +Before: [2, 2, 3, 1] +9 2 3 2 +After: [2, 2, 0, 1] + +Before: [1, 1, 2, 1] +8 0 2 2 +After: [1, 1, 0, 1] + +Before: [2, 1, 2, 1] +5 1 2 0 +After: [0, 1, 2, 1] + +Before: [3, 1, 3, 0] +12 3 2 0 +After: [1, 1, 3, 0] + +Before: [1, 0, 0, 2] +12 2 3 2 +After: [1, 0, 1, 2] + +Before: [1, 3, 2, 1] +8 0 2 0 +After: [0, 3, 2, 1] + +Before: [3, 2, 2, 3] +3 1 2 2 +After: [3, 2, 4, 3] + +Before: [0, 2, 2, 2] +4 3 2 3 +After: [0, 2, 2, 0] + +Before: [3, 1, 2, 1] +5 1 2 3 +After: [3, 1, 2, 0] + +Before: [0, 2, 0, 2] +6 0 0 2 +After: [0, 2, 0, 2] + +Before: [3, 1, 0, 3] +15 1 3 1 +After: [3, 0, 0, 3] + +Before: [2, 2, 2, 0] +3 0 2 0 +After: [4, 2, 2, 0] + +Before: [0, 0, 0, 2] +12 2 3 1 +After: [0, 1, 0, 2] + +Before: [3, 1, 3, 3] +9 3 0 1 +After: [3, 1, 3, 3] + +Before: [1, 0, 2, 1] +11 3 2 3 +After: [1, 0, 2, 1] + +Before: [2, 1, 0, 0] +14 0 3 2 +After: [2, 1, 1, 0] + +Before: [3, 0, 2, 2] +10 1 0 1 +After: [3, 0, 2, 2] + +Before: [2, 2, 1, 1] +1 2 3 1 +After: [2, 2, 1, 1] + +Before: [0, 2, 2, 3] +15 1 3 2 +After: [0, 2, 0, 3] + +Before: [1, 3, 0, 3] +2 0 2 2 +After: [1, 3, 0, 3] + +Before: [3, 1, 2, 1] +11 3 2 0 +After: [1, 1, 2, 1] + +Before: [2, 1, 2, 1] +11 3 2 0 +After: [1, 1, 2, 1] + +Before: [1, 1, 2, 3] +8 0 2 1 +After: [1, 0, 2, 3] + +Before: [2, 1, 2, 3] +5 1 2 0 +After: [0, 1, 2, 3] + +Before: [1, 1, 0, 2] +7 3 3 1 +After: [1, 0, 0, 2] + +Before: [0, 0, 2, 3] +15 2 3 2 +After: [0, 0, 0, 3] + +Before: [1, 3, 0, 0] +2 0 2 0 +After: [0, 3, 0, 0] + +Before: [3, 2, 2, 2] +9 2 1 3 +After: [3, 2, 2, 1] + +Before: [2, 3, 3, 0] +12 3 2 3 +After: [2, 3, 3, 1] + +Before: [3, 0, 1, 1] +7 2 3 0 +After: [0, 0, 1, 1] + +Before: [3, 1, 3, 0] +0 1 2 0 +After: [0, 1, 3, 0] + +Before: [0, 2, 2, 1] +11 3 2 2 +After: [0, 2, 1, 1] + +Before: [1, 1, 1, 3] +15 1 3 2 +After: [1, 1, 0, 3] + +Before: [2, 3, 3, 1] +9 2 3 2 +After: [2, 3, 0, 1] + +Before: [0, 2, 0, 3] +6 0 0 0 +After: [0, 2, 0, 3] + +Before: [2, 3, 1, 0] +14 0 3 0 +After: [1, 3, 1, 0] + +Before: [2, 3, 2, 0] +14 0 3 2 +After: [2, 3, 1, 0] + +Before: [0, 3, 1, 1] +6 0 0 2 +After: [0, 3, 0, 1] + +Before: [2, 0, 1, 1] +1 2 3 3 +After: [2, 0, 1, 2] + +Before: [1, 2, 1, 3] +1 2 0 1 +After: [1, 2, 1, 3] + +Before: [3, 1, 2, 1] +5 1 2 2 +After: [3, 1, 0, 1] + +Before: [1, 3, 2, 3] +8 0 2 0 +After: [0, 3, 2, 3] + +Before: [3, 1, 0, 1] +4 3 1 0 +After: [0, 1, 0, 1] + +Before: [0, 3, 2, 1] +11 3 2 1 +After: [0, 1, 2, 1] + +Before: [2, 1, 3, 2] +0 1 2 2 +After: [2, 1, 0, 2] + +Before: [2, 2, 1, 0] +14 0 3 0 +After: [1, 2, 1, 0] + +Before: [1, 2, 2, 1] +11 3 2 1 +After: [1, 1, 2, 1] + +Before: [2, 2, 2, 0] +14 0 3 3 +After: [2, 2, 2, 1] + +Before: [3, 1, 1, 1] +1 2 3 3 +After: [3, 1, 1, 2] + +Before: [1, 2, 2, 1] +11 3 2 0 +After: [1, 2, 2, 1] + +Before: [3, 3, 0, 2] +4 0 2 1 +After: [3, 1, 0, 2] + +Before: [0, 1, 0, 1] +6 0 0 1 +After: [0, 0, 0, 1] + +Before: [3, 3, 2, 3] +9 3 0 0 +After: [1, 3, 2, 3] + +Before: [0, 2, 1, 3] +13 0 2 3 +After: [0, 2, 1, 0] + +Before: [0, 2, 1, 1] +6 0 0 3 +After: [0, 2, 1, 0] + +Before: [1, 2, 0, 0] +2 0 2 3 +After: [1, 2, 0, 0] + +Before: [2, 1, 0, 2] +7 3 3 0 +After: [0, 1, 0, 2] + +Before: [3, 1, 2, 1] +11 3 2 3 +After: [3, 1, 2, 1] + +Before: [0, 2, 0, 1] +6 0 0 2 +After: [0, 2, 0, 1] + +Before: [1, 2, 2, 1] +8 0 2 3 +After: [1, 2, 2, 0] + +Before: [0, 0, 2, 2] +6 0 0 0 +After: [0, 0, 2, 2] + +Before: [0, 2, 3, 1] +6 0 0 2 +After: [0, 2, 0, 1] + +Before: [3, 2, 0, 2] +12 2 3 3 +After: [3, 2, 0, 1] + +Before: [2, 1, 3, 0] +12 3 2 1 +After: [2, 1, 3, 0] + +Before: [3, 1, 1, 0] +4 2 1 1 +After: [3, 0, 1, 0] + +Before: [2, 1, 2, 1] +11 3 2 3 +After: [2, 1, 2, 1] + +Before: [1, 0, 2, 0] +8 0 2 1 +After: [1, 0, 2, 0] + +Before: [3, 0, 2, 0] +3 2 2 0 +After: [4, 0, 2, 0] + +Before: [2, 2, 1, 3] +15 2 3 2 +After: [2, 2, 0, 3] + +Before: [1, 0, 3, 1] +7 3 3 1 +After: [1, 0, 3, 1] + +Before: [0, 1, 2, 1] +11 3 2 2 +After: [0, 1, 1, 1] + +Before: [1, 0, 1, 0] +1 2 0 1 +After: [1, 2, 1, 0] + +Before: [0, 1, 3, 3] +13 0 1 1 +After: [0, 0, 3, 3] + +Before: [1, 3, 0, 0] +2 0 2 2 +After: [1, 3, 0, 0] + +Before: [0, 1, 1, 1] +13 0 1 0 +After: [0, 1, 1, 1] + +Before: [1, 0, 1, 2] +1 2 0 2 +After: [1, 0, 2, 2] + +Before: [0, 3, 2, 1] +13 0 1 3 +After: [0, 3, 2, 0] + +Before: [2, 0, 0, 0] +14 0 3 2 +After: [2, 0, 1, 0] + +Before: [1, 1, 1, 1] +1 2 0 0 +After: [2, 1, 1, 1] + +Before: [3, 0, 1, 3] +10 1 0 1 +After: [3, 0, 1, 3] + +Before: [1, 2, 1, 2] +7 3 3 1 +After: [1, 0, 1, 2] + +Before: [0, 1, 2, 2] +5 1 2 1 +After: [0, 0, 2, 2] + +Before: [0, 0, 2, 1] +6 0 0 0 +After: [0, 0, 2, 1] + +Before: [1, 1, 0, 2] +2 0 2 3 +After: [1, 1, 0, 0] + +Before: [2, 2, 3, 0] +14 0 3 2 +After: [2, 2, 1, 0] + +Before: [1, 1, 3, 1] +0 1 2 2 +After: [1, 1, 0, 1] + +Before: [1, 3, 1, 1] +7 3 3 0 +After: [0, 3, 1, 1] + +Before: [0, 0, 3, 0] +6 0 0 1 +After: [0, 0, 3, 0] + +Before: [3, 1, 3, 0] +0 1 2 1 +After: [3, 0, 3, 0] + +Before: [1, 2, 2, 1] +8 0 2 1 +After: [1, 0, 2, 1] + +Before: [1, 2, 0, 3] +2 0 2 2 +After: [1, 2, 0, 3] + +Before: [1, 1, 0, 2] +12 2 3 1 +After: [1, 1, 0, 2] + +Before: [0, 0, 3, 0] +12 3 2 2 +After: [0, 0, 1, 0] + +Before: [1, 2, 0, 2] +2 0 2 3 +After: [1, 2, 0, 0] + +Before: [0, 2, 3, 1] +13 0 3 3 +After: [0, 2, 3, 0] + +Before: [0, 2, 2, 1] +11 3 2 0 +After: [1, 2, 2, 1] + +Before: [1, 3, 2, 2] +8 0 2 3 +After: [1, 3, 2, 0] + +Before: [1, 1, 1, 3] +1 2 0 1 +After: [1, 2, 1, 3] + +Before: [3, 0, 0, 1] +10 1 0 0 +After: [0, 0, 0, 1] + +Before: [2, 1, 1, 1] +7 2 3 0 +After: [0, 1, 1, 1] + +Before: [0, 1, 2, 2] +5 1 2 0 +After: [0, 1, 2, 2] + +Before: [0, 2, 1, 2] +6 0 0 1 +After: [0, 0, 1, 2] + +Before: [0, 3, 3, 1] +7 3 3 2 +After: [0, 3, 0, 1] + +Before: [1, 1, 2, 1] +8 0 2 1 +After: [1, 0, 2, 1] + +Before: [1, 1, 2, 1] +11 3 2 3 +After: [1, 1, 2, 1] + +Before: [0, 1, 1, 3] +13 0 2 2 +After: [0, 1, 0, 3] + +Before: [2, 2, 2, 2] +3 1 2 0 +After: [4, 2, 2, 2] + +Before: [0, 3, 1, 1] +1 2 3 0 +After: [2, 3, 1, 1] + +Before: [1, 1, 0, 3] +2 0 2 2 +After: [1, 1, 0, 3] + +Before: [2, 1, 3, 1] +0 1 2 0 +After: [0, 1, 3, 1] + +Before: [1, 1, 0, 0] +2 0 2 1 +After: [1, 0, 0, 0] + +Before: [3, 2, 1, 1] +1 2 3 2 +After: [3, 2, 2, 1] + +Before: [2, 3, 2, 3] +9 2 0 3 +After: [2, 3, 2, 1] + +Before: [0, 0, 0, 1] +6 0 0 3 +After: [0, 0, 0, 0] + +Before: [2, 2, 3, 3] +15 1 3 3 +After: [2, 2, 3, 0] + +Before: [1, 0, 2, 3] +8 0 2 3 +After: [1, 0, 2, 0] + +Before: [1, 1, 0, 2] +2 0 2 0 +After: [0, 1, 0, 2] + +Before: [1, 1, 0, 2] +2 0 2 1 +After: [1, 0, 0, 2] + +Before: [0, 0, 0, 1] +6 0 0 1 +After: [0, 0, 0, 1] + +Before: [1, 3, 2, 1] +8 0 2 1 +After: [1, 0, 2, 1] + +Before: [2, 0, 1, 0] +10 1 0 2 +After: [2, 0, 0, 0] + +Before: [1, 2, 0, 1] +2 0 2 0 +After: [0, 2, 0, 1] + +Before: [0, 2, 2, 3] +15 1 3 3 +After: [0, 2, 2, 0] + +Before: [2, 1, 2, 3] +5 1 2 1 +After: [2, 0, 2, 3] + +Before: [1, 3, 2, 1] +8 0 2 3 +After: [1, 3, 2, 0] + +Before: [1, 1, 2, 2] +5 1 2 3 +After: [1, 1, 2, 0] + +Before: [0, 1, 2, 1] +4 3 1 1 +After: [0, 0, 2, 1] + +Before: [3, 1, 3, 0] +0 1 2 2 +After: [3, 1, 0, 0] + +Before: [2, 0, 2, 2] +3 0 2 0 +After: [4, 0, 2, 2] + +Before: [0, 1, 3, 1] +0 1 2 0 +After: [0, 1, 3, 1] + +Before: [2, 1, 2, 2] +5 1 2 1 +After: [2, 0, 2, 2] + +Before: [1, 3, 0, 0] +2 0 2 3 +After: [1, 3, 0, 0] + +Before: [1, 2, 2, 3] +3 2 2 0 +After: [4, 2, 2, 3] + +Before: [0, 3, 2, 0] +6 0 0 2 +After: [0, 3, 0, 0] + +Before: [0, 3, 2, 3] +13 0 3 3 +After: [0, 3, 2, 0] + +Before: [3, 0, 0, 0] +4 0 2 3 +After: [3, 0, 0, 1] + +Before: [2, 3, 2, 2] +4 3 2 1 +After: [2, 0, 2, 2] + +Before: [2, 2, 2, 0] +3 0 2 2 +After: [2, 2, 4, 0] + +Before: [3, 0, 3, 3] +9 3 0 3 +After: [3, 0, 3, 1] + +Before: [0, 1, 2, 2] +13 0 1 3 +After: [0, 1, 2, 0] + +Before: [1, 1, 1, 1] +1 2 3 3 +After: [1, 1, 1, 2] + +Before: [2, 2, 3, 2] +4 2 0 0 +After: [1, 2, 3, 2] + +Before: [3, 1, 3, 3] +15 1 3 0 +After: [0, 1, 3, 3] + +Before: [0, 1, 1, 3] +6 0 0 1 +After: [0, 0, 1, 3] + +Before: [0, 3, 1, 1] +6 0 0 1 +After: [0, 0, 1, 1] + +Before: [3, 0, 0, 3] +9 3 0 2 +After: [3, 0, 1, 3] + +Before: [0, 3, 3, 1] +9 2 3 2 +After: [0, 3, 0, 1] + +Before: [2, 0, 1, 0] +14 0 3 3 +After: [2, 0, 1, 1] + +Before: [0, 2, 3, 0] +6 0 0 3 +After: [0, 2, 3, 0] + +Before: [1, 3, 0, 2] +2 0 2 1 +After: [1, 0, 0, 2] + +Before: [1, 1, 2, 1] +11 3 2 0 +After: [1, 1, 2, 1] + +Before: [1, 1, 2, 3] +8 0 2 0 +After: [0, 1, 2, 3] + +Before: [3, 1, 2, 2] +5 1 2 3 +After: [3, 1, 2, 0] + +Before: [1, 0, 0, 2] +2 0 2 2 +After: [1, 0, 0, 2] + +Before: [2, 0, 3, 0] +12 3 2 3 +After: [2, 0, 3, 1] + +Before: [1, 1, 2, 1] +8 0 2 3 +After: [1, 1, 2, 0] + +Before: [1, 1, 2, 0] +8 0 2 1 +After: [1, 0, 2, 0] + +Before: [3, 1, 2, 2] +5 1 2 0 +After: [0, 1, 2, 2] + +Before: [1, 2, 2, 2] +8 0 2 3 +After: [1, 2, 2, 0] + +Before: [3, 3, 0, 0] +10 2 0 2 +After: [3, 3, 0, 0] + +Before: [0, 3, 2, 2] +6 0 0 2 +After: [0, 3, 0, 2] + +Before: [3, 0, 3, 1] +10 1 0 0 +After: [0, 0, 3, 1] + +Before: [2, 3, 1, 1] +7 2 3 1 +After: [2, 0, 1, 1] + +Before: [3, 1, 2, 3] +3 2 2 1 +After: [3, 4, 2, 3] + +Before: [0, 2, 2, 3] +15 1 3 1 +After: [0, 0, 2, 3] + +Before: [0, 3, 2, 1] +6 0 0 0 +After: [0, 3, 2, 1] + +Before: [0, 1, 3, 0] +6 0 0 3 +After: [0, 1, 3, 0] + +Before: [1, 3, 2, 1] +7 3 3 1 +After: [1, 0, 2, 1] + +Before: [1, 0, 0, 1] +2 0 2 1 +After: [1, 0, 0, 1] + +Before: [3, 1, 0, 2] +12 2 3 3 +After: [3, 1, 0, 1] + +Before: [3, 0, 2, 3] +10 1 0 0 +After: [0, 0, 2, 3] + +Before: [3, 2, 2, 1] +11 3 2 0 +After: [1, 2, 2, 1] + +Before: [1, 1, 2, 3] +5 1 2 1 +After: [1, 0, 2, 3] + +Before: [1, 1, 0, 1] +2 0 2 3 +After: [1, 1, 0, 0] + +Before: [2, 1, 2, 2] +5 1 2 0 +After: [0, 1, 2, 2] + +Before: [0, 3, 3, 1] +6 0 0 3 +After: [0, 3, 3, 0] + +Before: [3, 2, 2, 3] +9 2 1 3 +After: [3, 2, 2, 1] + +Before: [1, 1, 2, 1] +8 0 2 0 +After: [0, 1, 2, 1] + +Before: [2, 2, 1, 0] +14 0 3 2 +After: [2, 2, 1, 0] + +Before: [3, 2, 2, 3] +9 2 1 2 +After: [3, 2, 1, 3] + +Before: [1, 2, 2, 2] +8 0 2 2 +After: [1, 2, 0, 2] + +Before: [1, 0, 2, 2] +8 0 2 0 +After: [0, 0, 2, 2] + +Before: [1, 3, 0, 1] +2 0 2 1 +After: [1, 0, 0, 1] + +Before: [3, 2, 3, 3] +15 1 3 3 +After: [3, 2, 3, 0] + +Before: [0, 2, 0, 3] +6 0 0 1 +After: [0, 0, 0, 3] + +Before: [2, 1, 3, 1] +0 1 2 1 +After: [2, 0, 3, 1] + +Before: [1, 3, 0, 1] +2 0 2 0 +After: [0, 3, 0, 1] + +Before: [2, 1, 2, 1] +5 1 2 1 +After: [2, 0, 2, 1] + +Before: [1, 3, 0, 2] +12 2 3 2 +After: [1, 3, 1, 2] + +Before: [0, 3, 0, 1] +13 0 1 2 +After: [0, 3, 0, 1] + +Before: [3, 3, 0, 1] +7 3 3 3 +After: [3, 3, 0, 0] + +Before: [0, 3, 0, 0] +13 0 1 2 +After: [0, 3, 0, 0] + +Before: [2, 1, 1, 0] +4 2 1 3 +After: [2, 1, 1, 0] + +Before: [3, 0, 0, 3] +10 1 0 1 +After: [3, 0, 0, 3] + +Before: [2, 0, 2, 3] +15 2 3 0 +After: [0, 0, 2, 3] + +Before: [1, 0, 0, 2] +2 0 2 3 +After: [1, 0, 0, 0] + +Before: [1, 1, 0, 3] +2 0 2 0 +After: [0, 1, 0, 3] + +Before: [3, 0, 0, 0] +10 2 0 3 +After: [3, 0, 0, 0] + +Before: [3, 0, 2, 1] +11 3 2 0 +After: [1, 0, 2, 1] + +Before: [3, 0, 0, 3] +10 2 0 2 +After: [3, 0, 0, 3] diff --git a/2018/day16-input2 b/2018/day16-input2 new file mode 100644 index 0000000..df25bcf --- /dev/null +++ b/2018/day16-input2 @@ -0,0 +1,950 @@ +13 0 0 0 +3 0 2 0 +8 3 0 1 +13 0 0 3 +3 3 1 3 +4 0 1 0 +13 0 1 0 +1 2 0 2 +8 2 1 3 +8 1 2 0 +13 0 0 1 +3 1 0 1 +2 0 3 1 +13 1 3 1 +13 1 3 1 +1 2 1 2 +11 2 0 0 +8 3 0 2 +8 3 2 1 +8 0 0 3 +12 3 2 2 +13 2 2 2 +13 2 1 2 +1 0 2 0 +11 0 3 1 +8 3 1 3 +8 0 2 2 +8 0 3 0 +0 3 2 3 +13 3 1 3 +1 1 3 1 +11 1 1 3 +8 3 1 0 +8 0 2 1 +13 3 0 2 +3 2 2 2 +4 2 0 1 +13 1 3 1 +1 3 1 3 +11 3 2 1 +8 0 2 3 +8 1 0 0 +15 3 2 2 +13 2 3 2 +1 1 2 1 +11 1 2 3 +8 3 0 1 +8 2 0 2 +11 0 2 2 +13 2 3 2 +1 2 3 3 +11 3 2 0 +13 2 0 2 +3 2 3 2 +8 3 1 3 +0 3 2 3 +13 3 1 3 +1 3 0 0 +11 0 3 1 +8 2 2 3 +8 2 1 2 +8 3 0 0 +4 2 0 3 +13 3 1 3 +1 3 1 1 +11 1 0 2 +8 3 3 3 +8 2 2 0 +13 1 0 1 +3 1 0 1 +5 3 0 3 +13 3 1 3 +1 2 3 2 +11 2 3 1 +8 1 1 0 +8 0 2 3 +8 2 0 2 +11 0 2 3 +13 3 1 3 +1 3 1 1 +13 2 0 3 +3 3 3 3 +8 2 3 0 +13 2 0 2 +3 2 3 2 +7 0 2 3 +13 3 3 3 +1 3 1 1 +8 2 0 2 +13 3 0 3 +3 3 1 3 +2 3 0 0 +13 0 2 0 +13 0 1 0 +1 1 0 1 +8 2 3 0 +8 2 0 3 +10 2 3 2 +13 2 3 2 +13 2 3 2 +1 2 1 1 +11 1 1 0 +8 0 1 1 +8 1 0 3 +13 2 0 2 +3 2 0 2 +3 3 1 3 +13 3 3 3 +1 0 3 0 +11 0 2 2 +8 2 0 3 +13 0 0 0 +3 0 2 0 +9 0 3 0 +13 0 1 0 +13 0 2 0 +1 2 0 2 +8 3 1 1 +8 3 2 3 +8 2 1 0 +5 1 0 0 +13 0 1 0 +1 2 0 2 +11 2 1 3 +8 2 3 0 +13 1 0 2 +3 2 2 2 +8 1 2 1 +2 1 0 2 +13 2 3 2 +1 3 2 3 +11 3 3 2 +8 1 3 0 +8 3 0 3 +1 1 0 3 +13 3 3 3 +1 2 3 2 +11 2 2 1 +8 3 3 3 +8 2 2 2 +11 0 2 0 +13 0 2 0 +13 0 3 0 +1 0 1 1 +11 1 1 0 +8 2 3 3 +8 2 1 1 +10 1 3 3 +13 3 2 3 +1 0 3 0 +11 0 2 2 +8 1 2 0 +8 3 2 3 +1 0 0 3 +13 3 2 3 +13 3 1 3 +1 2 3 2 +11 2 2 0 +8 1 1 1 +13 2 0 2 +3 2 2 2 +13 2 0 3 +3 3 0 3 +15 3 2 1 +13 1 1 1 +13 1 2 1 +1 1 0 0 +11 0 0 3 +8 1 1 2 +13 0 0 1 +3 1 2 1 +8 3 3 0 +0 0 2 0 +13 0 1 0 +13 0 2 0 +1 3 0 3 +11 3 0 0 +8 1 3 1 +8 2 0 3 +8 0 1 2 +13 1 2 3 +13 3 1 3 +1 3 0 0 +13 1 0 3 +3 3 0 3 +8 3 0 2 +8 0 2 1 +12 3 2 3 +13 3 1 3 +13 3 2 3 +1 0 3 0 +11 0 3 2 +8 0 0 3 +13 1 0 0 +3 0 1 0 +8 2 1 1 +10 1 3 1 +13 1 2 1 +1 1 2 2 +11 2 1 3 +8 2 0 2 +8 2 3 1 +11 0 2 2 +13 2 2 2 +13 2 2 2 +1 2 3 3 +11 3 3 2 +8 1 0 3 +13 0 0 1 +3 1 0 1 +3 3 1 3 +13 3 1 3 +1 3 2 2 +11 2 3 1 +8 2 1 2 +8 2 3 3 +11 0 2 2 +13 2 1 2 +1 2 1 1 +11 1 2 2 +8 1 0 3 +13 3 0 0 +3 0 2 0 +8 0 1 1 +14 0 3 1 +13 1 3 1 +1 1 2 2 +11 2 2 1 +8 1 1 0 +8 3 1 2 +1 0 0 0 +13 0 1 0 +1 0 1 1 +13 2 0 0 +3 0 3 0 +13 3 0 2 +3 2 1 2 +8 0 3 3 +0 0 2 2 +13 2 1 2 +1 1 2 1 +11 1 3 0 +8 1 1 3 +8 2 1 2 +8 3 3 1 +3 3 1 3 +13 3 2 3 +1 3 0 0 +8 1 0 2 +8 2 1 1 +8 0 3 3 +10 1 3 1 +13 1 1 1 +1 0 1 0 +11 0 3 3 +8 3 0 1 +8 1 1 0 +8 0 1 2 +3 0 1 2 +13 2 1 2 +1 2 3 3 +13 2 0 2 +3 2 3 2 +8 2 2 0 +5 1 0 2 +13 2 2 2 +1 3 2 3 +11 3 0 0 +8 2 2 2 +8 2 1 3 +5 1 3 3 +13 3 1 3 +1 3 0 0 +11 0 1 1 +8 3 0 2 +8 1 2 0 +8 0 1 3 +8 2 3 3 +13 3 3 3 +1 3 1 1 +8 2 3 2 +8 3 3 0 +8 1 3 3 +6 2 0 0 +13 0 2 0 +13 0 1 0 +1 1 0 1 +11 1 3 3 +8 1 2 0 +13 2 0 1 +3 1 3 1 +4 2 1 2 +13 2 1 2 +1 2 3 3 +8 3 0 0 +8 2 3 2 +4 2 0 1 +13 1 1 1 +1 3 1 3 +11 3 1 0 +8 2 3 1 +8 0 1 3 +15 3 2 1 +13 1 1 1 +13 1 1 1 +1 1 0 0 +11 0 1 1 +8 0 3 0 +15 3 2 3 +13 3 2 3 +13 3 3 3 +1 1 3 1 +13 3 0 0 +3 0 2 0 +8 0 2 2 +13 1 0 3 +3 3 1 3 +13 3 2 0 +13 0 3 0 +1 1 0 1 +8 0 0 3 +8 3 2 0 +7 2 0 0 +13 0 3 0 +1 0 1 1 +11 1 1 2 +8 1 0 0 +8 1 1 3 +8 1 2 1 +1 3 0 3 +13 3 3 3 +1 3 2 2 +11 2 1 3 +8 0 2 1 +8 0 3 2 +13 0 2 1 +13 1 1 1 +13 1 1 1 +1 3 1 3 +11 3 1 1 +8 3 3 2 +8 0 3 3 +8 2 0 0 +10 0 3 3 +13 3 2 3 +1 3 1 1 +11 1 0 3 +8 2 2 1 +8 2 2 2 +8 3 1 0 +4 2 0 2 +13 2 1 2 +1 3 2 3 +8 1 0 0 +13 2 0 2 +3 2 0 2 +8 1 1 1 +1 0 0 0 +13 0 1 0 +1 3 0 3 +11 3 3 1 +8 2 2 3 +8 2 2 0 +9 0 3 3 +13 3 2 3 +13 3 2 3 +1 1 3 1 +11 1 3 3 +8 1 3 0 +8 3 1 1 +8 2 3 2 +11 0 2 0 +13 0 1 0 +1 0 3 3 +11 3 1 0 +8 3 2 3 +13 0 0 1 +3 1 2 1 +8 1 3 2 +0 3 2 2 +13 2 3 2 +13 2 2 2 +1 2 0 0 +11 0 0 1 +8 3 1 0 +8 2 0 3 +8 0 0 2 +7 2 0 2 +13 2 3 2 +13 2 2 2 +1 1 2 1 +11 1 3 3 +8 2 1 2 +8 1 2 0 +8 0 2 1 +11 0 2 0 +13 0 2 0 +1 3 0 3 +11 3 3 2 +8 2 2 0 +8 0 0 3 +10 0 3 0 +13 0 1 0 +1 2 0 2 +11 2 1 3 +8 2 2 0 +8 1 1 1 +8 3 3 2 +13 1 2 0 +13 0 3 0 +13 0 3 0 +1 0 3 3 +11 3 0 1 +8 1 0 3 +8 2 3 0 +7 0 2 0 +13 0 1 0 +1 1 0 1 +11 1 3 2 +8 2 1 0 +13 2 0 1 +3 1 3 1 +14 0 3 3 +13 3 1 3 +1 3 2 2 +11 2 0 0 +8 2 2 1 +13 0 0 2 +3 2 0 2 +13 0 0 3 +3 3 2 3 +12 2 3 2 +13 2 1 2 +13 2 2 2 +1 2 0 0 +11 0 0 1 +13 2 0 3 +3 3 1 3 +8 3 3 2 +8 2 2 0 +14 0 3 2 +13 2 1 2 +13 2 2 2 +1 2 1 1 +11 1 0 0 +8 3 1 3 +13 1 0 2 +3 2 3 2 +13 0 0 1 +3 1 2 1 +6 1 2 1 +13 1 1 1 +1 0 1 0 +11 0 1 2 +8 2 1 0 +8 1 1 3 +8 0 2 1 +2 3 0 0 +13 0 2 0 +13 0 1 0 +1 0 2 2 +11 2 3 0 +8 3 1 3 +8 3 1 1 +8 2 2 2 +4 2 1 3 +13 3 2 3 +13 3 3 3 +1 3 0 0 +8 3 3 2 +13 0 0 3 +3 3 3 3 +8 1 3 1 +13 1 2 2 +13 2 2 2 +13 2 2 2 +1 0 2 0 +11 0 3 2 +8 2 2 0 +13 0 0 1 +3 1 2 1 +8 2 2 3 +10 0 3 1 +13 1 2 1 +1 1 2 2 +11 2 3 3 +13 3 0 0 +3 0 3 0 +8 0 1 2 +8 3 2 1 +7 2 0 1 +13 1 2 1 +1 3 1 3 +13 2 0 1 +3 1 1 1 +7 2 0 0 +13 0 1 0 +13 0 3 0 +1 3 0 3 +11 3 3 1 +8 2 1 2 +8 3 2 3 +13 0 0 0 +3 0 3 0 +4 2 0 0 +13 0 2 0 +1 1 0 1 +11 1 3 3 +8 1 3 2 +8 2 3 0 +8 3 3 1 +5 1 0 0 +13 0 1 0 +1 0 3 3 +8 2 0 2 +8 1 0 0 +8 0 0 1 +11 0 2 2 +13 2 3 2 +1 3 2 3 +11 3 0 1 +13 0 0 0 +3 0 2 0 +8 2 1 3 +8 3 2 2 +9 0 3 3 +13 3 2 3 +1 3 1 1 +11 1 1 3 +8 3 3 1 +8 2 2 2 +13 2 0 0 +3 0 1 0 +4 2 1 0 +13 0 3 0 +1 3 0 3 +11 3 0 1 +13 1 0 3 +3 3 1 3 +13 0 0 2 +3 2 3 2 +8 1 2 0 +13 0 2 3 +13 3 1 3 +13 3 3 3 +1 1 3 1 +11 1 3 0 +8 0 2 1 +8 0 1 3 +8 2 3 2 +13 2 1 2 +1 2 0 0 +13 3 0 2 +3 2 2 2 +13 2 0 1 +3 1 3 1 +4 2 1 1 +13 1 3 1 +1 0 1 0 +11 0 0 1 +8 1 2 2 +8 2 3 0 +8 3 0 2 +13 2 2 2 +1 2 1 1 +11 1 1 0 +8 1 0 1 +8 1 1 2 +8 1 3 3 +1 3 3 2 +13 2 2 2 +1 0 2 0 +11 0 1 1 +8 3 2 0 +8 2 3 2 +8 0 0 3 +4 2 0 3 +13 3 3 3 +1 1 3 1 +11 1 0 0 +8 3 2 2 +8 0 0 1 +8 3 0 3 +8 2 3 3 +13 3 1 3 +1 3 0 0 +11 0 0 2 +13 2 0 0 +3 0 2 0 +8 1 0 1 +8 2 1 3 +9 0 3 1 +13 1 1 1 +13 1 2 1 +1 2 1 2 +11 2 2 0 +8 3 0 1 +8 1 0 2 +0 1 2 2 +13 2 3 2 +13 2 3 2 +1 2 0 0 +8 2 2 1 +8 2 1 2 +8 0 0 3 +15 3 2 3 +13 3 1 3 +1 3 0 0 +11 0 2 3 +8 3 3 0 +8 3 3 2 +8 0 1 1 +0 0 2 0 +13 0 2 0 +13 0 2 0 +1 3 0 3 +11 3 1 1 +8 2 0 0 +8 3 2 3 +7 0 2 2 +13 2 2 2 +1 1 2 1 +11 1 1 0 +8 0 3 3 +13 1 0 2 +3 2 2 2 +8 0 0 1 +15 3 2 1 +13 1 3 1 +1 0 1 0 +11 0 0 1 +8 3 3 0 +13 3 0 2 +3 2 1 2 +8 1 1 3 +1 3 3 0 +13 0 2 0 +1 0 1 1 +11 1 1 0 +8 3 0 3 +13 0 0 2 +3 2 3 2 +8 2 2 1 +8 2 3 1 +13 1 2 1 +1 1 0 0 +11 0 0 2 +8 2 2 0 +8 1 2 1 +8 1 2 3 +2 3 0 3 +13 3 2 3 +1 3 2 2 +8 3 0 1 +13 1 0 3 +3 3 2 3 +9 0 3 1 +13 1 2 1 +13 1 2 1 +1 1 2 2 +8 1 3 0 +8 2 3 1 +10 1 3 3 +13 3 1 3 +1 2 3 2 +11 2 1 1 +8 2 1 3 +8 3 3 2 +1 0 0 2 +13 2 3 2 +1 1 2 1 +8 2 2 0 +13 3 0 2 +3 2 2 2 +9 0 3 3 +13 3 1 3 +1 3 1 1 +8 2 2 3 +8 1 2 2 +13 0 0 0 +3 0 1 0 +2 0 3 2 +13 2 1 2 +1 1 2 1 +8 0 1 0 +8 3 3 2 +8 3 0 2 +13 2 1 2 +1 2 1 1 +11 1 1 2 +8 3 0 0 +8 0 1 1 +5 0 3 1 +13 1 1 1 +13 1 1 1 +1 1 2 2 +11 2 0 1 +13 2 0 0 +3 0 1 0 +8 3 0 2 +8 0 2 3 +12 3 2 0 +13 0 1 0 +1 0 1 1 +11 1 2 0 +8 3 0 1 +13 1 0 2 +3 2 0 2 +8 3 2 3 +8 2 1 1 +13 1 3 1 +13 1 3 1 +1 1 0 0 +11 0 3 1 +8 0 3 3 +8 3 2 2 +8 1 1 0 +12 3 2 2 +13 2 3 2 +13 2 2 2 +1 2 1 1 +11 1 0 3 +13 0 0 0 +3 0 0 0 +8 1 2 1 +13 1 0 2 +3 2 0 2 +8 2 1 0 +13 0 2 0 +1 0 3 3 +11 3 1 0 +13 0 0 3 +3 3 0 3 +8 3 3 1 +13 3 0 2 +3 2 2 2 +15 3 2 2 +13 2 2 2 +13 2 2 2 +1 0 2 0 +8 1 0 1 +8 0 3 2 +8 2 2 3 +2 1 3 1 +13 1 2 1 +1 1 0 0 +11 0 2 1 +8 2 2 2 +8 2 3 0 +9 0 3 0 +13 0 1 0 +13 0 3 0 +1 1 0 1 +8 0 2 0 +13 3 0 2 +3 2 0 2 +12 2 3 2 +13 2 3 2 +13 2 1 2 +1 2 1 1 +11 1 2 0 +13 3 0 2 +3 2 1 2 +8 2 1 1 +8 0 0 3 +10 1 3 2 +13 2 1 2 +13 2 2 2 +1 0 2 0 +11 0 3 3 +8 1 1 1 +8 3 2 0 +8 3 0 2 +13 1 2 0 +13 0 2 0 +1 3 0 3 +11 3 3 0 +8 2 0 1 +8 0 2 3 +6 1 2 2 +13 2 2 2 +1 2 0 0 +11 0 2 2 +8 0 0 1 +8 2 1 0 +8 3 0 0 +13 0 1 0 +13 0 2 0 +1 0 2 2 +11 2 3 3 +8 3 3 2 +8 3 0 1 +8 2 1 0 +4 0 1 2 +13 2 3 2 +1 3 2 3 +11 3 2 2 +8 2 2 3 +13 1 0 1 +3 1 2 1 +10 1 3 3 +13 3 3 3 +1 2 3 2 +11 2 3 3 +8 0 3 0 +8 0 1 2 +8 3 3 1 +0 1 2 1 +13 1 1 1 +13 1 2 1 +1 1 3 3 +11 3 1 2 +8 1 1 1 +13 2 0 3 +3 3 2 3 +2 1 3 1 +13 1 2 1 +13 1 2 1 +1 2 1 2 +11 2 1 3 +8 2 2 2 +13 2 0 1 +3 1 0 1 +8 3 3 0 +6 2 0 2 +13 2 1 2 +13 2 3 2 +1 3 2 3 +11 3 2 0 +13 0 0 3 +3 3 0 3 +8 3 0 2 +8 3 2 1 +12 3 2 1 +13 1 3 1 +13 1 2 1 +1 0 1 0 +11 0 2 2 +8 1 2 1 +8 2 0 0 +10 0 3 3 +13 3 2 3 +1 3 2 2 +11 2 1 1 +8 2 1 3 +8 3 0 2 +6 0 2 3 +13 3 1 3 +13 3 2 3 +1 3 1 1 +11 1 1 2 +13 2 0 3 +3 3 1 3 +8 0 2 1 +14 0 3 0 +13 0 1 0 +1 2 0 2 +11 2 3 0 +8 1 0 2 +8 2 3 3 +8 1 3 3 +13 3 2 3 +13 3 2 3 +1 3 0 0 +11 0 0 3 +8 3 1 2 +13 0 0 0 +3 0 2 0 +7 0 2 2 +13 2 1 2 +1 2 3 3 +11 3 1 1 +8 2 0 2 +8 0 0 0 +8 1 1 3 +8 3 0 2 +13 2 1 2 +1 1 2 1 +11 1 0 0 +8 2 0 3 +8 1 1 1 +13 1 0 2 +3 2 3 2 +2 1 3 2 +13 2 2 2 +1 2 0 0 +8 3 2 1 +8 0 0 2 +5 1 3 2 +13 2 3 2 +1 0 2 0 +11 0 2 3 +8 2 2 2 +8 2 1 0 +8 1 3 1 +2 1 0 0 +13 0 1 0 +1 3 0 3 +11 3 0 1 +8 2 1 3 +13 0 0 2 +3 2 1 2 +8 1 1 0 +1 0 0 3 +13 3 3 3 +1 3 1 1 +8 2 0 0 +8 2 3 3 +13 2 0 2 +3 2 0 2 +9 0 3 0 +13 0 3 0 +1 0 1 1 +11 1 3 0 +8 2 2 2 +8 0 3 3 +8 0 1 1 +15 3 2 2 +13 2 3 2 +1 0 2 0 +11 0 2 3 +8 3 2 0 +13 3 0 2 +3 2 2 2 +6 2 0 0 +13 0 1 0 +1 0 3 3 +11 3 3 0 +8 3 3 3 +8 0 3 2 +8 2 2 1 +5 3 1 2 +13 2 3 2 +13 2 1 2 +1 0 2 0 +11 0 0 1 +8 2 0 0 +8 0 0 3 +8 0 0 2 +10 0 3 3 +13 3 1 3 +1 3 1 1 +11 1 2 3 +8 3 3 2 +8 0 1 1 +8 2 1 1 +13 1 1 1 +13 1 1 1 +1 3 1 3 +11 3 1 0 diff --git a/2018/day16.py b/2018/day16.py new file mode 100644 index 0000000..b3737a3 --- /dev/null +++ b/2018/day16.py @@ -0,0 +1,162 @@ +with open('day16-input1', 'r') as file: + data = [l.strip('\n') for l in file] +with open('day16-input2', 'r') as file: + data2 = [l.strip('\n') for l in file] +import numpy as np +import re + + +numbers = [[int(s) for s in re.findall(r'-?\d+', d)] for d in data if d] +numbers2 = [[int(s) for s in re.findall(r'-?\d+', d)] for d in data2 if d] +# arr = np.array(numbers, dtype=np.int64) + +registers = np.zeros(4, dtype=np.int64) + +def addr(regs, opcodes): + op, a, b, c = opcodes + r = list(regs) + r[c] = regs[a] + regs[b] + return r + +def addi(regs, opcodes): + op, a, b, c = opcodes + r = list(regs) + r[c] = regs[a] + b + return r + +def mulr(regs, opcodes): + op, a, b, c = opcodes + r = list(regs) + r[c] = regs[a] * regs[b] + return r + +def muli(regs, opcodes): + op, a, b, c = opcodes + r = list(regs) + r[c] = regs[a] * b + return r + +def andr(regs, opcodes): + op, a, b, c = opcodes + r = list(regs) + r[c] = regs[a] & regs[b] + return r + +def andi(regs, opcodes): + op, a, b, c = opcodes + r = list(regs) + r[c] = regs[a] & b + return r + +def orr(regs, opcodes): + op, a, b, c = opcodes + r = list(regs) + r[c] = regs[a] | regs[b] + return r + +def ori(regs, opcodes): + op, a, b, c = opcodes + r = list(regs) + r[c] = regs[a] | b + return r + +def setr(regs, opcodes): + op, a, b, c = opcodes + r = list(regs) + r[c] = regs[a] + return r + +def seti(regs, opcodes): + op, a, b, c = opcodes + r = list(regs) + r[c] = a + return r + +def gtir(regs, opcodes): + op, a, b, c = opcodes + r = list(regs) + r[c] = int(bool(a > regs[b])) + return r + +def gtri(regs, opcodes): + op, a, b, c = opcodes + r = list(regs) + r[c] = int(bool(regs[a] > b)) + return r + +def gtrr(regs, opcodes): + op, a, b, c = opcodes + r = list(regs) + r[c] = int(bool(regs[a] > regs[b])) + return r + +def eqir(regs, opcodes): + op, a, b, c = opcodes + r = list(regs) + r[c] = int(bool(a == regs[b])) + return r + +def eqri(regs, opcodes): + op, a, b, c = opcodes + r = list(regs) + r[c] = int(bool(regs[a] == b)) + return r + +def eqrr(regs, opcodes): + op, a, b, c = opcodes + r = list(regs) + r[c] = int(bool(regs[a] == regs[b])) + return r + +instructions = [addr, addi, mulr, muli, andr, andi, orr, ori, setr, seti, gtir, gtri, gtrr, eqir, eqri, eqrr] + +num_3_or_more = 0 +instruction_codes = {} +instruction_impossibilities = {} +for before, opcodes, after in zip(numbers[::3], numbers[1::3], numbers[2::3]): + possibilities = set() + impossibilities = set() + for op in instructions: + try: + r2 = op(before, opcodes) + if r2 == after: + possibilities.add(op) + else: + impossibilities.add(op) + except: + impossibilities.add(op) + if len(possibilities) >= 3: + num_3_or_more += 1 + + if opcodes[0] in instruction_codes: + instruction_codes[opcodes[0]] &= possibilities + else: + instruction_codes[opcodes[0]] = set(possibilities) + + if opcodes[0] in instruction_impossibilities: + instruction_impossibilities[opcodes[0]] |= impossibilities + else: + instruction_impossibilities[opcodes[0]] = set(impossibilities) + +print(num_3_or_more) # Part 1 + +for k in instruction_codes: + instruction_codes[k] -= instruction_impossibilities[k] +while sum([len(i) for i in instruction_codes.values()]) > len(instructions): + for code, cands in instruction_codes.items(): + if len(cands) == 1: + for code2 in [c for c in instruction_codes if c != code]: + instruction_codes[code2] -= cands + +opcode_convert = {code: list(s)[0] for code, s in instruction_codes.items()} + +regs = [0, 0, 0, 0] +for i, opcodes in enumerate(numbers2): + try: + regs = opcode_convert[opcodes[0]](regs, opcodes) + except: + print(f'Line {i}: {regs} {opcodes}') + raise + +print(regs) # Part 2 is first number +