diff --git a/2015/01/input.txt b/2015/01/input.txt new file mode 100644 index 0000000..2d4ad8f --- /dev/null +++ b/2015/01/input.txt @@ -0,0 +1 @@ +()(((()))(()()()((((()(((())(()(()((((((()(()(((())))((()(((()))((())(()((()()()()(((())(((((((())))()()(()(()(())(((((()()()((())(((((()()))))()(())(((())(())((((((())())))(()())))()))))()())()())((()()((()()()()(()((((((((()()())((()()(((((()(((())((())(()))()((((()((((((((())()((()())(())((()))())((((()())(((((((((((()()(((((()(()))())(((()(()))())((()(()())())())(()(((())(())())()()(()(()((()))((()))))((((()(((()))))((((()(()(()())())()(((()((((())((((()(((()()(())()()()())((()((((((()((()()))()((()))()(()()((())))(((()(((()))((()((()(()))(((()()(()(()()()))))()()(((()(((())())))))((()(((())()(()(())((()())))((((())))(()(()(()())()((()())))(((()((()(())()()((()((())(()()((())(())()))()))((()(())()))())(((((((()(()()(()(())())))))))(()((((((())((((())((())())(()()))))()(())(()())()())((())(()))))(()))(()((()))()(()((((((()()()()((((((((()(()(())((()()(()()))(())()())()((())))()))()())(((()))(())()(())()))()((()((()(()()())(())()()()((())())))((()()(()()((()(())()()())(((()(()()))))(())))(()(()())()))()()))))))()))))((((((())))())))(()(())())(()())))))(()))()))))))()((()))))()))))(()(()((()())())(()()))))(((())()))())())())(((()(()()))(())()(())(())((((((()()))))((()(()))))))(()))())(((()()(()))()())()()()())))))))))))))(())(()))(()))((()(())(()())(())())(()())(())()()(()())))()()()))(())())()))())())(())((())))))))(())))(())))))()))))((())(()(((()))))(()))()((()(())))(()())(((((()))()())()()))))()))))()))())(()(()()()))()))))))((()))))))))))()((()))((()(())((())()()(()()))()(()))))()()(()))()))(((())))(())()((())(())(()())()())())))))))())))()((())))()))(()))()()))(((((((()))())(()()))(()()(()))()(()((()())()))))))(((()()()())))(())()))()())(()()))()()))))))))(())))()))()()))))))()))()())))()(())(())))))()(())()()(()()))))())((()))))()))))(()(((((()))))))))())))())()(())()()))))(())))())()()())()()())()(()))))()))()))))))))())))((()))()))()))())))()())()()())))())))(()((())()((()))())))))())()(())((())))))))))))())()())(())())())(()))(()))()))())(()(())())()())()()(()))))(()(())))))))(())))())(())))))))())()()(())())())))(())))))()))()(()())()(()))())())))))()()(()))()))))())))))))))()))))()))))))())()())()()))))()())))())))))))))))()()))))()()(((()))()()(())()))))((()))))(()))(())())))(())()))))))(()))()))))(())())))))()))(()())))))))))))))())))))))))()((()())(()())))))))((()))))(())(())))()(()())())))())())(()()()())))()))))))())))))())()()())))))))))))()()(()))))()())()))((()())(()))))()(()))))))))))()())())(((())(()))))())()))()))()))))))()))))))(()))))()))))()(())))(())))(()))())()()(()()))()))(()()))))))))()))(()))())(()()(()(()())()()))()))))))))(())))))((()()(()))())())))))()))())(()())()()))())))()(()()()()))((())())))())()(()()))()))))))))(()))(())))()))))(()(()())(()))))()())())()))()()))())))))))))))())()))))))()))))))))())))))()))))())(()())))(())()))())())))))()()(()()())(()())))()()))(((()))(()()()))))()))))()))))((())))()((((((()()))))))())))))))))))(((()))))))))))))(())())))))())(()))))))(()))((()))())))()(()((()))()))()))))))))))())()))()(()()))))())))())(())()(()))()))())(()))()))))(()()))()()(())))))()))(())(()(()()))(()()())))))(((()))))))()))))))))))))(())(()))))()())())()()((()()))())))))(()))))())))))))()()()))))))))())))()(((()()))(())))))(((())())))))((()))()(()))(()))))(()())))(()))())))))()))))(())(())))()((()))(())())))()()))()))))))))()))(()()()(()()()(()))())(())()())(((()))(())))))))))(((()())))()()))))))))()(())(()))()((((())(())(()())))()))(((())()()()))((()))(()))())())))())))(()))())()())())(()(())())()()()(())))())(())))(())))(())()))()))(()((()))))))))())(()))))))())(()()))()()))()(()(()())))()()(()((()((((((()))(())))()()()))())()))((()()(()))())((()(()(()))(()()))))()())))()))()())))))))()()((()())(())))()))(()))(())(()))())(()(())))()()))))))(((()(((()()))()(()(())())((()()))()))()))()))()(()()()(()))((()())()(())))()()))(((())()()())(())()((()()()()(()(())(()()))()(((((()())))((())))))(()()()))))(((()(())))()))((()((()(())()(()((())))((()())()(()))(((()())()()(()))(())(((()((()())()((())()())(((()()))((()((())(()))(()())(()()()))((()))(())(()((()()())((()))(())))(())(())(())))(()())))(((((()(()(((((()())((((()(()())(())(()()(((())((()(((()()(((()()((((((())))())(()((((((()(()))()))()()((()((()))))()(()()(()((()()))))))(((((()(((((())()()()(())())))))))()))((()()(())))(())(()()()())))))(()((((())))))))()()(((()(()(()(()(()())()()()(((((((((()()())()(()))((()()()()()(((((((()())()((())()))((((((()(()(()(()())(((()(((((((()(((())(((((((((())(())())()))((()(()))(((()()())(())(()(()()(((()(())()))())))(())((((((())(()()())()()(((()(((())(()(((())(((((((()(((((((((()))(())(()(()(()))))((()))()(())())())((()(()((()()))((()()((()(())(())(()((())(((())(((()()()((((((()()(())((((())()))))(())((()(()((())))(((((()(()()())())((())())))((())((()((()()((((((())(((()()(()())())(()(()))(()(()))())())()(((((((()(((()(())()()((())((()(()()((()(()()(((((((((((())((())((((((())((()((((()(()((((()(((((((())()((()))))())()((()((((()(()(((()((()())))(())())(((()(((())((((((()(((((((((()()(())))(()(((((()((((()())))((()((()((()(()()(((())((((((((((((()(((())(()(((((()))(()()(()()()()()()((())(((((((())(((((())))))())()(()()(()(()(((()()(((((())(()((()((()(((()()((()((((())()))()((((())(())))()())(((())(())(()()((()(((()()((((((((((()()(()())())(((((((((())((((()))()()((((())(()((((()(((())())(((((((((((()((((())))(())(()(((()(((()((())(((((()((()()(()(()()((((((()((((()((()(()((()(()((((((()))))()()(((((()((()(()(())()))(())(((((((()((((()())(()((()((()(()))())))(())((()))))(((((((()()()())(()))(()()((()())()((()((()()()(()(()()))(()())(())(((((()(((((((((((()((()(((()(((((((()()((((((()(((((()(()((()(((((())((((((()))((((())((()()((())(((())()(((((()()(((((()((()(()(((((((()(((((()((()((()((())(())((())(()))()()))(()()(()(()()(((((((()(((()(((())()(((((()((((((()())((((())()((()((()(()()())(()))((((()()((((((()((()(()(()((((()((()((())((((((()(()(())((((((()((((((((((()((())()))()(()(()(((((()()()))((())))()(()((((((((((((((()(((()((((()((())((()((()(((()()(()(((()((())(()()())))()(()(()(((((()()(()(()((((()(((((())()(()(()))(((((()()(((()()(())((((((((((((((())((())(((((((((((())()()()(())()(()(()(((((((((())(((()))(()()())(()((((()(())(((((()())(())((((((((())()((((()((((((())(()((()(())(((()((((()))(((((((((()()))((((()(())()()()(())(()((())((()()))()(((())(((((())((((((()()))(((((((((()((((((())))(((((((()((()(()(())))())(()(()))()(((((()())(()))()(()(())(((()))))())()())))(((((()))())()((()(()))))((()()()((((((()))()()((((((((())((()(()(((()(()((())((()())(()((((())(()(((()()()(()(()()))())())((((((((((())())((()))()((())(())(())))())()(()()(())))())(()))(((()(()()(((()(((())))()(((()(())()((((((())()))()))()((((((()(()(((((()())))()))))())()()(((()(((((())((()()(()((()((()(()(()(())))(()()()()((()(())(((()((()))((((()))())(())))())(()))()()()())()))(((()()())()((())))(())(()()()()(()())((()(()()((((())))((()((()(())((()(()((())()(()()(((()())()()())((()))((())(((()()(())))()()))(((()((())()(((((()())(())((())()())())((((((()(()(((((()))(()( diff --git a/2015/02/input.txt b/2015/02/input.txt new file mode 100644 index 0000000..ce6cbfe --- /dev/null +++ b/2015/02/input.txt @@ -0,0 +1,1001 @@ +4x23x21 +22x29x19 +11x4x11 +8x10x5 +24x18x16 +11x25x22 +2x13x20 +24x15x14 +14x22x2 +30x7x3 +30x22x25 +29x9x9 +29x29x26 +14x3x16 +1x10x26 +29x2x30 +30x10x25 +10x26x20 +1x2x18 +25x18x5 +21x3x24 +2x5x7 +22x11x21 +11x8x8 +16x18x2 +13x3x8 +1x16x19 +19x16x12 +21x15x1 +29x9x4 +27x10x8 +2x7x27 +2x20x23 +24x11x5 +2x8x27 +10x28x10 +24x11x10 +19x2x12 +27x5x10 +1x14x25 +5x14x30 +15x26x12 +23x20x22 +5x12x1 +9x26x9 +23x25x5 +28x16x19 +17x23x17 +2x27x20 +18x27x13 +16x7x18 +22x7x29 +17x28x6 +9x22x17 +10x5x6 +14x2x12 +25x5x6 +26x9x10 +19x21x6 +19x4x27 +23x16x14 +21x17x29 +24x18x10 +7x19x6 +14x15x10 +9x10x19 +20x18x4 +11x14x8 +30x15x9 +25x12x24 +3x12x5 +12x21x28 +8x23x10 +18x26x8 +17x1x8 +2x29x15 +3x13x28 +23x20x11 +27x25x6 +19x21x3 +30x22x27 +28x24x4 +26x18x21 +11x7x16 +22x27x6 +27x5x26 +4x10x4 +4x2x27 +2x3x26 +26x29x19 +30x26x24 +8x25x12 +16x17x5 +13x2x3 +1x30x22 +20x9x1 +24x26x19 +26x18x1 +18x29x24 +1x6x9 +20x27x2 +3x22x21 +4x16x8 +29x18x16 +7x16x23 +13x8x14 +19x25x10 +23x29x6 +23x21x1 +22x26x10 +14x4x2 +18x29x17 +9x4x18 +7x22x9 +19x5x26 +27x29x19 +7x13x14 +19x10x1 +6x22x3 +12x21x5 +24x20x12 +28x2x11 +16x18x23 +2x13x25 +11x7x17 +27x21x4 +2x10x25 +22x16x17 +23x22x15 +17x13x13 +23x24x26 +27x18x24 +24x7x28 +30x12x15 +14x28x19 +2x15x29 +12x13x5 +17x22x21 +27x10x27 +17x6x25 +22x2x1 +1x10x9 +9x7x2 +30x28x3 +28x11x10 +8x23x15 +23x4x20 +12x5x4 +13x17x14 +28x11x2 +21x11x29 +10x23x22 +27x23x14 +7x15x23 +20x2x13 +8x21x4 +10x20x11 +23x28x11 +21x22x25 +23x11x17 +2x29x10 +28x16x5 +30x26x10 +17x24x16 +26x27x25 +14x13x25 +22x27x5 +24x15x12 +5x21x25 +4x27x1 +25x4x10 +15x13x1 +21x23x7 +8x3x4 +10x5x7 +9x13x30 +2x2x30 +26x4x29 +5x14x14 +2x27x9 +22x16x1 +4x23x5 +13x7x26 +2x12x10 +12x7x22 +26x30x26 +28x16x28 +15x19x11 +4x18x1 +20x14x24 +6x10x22 +9x20x3 +14x9x27 +26x17x9 +10x30x28 +6x3x29 +4x16x28 +8x24x11 +23x10x1 +11x7x7 +29x6x15 +13x25x12 +29x14x3 +26x22x21 +8x3x11 +27x13x25 +27x6x2 +8x11x7 +25x12x9 +24x30x12 +13x1x30 +25x23x16 +9x13x29 +29x26x16 +11x15x9 +11x23x6 +15x27x28 +27x24x21 +6x24x1 +25x25x5 +11x1x26 +21x4x24 +10x5x12 +4x30x13 +24x22x5 +26x7x21 +23x3x17 +22x18x2 +25x1x14 +23x25x30 +8x7x7 +30x19x8 +17x6x15 +2x11x20 +8x3x22 +23x14x26 +8x22x25 +27x1x2 +10x26x2 +28x30x7 +5x30x7 +27x16x30 +28x29x1 +8x25x18 +20x12x29 +9x19x9 +7x25x15 +25x18x18 +11x8x2 +4x20x6 +18x5x20 +2x3x29 +25x26x22 +18x25x26 +9x12x16 +18x7x27 +17x20x9 +6x29x26 +17x7x19 +21x7x5 +29x15x12 +22x4x1 +11x12x11 +26x30x4 +12x24x13 +13x8x3 +26x25x3 +21x26x10 +14x9x26 +20x1x7 +11x12x3 +12x11x4 +11x15x30 +17x6x25 +20x22x3 +1x16x17 +11x5x20 +12x12x7 +2x14x10 +14x27x3 +14x16x18 +21x28x24 +14x20x1 +29x14x1 +10x10x9 +25x23x4 +17x15x14 +9x20x26 +16x2x17 +13x28x25 +16x1x11 +19x16x8 +20x21x2 +27x9x22 +24x18x3 +23x30x6 +4x18x3 +30x15x8 +27x20x19 +28x29x26 +2x21x18 +1x23x30 +1x9x12 +4x11x30 +1x28x4 +17x10x10 +12x14x6 +8x9x24 +8x3x3 +29x8x20 +26x29x2 +29x25x25 +11x17x23 +6x30x21 +13x18x29 +2x10x8 +29x29x27 +27x15x15 +16x17x30 +3x3x22 +21x12x6 +22x1x5 +30x8x20 +6x28x13 +11x2x23 +14x18x27 +6x26x13 +10x24x24 +4x24x6 +20x8x3 +23x11x5 +29x5x24 +14x15x22 +21x17x13 +10x10x8 +1x11x23 +21x19x24 +19x9x13 +21x26x28 +25x11x28 +2x17x1 +18x9x8 +5x21x6 +12x5x2 +23x8x15 +30x16x24 +7x9x27 +16x30x7 +2x21x28 +5x10x6 +8x7x1 +28x13x5 +11x5x14 +26x22x29 +23x15x13 +14x2x16 +22x21x9 +4x20x3 +18x17x19 +12x7x9 +6x12x25 +3x30x27 +8x19x22 +1x9x27 +23x20x12 +14x7x29 +9x12x12 +30x2x6 +15x7x16 +19x13x18 +11x8x13 +16x5x3 +19x26x24 +26x8x21 +21x20x7 +15x1x25 +29x15x21 +22x17x7 +16x17x10 +6x12x24 +8x13x27 +30x25x14 +25x7x10 +15x2x2 +18x15x19 +18x13x24 +19x30x1 +17x1x3 +26x21x15 +10x10x18 +9x16x6 +29x7x30 +11x10x30 +6x11x2 +7x29x23 +13x2x30 +25x27x13 +5x15x21 +4x8x30 +15x27x11 +27x1x6 +2x24x11 +16x20x19 +25x28x20 +6x8x4 +27x16x11 +1x5x27 +12x19x26 +18x24x14 +4x25x17 +24x24x26 +28x3x18 +8x20x28 +22x7x21 +24x5x28 +23x30x29 +25x16x27 +28x10x30 +9x2x4 +30x2x23 +21x9x23 +27x4x26 +2x23x16 +24x26x30 +26x1x30 +10x4x28 +11x29x12 +28x13x30 +24x10x28 +8x12x12 +19x27x11 +11x28x7 +14x6x3 +6x27x5 +6x17x14 +24x24x17 +18x23x14 +17x5x7 +11x4x23 +5x1x17 +26x15x24 +3x9x24 +5x3x15 +5x20x19 +5x21x2 +13x5x30 +19x6x24 +19x17x6 +23x7x13 +28x23x13 +9x1x6 +15x12x16 +21x19x9 +25x5x5 +9x7x9 +6x5x8 +3x11x18 +23x25x11 +25x4x6 +4x27x1 +4x3x3 +30x11x5 +9x17x12 +15x6x24 +10x22x15 +29x27x9 +20x21x11 +18x10x5 +11x2x2 +9x8x8 +1x26x21 +11x11x16 +2x18x30 +29x27x24 +27x8x18 +19x3x17 +30x21x26 +25x13x25 +20x22x1 +10x1x12 +11x17x15 +29x11x30 +17x30x27 +21x22x17 +13x6x22 +22x16x12 +27x18x19 +4x13x6 +27x29x10 +3x23x10 +26x16x24 +18x26x20 +11x28x16 +21x6x15 +9x26x17 +8x15x8 +3x7x10 +2x28x8 +1x2x24 +7x8x9 +19x4x22 +11x20x9 +12x22x16 +26x8x19 +13x28x24 +4x10x16 +12x8x10 +14x24x24 +19x19x28 +29x1x15 +10x5x14 +20x19x23 +10x7x12 +1x7x13 +5x12x13 +25x21x8 +22x28x8 +7x9x4 +3x20x15 +15x27x19 +18x24x12 +16x10x16 +22x19x8 +15x4x3 +9x30x25 +1x1x6 +24x4x25 +13x18x29 +10x2x8 +21x1x17 +29x14x22 +17x29x11 +10x27x16 +25x16x15 +14x2x17 +12x27x3 +14x17x25 +24x4x1 +18x28x18 +9x14x26 +28x24x17 +1x26x12 +2x18x20 +12x19x22 +19x25x20 +5x17x27 +17x29x16 +29x19x11 +16x2x4 +23x24x1 +19x18x3 +28x14x6 +18x5x23 +9x24x12 +15x4x6 +15x7x24 +22x15x8 +22x1x22 +6x4x22 +26x1x30 +8x21x27 +7x1x11 +9x8x18 +20x27x12 +26x23x20 +26x22x30 +24x3x16 +8x24x28 +13x28x5 +4x29x23 +22x5x8 +20x22x3 +9x9x17 +28x3x30 +10x13x10 +10x25x13 +9x20x3 +1x21x25 +24x21x15 +21x5x14 +13x8x20 +29x17x3 +5x17x28 +16x12x7 +23x1x24 +4x24x29 +23x25x14 +8x27x2 +23x11x13 +13x4x5 +24x1x26 +21x1x23 +10x12x12 +21x29x25 +27x25x30 +24x23x4 +1x30x23 +29x28x14 +4x11x30 +9x25x10 +17x11x6 +14x29x30 +23x5x5 +25x18x21 +8x7x1 +27x11x3 +5x10x8 +11x1x11 +16x17x26 +15x22x19 +16x9x6 +18x13x27 +26x4x22 +1x20x21 +6x14x29 +11x7x6 +1x23x7 +12x19x13 +18x21x25 +15x17x20 +23x8x9 +15x9x26 +9x12x9 +12x13x14 +27x26x7 +11x19x22 +16x12x21 +10x30x28 +21x2x7 +12x9x18 +7x17x14 +13x17x17 +3x21x10 +30x9x15 +2x8x15 +15x12x10 +23x26x9 +29x30x10 +30x22x17 +17x26x30 +27x26x20 +17x28x17 +30x12x16 +7x23x15 +30x15x19 +13x19x10 +22x10x4 +17x23x10 +2x28x18 +27x21x28 +24x26x5 +6x23x25 +17x4x16 +14x1x13 +23x21x11 +14x15x30 +26x13x10 +30x19x25 +26x6x26 +9x16x29 +15x2x24 +13x3x20 +23x12x30 +22x23x23 +8x21x2 +18x28x5 +21x27x14 +29x28x23 +12x30x28 +17x16x3 +5x19x11 +28x22x22 +1x4x28 +10x10x14 +18x15x7 +18x11x1 +12x7x16 +10x22x24 +27x25x6 +19x29x25 +10x1x26 +26x27x30 +4x23x19 +24x19x4 +21x11x14 +4x13x27 +9x1x11 +16x20x8 +4x3x11 +1x16x12 +14x6x30 +8x1x10 +11x18x7 +29x28x30 +4x21x8 +3x21x4 +6x1x5 +26x18x3 +28x27x27 +17x3x12 +6x1x22 +23x12x28 +12x13x2 +11x2x13 +7x1x28 +27x6x25 +14x14x3 +14x11x20 +2x27x7 +22x24x23 +7x15x20 +30x6x17 +20x23x25 +18x16x27 +2x9x6 +9x18x19 +20x11x22 +11x16x19 +14x29x23 +14x9x20 +8x10x12 +18x17x6 +28x7x16 +12x19x28 +5x3x16 +1x25x10 +4x14x10 +9x6x3 +15x27x28 +13x26x14 +21x8x25 +29x10x20 +14x26x30 +25x13x28 +1x15x23 +6x20x21 +18x2x1 +22x25x16 +23x25x17 +2x14x21 +14x25x16 +12x17x6 +19x29x15 +25x9x6 +19x17x13 +24x22x5 +19x4x13 +10x18x6 +6x25x6 +23x24x20 +8x22x13 +25x10x29 +5x12x25 +20x5x11 +7x16x29 +29x24x22 +28x20x1 +10x27x10 +6x9x27 +26x15x30 +26x3x19 +20x11x3 +26x1x29 +6x23x4 +6x13x21 +9x23x25 +15x1x10 +29x12x13 +7x8x24 +29x30x27 +3x29x19 +14x16x17 +4x8x27 +26x17x8 +10x27x17 +11x28x17 +17x16x27 +1x8x22 +6x30x16 +7x30x22 +20x12x3 +18x10x2 +20x21x26 +11x1x17 +9x15x15 +19x14x30 +24x22x20 +11x26x23 +14x3x23 +1x28x29 +29x20x4 +1x4x20 +12x26x8 +14x11x14 +14x19x13 +15x13x24 +16x7x26 +11x20x11 +5x24x26 +24x25x7 +21x3x14 +24x29x20 +7x12x1 +16x17x4 +29x16x21 +28x8x17 +11x30x25 +1x26x23 +25x19x28 +30x24x5 +26x29x15 +4x25x23 +14x25x19 +29x10x7 +29x29x28 +19x13x24 +21x28x5 +8x15x24 +1x10x12 +2x26x6 +14x14x4 +10x16x27 +9x17x25 +25x8x7 +1x9x28 +10x8x17 +4x12x1 +17x26x29 +23x12x26 +2x21x22 +18x23x13 +1x14x5 +25x27x26 +4x30x30 +5x13x2 +17x9x6 +28x18x28 +7x30x2 +28x22x17 +14x15x14 +10x14x19 +6x15x22 +27x4x17 +28x21x6 +19x29x26 +6x17x17 +20x13x16 +25x4x1 +2x9x5 +30x3x1 +24x21x2 +14x19x12 +22x5x23 +14x4x21 +10x2x17 +3x14x10 +17x5x3 +22x17x13 +5x19x3 +29x22x6 +12x28x3 +9x21x25 +10x2x14 +13x26x7 +18x23x2 +9x14x17 +21x3x13 +13x23x9 +1x20x4 +11x4x1 +19x5x30 +9x9x29 +26x29x14 +1x4x10 +7x27x30 +8x3x23 +1x27x27 +7x27x27 +1x26x16 +29x16x14 +18x6x12 +24x24x24 +26x2x19 +15x17x4 +11x7x14 +14x19x10 +9x10x1 +14x17x9 +20x19x13 +25x20x8 +24x20x21 +26x30x2 +24x2x10 +28x4x13 +27x17x11 +15x3x8 +11x29x10 +26x15x16 +4x28x22 +7x5x22 +10x28x9 +6x28x13 +10x5x6 +20x12x6 +25x30x30 +17x16x14 +14x20x3 +16x10x8 +9x28x14 +16x12x12 +11x13x25 +21x16x28 +10x3x18 +5x9x20 +17x23x5 +3x13x16 +29x30x17 +2x2x8 +15x8x30 +20x1x16 +23x10x29 +4x5x4 +6x18x12 +26x10x22 +21x10x17 +26x12x29 +7x20x21 +18x9x15 +10x23x20 +20x1x27 +10x10x3 +25x12x23 +30x11x15 +16x22x3 +22x10x11 +15x10x20 +2x20x17 +20x20x1 +24x16x4 +23x27x7 +7x27x22 +24x16x8 +20x11x25 +30x28x11 +21x6x24 +15x2x9 +16x30x24 +21x27x9 +7x19x8 +24x13x28 +12x26x28 +16x21x11 +25x5x13 +23x3x17 +23x1x17 +4x17x18 +17x13x18 +25x12x19 +17x4x19 +4x21x26 +6x28x1 +23x22x15 +6x23x12 +21x17x9 +30x4x23 +2x19x21 +28x24x7 +19x24x14 +13x20x26 +19x24x29 +8x26x3 +16x12x14 +17x4x21 +8x4x20 +13x27x17 +9x21x1 +29x25x6 +7x9x26 +13x25x5 +6x9x21 +12x10x11 +30x28x21 +15x6x2 +8x18x19 +26x20x24 +26x17x14 +27x8x1 +19x19x18 +25x24x27 +14x29x15 +22x26x1 +14x17x9 +2x6x23 +29x7x5 +14x16x19 +14x21x18 +10x15x23 +21x29x14 +20x29x30 +23x11x5 + diff --git a/2015/03/input.txt b/2015/03/input.txt new file mode 100644 index 0000000..e69cd4f --- /dev/null +++ b/2015/03/input.txt @@ -0,0 +1 @@ +^^<<>^^>^^^><^>v^>v><><><^^v>v^v>>>^<>v<^<^>>>>><>^>>^>v^>><<^>v>v<>^v^v^vvv><>^^>v><>^><^^^v>>^v^>v><>v^^><vv^<<>v>>><<<>>^^^vv>>>^><<<>><><^>v<>^>v<^v^><<<<>^<>v>^v>vv<^<<>>>>^^v>vv^^<>^<>^^^^<^^^vv<^^v^^>v>^v^^^^>><v<>^v^><>^^><<^^<^^>vv<>v^<^v^>^^>^<>v^^vv<>>v><<<>vvv<>v<>><^<^v<>^vv>^^v<^<>>vv<^>>^>>vv^v>^v^<>^>>>>vv>^^>v>vv>v><^vv^<^<<^^vv^^v>^>>v><^<>v<><>^^<>v>><>^^>^^>>vvv^><<<<<^<^vv<^<>^^^<<<^>^^^vv<>^<>v<^v>^<<>^v<>>v<<^<^<<<><><>^>>>>^>v^v<>vv<^vvv^^^^vv>^v^^v^<^vv<^vv>v<^>vv<>>^>^><^>v>^v>vvv<>^>^v<><>vv>><^v^<><>>v^v^><^<^>vv>v<^>vvv>v<<<<<^>^vv>^><><>^<v^>^><><>>^>^>><^^^>^^>^^v^^<^v^^>v^^>>><<><><>^^<<^^v^>v>><>^^^><^vvv<^^^^^v><<><><>>^>vv>>^vv^^><v<^^>^<^^<^>>>^v<>v<^^^>vvv^v<<^><>>>>v>>>^^vvv^vvv<^^^^v^v^^<<^>v^v^<<><>><^v><<>><<<>^v>v<>^^vv>>^<>v^^<<^v>>v<>>^v^^>><^>v^<^v^^>><>v^>^v^v<<v<><>vv>>>>^>v<>v<<<>^^>vv^v<>^<<<<>>^^>^v<>^v<>>^v^<<^<^>>>^vv<>v^>>v<^^v>>^>><<><<<>>>^v>><^^vv>><>v^><>vv<^^v^^^v<>><^vvv<<^<>v>>>v>><>>><>>^v>v>^^<^>^>v><>vv>^v><<>>>>>>>^<<^vv^^vvvv<^^><<vvv<>^><v<>>^^<<^^vv>v>^vv>>^v^^vvvv>^^>>v^v^^><<^>v>>^^>^<^^<>vvv^vv>v>^v<><^vv^>^v>>>^^<^<^>^v^>^>>>^v>^>^^^>>^<>v^^<>^v<<^^>^^v<^v^>><^v^>^<>>^vv^vv^>v^><^^<^v<^><>v><^v^v^^^v>v^<>^<^^>^v^^<>v^<<>>vv<>>>>v>v<>^>>>v<>^^>^<^><>^><><>^<<>>><<^>^vv^v>>vv^<<^^<<><<^v^>>>v<<<v>^vv<^v>v<^>^^vv>v>><>><>^<>><><<^<<^v^v<v>vvv<^v^^^v^><^v>^<^>^<<>v^<><>>^v<>vvv<^>><^^>^>^v^vv<^><<^v>><^^v>^v<>^>vvvv><^>^<<>v>^>>^<^<<<^v^^^>^>>^>><><<^>v^^>v<<<^>vvv^^<<><^v^v^^^>^^>^vv<>v>>v^>vv^vv>v<^v^^>>^v^v<>>^^><><>>>^>^<>^^v^^><^<>><<^>vv^>>>v<<><<^>vv>vvv>^<><>>>>vv><<><<<<>><v>v^><>v^v^^><>v>v>^^v<^v<>>^^^^^>^^>v<^<^>>>^><^^>><<>>^><>^^^>v^^^>^^v^<>^^><^>>><><^>>vv<^>v<^v>v^<^vv^^><<<><><^v^v>v^>>^^vv^^v>^<^v<>^>^><^^v><^<^<>v^^>^><>>><<<><>v<<^v^^<^><>^<><>v<^^>^^<<>>^><^><^<^>^^v<>v>>><><<>^>v><><<<>^^^v>><<^v>^>>>>^vv<^<>>^<^^<^v>v^<<^<<<<<^<^>>^><<>><>v^v>^<^>v^<>^v^v^v><^vv<<^<>^^^<>^v>^v<>>^>v<<>v<>v^v>v<<<>>v>vv>>v<<>v<>v<^>^>^>v>^>^^^v<<>>>^vvv^^>^^<^vv^^^^>v>^v^>v^^v^>>^v>^vv>^^v^<<<<>^<><^<^<<^^>v^^^v<>>vvv>vv>^<^v>>^v<^^v^v>v<>^v<<<^^v^^^<^v>v^v^v>>v<>^v>vv^v>vv<<^v^v>v>><^vv>>>><<<><>^v^<^vvv>v<>><^v>^>>vv<><><>v><>>><^>vv>>^<>v^>>^><<<^><<>^v^>>><><>vv>^<>^>^v^^><^>>><<>v^<^vv>^<^vv>>vv<><<^><>v<^^<^>vv^^^^vv<<>vv<>v<>>>>^><>^<><>v<>><<>^^vvv>^^^<><>>vvv^v>><>vv^^^v^<<>^^v<><<^^v<>^^>^<^^v>>v^v^^>>v>>>^<<^<>^>^^v>>>>^v<<<^^vv><^>vv<>>vv^>v>>v^vvv^^>vv^<v^>>v^<>>><><<^^<^v>^>>>v>v>^v<>vv>v>^v<<<>><<><><>v^>>>v^>v^>>vv^^^<>>><^>v^<>^^>v<><<<>v^v>^>v<^<>v>v^^>>v>vv^v<>>^^^^<>v^>>>>>>>>^v<^<<>>><<<^<<^>^>v^<>^<<<>v>><^vv^>^>^>>>^v<<>^>^v^><>>v^>v^>^>>v<>vv^v<<>^^>>vv<>vv>>^v<^vv>^v>v<>v^<><>v^^><<<><>^>^v^<>>v^v>v<>>^^<<^<^^vv^<>>^vv^<>>^^^^v>v><^^^v^<<<>^<^<<>><>>v<<^v^>><>>^vv^v>vv>>>>>>^^<<>v^>v^v>^^>>>^v>>^^^<>><>v^<<v>v^^^>^v>^v<^<<><>vv>^^^<^^vv^^>vv>v<<^>^vv><^>^^^^v<v^<<^^>>^^vvvv^v^>vv>>v^vvv<>>^><>>v^^>>^<>>vvvv^>>>v<<^<<^>v^>><<v>v^>^v><>v<<>vv>>><^>>^^v>^>><>vv^><<>>vv<<<^<^^>^<<^>>>>>v>vv<^>^v><>>vv^vvvv>v^>>v><<^^^v>>vv^^>v>^v>^v^^>^<^vvvv<<^>>^<<^^>>^<^>v^><^vv>^^v>>><>v^v>^v<^><<<>vv>v<><>>v^<>^^>^<>^<<^>>vv^><^>v^>>v^>v>vv><>>v<^>><<vvv^vvv^vv^>^>v>>>>vv^>^<>v<^>^<^v>vv<^<<>>^<^<^^<>^<v<<>v>><^v<<^vvv>v>v<<^^<^^>v^^^>^>vv^^^vv>v<>>>vv>><><^><><<>vv>vv^v^>>><>v>>vv>^^vvv^>^^>^>^>^v<<^vv^>vvv^^vv><^>^v^>^><>v<^^vv<^<>>^^v^v>v^vv<>><^v>^<^v>^<>^v>>>><>>>v><^v^vv><<^v<<>^^<^v>vvv<><^^><<^v><>^<^v<^^<^vvvv^^>>>>vv>v>>>v<<<>v^>>vv^vvv<>vvv>>>><>>><>^v>><>>^vv<<^^vv><^v^vv^^^vv>^><^vvv<<>^vvv^>>>^<<<><<<<<^v<^^>>>>^>^v<<<^<^>>v^<<><<^^vvv^>v<>>^^>v>^v>>v>>>^<^<^>v^v^>><>^<<^vvv^^<>^v^>^^<<^>^vv>>v^v^>v>^<^^<>^>^>>>^^vvv^<<>v^<<>><>v<^<^>v^>^vv>^>>^<^v^<<<<^v^>v^><<<><^^^^>v>^^>v><>>^><<><^<>>^^>vv<^><^v^>>>vvv<^<>>^>>^v^<^^v>^^^v<^vv^>>^v><<^<><>>^>vv<<>^^^v^^><>>vv>v^>vvv^^v>^>>^>>v^<<v^<^v^vv^><^<^v<v>^v^<<^^>>^^^v>>>><^^v^>>^^>>^v^<^v>v^v^v^v^>v^vv<><>^^<>^><^^^<<<^v<<>^<^^^^^v^<^<<^^>^vv<>v^>><>>^>v>v<>^>v>><>^<>>>^>^>>v^>v><^vv^>v<v<><^><^v<<>v<>^^><<>v>vv<^vvv><><>vv^<<>^>^<^>>>^v>v<^v^^^vv<>>>^<<^>>><<^^v^>v^<^v>vvv>v^^vv>^^>>v<>^<<>^<><^^v^>><>^>v>>^^^<<^^v<>^^>^<>^>><^>^vvv><^>^<^>^>>vv<^>>^v>>^<>>^^>>>v^>v<>v^^vv>v><^v^^>v<<>v^^<><>^>vvv><^^^>^v^>v>>^vvv<^vv>^^>^>>v<>><<^v<^><>vv^<<^^vv>>^<^><^^v^<<>^v^^>v^>>^^^<^vv>v^>>>vv<<>v>>>^>v^^>v^<<>>vv<<^v>v<<^^>v>>v>v^>>^>>v>^><<^<<>^v>><^^<^<<^>vv<<>^<>^vv>^^^v<^v>vv>^^^^>v>v><<^<<<^vv><^<<<>>v<v>^v^v^<^<^vv>vvv<^^v<>v<<<<>v^<<><<<>v<^>^^v<^^v^>vv>vvv>v>>^><^>>v<v<<^^^v<<^v^^><><<<><<>v>^<<>v<<<^v>>v>><<^<><^v^^v^>^>vvvv<<><<>>^^^>v>v^><>>><^><<><<<^<>v^>>^v^>v^<>>v>^^><^<^v^>v>^vvv<>>v<>^vvvv><<<<<<<v<<<<^v<<><^<<>vv^<<>><^^<<>>>vv>>>>>>^v>v^v^^><<^v^^^<>^>>><>v^v^vvv^>>v>>>^^<<^^vv><<<^^^<<<^^>>>>vvv^v<^>^^>v<^<>v>>>^vv<<^^v^>^>^v>v>v^v^>v<><>>>>><<^v^<>^v<>vvv^>v>v^<><><>^>>><>^>^^<>v^^>^><>><>v^v^^v>>>>vv>>^v<<^v^<>^>v^^>^^<^><<<^^^v^^^^v<^<>v<^^<>vv^^v^<>^<<^>>v>v<<<^^^^vvv^<^<><>v<>><<><<^^^^vv><<>>>^v<<>^>>>v^>v>^^<>^<^>v>^>>>><>^^>v^^v>^vv^^v^><<<>>v<>v<<<>^<^<<>v>>>>^<vvv<^><^<<^>v>>v><>^>>>^v^v>v^^vv^>^<^^>>^><^vv^^vv^<>>^^^^<^^><>>^>>^>^vvv<^<^><>>>^^<><><<>>>>^<<>>>^<^v^>><<^>>>^<^>><>^^<>^v^^vv<><^>vv^^v^<^^^v^vvv^>><>>v<>^<^vvv<<^^>vv^^<<>>><^^vvv<<<^>^<><^>vv^><^<<>vv<>vv>v>v^<<>^^^^v^^^^^<<^><><^^v^>v>^>><^><<>v^>>^vvv>>^<^<>^^v^vv^^v><>>v<<<>v>^<>v<<>v^>^<<><<>v^>v<><^^>^<^v^^><^>vv>^>vvvv>^^><<>vv^>^v<<^<<^<<>vv>>^>>>>>v^v<^v>v>^^^vv^v<^<>v><>>vv>v><>v>^v<><<<<<>v^vv<<<<^<>^>><>^^vv>^<^<<>vv>>vv><>><^^><^<>^><>v^^^^v^^vv<>v<>v>^vv^>^<>^^^>v^>>>v><<^>>v<^v<>^^v<><<>v<^<^>v<>v^>v>^^<<<^^vv^<><<<>>v>^^<>v>>>><<>v^v<>v>><<<<^<<^>^>v^vv^><^v^^<>^^><>vv>^>vvv<^v^>>^>^>^^<<^>^>^v><>>^<^^v>^>>^^<><>>>^^>^^vvv>v<^^<>v^v^^v^v>><<^^^>>v>^vv>^>^^v<>^^<>v^^<>v^><<>vv<<^vvvv><<v>v^>v^<>v^>^^<>^>^^v<>><<<>^v^^v^v<<<^v^<>^<>v>^^>vv>^^<<<><<^>v<^^<^<<>^>>>>>^v^v<vvv<<>v>v>>^v^v^>><<<<>v^<<>>>^>>^>>< diff --git a/2015/05/input.txt b/2015/05/input.txt new file mode 100644 index 0000000..17f709f --- /dev/null +++ b/2015/05/input.txt @@ -0,0 +1,1000 @@ +zgsnvdmlfuplrubt +vlhagaovgqjmgvwq +ffumlmqwfcsyqpss +zztdcqzqddaazdjp +eavfzjajkjesnlsb +urrvucyrzzzooxhx +xdwduffwgcptfwad +orbryxwrmvkrsxsr +jzfeybjlgqikjcow +mayoqiswqqryvqdi +iiyrkoujhgpgkcvx +egcgupjkqwfiwsjl +zbgtglaqqolttgng +eytquncjituzzhsx +dtfkgggvqadhqbwb +zettygjpcoedwyio +rwgwbwzebsnjmtln +esbplxhvzzgawctn +vnvshqgmbotvoine +wflxwmvbhflkqxvo +twdjikcgtpvlctte +minfkyocskvgubvm +sfxhhdhaopajbzof +sofkjdtalvhgwpql +uqfpeauqzumccnrc +tdflsbtiiepijanf +dhfespzrhecigzqb +xobfthcuuzhvhzpn +olgjglxaotocvrhw +jhkzpfcskutwlwge +zurkakkkpchzxjhq +hekxiofhalvmmkdl +azvxuwwfmjdpjskj +arsvmfznblsqngvb +ldhkzhejofreaucc +adrphwlkehqkrdmo +wmveqrezfkaivvaw +iyphmphgntinfezg +blomkvgslfnvspem +cgpaqjvzhbumckwo +ydhqjcuotkeyurpx +sbtzboxypnmdaefr +vxrkhvglynljgqrg +ttgrkjjrxnxherxd +hinyfrjdiwytetkw +sufltffwqbugmozk +tohmqlzxxqzinwxr +jbqkhxfokaljgrlg +fvjeprbxyjemyvuq +gmlondgqmlselwah +ubpwixgxdloqnvjp +lxjfhihcsajxtomj +qouairhvrgpjorgh +nloszcwcxgullvxb +myhsndsttanohnjn +zjvivcgtjwenyilz +qaqlyoyouotsmamm +tadsdceadifqthag +mafgrbmdhpnlbnks +aohjxahenxaermrq +ovvqestjhbuhrwlr +lnakerdnvequfnqb +agwpwsgjrtcjjikz +lhlysrshsmzryzes +xopwzoaqtlukwwdu +xsmfrfteyddrqufn +ohnxbykuvvlbbxpf +bbdlivmchvzfuhoc +vtacidimfcfyobhf +tinyzzddgcnmiabd +tcjzxftqcqrivqhn +vgnduqyfpokbmzim +revkvaxnsxospyow +ydpgwxxoxlywxcgi +wzuxupbzlpzmikel +nscghlafavnsycjh +xorwbquzmgmcapon +asmtiycegeobfxrn +eqjzvgkxgtlyuxok +mmjrskloposgjoqu +gceqosugbkvytfto +khivvoxkvhrgwzjl +qtmejuxbafroifjt +ttmukbmpoagthtfl +bxqkvuzdbehtduwv +gvblrpzjylanoggj +cltewhyjxdbmbtqj +fbkgedqvomdipklj +uxvuplhenqawfcjt +fkdjmayiawdkycva +gnloqfgbnibzyidh +kyzorvtopjiyyyqg +drckpekhpgrioblt +tvhrkmbnpmkkrtki +khaldwntissbijiz +aoojqakosnaxosom +xfptccznbgnpfyqw +moqdwobwhjxhtrow +chfwivedutskovri +gprkyalfnpljcrmi +pwyshpwjndasykst +xuejivogihttzimd +bugepxgpgahtsttl +zufmkmuujavcskpq +urybkdyvsrosrfro +isjxqmlxwtqmulbg +pxctldxgqjqhulgz +hclsekryiwhqqhir +hbuihpalwuidjpcq +ejyqcxmfczqfhbxa +xljdvbucuxnnaysv +irqceqtqwemostbb +anfziqtpqzqdttnz +cgfklbljeneeqfub +zudyqkuqqtdcpmuo +iuvhylvznmhbkbgg +mpgppmgfdzihulnd +argwmgcvqqkxkrdi +pdhrfvdldkfihlou +cbvqnjrvrsnqzfob +lkvovtsqanohzcmm +vxoxjdyoylqcnyzt +kurdpaqiaagiwjle +gwklwnazaxfkuekn +rbaamufphjsjhbdl +tzbrvaqvizhsisbd +pbcqlbfjvlideiub +hiwoetbfywaeddtx +fjirczxtuupfywyf +omeoegeyyospreem +ozbbpupqpsskvrjh +pzvcxkvjdiyeyhxa +odclumkenabcsfzr +npdyqezqdjqaszvm +yodkwzmrhtexfrqa +rjcmmggjtactfrxz +mioxfingsfoimual +aqskaxjjborspfaa +wientdsttkevjtkf +tdaswkzckmxnfnct +voucjhzvkkhuwoqk +boaaruhalgaamqmh +iufzxutxymorltvb +pfbyvbayvnrpijpo +obztirulgyfthgcg +ntrenvhwxypgtjwy +ephlkipjfnjfjrns +pkjhurzbmobhszpx +gqbnjvienzqfbzvj +wjelolsrbginwnno +votanpqpccxqricj +bxyuyiglnmbtvehi +qyophcjfknbcbjrb +anoqkkbcdropskhj +tcnyqaczcfffkrtl +rsvqimuqbuddozrf +meppxdrenexxksdt +tyfhfiynzwadcord +wayrnykevdmywycf +mhowloqnppswyzbu +tserychksuwrgkxz +xycjvvsuaxsbrqal +fkrdsgaoqdcqwlpn +vrabcmlhuktigecp +xgxtdsvpaymzhurx +ciabcqymnchhsxkc +eqxadalcxzocsgtr +tsligrgsjtrnzrex +qeqgmwipbspkbbfq +vzkzsjujltnqwliw +ldrohvodgbxokjxz +jkoricsxhipcibrq +qzquxawqmupeujrr +mizpuwqyzkdbahvk +suupfxbtoojqvdca +ywfmuogvicpywpwm +uevmznxmsxozhobl +vjbyhsemwfwdxfxk +iyouatgejvecmtin +tcchwpuouypllcxe +lgnacnphdiobdsef +uoxjfzmdrmpojgbf +lqbxsxbqqhpjhfxj +knpwpcnnimyjlsyz +fezotpoicsrshfnh +dkiwkgpmhudghyhk +yzptxekgldksridv +pckmzqzyiyzdbcts +oqshafncvftvwvsi +yynihvdywxupqmbt +iwmbeunfiuhjaaic +pkpkrqjvgocvaxjs +ieqspassuvquvlyz +xshhahjaxjoqsjtl +fxrrnaxlqezdcdvd +pksrohfwlaqzpkdd +ravytrdnbxvnnoyy +atkwaifeobgztbgo +inkcabgfdobyeeom +ywpfwectajohqizp +amcgorhxjcybbisv +mbbwmnznhafsofvr +wofcubucymnhuhrv +mrsamnwvftzqcgta +tlfyqoxmsiyzyvgv +ydceguvgotylwtea +btyvcjqhsygunvle +usquiquspcdppqeq +kifnymikhhehgote +ybvkayvtdpgxfpyn +oulxagvbavzmewnx +tvvpekhnbhjskzpj +azzxtstaevxurboa +nfmwtfgrggmqyhdf +ynyzypdmysfwyxgr +iaobtgubrcyqrgmk +uyxcauvpyzabbzgv +fbasfnwiguasoedc +mgmjoalkbvtljilq +szgkxiqkufdvtksb +xgfzborpavdmhiuj +hmuiwnsonvfgcrva +zolcffdtobfntifb +mvzgcsortkugvqjr +pbbpgraaldqvzwhs +zvsxegchksgnhpuv +kdpdboaxsuxfswhx +jdfggigejfupabth +tpeddioybqemyvqz +mxsntwuesonybjby +tzltdsiojfvocige +ubtdrneozoejiqrv +fusyucnhncoxqzql +nlifgomoftdvkpby +pyikzbxoapffbqjw +hzballplvzcsgjug +ymjyigsfehmdsvgz +vpqgyxknniunksko +ffkmaqsjxgzclsnq +jcuxthbedplxhslk +ymlevgofmharicfs +nyhbejkndhqcoisy +rjntxasfjhnlizgm +oqlnuxtzhyiwzeto +tntthdowhewszitu +rmxyoceuwhsvfcua +qpgsjzwenzbxyfgw +sumguxpdkocyagpu +ymfrbxwrawejkduu +hetgrtmojolbmsuf +qzqizpiyfasgttex +qnmoemcpuckzsshx +ddyqiihagcmnxccu +oirwxyfxxyktgheo +phpaoozbdogbushy +uctjdavsimsrnvjn +aurbbphvjtzipnuh +hpbtrubopljmltep +pyyvkthqfsxqhrxg +jdxaiqzkepxbfejk +ukgnwbnysrzvqzlw +lfkatkvcssnlpthd +ucsyecgshklhqmsc +rwdcbdchuahkvmga +rxkgqakawgpwokum +hbuyxeylddfgorgu +tbllspqozaqzglkz +rqfwizjlbwngdvvi +xuxduyzscovachew +kouiuxckkvmetvdy +ycyejrpwxyrweppd +trctlytzwiisjamx +vtvpjceydunjdbez +gmtlejdsrbfofgqy +jgfbgtkzavcjlffj +tyudxlpgraxzchdk +gyecxacqitgozzgd +rxaocylfabmmjcvt +tornfzkzhjyofzqa +kocjcrqcsvagmfqv +zfrswnskuupivzxb +cunkuvhbepztpdug +pmpfnmklqhcmrtmf +tfebzovjwxzumxap +xpsxgaswavnzkzye +lmwijdothmxclqbr +upqxhmctbltxkarl +axspehytmyicthmq +xdwrhwtuooikehbk +tpggalqsytvmwerj +jodysbwnymloeqjf +rxbazvwuvudqlydn +ibizqysweiezhlqa +uexgmotsqjfauhzp +ldymyvumyhyamopg +vbxvlvthgzgnkxnf +pyvbrwlnatxigbrp +azxynqididtrwokb +lwafybyhpfvoawto +ogqoivurfcgspytw +cinrzzradwymqcgu +sgruxdvrewgpmypu +snfnsbywuczrshtd +xfzbyqtyxuxdutpw +fmpvjwbulmncykbo +ljnwoslktrrnffwo +ceaouqquvvienszn +yjomrunrxjyljyge +xpmjsapbnsdnbkdi +uetoytptktkmewre +eixsvzegkadkfbua +afaefrwhcosurprw +bwzmmvkuaxiymzwc +gejyqhhzqgsrybni +gjriqsfrhyguoiiw +gtfyomppzsruhuac +ogemfvmsdqqkfymr +jgzbipsygirsnydh +zghvlhpjnvqmocgr +ngvssuwrbtoxtrka +ietahyupkbuisekn +gqxqwjizescbufvl +eiprekzrygkncxzl +igxfnxtwpyaamkxf +soqjdkxcupevbren +fspypobyzdwstxak +qstcgawvqwtyyidf +gsccjacboqvezxvd +bfsblokjvrqzphmc +srezeptvjmncqkec +opmopgyabjjjoygt +msvbufqexfrtecbf +uiaqweyjiulplelu +pbkwhjsibtwjvswi +xwwzstmozqarurrq +nytptwddwivtbgyq +ejxvsufbzwhzpabr +jouozvzuwlfqzdgh +gfgugjihbklbenrk +lwmnnhiuxqsfvthv +bzvwbknfmaeahzhi +cgyqswikclozyvnu +udmkpvrljsjiagzi +zzuhqokgmisguyna +ekwcdnjzuctsdoua +eueqkdrnzqcaecyd +lnibwxmokbxhlris +fdrbftgjljpzwhea +iabvuhhjsxmqfwld +qgogzkynrgejakta +mfcqftytemgnpupp +klvhlhuqhosvjuqk +gdokmxcgoqvzvaup +juududyojcazzgvr +fyszciheodgmnotg +yfpngnofceqfvtfs +cahndkfehjumwavc +dxsvscqukljxcqyi +cqukcjtucxwrusji +vevmmqlehvgebmid +ahswsogfrumzdofy +ftasbklvdquaxhxb +tsdeumygukferuif +ybfgbwxaaitpwryg +djyaoycbymezglio +trzrgxdjqnmlnzpn +rumwchfihhihpqui +ffrvnsgrnzemksif +oizlksxineqknwzd +cirqcprftpjzrxhk +zrhemeqegmzrpufd +kqgatudhxgzlgkey +syjugymeajlzffhq +nlildhmgnwlopohp +flcszztfbesqhnyz +ohzicmqsajyqptrw +ebyszucgozsjbelq +enxbgvvcuqeloxud +ubwnvecbsmhkxwuk +noifliyxvlkqphbo +hazlqpetgugxxsiz +ihdzoerqwqhgajzb +ivrdwdquxzhdrzar +synwycdvrupablib +mqkdjkntblnmtvxj +qmmvoylxymyovrnq +pjtuxskkowutltlq +gchrqtloggkrjciz +namzqovvsdipazae +yfokqhkmakyjzmys +iapxlbuoiwqfnozm +fbcmlcekgfdurqxe +ednzgtczbplwxjlq +gdvsltzpywffelsp +oaitrrmpqdvduqej +gseupzwowmuuibjo +dfzsffsqpaqoixhh +tclhzqpcvbshxmgx +cfqkptjrulxiabgo +iraiysmwcpmtklhf +znwjlzodhktjqwlm +lcietjndlbgxzjht +gdkcluwjhtaaprfo +vbksxrfznjzwvmmt +vpfftxjfkeltcojl +thrmzmeplpdespnh +yafopikiqswafsit +xxbqgeblfruklnhs +qiufjijzbcpfdgig +ikksmllfyvhyydmi +sknufchjdvccccta +wpdcrramajdoisxr +grnqkjfxofpwjmji +lkffhxonjskyccoh +npnzshnoaqayhpmb +fqpvaamqbrnatjia +oljkoldhfggkfnfc +ihpralzpqfrijynm +gvaxadkuyzgbjpod +onchdguuhrhhspen +uefjmufwlioenaus +thifdypigyihgnzo +ugqblsonqaxycvkg +yevmbiyrqdqrmlbw +bvpvwrhoyneorcmm +gbyjqzcsheaxnyib +knhsmdjssycvuoqf +nizjxiwdakpfttyh +nwrkbhorhfqqoliz +ynsqwvwuwzqpzzwp +yitscrgexjfclwwh +dhajwxqdbtrfltzz +bmrfylxhthiaozpv +frvatcvgknjhcndw +xlvtdmpvkpcnmhya +pxpemuzuqzjlmtoc +dijdacfteteypkoq +knrcdkrvywagglnf +fviuajtspnvnptia +xvlqzukmwbcjgwho +bazlsjdsjoeuvgoz +nslzmlhosrjarndj +menvuwiuymknunwm +uavfnvyrjeiwqmuu +yrfowuvasupngckz +taevqhlrcohlnwye +skcudnogbncusorn +omtnmkqnqedsajfv +yqmgsqdgsuysqcts +odsnbtyimikkbmdd +vuryaohxdvjllieb +dhaxldeywwsfamlo +opobvtchezqnxpak +pzfnegouvsrfgvro +rzkcgpxdslzrdktu +ksztdtqzxvhuryam +ctnqnhkcooqipgkh +pyqbbvrzdittqbgm +koennvmolejeftij +rvzlreqikqlgyczj +xrnujfoyhonzkdgd +mmsmhkxaiqupfjil +ypjwoemqizddvyfd +qgugcxnbhvgahykj +cviodlsrtimbkgmy +xbfbbechhmrjxhnw +psuipaoucfczfxkp +hdhwcpeuptgqqvim +gsxlruhjeaareilr +vgyqonnljuznyrhk +eewezahlumervpyu +iiolebrxfadtnigy +tdadlrodykrdfscn +ocvdtzjxrhtjurpo +gidljbuvuovkhhrf +qwfcpilbjwzboohd +xzohxonlezuiupbg +vslpbkkqgvgbcbix +pivzqrzfxosbstzn +fyqcfboevcqmbhhs +yqsrneacnlxswojx +heicqpxxyrwcbsjz +yzynmnnoumkmlbeh +bncadbjdvvmczylw +hlnjskgfzbgmigfn +fphpszymugpcykka +zbifcktanxpmufvy +saklpkhoyfeqbguy +nqtqfcfxmpivnjyo +locygrwerxlsvzqm +qqflecydqvlogjme +njklmixvgkzpgppf +ugzkpjwjflaswyma +lriousvkbeftslcy +nsvsauxzfbbotgmh +tblcpuhjyybrlica +hqwshxcilwtmxrsf +xojwroydfeoqupup +tikuzsrogpnohpib +layenyqgxdfggloc +nqsvjvbrpuxkqvmq +ivchgxkdlfjdzxmk +uoghiuosiiwiwdws +twsgsfzyszsfinlc +waixcmadmhtqvcmd +zkgitozgrqehtjkw +xbkmyxkzqyktmpfi +qlyapfmlybmatwxn +ntawlvcpuaebuypf +clhebxqdkcyndyof +nrcxuceywiklpemc +lmurgiminxpapzmq +obalwqlkykzflxou +huvcudpiryefbcye +zlxbddpnyuyapach +gqfwzfislmwzyegy +jhynkjtxedmemlob +hmrnvjodnsfiukex +pstmikjykzyavfef +wuwpnscrwzsyalyt +hksvadripgdgwynm +tvpfthzjleqfxwkh +xpmrxxepkrosnrco +qjkqecsnevlhqsly +jjnrfsxzzwkhnwdm +pehmzrzsjngccale +bsnansnfxduritrr +ejzxkefwmzmbxhlb +pceatehnizeujfrs +jtidrtgxopyeslzl +sytaoidnamfwtqcr +iabjnikomkgmyirr +eitavndozoezojsi +wtsbhaftgrbqfsmm +vvusvrivsmhtfild +qifbtzszfyzsjzyx +ifhhjpaqatpbxzau +etjqdimpyjxiuhty +fvllmbdbsjozxrip +tjtgkadqkdtdlkpi +xnydmjleowezrecn +vhcbhxqalroaryfn +scgvfqsangfbhtay +lbufpduxwvdkwhmb +tshipehzspkhmdoi +gtszsebsulyajcfl +dlrzswhxajcivlgg +kgjruggcikrfrkrw +xxupctxtmryersbn +hljjqfjrubzozxts +giaxjhcwazrenjzs +tyffxtpufpxylpye +jfugdxxyfwkzqmgv +kbgufbosjghahacw +xpbhhssgegmthwxb +npefofiharjypyzk +velxsseyxuhrpycy +sglslryxsiwwqzfw +susohnlpelojhklv +lfnpqfvptqhogdmk +vtcrzetlekguqyle +jlyggqdtamcjiuxn +olxxqfgizjmvigvl +cyypypveppxxxfuq +hewmxtlzfqoqznwd +jzgxxybfeqfyzsmp +xzvvndrhuejnzesx +esiripjpvtqqwjkv +xnhrwhjtactofwrd +knuzpuogbzplofqx +tihycsdwqggxntqk +xkfywvvugkdalehs +cztwdivxagtqjjel +dsaslcagopsbfioy +gmowqtkgrlqjimbl +ctcomvdbiatdvbsd +gujyrnpsssxmqjhz +nygeovliqjfauhjf +mmgmcvnuppkbnonz +bhipnkoxhzcotwel +wkwpgedgxvpltqid +mliajvpdocyzcbot +kqjhsipuibyjuref +zqdczykothbgxwsy +koirtljkuqzxioaz +audpjvhmqzvhzqas +cxyhxlhntyidldfx +iasgocejboxjgtkx +abehujmqotwcufxp +fmlrzqmazajxeedl +knswpkekbacuxfby +yvyalnvrxgstqhxm +sjnrljfrfuyqfwuw +ssaqruwarlvxrqzm +iaxbpeqqzlcwfqjz +uwyxshjutkanvvsc +uxwrlwbblcianvnb +nodtifgrxdojhneh +mloxjfusriktxrms +lkfzrwulbctupggc +gcrjljatfhitcgfj +tkdfxeanwskaivqs +ypyjxqtmitwubbgt +ssxbygzbjsltedjj +zdrsnoorwqfalnha +xlgmissaiqmowppd +azhbwhiopwpguiuo +fydlahgxtekbweet +qtaveuqpifprdoiy +kpubqyepxqleucem +wlqrgqmnupwiuory +rwyocktuqkuhdwxz +abzjfsdevoygctqv +zsofhaqqghncmzuw +lqbjwjqxqbfgdckc +bkhyxjkrqbbunido +yepxfjnnhldidsjb +builayfduxbppafc +wedllowzeuswkuez +gverfowxwtnvgrmo +tpxycfumxdqgntwf +lqzokaoglwnfcolw +yqsksyheyspmcdqt +vufvchcjjcltwddl +saeatqmuvnoacddt +dxjngeydvsjbobjs +ucrcxoakevhsgcep +cajgwjsfxkasbayt +hknzmteafsfemwuv +xxwhxwiinchqqudr +usfenmavvuevevgr +kxcobcwhsgyizjok +vhqnydeboeunnvyk +bgxbwbxypnxvaacw +bwjzdypacwgervgk +rrioqjluawwwnjcr +fiaeyggmgijnasot +xizotjsoqmkvhbzm +uzphtrpxwfnaiidz +kihppzgvgyoncptg +hfbkfrxwejdeuwbz +zgqthtuaqyrxicdy +zitqdjnnwhznftze +jnzlplsrwovxlqsn +bmwrobuhwnwivpca +uuwsvcdnoyovxuhn +nmfvoqgoppoyosaj +hxjkcppaisezygpe +icvnysgixapvtoos +vbvzajjgrmjygkhu +jinptbqkyqredaos +dpmknzhkhleawfvz +ouwwkfhcedsgqqxe +owroouiyptrijzgv +bewnckpmnbrmhfyu +evdqxevdacsbfbjb +catppmrovqavxstn +dqsbjibugjkhgazg +mkcldhjochtnvvne +sblkmhtifwtfnmsx +lynnaujghehmpfpt +vrseaozoheawffoq +ytysdzbpbazorqes +sezawbudymfvziff +vrlfhledogbgxbau +bipdlplesdezbldn +ermaenjunjtbekeo +eyaedubkthdecxjq +gbzurepoojlwucuy +rsiaqiiipjlouecx +beqjhvroixhiemtw +buzlowghhqbcbdwv +ldexambveeosaimo +fpyjzachgrhxcvnx +komgvqejojpnykol +fxebehjoxdujwmfu +jnfgvheocgtvmvkx +qmcclxxgnclkuspx +rsbelzrfdblatmzu +vexzwqjqrsenlrhm +tnfbkclwetommqmh +lzoskleonvmprdri +nnahplxqscvtgfwi +ubqdsflhnmiayzrp +xtiyqxhfyqonqzrn +omdtmjeqhmlfojfr +cnimgkdbxkkcnmkb +tapyijgmxzbmqnks +byacsxavjboovukk +awugnhcrygaoppjq +yxcnwrvhojpuxehg +btjdudofhxmgqbao +nzqlfygiysfuilou +nubwfjdxavunrliq +vqxmmhsbmhlewceh +ygavmcybepzfevrp +kgflmrqsvxprkqgq +iaqyqmcaedscmakk +cvbojnbfmrawxzkh +jjjrprbnlijzatuw +lcsudrrfnnggbrmk +qzgxbiavunawfibc +gnnalgfvefdfdwwg +nokmiitzrigxavsc +etzoxwzxqkkhvais +urxxfacgjccieufi +lqrioqhuvgcotuec +dydbaeyoypsbftra +hhrotenctylggzaf +evctqvzjnozpdxzu +tbpvithmorujxlcp +pllbtcbrtkfpvxcw +fzyxdqilyvqreowv +xdleeddxwvqjfmmt +fcldzthqqpbswoin +sgomzrpjfmvgwlzi +axjyskmtdjbxpwoz +hcvaevqxsmabvswh +lfdlsfcwkwicizfk +isjbwpzdognhoxvm +oqnexibqxlyxpluh +zqfbgodsfzwgcwuf +kvmnwruwsjllbldz +kghazimdyiyhmokj +uiktgpsxpoahofxn +zkdwawxargcmidct +ftbixlyiprshrjup +nofhmbxififwroeg +mcdaqrhplffxrcdt +fbjxnwojcvlawmlb +rizoftvwfdhiwyac +eduogrtyhxfwyars +zoikunqxgjwfqqwr +zxwbbpmvctzezaqh +nghujwyeabwdqnop +vcxamijpoyyksogn +jnckdbuteoqlsdae +jurfqqawafmsiqwv +inepmztrzehfafie +tznzkyvzodbrtscf +xewbavjeppflwscl +ucndzsorexjlnplo +jpxbctscngxgusvu +mfmygcllauzuoaok +oibkuxhjmhxhhzby +zjkslwagmeoisunw +avnnxmopdgvmukuu +jmaargejcwboqhkt +yacmpeosarsrfkrv +iqhgupookcaovwgh +ebjkdnxwtikqzufc +imdhbarytcscbsvb +ifyibukeffkbqvcr +aloighmyvwybtxhx +yszqwrutbkiwkxjg +xyholyzlltjhsuhp +gykhmrwucneoxcrf +badkdgqrpjzbabet +sunaucaucykwtkjj +pumqkglgfdhneero +usgtyuestahlydxq +xmfhflphzeudjsjm +knywgmclisgpootg +mtojnyrnvxtweuzb +uuxufbwfegysabww +vobhwwocqttlbsik +yuydfezeqgqxqmnd +wbqgqkwbibiilhzc +sfdmgxsbuzsawush +ilhbxcfgordyxwvp +ahqoavuysblnqaeg +plwgtvpgotskmsey +ewjcmzkcnautrrmp +tyekgzbznlikcyqj +bqzctiuaxpriuiga +bimvbfjkiupyqiys +mpqtbcxfhwymxncw +htemlptvqhharjgb +mqbsmsruwzzxgcxc +zjyedjwhnvteuaid +pzoelkoidwglpttc +efydnsvlfimvwxhx +gfyhgoeiyjcgfyze +deqtomhwopmzvjlt +casafubtkoopuaju +yylsfarntbucfulg +mgjwsormkjsrrxan +lkkenpupgmjpnqqd +tegweszyohsoluot +lihsfdwxmxvwdxna +rrefrjjxerphejwb +guuazonjoebhymtm +ysofqzmfmyneziki +lmjgaliatcpduoal +qzthcpjwtgahbebr +wvakvephyukmpemm +simxacxxzfoaeddw +aetgqmiqzxbvbviz +jxlmhdmqggevrxes +mmuglnjmuddzgaik +svopsqhtrslgycgc +xnvcsiiqrcjkvecn +kkvumxtvashxcops +bduflsdyeectvcgl +vfrxbwmmytjvqnsj +eeqtdneiyiaiofxw +crtbgknfacjtwkfl +uuutuoxdsxolpbhd +lcrztwzreaswovtn +htorkvnvujmjdqzj +wttzuzvrzlyhfzyf +oraewznfwgdsnhuk +rctlkqqvkwbgrcgk +cfehrsrqhzyiwtmz +kbvxwcumjkhvjpui +xxlocexbmniiakfo +gtknkkzvykmlqghl +kcjuxvkuimhwqrtk +vohekwkuyuoacuww +vorctgughscysyfo +zmjevqplngzswxyq +qhswdrhrijnatkyo +joakcwpfggtitizs +juzlwjijcmtswdtq +icbyaqohpkemhkip +rpdxgpzxncedmvzh +rozkmimbqhbhcddv +wkkypomlvyglpfpf +jcaqyaqvsefwtaya +ghvmtecoxlebdwnf +lqrcyiykkkpkxvqt +eqlarfazchmzotev +vqwndafvmpguggef +dbfxzrdkkrusmdke +cmjpjjgndozcmefj +hbrdcwjuyxapyhlo +mmforetykbosdwce +zynfntqwblbnfqik +sodwujfwlasznaiz +yyvrivjiqnxzqkfp +uldbskmmjbqllpnm +fyhhrmrsukeptynl +hpfjekktvdkgdkzl +bozhkoekcxzeorob +uvpptyfrzkvmtoky +hkhfprmjdpjvfkcb +igxzwktwsqhsivqu +qceomwysgkcylipb +cglateoynluyeqgc +xcsdfkpeguxgvpfh +owjhxlcncdgkqyia +rpbmrpcesiakqpna +lueszxiourxsmezb +zelvsowimzkxliwc +vzxbttoobtvdtkca +pfxvzphzwscqkzsi +edsjorainowytbzu +ipsegdaluoiphmnz +mkhueokfpemywvuw +urxdnumhylpafdlc +ggluurzavsxkvwkl +ctclphidqgteakox +tfobosynxsktajuk +jzrmemhxqmzhllif +eemwekimdfvqslsx +yjkwpzrbanoaajgq +rlxghzanuyeimfhx +hozbgdoorhthlqpv +obkbmflhyanxilnx +xojrippyxjmpzmsz +ukykmbfheixuviue +qivlmdexwucqkres +rmyxxipqkarpjmox +fgaftctbvcvnrror +raawxozucfqvasru +dinpjbdfjfizexdh +gybxubwnnbuyvjcr +qrqitdvyoneqyxcg +jqzcfggayzyoqteo +cikqpvxizpdbmppm +stfpldgyhfmucjjv +slzbcuihmimpduri +aufajwfrsorqqsnl +iylmzraibygmgmqj +lcdyfpcqlktudfmu +pmomzzsdpvgkkliw +zpplirgtscfhbrkj +mvhyerxfiljlotjl +ofkvrorwwhusyxjx +xngzmvcgkqfltjpe +yxfxaqipmysahqqq +sdqafdzgfdjuabup +qcqajmerahcdgxfv +xqimrqtupbapawro +qfvkqwidzzrehsbl +himixxvueksiqfdf +vgtfqpuzxxmhrvvd +adiioqeiejguaost +jnzxuycjxvxehbvm +xedbpxdhphamoodk +jsrioscmwlsfuxrg +mtsynnfxunuohbnf +enamqzfzjunnnkpe +uwcvfecunobyhces +ciygixtgbsccpftq +ewjgcronizkcsfjy +wztjkoipxsikoimv +jrgalyvfelwxforw +imylyalawbqwkrwb +yflwqfnuuvgjsgcj +wkysyzusldlojoue +zopllxnidcffcuau +bscgwxuprxaerskj +zvnvprxxjkhnkkpq +nejwxbhjxxdbenid +chryiccsebdbcnkc +guoeefaeafhlgvxh +nzapxrfrrqhsingx +mkzvquzvqvwsejqs +kozmlmbchydtxeeo +keylygnoqhmfzrfp +srwzoxccndoxylxe +uqjzalppoorosxxo +potmkinyuqxsfdfw +qkkwrhpbhypxhiun +wgfvnogarjmdbxyh +gkidtvepcvxopzuf +atwhvmmdvmewhzty +pybxizvuiwwngqej +zfumwnazxwwxtiry +keboraqttctosemx +vtlzxaqdetbhclib +wjiecykptzexuayl +ejatfnyjjdawepyk +mpcrobansyssvmju +gqukndzganeueabm +ukzscvomorucdnqd +wfydhtbzehgwfazx +mtwqdzlephqvxqmx +dltmlfxbjopefibh +atcfrowdflluqtbi +vowawlophlxaqonw +vblgdjzvwnocdipw +uzerzksmkvnlvlhm +ytjwhpaylohorvxd +siprvfxvnxcdgofz +cbhjupewcyjhvtgs +apqtozaofusmfqli +tmssrtlxfouowqnr +ntutrvwnzzgmokes +zrsgpwdzokztdpis +nrobvmsxtfmrqdhv +kadkaftffaziqdze +yrovbgcyqtlsnoux +modheiwuhntdecqs +gzhjypwddizemnys +gaputpwpcsvzxjho +bgmouxwoajgaozau +oxuapfrjcpyakiwt +kntwbvhuaahdixzj +epqjdjbnkxdnaccx +dspltdvznhypykri +tdrgqmbnagrxdwtt +njfqawzjggmemtbg +chpemsgwpzjpdnkk +fpsrobmbqbmigmwk +flxptsrqaazmprnl +nzdunrxlcbfklshm +miuwljvtkgzdlbnn +xbhjakklmbhsdmdt +xwxhsbnrwnegwcov +pwosflhodjaiexwq +fhgepuluczttfvqh +tldxcacbvxyamvkt +gffxatrjglkcehim +tzotkdrpxkucsdps +wxheftdepysvmzbe +qfooyczdzoewrmku +rvlwikuqdbpjuvoo +bcbrnbtfrdgijtzt +vaxqmvuogsxonlgq +ibsolflngegravgo +txntccjmqakcoorp +vrrbmqaxfbarmlmc +dzspqmttgsuhczto +pikcscjunxlwqtiw +lwzyogwxqitqfqlv +gsgjsuaqejtzglym +feyeqguxbgmcmgpp +gmttebyebdwvprkn +mzuuwbhzdjfdryxu +fganrbnplymqbzjx +cvsrbdcvhtxxdmro +scmgkjlkqukoamyp +fkgrqbyqpqcworqc +hjsrvkdibdjarxxb +sztzziuqroeidcus +pxdfvcpvwaddrzwv +phdqqxleqdjfgfbg +cqfikbgxvjmnfncy \ No newline at end of file diff --git a/2015/06/input.txt b/2015/06/input.txt new file mode 100644 index 0000000..c7392c7 --- /dev/null +++ b/2015/06/input.txt @@ -0,0 +1,300 @@ +toggle 461,550 through 564,900 +turn off 370,39 through 425,839 +turn off 464,858 through 833,915 +turn off 812,389 through 865,874 +turn on 599,989 through 806,993 +turn on 376,415 through 768,548 +turn on 606,361 through 892,600 +turn off 448,208 through 645,684 +toggle 50,472 through 452,788 +toggle 205,417 through 703,826 +toggle 533,331 through 906,873 +toggle 857,493 through 989,970 +turn off 631,950 through 894,975 +turn off 387,19 through 720,700 +turn off 511,843 through 581,945 +toggle 514,557 through 662,883 +turn off 269,809 through 876,847 +turn off 149,517 through 716,777 +turn off 994,939 through 998,988 +toggle 467,662 through 555,957 +turn on 952,417 through 954,845 +turn on 565,226 through 944,880 +turn on 214,319 through 805,722 +toggle 532,276 through 636,847 +toggle 619,80 through 689,507 +turn on 390,706 through 884,722 +toggle 17,634 through 537,766 +toggle 706,440 through 834,441 +toggle 318,207 through 499,530 +toggle 698,185 through 830,343 +toggle 566,679 through 744,716 +toggle 347,482 through 959,482 +toggle 39,799 through 981,872 +turn on 583,543 through 846,710 +turn off 367,664 through 595,872 +turn on 805,439 through 964,995 +toggle 209,584 through 513,802 +turn off 106,497 through 266,770 +turn on 975,2 through 984,623 +turn off 316,684 through 369,876 +turn off 30,309 through 259,554 +turn off 399,680 through 861,942 +toggle 227,740 through 850,829 +turn on 386,603 through 552,879 +turn off 703,795 through 791,963 +turn off 573,803 through 996,878 +turn off 993,939 through 997,951 +turn on 809,221 through 869,723 +turn off 38,720 through 682,751 +turn off 318,732 through 720,976 +toggle 88,459 through 392,654 +turn off 865,654 through 911,956 +toggle 264,284 through 857,956 +turn off 281,776 through 610,797 +toggle 492,660 through 647,910 +turn off 879,703 through 925,981 +turn off 772,414 through 974,518 +turn on 694,41 through 755,96 +turn on 452,406 through 885,881 +turn off 107,905 through 497,910 +turn off 647,222 through 910,532 +turn on 679,40 through 845,358 +turn off 144,205 through 556,362 +turn on 871,804 through 962,878 +turn on 545,676 through 545,929 +turn off 316,716 through 413,941 +toggle 488,826 through 755,971 +toggle 957,832 through 976,992 +toggle 857,770 through 905,964 +toggle 319,198 through 787,673 +turn on 832,813 through 863,844 +turn on 818,296 through 818,681 +turn on 71,699 through 91,960 +turn off 838,578 through 967,928 +toggle 440,856 through 507,942 +toggle 121,970 through 151,974 +toggle 391,192 through 659,751 +turn on 78,210 through 681,419 +turn on 324,591 through 593,939 +toggle 159,366 through 249,760 +turn off 617,167 through 954,601 +toggle 484,607 through 733,657 +turn on 587,96 through 888,819 +turn off 680,984 through 941,991 +turn on 800,512 through 968,691 +turn off 123,588 through 853,603 +turn on 1,862 through 507,912 +turn on 699,839 through 973,878 +turn off 848,89 through 887,893 +toggle 344,353 through 462,403 +turn on 780,731 through 841,760 +toggle 693,973 through 847,984 +toggle 989,936 through 996,958 +toggle 168,475 through 206,963 +turn on 742,683 through 769,845 +toggle 768,116 through 987,396 +turn on 190,364 through 617,526 +turn off 470,266 through 530,839 +toggle 122,497 through 969,645 +turn off 492,432 through 827,790 +turn on 505,636 through 957,820 +turn on 295,476 through 698,958 +toggle 63,298 through 202,396 +turn on 157,315 through 412,939 +turn off 69,789 through 134,837 +turn off 678,335 through 896,541 +toggle 140,516 through 842,668 +turn off 697,585 through 712,668 +toggle 507,832 through 578,949 +turn on 678,279 through 886,621 +toggle 449,744 through 826,910 +turn off 835,354 through 921,741 +toggle 924,878 through 985,952 +turn on 666,503 through 922,905 +turn on 947,453 through 961,587 +toggle 525,190 through 795,654 +turn off 62,320 through 896,362 +turn on 21,458 through 972,536 +turn on 446,429 through 821,970 +toggle 376,423 through 805,455 +toggle 494,896 through 715,937 +turn on 583,270 through 667,482 +turn off 183,468 through 280,548 +toggle 623,289 through 750,524 +turn on 836,706 through 967,768 +turn on 419,569 through 912,908 +turn on 428,260 through 660,433 +turn off 683,627 through 916,816 +turn on 447,973 through 866,980 +turn on 688,607 through 938,990 +turn on 245,187 through 597,405 +turn off 558,843 through 841,942 +turn off 325,666 through 713,834 +toggle 672,606 through 814,935 +turn off 161,812 through 490,954 +turn on 950,362 through 985,898 +turn on 143,22 through 205,821 +turn on 89,762 through 607,790 +toggle 234,245 through 827,303 +turn on 65,599 through 764,997 +turn on 232,466 through 965,695 +turn on 739,122 through 975,590 +turn off 206,112 through 940,558 +toggle 690,365 through 988,552 +turn on 907,438 through 977,691 +turn off 838,809 through 944,869 +turn on 222,12 through 541,832 +toggle 337,66 through 669,812 +turn on 732,821 through 897,912 +toggle 182,862 through 638,996 +turn on 955,808 through 983,847 +toggle 346,227 through 841,696 +turn on 983,270 through 989,756 +turn off 874,849 through 876,905 +turn off 7,760 through 678,795 +toggle 973,977 through 995,983 +turn off 911,961 through 914,976 +turn on 913,557 through 952,722 +turn off 607,933 through 939,999 +turn on 226,604 through 517,622 +turn off 3,564 through 344,842 +toggle 340,578 through 428,610 +turn on 248,916 through 687,925 +toggle 650,185 through 955,965 +toggle 831,359 through 933,536 +turn off 544,614 through 896,953 +toggle 648,939 through 975,997 +turn on 464,269 through 710,521 +turn off 643,149 through 791,320 +turn off 875,549 through 972,643 +turn off 953,969 through 971,972 +turn off 236,474 through 772,591 +toggle 313,212 through 489,723 +toggle 896,829 through 897,837 +toggle 544,449 through 995,905 +turn off 278,645 through 977,876 +turn off 887,947 through 946,977 +turn on 342,861 through 725,935 +turn on 636,316 through 692,513 +toggle 857,470 through 950,528 +turn off 736,196 through 826,889 +turn on 17,878 through 850,987 +turn on 142,968 through 169,987 +turn on 46,470 through 912,853 +turn on 182,252 through 279,941 +toggle 261,143 through 969,657 +turn off 69,600 through 518,710 +turn on 372,379 through 779,386 +toggle 867,391 through 911,601 +turn off 174,287 through 900,536 +toggle 951,842 through 993,963 +turn off 626,733 through 985,827 +toggle 622,70 through 666,291 +turn off 980,671 through 985,835 +turn off 477,63 through 910,72 +turn off 779,39 through 940,142 +turn on 986,570 through 997,638 +toggle 842,805 through 943,985 +turn off 890,886 through 976,927 +turn off 893,172 through 897,619 +turn off 198,780 through 835,826 +toggle 202,209 through 219,291 +turn off 193,52 through 833,283 +toggle 414,427 through 987,972 +turn on 375,231 through 668,236 +turn off 646,598 through 869,663 +toggle 271,462 through 414,650 +turn off 679,121 through 845,467 +toggle 76,847 through 504,904 +turn off 15,617 through 509,810 +toggle 248,105 through 312,451 +turn off 126,546 through 922,879 +turn on 531,831 through 903,872 +toggle 602,431 through 892,792 +turn off 795,223 through 892,623 +toggle 167,721 through 533,929 +toggle 813,251 through 998,484 +toggle 64,640 through 752,942 +turn on 155,955 through 892,985 +turn on 251,329 through 996,497 +turn off 341,716 through 462,994 +toggle 760,127 through 829,189 +turn on 86,413 through 408,518 +toggle 340,102 through 918,558 +turn off 441,642 through 751,889 +turn on 785,292 through 845,325 +turn off 123,389 through 725,828 +turn on 905,73 through 983,270 +turn off 807,86 through 879,276 +toggle 500,866 through 864,916 +turn on 809,366 through 828,534 +toggle 219,356 through 720,617 +turn off 320,964 through 769,990 +turn off 903,167 through 936,631 +toggle 300,137 through 333,693 +toggle 5,675 through 755,848 +turn off 852,235 through 946,783 +toggle 355,556 through 941,664 +turn on 810,830 through 867,891 +turn off 509,869 through 667,903 +toggle 769,400 through 873,892 +turn on 553,614 through 810,729 +turn on 179,873 through 589,962 +turn off 466,866 through 768,926 +toggle 143,943 through 465,984 +toggle 182,380 through 569,552 +turn off 735,808 through 917,910 +turn on 731,802 through 910,847 +turn off 522,74 through 731,485 +turn on 444,127 through 566,996 +turn off 232,962 through 893,979 +turn off 231,492 through 790,976 +turn on 874,567 through 943,684 +toggle 911,840 through 990,932 +toggle 547,895 through 667,935 +turn off 93,294 through 648,636 +turn off 190,902 through 532,970 +turn off 451,530 through 704,613 +toggle 936,774 through 937,775 +turn off 116,843 through 533,934 +turn on 950,906 through 986,993 +turn on 910,51 through 945,989 +turn on 986,498 through 994,945 +turn off 125,324 through 433,704 +turn off 60,313 through 75,728 +turn on 899,494 through 940,947 +toggle 832,316 through 971,817 +toggle 994,983 through 998,984 +toggle 23,353 through 917,845 +toggle 174,799 through 658,859 +turn off 490,878 through 534,887 +turn off 623,963 through 917,975 +toggle 721,333 through 816,975 +toggle 589,687 through 890,921 +turn on 936,388 through 948,560 +turn off 485,17 through 655,610 +turn on 435,158 through 689,495 +turn on 192,934 through 734,936 +turn off 299,723 through 622,847 +toggle 484,160 through 812,942 +turn off 245,754 through 818,851 +turn on 298,419 through 824,634 +toggle 868,687 through 969,760 +toggle 131,250 through 685,426 +turn off 201,954 through 997,983 +turn on 353,910 through 832,961 +turn off 518,781 through 645,875 +turn off 866,97 through 924,784 +toggle 836,599 through 857,767 +turn on 80,957 through 776,968 +toggle 277,130 through 513,244 +turn off 62,266 through 854,434 +turn on 792,764 through 872,842 +turn off 160,949 through 273,989 +turn off 664,203 through 694,754 +toggle 491,615 through 998,836 +turn off 210,146 through 221,482 +turn off 209,780 through 572,894 +turn on 766,112 through 792,868 +turn on 222,12 through 856,241 \ No newline at end of file diff --git a/2018/01/input.txt b/2018/01/input.txt new file mode 100644 index 0000000..444c50b --- /dev/null +++ b/2018/01/input.txt @@ -0,0 +1,959 @@ +-2 +-6 ++2 +-10 +-4 +-7 ++8 +-10 +-15 +-4 ++20 ++16 ++20 ++5 +-2 ++16 ++8 +-10 +-2 +-21 ++13 ++6 ++5 +-14 +-13 +-17 +-8 +-7 ++19 +-21 +-16 ++19 ++7 ++3 ++17 ++6 ++8 +-4 ++2 ++21 ++8 ++11 ++5 ++8 +-15 +-8 ++1 ++17 +-7 +-7 +-17 ++10 ++6 ++6 ++12 ++16 ++1 ++11 +-10 +-13 +-2 ++12 +-14 ++13 ++13 ++13 ++6 +-4 ++1 ++6 +-1 +-18 ++14 ++3 ++18 +-8 ++15 +-18 +-21 ++4 +-8 +-7 +-16 +-10 ++2 +-12 +-15 ++13 +-11 +-9 +-5 +-20 ++6 +-18 +-15 +-1 ++8 ++12 ++15 ++15 ++20 ++11 ++15 ++17 ++10 +-8 +-7 ++1 ++12 ++7 ++11 ++3 ++5 +-2 ++14 +-8 ++15 +-3 +-5 +-17 ++15 +-3 ++23 ++14 +-11 +-10 ++14 +-15 ++6 ++10 +-9 ++10 +-3 +-4 ++10 ++8 ++16 +-18 +-2 ++11 ++14 +-16 ++6 +-8 ++16 +-18 +-16 +-4 +-6 ++2 +-3 ++2 +-8 +-7 +-5 ++13 ++2 +-12 +-5 +-23 ++13 +-26 +-16 +-1 +-9 +-8 ++21 +-1 +-16 +-21 +-16 ++14 +-10 ++13 ++18 ++17 ++3 ++18 +-10 ++24 ++10 +-20 ++36 +-11 +-19 ++18 ++43 ++2 ++5 ++12 ++14 +-15 +-14 ++5 ++11 ++18 +-15 ++13 +-4 ++8 +-5 +-6 ++17 ++1 +-3 ++4 ++11 ++16 ++16 ++11 ++11 ++13 +-12 ++14 +-16 +-7 +-9 ++4 +-10 +-13 +-19 ++11 ++5 +-3 +-9 ++17 ++6 ++9 +-12 ++17 +-11 ++16 ++13 ++14 ++10 +-5 ++2 +-16 ++18 +-1 ++8 ++17 ++11 ++13 +-18 ++10 +-1 ++4 ++9 ++16 ++13 +-18 ++1 ++10 +-7 ++11 +-12 +-12 ++7 +-20 ++18 +-13 ++3 ++21 ++17 ++5 ++14 +-2 +-14 ++13 ++4 +-11 +-19 +-15 +-7 ++18 +-1 ++10 ++9 +-8 ++2 +-16 +-13 +-9 ++3 ++10 ++15 ++18 ++9 +-18 +-13 ++5 ++10 ++12 +-10 ++17 ++16 +-12 ++23 ++9 ++18 ++4 +-28 ++20 +-4 ++56 +-19 +-52 +-28 +-8 +-35 +-20 +-3 +-5 ++16 +-19 +-8 ++3 ++9 ++19 ++22 ++10 +-9 ++44 ++4 +-17 +-12 +-48 ++7 +-14 +-22 ++9 +-4 +-16 ++5 ++12 +-3 +-16 ++12 ++2 +-15 ++12 +-26 +-7 +-12 +-18 +-16 ++6 +-15 ++17 +-9 +-4 +-8 +-7 ++12 +-16 ++8 +-5 ++3 ++7 ++8 +-14 +-8 +-13 ++10 ++14 ++26 ++14 +-6 ++22 +-13 +-1 ++11 +-17 ++15 ++6 ++18 ++13 +-5 ++8 ++1 +-5 +-19 +-3 +-3 ++14 +-10 +-17 ++5 ++16 ++7 ++8 ++5 ++16 +-20 ++19 ++4 +-30 +-1 +-20 ++5 +-32 +-12 ++20 +-14 ++3 +-11 +-18 +-21 ++4 ++1 +-19 +-17 ++13 ++12 ++13 +-1 +-17 +-19 ++13 +-6 ++20 +-17 +-14 +-22 ++9 +-3 ++18 ++24 +-7 ++25 +-38 +-96 ++13 ++37 ++25 ++58 +-13 ++42 ++28 ++8 ++159 +-43 +-572 +-62794 ++19 ++8 +-17 +-9 ++3 +-1 ++5 ++4 ++16 ++11 ++4 +-18 ++5 +-10 ++9 ++15 ++16 +-5 ++17 +-16 +-4 +-11 +-18 ++3 +-12 ++3 +-18 +-7 +-7 ++5 ++3 +-17 ++8 +-15 +-2 ++11 +-6 ++17 +-12 +-9 ++6 +-4 ++10 ++7 +-1 +-7 +-16 ++3 +-1 +-9 +-4 +-10 ++2 +-13 ++4 +-19 +-7 +-5 ++1 +-17 +-3 +-13 ++15 +-3 ++9 ++14 +-9 ++4 +-1 +-9 ++14 +-6 +-3 +-17 ++19 +-8 +-15 +-9 +-18 ++9 ++19 +-3 ++16 +-20 ++3 +-19 ++10 ++14 ++11 +-3 ++10 ++14 ++12 +-14 ++15 +-10 +-10 ++15 ++9 ++9 ++4 +-2 +-9 +-8 ++11 ++5 ++16 +-8 ++16 +-11 ++9 +-18 +-11 ++17 ++15 +-16 ++2 +-23 ++14 ++4 ++14 ++1 ++6 ++9 +-19 +-3 +-17 +-6 +-16 +-17 ++16 ++15 +-9 ++32 ++11 +-5 +-22 +-14 ++5 +-30 +-13 +-10 +-11 +-15 +-5 +-3 +-7 ++3 ++9 ++5 +-1 +-17 +-17 ++13 ++14 +-7 +-16 ++18 +-16 ++17 +-9 ++10 +-17 +-10 ++19 ++10 +-16 +-15 ++16 +-6 +-6 +-9 +-17 ++16 ++3 +-7 ++17 +-16 +-16 +-9 +-9 ++8 +-1 +-6 +-14 ++17 +-12 +-13 ++12 +-1 ++13 ++2 ++10 +-4 +-5 +-8 ++14 +-18 ++16 ++7 ++8 ++11 +-14 +-8 +-15 +-21 +-18 ++10 +-3 ++8 ++8 +-6 +-13 +-11 ++6 +-2 ++14 +-16 +-16 +-17 ++10 ++11 +-13 +-18 +-5 ++4 ++9 +-6 ++5 ++16 ++13 ++8 +-15 ++20 +-7 ++19 ++7 ++15 +-7 +-7 +-18 +-14 ++9 +-6 ++13 ++11 +-8 ++6 +-5 +-3 +-26 +-9 ++6 +-8 ++15 +-18 ++12 +-2 +-8 +-25 ++15 +-16 +-1 +-7 +-18 ++14 ++6 ++10 +-15 +-17 ++12 +-5 ++8 +-7 +-10 +-5 +-18 ++1 ++14 +-2 ++11 ++4 ++18 +-10 +-19 +-18 +-19 ++10 +-14 +-12 ++14 +-15 ++10 ++2 ++12 +-8 ++14 ++19 +-20 ++11 +-8 ++10 +-21 ++25 ++21 ++1 ++20 ++17 ++6 ++11 +-13 +-17 +-20 ++4 +-1 +-19 +-11 ++14 ++12 +-18 ++5 +-11 ++33 ++13 ++8 ++3 ++9 +-10 ++30 +-18 +-3 ++23 ++42 ++4 +-7 ++10 +-14 ++20 +-5 ++30 ++1 +-15 ++19 ++12 +-3 +-6 ++7 ++21 +-3 ++27 ++17 ++15 +-18 +-4 +-17 ++22 +-14 +-9 ++12 ++2 +-1 ++7 +-10 ++6 ++3 ++17 +-4 +-6 ++13 +-34 +-33 +-2 ++18 +-11 +-17 +-20 +-3 ++15 +-5 +-6 +-48 ++12 +-22 +-12 +-17 +-25 +-9 +-24 +-15 +-22 +-15 ++17 ++5 +-14 ++22 ++3 +-1 +-18 +-37 +-3 +-8 ++4 ++9 ++7 +-5 +-19 +-19 +-4 ++12 +-2 ++35 +-28 ++8 ++11 ++80 ++20 ++12 +-17 ++16 +-40 +-43 +-11 +-19 +-8 +-2 ++20 +-33 ++9 +-71 +-6 ++1 +-128 ++1 ++5 ++28 +-27 ++16 ++40 +-9 ++265 ++54 +-9 ++43 +-39 +-63256 ++12 ++18 +-14 ++13 ++15 +-10 ++13 ++5 ++1 ++14 ++15 +-7 ++18 +-2 +-7 +-14 +-6 +-10 +-15 +-3 ++12 ++17 +-19 ++12 ++8 ++12 +-19 ++4 +-18 +-14 +-20 +-6 +-19 ++12 +-11 +-19 ++2 ++19 ++4 +-12 ++3 ++19 ++11 ++9 +-17 +-11 ++1 ++13 ++11 +-18 +-12 +-2 +-14 +-13 +-6 ++7 ++2 +-10 +-14 +-18 ++1 ++14 ++11 +-6 +-6 +-3 +-18 +-7 ++127054 \ No newline at end of file diff --git a/2018/02/input.txt b/2018/02/input.txt new file mode 100644 index 0000000..ea56cf9 --- /dev/null +++ b/2018/02/input.txt @@ -0,0 +1,250 @@ +oeambtcgjqnzhgkdylfapoiusr +oewmbtcxjqnzhgvdyltapvqusr +oewmbtchjqnzigkdylfapviuse +oeimbucxjqnzhgkdyyfapviusr +fewmbtcxjqndhgcdylfapviusr +oevgbtccjqnzhgkdylfapviusr +oewmbtcxjqnzhnkdylmapvpusr +oewmbtcxjqnzhxkdyldapvirsr +oewmutccjqnzngkdylfapviusr +oewmbtcxbqnzhgkdsliapviusr +ozwmbtfxjqnzcgkdylfapviusr +oewmbtdxjqnzhgkdypfapsiusr +oeylbtcxjqnzhgyyylfapviusr +oewmbtcxjqnzhgkdrlfakuiusr +oewmbtcujqnxhgkdylfadviusr +oewmbtcxlqpzhgkdylfaaviusr +oewmztcxjqnzhgkdylfqpliusr +oeembtcxjqnzhgkdtlmapviusr +onwmbtcxjqnqhgkdylfapdiusr +oewmbtcxnqnzhgkdylfapsbusr +oeoibtjxjqnzhgkdylfapviusr +oxwmbtcxjqnzhgkdylfapcipsr +oewmbtoxbqnzhgzdylfapviusr +okwubtcxjqnzhgkdylfapiiusr +oewmbtcxjqnzhgodylfapnicsr +oewmitcxjqnzhgkdylfaphlusr +oewmbtaxjqnzhgkhylfapveusr +oewmftcbjqnzhgkdylfapviurr +oewmbtcujqnzbgkdylfapliusr +oeevbtcxjqnzhgkdylfapniusr +oewmbtcxjqnvhgkdylfapnpusr +oewabtcxjqnzhgddylfapviust +oewmbtyxjqnzhgkdvlfapvinsr +jewmbtcxjonzhzkdylfapviusr +oewmbrcxjqnzxgkdylfapoiusr +dewmbtmxjqnzhgkdyvfapviusr +oewmbtctjqnzhgkdmlfapvihsr +oewmbjcxjqnzhgvdylfapviurr +oewmbtcxjqnzhgcdxlfapvfusr +oewmbucxjqnzhgkdyltapvifsr +gewmbtcejqezhgkdylfapviusr +oewebtcxjznzhgkdylfapvhusr +oewmjtcxjqnzhgkdycfakviusr +oewmbtcxjtnvhgkdylfabviusr +oewmbtcxjqnthgkgclfapviusr +hewmbtcxjqnzhgkdwlfapziusr +oewmbtcxjqnzhgkdylfqpviysf +oewmbtcxjvnzhgmdylfapviuse +oewmbtcxjqnphgkdymzapviusr +oewmbtcxjqnzwmkdylfapvbusr +oewmbthxjqnzhgkdylfatvilsr +oewmbtcxaznzhgkhylfapviusr +zewmbscxjqnzhgkdylfatviusr +oewmbecyaqnzhgkdylfapviusr +oewmbtnxjqnzhekxylfapviusr +oewmbtcxjqczhgkdyltnpviusr +yewmbecxjnnzhgkdylfapviusr +oewmbocxjqnzhgkyylfapviusv +oewmxtcxjqnzhgkkylfspviusr +oiwmbtcxjqnzhgkdydfapvgusr +oewmbtcxjqnzngydylfwpviusr +oewmctcxjqnzhgkdelfapviasr +oewmbtcxjqnzhgxdwmfapviusr +oewmntcxjqnzhgkdylfamviusw +oewmatcxjqbzhgkdylfapvhusr +oewmbtcxjqnqhmkdyluapviusr +opwmbtcxjqnzhgkdywfapvilsr +omwmbtcxjqnlhgkdylyapviusr +oewmltcxoqnzhgkdylfapvfusr +oewmbtcxjqtzhgkdyyoapviusr +oewmbtcxjqnzhrkdzlffpviusr +oewmbtqxyqnzhgkdylfalviusr +oeuzbtcxlqnzhgkdylfapviusr +oewmbtcxjqnzhtxdylflpviusr +oewmdtfxjqnzhgkdylfapviufr +ojwmbtcxjqnzhgkdylfypviqsr +oewmbtcxjqnzhgkdylfapvivuf +oewmjtcsjqnzxgkdylfapviusr +ohembtcxjqnzhnkdylfapviusr +oewmptcajqnzhgkdylfapviusd +oewmbtcxjcnwhgkbylfapviusr +oewmbtcxjqnzhgddnlfapvqusr +oewmbtcfjqnzhgkdypfapvzusr +oewdbtccjqnzhgfdylfapviusr +oewmbtcxjpnzhgkdplfaqviusr +oepmbhcxjqnzhgkdylfaaviusr +oewmbtcwjqxzhgkwylfapviusr +oewmatcxjqnchgkdylfapvifsr +omwmbncxjqnzhgkdylfapviuyr +sewmbsckjqnzhgkdylfapviusr +oewubtcxjqnzhgkdyluapvausr +ohwmbtcxqqhzhgkdylfapviusr +oewmbtcxjqnzhgkpylfapnissr +eewmbccxjqnzhgkdylbapviusr +oewmitcyjqnzhgkdylkapviusr +oewmbtcxjvnzhgkdyjfvpviusr +oewmbtcxjqmzhgkdyefagviusr +oewmbtcvjqnzhgkdylpapviufr +oewmbtcxjrnkhgkdylfapsiusr +oewmbtcxjqnzygkdylfaxvipsr +oexmbtcxjqczhgkdyloapviusr +oewmbtcxjqnlhtkdylfapvmusr +oewmbtcxdqjzdgkdylfapviusr +oewmbtclgqnzhgkdylfabviusr +oewmbtvfjqnzhgkdylfapviulr +oewmbtcxjqnzhgkdyllarvijsr +oewmbtyxjqnzhgpdylxapviusr +oeylbtcxjqnzhgkyylfapviusr +oewmbtctjqnzhjkdylfapviulr +oermatcxjqnzhgkdylzapviusr +oewmbtcxjqnztgkdzlfapviutr +oewlbtcxjqnztgkvylfapviusr +oewmbtcxjqzvhgkdylfapviusk +oewmbtcxjqnzmgkdyldapvilsr +felmbtcxjqnzhgkdylfapviusl +oewmbtcxjgnzhgkjylfaeviusr +ovwmbtcxjqpzhgkdylfapvizsr +eewmbtcpjqnzhgkdylfapvijsr +oewmbzcxjqnzhgkdylfaeviutr +tewmbtcljqhzhgkdylfapviusr +oewmbtcujqnzhgkdnliapviusr +oewmbtcljqnzhskdylfapvgusr +oewmbtchjqnzhgkdylmapviuse +oewmbtcxjqnzbgkdylfaiviurr +oewmbtcxjqnzhkkdyloapsiusr +oewjbtcxjqnhhgkdylfapjiusr +odwmbtcnjqnzhgkdylfapvicsr +oewmbccxjqrzwgkdylfapviusr +kewmbtcvjqnzhgkdylaapviusr +okwmbtcxjqnzhgkdylfspvausr +oewmbtcxjynzhgkdyafapviusw +oewmbtcxjqnzhgwdyleayviusr +oewmbtcxjqnzhgkdylfapviicl +oewmbtcxjqnzhgkdyltaeziusr +oewmbtcxrqnzhgkdylftpvizsr +oewsrtcgjqnzhgkdylfapviusr +oewmbtsxgqnzhgxdylfapviusr +oewmbtcxjanzhgtdylfapeiusr +oewybtcgjqnzhgkdylfapviust +ojwmbncxjqnzhgkdylfapgiusr +ocgebtcxjqnzhgkdylfapviusr +oejcbtcxjqnzhgkvylfapviusr +oswmbtcxjqnkhgkdylfapviusb +oewdbtcxjqnzdgkdylfypviusr +oawmutcxjqnzhgkddlfapviusr +oewzbtcxyqnzhgkdylfapviusy +zewmbtcxjqnzkgkdylwapviusr +aewmbtkxjqnzhgkdylfapviuer +oewmbtcxwqnzhgkdyofapviuur +oewmbtcxjqnzggkdylfapanusr +oewmstcxuqnzhgkdylzapviusr +zewmbtcxjqozhgkdelfapviusr +oewzbtcxjqnahgkdyllapviusr +fewmatcxjqnghgkdylfapviusr +oewmbtcxjqnzhgkdylfapviyqb +oewwbtcxjqnzhgkdyljapviqsr +oewmbtbxjqnzhgkxylfapviesr +oewmbtcbjqnphgkdylfapviysr +oewabtcxyqnzhgkdylfabviusr +oewmbtcxhknzhgkdylfapviusd +ozwmbtcljqnzhgkdylfapviksr +tewmbtcxjqnzhgkdylfaxvqusr +oewmbtcxrqnzhgkdytfapvrusr +ohwmbtcxjcnzhgkdyifapviusr +oewmbpcxjqnzhwkdylfaphiusr +oedmbtcxjqnzhgnbylfapviusr +oewmbocxjqnehgkdylfapvbusr +oeymbtcxjqezegkdylfapviusr +oewmbtcxjqnzhgkdllferviusr +oewmbtcxjqnzhgkwmlfawviusr +oewmbtcxienzhgkdyzfapviusr +mewmbtcxjqnzhqkdylfapviwsr +oewmbtcxjqnztgkmylfapvdusr +ouwmbtcxjqnzhokdylpapviusr +oewmctcxjqhzhgmdylfapviusr +oewmbtcyjqnzhmkdylfarviusr +oewmbtcxjqnzhgkdpnfzpviusr +oewmptcxjqnzhgkdylkapviulr +nefmbtcxsqnzhgkdylfapviusr +oewmbtcxwqnzhgkdilfapvizsr +eewmbtcxjqwzhghdylfapviusr +oewmbtixmqnzhgkjylfapviusr +okwmbtcdzqnzhgkdylfapviusr +oewmbtxxjrnzigkdylfapviusr +oewmdycxjqnzhekdylfapviusr +oewmutcxjqnzhgkdylfapsiuqr +oewmbacxjqnzrgkdrlfapviusr +oewmbtcxpqnzhmkdylfapciusr +oewabtcxjqnzhgkdyrcapviusr +oswmbtcxjqnzhgkdrxfapviusr +gewmbtcnjqnzhgkdylvapviusr +newmbtcxjwnzfgkdylfapviusr +lewmbtcxjqnzhgkdylfaptiujr +oewwbtcxjqndhgkdylfapiiusr +oewmbtcxjqnzhggdylfapvqmsr +lewmbtcxjqnzhgkhllfapviusr +oewmbtocjqnzhgkdylfapvhusr +oedmbtcxjqnzhgkdyhfapviusb +oewmbtcxjqnzhgkdylfajvaosr +zewmbtcxjqnzhgkdylfapvsssr +oewmbthxjqnzhskdylfapviuqr +yewmrtcvjqnzhgkdylfapviusr +oewmbtctjqnzhgkdylfabvhusr +oesmstcxjqnzhgkdylfapqiusr +oewmbtcxjqnzzgkdylfopiiusr +otwmbtzxjqnzhgkdylfaxviusr +ouwmbxcxjqnzhgkdylfapvnusr +oewmbtcxjqezhgedylfapvsusr +oesmhtcsjqnzhgkdylfapviusr +oewdbtcxjqnzhgkdilfapvifsr +oewmbtcxjqnzhgudynfamviusr +qewhbtcxjqnzhgkdyxfapviusr +oewmbzcxjqtzhgkdylfapvitsr +oewmbtccjqzzhgkaylfapviusr +jewmbtcxmqnzhlkdylfapviusr +oewmbtcxjqbzhgkdnlfapviusp +oeimbtcdjqnzhgkdylfapviuer +oewtbtcxjqnihgkdylfahviusr +oewmbtcxhqnzhgkdylfapdiudr +oefmbtcxjqyshgkdylfapviusr +oewmbtcxjqnzhgkfglfapviusx +oecmbocxjqnzhgkdmlfapviusr +oewmbtcxjqnzhghdylfavviuhr +oewmbmcxiqnzhgkpylfapviusr +oewmbtcnjqnzhgkrylfanviusr +oewmbocxjqnzhzkdllfapviusr +eewmbtckjqnzhgkdylfapviusg +oewmbtcrjqqzhgkdylfapvigsr +oewmbtcxjqazhgfdylfapjiusr +oetmbtcxjqnzhgldylfapviqsr +oewbbtcxjqnzlgkdylfapviuse +oewmbtcxjqnzhglbolfapviusr +oewmbtcxjqnzcgkdylfapviuhy +oelmbtcxjqfzhgkdylaapviusr +oojmbycxjqnzhgkdylfapviusr +oewmbtrxjqnrhgkdylfapniusr +oewmbtcxjqnzhgkyyhfapviuso +oewabtcxjqnzhskdylfapviusx +oewmbtcrjqnmhgkdylfapvnusr +oewmbtcxjqrzhgkdylfapvpuss +oewmbtcxhqnzwgkddlfapviusr +kewmbtcxjqnzhgkyylfajviusr +oswmbtcxjqnzhgkdjlfapviuss +onwmbtcxjqnchgkdylfapvpusr +oeymbtcxjqnxhikdylfapviusr +oewmblcdjqnzhgkdylfapviysr +oewmbtcxeqczhgudylfapviusr +oewmbpgxjqnzhgkdylfapfiusr +ohwmwtcxjqnzhgkdylftpviusr +zebmbtuxjqnzhgkdylfapviusr diff --git a/2018/03/input.txt b/2018/03/input.txt new file mode 100644 index 0000000..d739b7e --- /dev/null +++ b/2018/03/input.txt @@ -0,0 +1,1259 @@ +#1 @ 749,666: 27x15 +#2 @ 118,560: 22x18 +#3 @ 194,731: 16x29 +#4 @ 295,407: 21x29 +#5 @ 717,30: 29x24 +#6 @ 969,722: 11x25 +#7 @ 117,596: 20x22 +#8 @ 557,190: 19x17 +#9 @ 445,84: 22x24 +#10 @ 527,900: 28x12 +#11 @ 48,71: 20x17 +#12 @ 644,603: 29x16 +#13 @ 786,478: 19x10 +#14 @ 40,483: 14x15 +#15 @ 683,475: 22x13 +#16 @ 173,683: 10x10 +#17 @ 862,778: 12x29 +#18 @ 169,513: 20x13 +#19 @ 151,719: 28x13 +#20 @ 49,342: 15x29 +#21 @ 678,900: 13x29 +#22 @ 97,522: 6x16 +#23 @ 888,500: 11x21 +#24 @ 781,576: 12x22 +#25 @ 122,367: 28x18 +#26 @ 625,149: 22x27 +#27 @ 668,803: 15x11 +#28 @ 822,317: 26x15 +#29 @ 685,945: 19x11 +#30 @ 786,296: 13x18 +#31 @ 848,839: 15x16 +#32 @ 663,448: 28x24 +#33 @ 941,785: 13x24 +#34 @ 579,902: 26x11 +#35 @ 343,206: 19x11 +#36 @ 301,174: 27x12 +#37 @ 539,52: 16x20 +#38 @ 740,676: 17x26 +#39 @ 771,191: 11x18 +#40 @ 80,930: 22x29 +#41 @ 402,979: 16x18 +#42 @ 978,896: 14x27 +#43 @ 299,185: 20x24 +#44 @ 885,32: 20x25 +#45 @ 28,376: 13x26 +#46 @ 103,323: 22x22 +#47 @ 495,160: 18x14 +#48 @ 318,567: 13x20 +#49 @ 206,353: 11x13 +#50 @ 763,100: 21x13 +#51 @ 852,973: 18x12 +#52 @ 50,249: 20x26 +#53 @ 329,579: 11x11 +#54 @ 546,884: 12x16 +#55 @ 425,681: 18x18 +#56 @ 152,610: 17x16 +#57 @ 802,735: 29x21 +#58 @ 113,567: 22x18 +#59 @ 361,386: 27x25 +#60 @ 921,9: 25x19 +#61 @ 68,903: 23x21 +#62 @ 368,599: 16x25 +#63 @ 553,182: 11x16 +#64 @ 391,822: 26x28 +#65 @ 589,207: 12x20 +#66 @ 188,348: 23x22 +#67 @ 499,43: 16x21 +#68 @ 849,175: 14x10 +#69 @ 650,527: 20x10 +#70 @ 108,72: 11x25 +#71 @ 685,124: 12x29 +#72 @ 364,370: 25x10 +#73 @ 578,357: 18x24 +#74 @ 514,961: 25x28 +#75 @ 376,981: 22x11 +#76 @ 96,496: 16x17 +#77 @ 682,6: 14x13 +#78 @ 191,804: 17x19 +#79 @ 202,556: 28x23 +#80 @ 390,525: 11x20 +#81 @ 836,610: 22x20 +#82 @ 566,79: 22x28 +#83 @ 441,68: 16x12 +#84 @ 270,609: 12x10 +#85 @ 520,392: 20x16 +#86 @ 104,416: 23x26 +#87 @ 104,763: 22x16 +#88 @ 669,877: 11x24 +#89 @ 277,658: 27x12 +#90 @ 909,134: 25x14 +#91 @ 414,925: 29x28 +#92 @ 304,618: 15x23 +#93 @ 838,975: 23x14 +#94 @ 761,377: 19x26 +#95 @ 923,178: 11x10 +#96 @ 901,945: 22x20 +#97 @ 179,325: 18x24 +#98 @ 877,792: 27x17 +#99 @ 870,233: 24x24 +#100 @ 945,390: 13x14 +#101 @ 697,868: 10x19 +#102 @ 823,154: 19x27 +#103 @ 444,900: 16x27 +#104 @ 538,45: 25x14 +#105 @ 90,423: 15x10 +#106 @ 425,822: 26x19 +#107 @ 968,167: 20x21 +#108 @ 721,420: 25x12 +#109 @ 516,30: 27x29 +#110 @ 316,565: 11x13 +#111 @ 379,278: 26x16 +#112 @ 940,770: 13x24 +#113 @ 429,913: 16x18 +#114 @ 278,174: 25x20 +#115 @ 659,232: 22x16 +#116 @ 482,36: 20x10 +#117 @ 162,410: 19x11 +#118 @ 160,949: 21x27 +#119 @ 48,268: 15x17 +#120 @ 50,512: 12x27 +#121 @ 215,330: 26x12 +#122 @ 504,400: 28x28 +#123 @ 129,529: 21x18 +#124 @ 160,370: 26x19 +#125 @ 955,275: 21x29 +#126 @ 576,320: 13x28 +#127 @ 492,955: 24x29 +#128 @ 111,918: 24x17 +#129 @ 654,910: 13x10 +#130 @ 390,607: 21x23 +#131 @ 498,581: 16x21 +#132 @ 1,126: 20x24 +#133 @ 108,809: 4x3 +#134 @ 600,572: 13x29 +#135 @ 67,717: 21x27 +#136 @ 387,392: 21x15 +#137 @ 510,44: 10x15 +#138 @ 940,137: 10x26 +#139 @ 375,506: 18x10 +#140 @ 825,669: 18x10 +#141 @ 528,338: 24x13 +#142 @ 657,492: 20x28 +#143 @ 659,677: 3x6 +#144 @ 885,878: 16x24 +#145 @ 310,214: 26x27 +#146 @ 947,823: 13x17 +#147 @ 10,222: 18x26 +#148 @ 56,575: 24x16 +#149 @ 646,914: 16x20 +#150 @ 313,512: 18x16 +#151 @ 321,622: 24x17 +#152 @ 937,195: 21x14 +#153 @ 386,23: 18x26 +#154 @ 922,148: 18x29 +#155 @ 126,45: 20x27 +#156 @ 590,14: 13x11 +#157 @ 538,739: 22x18 +#158 @ 497,171: 24x21 +#159 @ 824,484: 12x21 +#160 @ 329,843: 23x28 +#161 @ 163,179: 22x18 +#162 @ 160,98: 18x22 +#163 @ 664,1: 24x17 +#164 @ 414,502: 21x12 +#165 @ 15,792: 11x20 +#166 @ 454,169: 12x27 +#167 @ 260,924: 24x14 +#168 @ 565,223: 13x15 +#169 @ 247,165: 20x13 +#170 @ 72,41: 23x26 +#171 @ 640,265: 28x24 +#172 @ 150,867: 28x18 +#173 @ 478,577: 21x29 +#174 @ 654,695: 13x25 +#175 @ 426,674: 23x17 +#176 @ 664,290: 19x5 +#177 @ 427,509: 10x14 +#178 @ 349,382: 21x21 +#179 @ 416,582: 17x25 +#180 @ 340,270: 22x10 +#181 @ 835,750: 15x12 +#182 @ 944,548: 11x22 +#183 @ 590,509: 17x11 +#184 @ 378,224: 13x15 +#185 @ 682,283: 28x19 +#186 @ 607,82: 26x15 +#187 @ 604,468: 28x15 +#188 @ 719,127: 29x28 +#189 @ 319,15: 22x26 +#190 @ 119,285: 13x14 +#191 @ 235,512: 26x24 +#192 @ 191,473: 11x20 +#193 @ 0,840: 10x27 +#194 @ 617,528: 21x16 +#195 @ 206,474: 24x11 +#196 @ 285,197: 20x19 +#197 @ 347,352: 15x22 +#198 @ 412,735: 26x20 +#199 @ 372,931: 23x15 +#200 @ 461,497: 13x28 +#201 @ 689,943: 28x12 +#202 @ 621,93: 26x25 +#203 @ 897,795: 12x13 +#204 @ 652,648: 11x21 +#205 @ 259,367: 11x26 +#206 @ 43,187: 26x22 +#207 @ 170,194: 27x29 +#208 @ 539,760: 22x22 +#209 @ 404,291: 20x29 +#210 @ 782,419: 25x27 +#211 @ 613,61: 3x10 +#212 @ 821,325: 16x21 +#213 @ 65,689: 12x11 +#214 @ 303,270: 24x24 +#215 @ 836,463: 17x17 +#216 @ 1,643: 23x15 +#217 @ 953,540: 13x28 +#218 @ 140,530: 28x27 +#219 @ 625,447: 12x13 +#220 @ 492,638: 26x21 +#221 @ 156,711: 10x12 +#222 @ 35,699: 17x27 +#223 @ 301,187: 14x24 +#224 @ 805,618: 23x11 +#225 @ 550,881: 11x21 +#226 @ 209,536: 24x20 +#227 @ 181,331: 14x26 +#228 @ 849,922: 15x19 +#229 @ 100,832: 12x18 +#230 @ 224,410: 6x6 +#231 @ 437,952: 17x25 +#232 @ 299,494: 16x22 +#233 @ 37,9: 14x19 +#234 @ 177,563: 22x18 +#235 @ 152,230: 17x11 +#236 @ 18,250: 16x28 +#237 @ 759,373: 28x24 +#238 @ 202,724: 24x18 +#239 @ 291,769: 10x12 +#240 @ 816,908: 27x21 +#241 @ 228,198: 11x18 +#242 @ 164,233: 27x11 +#243 @ 957,624: 27x24 +#244 @ 840,726: 29x24 +#245 @ 4,797: 24x12 +#246 @ 172,879: 15x17 +#247 @ 972,905: 14x27 +#248 @ 674,845: 10x15 +#249 @ 846,573: 21x21 +#250 @ 806,277: 20x29 +#251 @ 812,900: 22x12 +#252 @ 147,361: 24x20 +#253 @ 865,723: 18x18 +#254 @ 416,125: 21x22 +#255 @ 899,831: 13x18 +#256 @ 570,189: 20x21 +#257 @ 302,498: 15x28 +#258 @ 360,65: 15x14 +#259 @ 178,394: 18x25 +#260 @ 543,744: 13x24 +#261 @ 746,590: 23x12 +#262 @ 803,586: 26x26 +#263 @ 381,559: 26x14 +#264 @ 513,391: 14x19 +#265 @ 647,20: 17x21 +#266 @ 611,53: 11x26 +#267 @ 60,387: 22x21 +#268 @ 118,142: 19x11 +#269 @ 550,816: 25x19 +#270 @ 249,538: 24x29 +#271 @ 423,966: 20x13 +#272 @ 921,676: 20x12 +#273 @ 238,145: 14x12 +#274 @ 278,650: 24x24 +#275 @ 629,561: 23x15 +#276 @ 98,784: 11x12 +#277 @ 281,169: 18x29 +#278 @ 929,427: 29x19 +#279 @ 164,384: 20x12 +#280 @ 145,46: 28x26 +#281 @ 717,115: 20x11 +#282 @ 929,798: 25x11 +#283 @ 275,457: 21x12 +#284 @ 898,437: 16x17 +#285 @ 466,643: 20x16 +#286 @ 744,930: 22x11 +#287 @ 857,719: 26x20 +#288 @ 860,527: 17x21 +#289 @ 212,530: 18x27 +#290 @ 328,630: 25x10 +#291 @ 476,7: 23x29 +#292 @ 787,796: 22x12 +#293 @ 18,243: 26x10 +#294 @ 389,25: 21x15 +#295 @ 687,942: 25x10 +#296 @ 380,626: 13x11 +#297 @ 357,559: 15x29 +#298 @ 1,849: 25x14 +#299 @ 457,819: 13x21 +#300 @ 719,52: 20x25 +#301 @ 895,473: 10x22 +#302 @ 301,196: 11x15 +#303 @ 432,392: 25x22 +#304 @ 591,11: 25x25 +#305 @ 101,628: 29x14 +#306 @ 322,860: 10x10 +#307 @ 300,754: 5x5 +#308 @ 437,297: 29x21 +#309 @ 451,518: 24x16 +#310 @ 649,518: 22x15 +#311 @ 558,368: 27x20 +#312 @ 432,928: 17x25 +#313 @ 784,483: 22x23 +#314 @ 316,351: 23x21 +#315 @ 10,374: 20x20 +#316 @ 321,278: 22x10 +#317 @ 524,808: 21x17 +#318 @ 389,977: 15x10 +#319 @ 102,804: 20x19 +#320 @ 17,868: 19x15 +#321 @ 303,198: 16x11 +#322 @ 872,72: 20x10 +#323 @ 331,126: 21x27 +#324 @ 137,462: 19x23 +#325 @ 170,318: 21x29 +#326 @ 268,836: 19x10 +#327 @ 390,961: 13x23 +#328 @ 161,296: 10x29 +#329 @ 204,722: 18x20 +#330 @ 249,689: 11x11 +#331 @ 912,153: 20x29 +#332 @ 66,730: 10x15 +#333 @ 87,63: 29x14 +#334 @ 745,390: 19x20 +#335 @ 105,304: 14x12 +#336 @ 833,313: 29x12 +#337 @ 451,852: 27x17 +#338 @ 0,640: 25x14 +#339 @ 204,256: 21x13 +#340 @ 663,493: 15x18 +#341 @ 35,222: 22x26 +#342 @ 326,17: 21x14 +#343 @ 670,801: 18x11 +#344 @ 902,248: 12x21 +#345 @ 730,584: 19x13 +#346 @ 387,214: 20x25 +#347 @ 298,933: 25x12 +#348 @ 242,815: 19x21 +#349 @ 62,556: 27x28 +#350 @ 652,594: 20x10 +#351 @ 250,564: 25x28 +#352 @ 206,348: 24x14 +#353 @ 232,167: 21x11 +#354 @ 478,282: 26x13 +#355 @ 268,556: 18x13 +#356 @ 656,673: 11x21 +#357 @ 631,753: 23x29 +#358 @ 311,276: 12x27 +#359 @ 899,131: 23x11 +#360 @ 940,134: 26x28 +#361 @ 345,407: 20x16 +#362 @ 816,301: 19x12 +#363 @ 844,773: 17x23 +#364 @ 850,494: 15x28 +#365 @ 967,366: 17x19 +#366 @ 549,894: 11x10 +#367 @ 318,398: 28x21 +#368 @ 9,394: 24x15 +#369 @ 725,304: 11x27 +#370 @ 829,266: 13x12 +#371 @ 880,136: 25x21 +#372 @ 166,871: 19x10 +#373 @ 210,229: 14x18 +#374 @ 351,364: 17x13 +#375 @ 182,37: 23x21 +#376 @ 675,798: 12x14 +#377 @ 809,180: 16x19 +#378 @ 488,465: 15x10 +#379 @ 452,314: 29x24 +#380 @ 501,528: 20x23 +#381 @ 299,752: 13x15 +#382 @ 783,579: 22x22 +#383 @ 579,641: 12x23 +#384 @ 904,948: 17x16 +#385 @ 812,580: 10x27 +#386 @ 117,929: 11x14 +#387 @ 129,127: 28x20 +#388 @ 714,740: 25x22 +#389 @ 732,307: 26x11 +#390 @ 885,415: 15x18 +#391 @ 45,406: 28x13 +#392 @ 356,360: 29x26 +#393 @ 630,285: 20x28 +#394 @ 854,831: 14x19 +#395 @ 451,819: 26x24 +#396 @ 424,435: 22x24 +#397 @ 243,682: 20x13 +#398 @ 284,466: 22x16 +#399 @ 605,25: 25x11 +#400 @ 959,643: 24x12 +#401 @ 140,504: 23x17 +#402 @ 6,234: 16x25 +#403 @ 872,805: 14x13 +#404 @ 466,632: 14x19 +#405 @ 944,484: 17x16 +#406 @ 619,507: 10x27 +#407 @ 8,551: 28x26 +#408 @ 435,931: 8x10 +#409 @ 901,123: 21x25 +#410 @ 55,375: 10x19 +#411 @ 424,921: 10x11 +#412 @ 822,618: 28x17 +#413 @ 823,948: 15x25 +#414 @ 580,893: 6x18 +#415 @ 597,892: 14x26 +#416 @ 615,582: 27x24 +#417 @ 52,916: 20x11 +#418 @ 679,329: 22x14 +#419 @ 32,136: 20x12 +#420 @ 921,367: 27x21 +#421 @ 292,100: 23x11 +#422 @ 508,353: 13x13 +#423 @ 376,31: 24x11 +#424 @ 718,390: 26x24 +#425 @ 429,526: 26x26 +#426 @ 406,540: 17x19 +#427 @ 144,36: 22x25 +#428 @ 218,974: 18x24 +#429 @ 742,592: 12x22 +#430 @ 934,39: 15x10 +#431 @ 638,445: 21x14 +#432 @ 944,193: 24x23 +#433 @ 825,961: 17x22 +#434 @ 235,427: 23x14 +#435 @ 661,461: 29x26 +#436 @ 715,33: 29x11 +#437 @ 728,939: 21x10 +#438 @ 312,498: 27x28 +#439 @ 224,517: 24x21 +#440 @ 670,307: 22x16 +#441 @ 194,703: 15x14 +#442 @ 117,957: 17x20 +#443 @ 884,102: 20x12 +#444 @ 438,183: 18x17 +#445 @ 178,907: 28x23 +#446 @ 235,694: 14x28 +#447 @ 61,245: 25x12 +#448 @ 289,54: 15x23 +#449 @ 373,310: 17x13 +#450 @ 425,313: 28x15 +#451 @ 298,750: 11x14 +#452 @ 916,779: 27x28 +#453 @ 373,824: 17x24 +#454 @ 503,926: 16x16 +#455 @ 549,166: 18x28 +#456 @ 723,366: 14x20 +#457 @ 904,798: 18x10 +#458 @ 177,165: 13x24 +#459 @ 353,128: 12x29 +#460 @ 289,714: 14x21 +#461 @ 471,276: 17x23 +#462 @ 812,660: 14x26 +#463 @ 239,890: 10x21 +#464 @ 89,374: 24x12 +#465 @ 128,566: 11x19 +#466 @ 454,272: 12x11 +#467 @ 736,285: 29x28 +#468 @ 27,621: 20x21 +#469 @ 194,257: 26x17 +#470 @ 305,347: 25x16 +#471 @ 602,684: 21x15 +#472 @ 182,38: 28x29 +#473 @ 540,792: 22x28 +#474 @ 313,867: 23x10 +#475 @ 163,692: 16x23 +#476 @ 348,949: 25x10 +#477 @ 890,473: 18x21 +#478 @ 35,904: 24x15 +#479 @ 861,310: 19x11 +#480 @ 24,242: 17x29 +#481 @ 314,433: 28x14 +#482 @ 498,914: 10x29 +#483 @ 556,58: 15x22 +#484 @ 960,92: 11x29 +#485 @ 375,7: 27x16 +#486 @ 871,553: 20x28 +#487 @ 289,167: 11x24 +#488 @ 312,699: 10x29 +#489 @ 584,487: 16x23 +#490 @ 299,574: 21x19 +#491 @ 354,616: 17x25 +#492 @ 675,516: 11x5 +#493 @ 847,671: 11x18 +#494 @ 960,161: 28x29 +#495 @ 910,246: 19x14 +#496 @ 448,818: 13x20 +#497 @ 288,167: 16x25 +#498 @ 845,436: 18x18 +#499 @ 197,351: 13x18 +#500 @ 882,410: 13x16 +#501 @ 372,301: 25x28 +#502 @ 423,927: 21x10 +#503 @ 423,447: 17x24 +#504 @ 797,895: 20x20 +#505 @ 769,136: 22x10 +#506 @ 811,269: 20x26 +#507 @ 837,983: 19x12 +#508 @ 571,121: 12x23 +#509 @ 904,472: 13x11 +#510 @ 610,565: 20x10 +#511 @ 335,464: 23x14 +#512 @ 550,206: 22x16 +#513 @ 452,845: 23x20 +#514 @ 410,945: 18x16 +#515 @ 943,804: 19x28 +#516 @ 14,472: 26x21 +#517 @ 12,983: 16x13 +#518 @ 110,757: 28x19 +#519 @ 373,292: 24x22 +#520 @ 886,833: 26x25 +#521 @ 980,663: 13x19 +#522 @ 847,842: 29x14 +#523 @ 803,520: 11x26 +#524 @ 510,276: 15x15 +#525 @ 542,50: 28x26 +#526 @ 830,313: 10x28 +#527 @ 941,514: 13x20 +#528 @ 269,385: 11x20 +#529 @ 841,752: 28x26 +#530 @ 650,602: 23x21 +#531 @ 536,201: 24x13 +#532 @ 591,62: 18x20 +#533 @ 975,955: 20x23 +#534 @ 675,8: 18x17 +#535 @ 165,431: 27x16 +#536 @ 621,191: 18x17 +#537 @ 876,259: 24x23 +#538 @ 194,571: 24x15 +#539 @ 821,913: 24x29 +#540 @ 538,203: 11x8 +#541 @ 479,960: 21x17 +#542 @ 488,598: 15x13 +#543 @ 234,408: 21x15 +#544 @ 114,229: 24x12 +#545 @ 903,17: 13x12 +#546 @ 360,877: 11x16 +#547 @ 327,146: 11x27 +#548 @ 904,439: 11x25 +#549 @ 38,180: 16x27 +#550 @ 495,591: 26x12 +#551 @ 376,26: 29x14 +#552 @ 111,325: 12x16 +#553 @ 303,638: 27x17 +#554 @ 755,890: 17x11 +#555 @ 883,909: 11x16 +#556 @ 897,264: 10x17 +#557 @ 766,888: 22x15 +#558 @ 217,394: 19x28 +#559 @ 55,747: 11x25 +#560 @ 753,381: 19x24 +#561 @ 584,647: 23x19 +#562 @ 922,745: 21x29 +#563 @ 902,319: 24x11 +#564 @ 369,320: 13x19 +#565 @ 373,371: 12x16 +#566 @ 547,442: 16x28 +#567 @ 579,496: 27x23 +#568 @ 494,917: 17x17 +#569 @ 323,377: 20x16 +#570 @ 887,666: 24x25 +#571 @ 394,268: 23x26 +#572 @ 255,113: 17x28 +#573 @ 838,788: 19x14 +#574 @ 933,145: 14x16 +#575 @ 159,468: 26x19 +#576 @ 434,179: 12x19 +#577 @ 44,472: 27x17 +#578 @ 774,563: 24x27 +#579 @ 35,693: 28x14 +#580 @ 411,667: 21x10 +#581 @ 524,732: 23x12 +#582 @ 451,173: 25x12 +#583 @ 946,642: 17x20 +#584 @ 8,345: 25x29 +#585 @ 901,143: 29x12 +#586 @ 202,840: 14x10 +#587 @ 631,970: 21x17 +#588 @ 885,685: 14x12 +#589 @ 410,522: 24x27 +#590 @ 58,517: 25x28 +#591 @ 85,1: 22x20 +#592 @ 465,913: 29x22 +#593 @ 807,498: 11x29 +#594 @ 194,208: 14x18 +#595 @ 666,835: 16x22 +#596 @ 971,649: 13x18 +#597 @ 428,231: 22x22 +#598 @ 575,667: 18x27 +#599 @ 192,265: 18x15 +#600 @ 297,387: 22x24 +#601 @ 500,185: 14x17 +#602 @ 440,937: 20x25 +#603 @ 636,565: 10x4 +#604 @ 356,290: 20x11 +#605 @ 246,887: 19x12 +#606 @ 835,307: 18x21 +#607 @ 624,431: 17x26 +#608 @ 325,620: 25x14 +#609 @ 266,631: 27x10 +#610 @ 195,601: 13x24 +#611 @ 762,406: 6x17 +#612 @ 431,949: 18x14 +#613 @ 267,555: 24x19 +#614 @ 856,787: 28x13 +#615 @ 175,191: 20x12 +#616 @ 598,7: 21x26 +#617 @ 183,435: 12x17 +#618 @ 419,542: 17x20 +#619 @ 343,124: 15x15 +#620 @ 345,402: 17x26 +#621 @ 70,64: 12x13 +#622 @ 911,723: 3x4 +#623 @ 593,56: 13x12 +#624 @ 474,928: 18x26 +#625 @ 195,612: 14x27 +#626 @ 200,249: 22x17 +#627 @ 515,717: 13x29 +#628 @ 324,342: 12x18 +#629 @ 252,509: 24x19 +#630 @ 796,789: 11x12 +#631 @ 270,579: 15x14 +#632 @ 913,817: 16x17 +#633 @ 235,326: 27x21 +#634 @ 199,656: 17x20 +#635 @ 11,538: 16x18 +#636 @ 40,630: 15x21 +#637 @ 918,819: 6x12 +#638 @ 319,952: 18x13 +#639 @ 552,558: 24x29 +#640 @ 129,817: 28x22 +#641 @ 443,428: 11x13 +#642 @ 86,281: 14x10 +#643 @ 944,86: 14x25 +#644 @ 309,583: 21x25 +#645 @ 423,433: 27x12 +#646 @ 10,196: 10x17 +#647 @ 385,878: 10x24 +#648 @ 578,890: 14x26 +#649 @ 817,478: 13x11 +#650 @ 936,254: 23x14 +#651 @ 964,466: 24x17 +#652 @ 191,477: 26x12 +#653 @ 92,730: 23x20 +#654 @ 318,840: 22x17 +#655 @ 975,277: 25x18 +#656 @ 680,62: 14x28 +#657 @ 752,146: 27x27 +#658 @ 529,411: 20x19 +#659 @ 205,785: 12x14 +#660 @ 551,562: 28x15 +#661 @ 302,190: 29x13 +#662 @ 237,421: 27x11 +#663 @ 117,845: 22x11 +#664 @ 911,851: 12x22 +#665 @ 571,142: 15x12 +#666 @ 708,389: 22x18 +#667 @ 711,310: 20x23 +#668 @ 795,289: 13x27 +#669 @ 236,712: 16x27 +#670 @ 566,343: 10x15 +#671 @ 469,818: 27x27 +#672 @ 84,914: 21x16 +#673 @ 47,621: 10x19 +#674 @ 891,103: 10x29 +#675 @ 638,296: 15x18 +#676 @ 354,415: 29x27 +#677 @ 269,519: 14x15 +#678 @ 735,337: 24x19 +#679 @ 365,980: 17x16 +#680 @ 545,35: 20x11 +#681 @ 968,640: 22x23 +#682 @ 202,660: 7x12 +#683 @ 502,189: 22x20 +#684 @ 196,797: 20x16 +#685 @ 741,103: 27x12 +#686 @ 353,671: 11x23 +#687 @ 962,626: 27x26 +#688 @ 406,831: 20x28 +#689 @ 927,860: 26x15 +#690 @ 550,880: 26x11 +#691 @ 104,503: 18x27 +#692 @ 393,882: 16x29 +#693 @ 565,607: 10x20 +#694 @ 859,823: 19x26 +#695 @ 298,126: 10x21 +#696 @ 897,331: 20x26 +#697 @ 969,955: 21x21 +#698 @ 855,730: 16x11 +#699 @ 366,598: 18x10 +#700 @ 190,794: 23x10 +#701 @ 81,903: 17x19 +#702 @ 13,383: 10x24 +#703 @ 674,941: 20x18 +#704 @ 621,966: 23x19 +#705 @ 609,463: 26x11 +#706 @ 787,441: 26x27 +#707 @ 238,397: 29x15 +#708 @ 790,815: 10x26 +#709 @ 615,906: 22x10 +#710 @ 77,647: 11x28 +#711 @ 370,548: 29x15 +#712 @ 669,514: 21x10 +#713 @ 360,957: 28x18 +#714 @ 615,493: 16x29 +#715 @ 880,901: 26x17 +#716 @ 161,446: 12x25 +#717 @ 88,2: 18x11 +#718 @ 221,237: 15x29 +#719 @ 258,222: 25x16 +#720 @ 131,263: 22x10 +#721 @ 382,591: 21x24 +#722 @ 651,145: 20x12 +#723 @ 470,494: 12x25 +#724 @ 843,164: 17x25 +#725 @ 278,982: 23x13 +#726 @ 237,711: 19x20 +#727 @ 358,621: 28x22 +#728 @ 548,500: 19x16 +#729 @ 6,129: 29x17 +#730 @ 312,300: 26x21 +#731 @ 838,252: 19x27 +#732 @ 470,155: 16x28 +#733 @ 832,942: 14x12 +#734 @ 673,283: 26x29 +#735 @ 296,162: 17x22 +#736 @ 568,640: 26x23 +#737 @ 833,453: 13x15 +#738 @ 724,399: 13x24 +#739 @ 942,102: 12x18 +#740 @ 233,137: 19x20 +#741 @ 581,459: 17x19 +#742 @ 64,398: 21x11 +#743 @ 978,635: 13x21 +#744 @ 352,90: 20x21 +#745 @ 77,534: 24x28 +#746 @ 704,310: 27x20 +#747 @ 729,298: 15x25 +#748 @ 93,275: 27x12 +#749 @ 748,69: 11x15 +#750 @ 362,36: 16x29 +#751 @ 30,955: 13x19 +#752 @ 574,294: 22x23 +#753 @ 202,305: 11x13 +#754 @ 318,504: 13x12 +#755 @ 760,556: 21x27 +#756 @ 930,474: 28x11 +#757 @ 445,743: 19x18 +#758 @ 406,674: 27x27 +#759 @ 380,594: 22x20 +#760 @ 273,162: 29x24 +#761 @ 305,845: 26x12 +#762 @ 177,233: 23x10 +#763 @ 458,197: 26x18 +#764 @ 25,434: 21x28 +#765 @ 322,792: 17x22 +#766 @ 209,734: 10x25 +#767 @ 623,904: 18x14 +#768 @ 795,9: 14x27 +#769 @ 316,625: 21x21 +#770 @ 733,72: 29x25 +#771 @ 113,809: 19x15 +#772 @ 548,504: 18x18 +#773 @ 884,460: 12x18 +#774 @ 583,275: 20x25 +#775 @ 714,134: 13x13 +#776 @ 375,135: 11x18 +#777 @ 33,275: 16x17 +#778 @ 468,204: 16x13 +#779 @ 244,554: 21x15 +#780 @ 850,446: 12x16 +#781 @ 908,346: 21x25 +#782 @ 158,324: 16x14 +#783 @ 689,478: 17x12 +#784 @ 484,724: 14x16 +#785 @ 604,599: 24x13 +#786 @ 657,717: 19x11 +#787 @ 475,724: 13x10 +#788 @ 169,75: 29x25 +#789 @ 439,597: 13x13 +#790 @ 826,466: 22x24 +#791 @ 306,939: 11x22 +#792 @ 858,502: 16x28 +#793 @ 114,609: 26x29 +#794 @ 667,800: 29x21 +#795 @ 842,33: 19x18 +#796 @ 20,859: 10x17 +#797 @ 304,957: 22x23 +#798 @ 755,358: 28x23 +#799 @ 20,951: 16x24 +#800 @ 100,10: 15x28 +#801 @ 779,139: 20x12 +#802 @ 786,25: 18x24 +#803 @ 40,581: 20x10 +#804 @ 804,599: 23x15 +#805 @ 676,980: 11x11 +#806 @ 736,434: 22x21 +#807 @ 435,714: 14x25 +#808 @ 124,30: 22x26 +#809 @ 620,428: 11x21 +#810 @ 364,216: 26x23 +#811 @ 457,12: 28x22 +#812 @ 46,121: 18x29 +#813 @ 530,810: 21x14 +#814 @ 404,800: 10x27 +#815 @ 84,323: 19x25 +#816 @ 693,129: 21x11 +#817 @ 532,21: 11x20 +#818 @ 256,133: 20x28 +#819 @ 476,10: 23x16 +#820 @ 953,255: 27x13 +#821 @ 766,505: 14x10 +#822 @ 127,541: 16x20 +#823 @ 900,854: 16x23 +#824 @ 80,918: 15x26 +#825 @ 169,347: 25x26 +#826 @ 941,810: 12x20 +#827 @ 543,776: 27x21 +#828 @ 82,845: 28x28 +#829 @ 824,939: 24x20 +#830 @ 168,272: 16x17 +#831 @ 554,821: 16x17 +#832 @ 304,78: 17x20 +#833 @ 575,460: 13x21 +#834 @ 682,539: 11x24 +#835 @ 583,73: 16x14 +#836 @ 271,780: 22x27 +#837 @ 628,518: 10x20 +#838 @ 166,262: 26x17 +#839 @ 801,784: 24x16 +#840 @ 716,370: 25x25 +#841 @ 880,866: 13x22 +#842 @ 871,9: 24x24 +#843 @ 817,474: 26x13 +#844 @ 254,220: 10x16 +#845 @ 939,200: 11x22 +#846 @ 141,224: 14x14 +#847 @ 588,507: 24x23 +#848 @ 649,313: 24x28 +#849 @ 85,474: 11x28 +#850 @ 258,612: 15x21 +#851 @ 69,463: 26x21 +#852 @ 697,62: 28x23 +#853 @ 718,214: 27x24 +#854 @ 665,837: 17x22 +#855 @ 494,583: 25x19 +#856 @ 317,194: 22x27 +#857 @ 650,701: 18x17 +#858 @ 472,960: 20x26 +#859 @ 560,652: 27x14 +#860 @ 348,366: 11x16 +#861 @ 909,719: 11x15 +#862 @ 586,701: 19x20 +#863 @ 549,237: 18x15 +#864 @ 618,149: 27x17 +#865 @ 349,263: 12x12 +#866 @ 352,74: 16x18 +#867 @ 91,219: 26x19 +#868 @ 463,256: 19x23 +#869 @ 697,436: 25x29 +#870 @ 299,727: 10x11 +#871 @ 628,286: 29x28 +#872 @ 93,370: 24x20 +#873 @ 116,753: 16x15 +#874 @ 67,261: 15x10 +#875 @ 755,166: 19x12 +#876 @ 114,449: 27x14 +#877 @ 296,178: 27x26 +#878 @ 257,126: 12x9 +#879 @ 597,77: 14x18 +#880 @ 579,652: 17x27 +#881 @ 355,533: 27x29 +#882 @ 445,56: 25x22 +#883 @ 431,350: 25x25 +#884 @ 244,147: 20x23 +#885 @ 161,348: 22x26 +#886 @ 342,526: 5x3 +#887 @ 949,964: 24x19 +#888 @ 803,238: 18x18 +#889 @ 647,422: 17x28 +#890 @ 651,16: 14x17 +#891 @ 495,351: 17x15 +#892 @ 160,851: 27x23 +#893 @ 108,224: 25x28 +#894 @ 312,85: 27x24 +#895 @ 128,833: 12x18 +#896 @ 659,308: 25x15 +#897 @ 586,321: 10x28 +#898 @ 242,124: 25x19 +#899 @ 297,134: 19x17 +#900 @ 487,119: 25x26 +#901 @ 838,535: 29x21 +#902 @ 289,66: 10x28 +#903 @ 903,278: 26x13 +#904 @ 59,247: 22x19 +#905 @ 175,690: 11x12 +#906 @ 521,116: 29x27 +#907 @ 379,92: 17x10 +#908 @ 92,520: 16x26 +#909 @ 513,30: 18x12 +#910 @ 922,760: 14x15 +#911 @ 181,832: 22x20 +#912 @ 944,943: 25x25 +#913 @ 317,807: 12x22 +#914 @ 942,483: 17x10 +#915 @ 711,359: 22x29 +#916 @ 516,543: 13x29 +#917 @ 546,609: 24x23 +#918 @ 409,574: 24x12 +#919 @ 685,940: 21x21 +#920 @ 648,656: 10x29 +#921 @ 794,729: 27x23 +#922 @ 737,578: 26x18 +#923 @ 716,309: 21x24 +#924 @ 160,844: 17x21 +#925 @ 176,968: 12x16 +#926 @ 552,876: 12x25 +#927 @ 9,802: 18x26 +#928 @ 527,746: 21x16 +#929 @ 61,456: 17x17 +#930 @ 939,14: 12x29 +#931 @ 363,401: 19x19 +#932 @ 530,426: 23x21 +#933 @ 33,411: 29x21 +#934 @ 542,68: 29x16 +#935 @ 734,577: 12x15 +#936 @ 299,64: 24x19 +#937 @ 899,356: 17x10 +#938 @ 181,342: 21x17 +#939 @ 370,594: 20x16 +#940 @ 52,721: 16x23 +#941 @ 321,385: 26x15 +#942 @ 848,159: 12x27 +#943 @ 814,291: 23x24 +#944 @ 18,803: 25x25 +#945 @ 834,458: 14x17 +#946 @ 440,543: 22x18 +#947 @ 417,377: 20x28 +#948 @ 181,263: 19x20 +#949 @ 307,69: 17x29 +#950 @ 890,412: 13x29 +#951 @ 947,856: 17x19 +#952 @ 367,841: 16x17 +#953 @ 221,945: 24x14 +#954 @ 217,449: 26x19 +#955 @ 27,695: 15x26 +#956 @ 366,866: 16x17 +#957 @ 506,273: 12x20 +#958 @ 874,65: 27x13 +#959 @ 402,442: 24x20 +#960 @ 344,381: 18x15 +#961 @ 345,427: 11x22 +#962 @ 10,975: 19x22 +#963 @ 354,464: 16x27 +#964 @ 6,335: 10x16 +#965 @ 60,730: 21x17 +#966 @ 376,90: 26x17 +#967 @ 528,109: 18x26 +#968 @ 482,924: 29x12 +#969 @ 494,376: 20x22 +#970 @ 464,823: 13x26 +#971 @ 83,628: 28x27 +#972 @ 854,577: 13x19 +#973 @ 261,614: 13x21 +#974 @ 952,93: 15x15 +#975 @ 250,308: 10x19 +#976 @ 19,209: 22x14 +#977 @ 274,184: 14x16 +#978 @ 330,856: 26x24 +#979 @ 257,930: 19x14 +#980 @ 844,508: 26x12 +#981 @ 250,806: 15x20 +#982 @ 752,483: 22x26 +#983 @ 334,385: 25x13 +#984 @ 650,464: 19x20 +#985 @ 927,815: 17x27 +#986 @ 913,735: 21x11 +#987 @ 269,549: 25x12 +#988 @ 116,544: 18x26 +#989 @ 84,953: 26x21 +#990 @ 752,182: 29x19 +#991 @ 796,769: 21x18 +#992 @ 800,799: 11x20 +#993 @ 79,711: 21x23 +#994 @ 683,293: 28x19 +#995 @ 526,427: 16x28 +#996 @ 671,242: 16x14 +#997 @ 293,393: 11x25 +#998 @ 165,697: 9x6 +#999 @ 854,966: 29x11 +#1000 @ 63,738: 26x14 +#1001 @ 213,956: 20x29 +#1002 @ 580,649: 25x10 +#1003 @ 536,335: 15x11 +#1004 @ 544,187: 27x18 +#1005 @ 850,608: 15x22 +#1006 @ 384,931: 19x19 +#1007 @ 29,649: 26x19 +#1008 @ 366,624: 26x10 +#1009 @ 671,825: 23x16 +#1010 @ 873,250: 28x16 +#1011 @ 780,822: 20x28 +#1012 @ 944,396: 12x28 +#1013 @ 937,20: 13x23 +#1014 @ 685,73: 3x7 +#1015 @ 662,287: 25x12 +#1016 @ 946,406: 14x28 +#1017 @ 186,895: 19x13 +#1018 @ 84,36: 19x12 +#1019 @ 650,150: 26x12 +#1020 @ 98,212: 13x19 +#1021 @ 413,441: 14x29 +#1022 @ 256,977: 15x10 +#1023 @ 975,651: 5x11 +#1024 @ 338,52: 29x16 +#1025 @ 876,271: 21x15 +#1026 @ 88,71: 16x14 +#1027 @ 434,603: 10x27 +#1028 @ 974,470: 21x25 +#1029 @ 84,768: 25x21 +#1030 @ 886,324: 21x12 +#1031 @ 248,710: 28x20 +#1032 @ 437,209: 10x27 +#1033 @ 272,835: 18x17 +#1034 @ 47,589: 21x17 +#1035 @ 71,459: 26x22 +#1036 @ 229,360: 23x29 +#1037 @ 523,395: 26x18 +#1038 @ 451,956: 27x19 +#1039 @ 360,93: 13x10 +#1040 @ 420,947: 22x24 +#1041 @ 439,478: 27x21 +#1042 @ 510,544: 13x20 +#1043 @ 304,520: 15x26 +#1044 @ 181,254: 27x11 +#1045 @ 87,313: 26x19 +#1046 @ 712,386: 11x18 +#1047 @ 142,144: 14x22 +#1048 @ 654,467: 20x10 +#1049 @ 50,73: 23x27 +#1050 @ 510,759: 21x29 +#1051 @ 776,581: 11x15 +#1052 @ 951,378: 24x22 +#1053 @ 18,436: 14x26 +#1054 @ 518,59: 26x14 +#1055 @ 955,88: 16x17 +#1056 @ 35,628: 27x22 +#1057 @ 491,965: 29x29 +#1058 @ 169,983: 19x12 +#1059 @ 23,475: 24x15 +#1060 @ 886,112: 28x14 +#1061 @ 402,315: 25x20 +#1062 @ 213,203: 22x17 +#1063 @ 129,521: 16x17 +#1064 @ 336,523: 18x17 +#1065 @ 102,775: 28x12 +#1066 @ 282,660: 15x26 +#1067 @ 902,345: 10x17 +#1068 @ 233,969: 29x20 +#1069 @ 666,317: 3x13 +#1070 @ 341,205: 16x24 +#1071 @ 337,964: 27x12 +#1072 @ 607,675: 14x20 +#1073 @ 690,445: 12x29 +#1074 @ 926,532: 26x20 +#1075 @ 937,466: 29x11 +#1076 @ 570,714: 25x14 +#1077 @ 678,520: 19x27 +#1078 @ 307,351: 27x10 +#1079 @ 526,34: 29x29 +#1080 @ 74,684: 18x16 +#1081 @ 450,752: 23x15 +#1082 @ 755,795: 22x27 +#1083 @ 260,138: 21x29 +#1084 @ 321,315: 19x29 +#1085 @ 188,214: 17x22 +#1086 @ 784,712: 21x18 +#1087 @ 458,550: 14x28 +#1088 @ 796,582: 27x13 +#1089 @ 321,230: 21x29 +#1090 @ 898,470: 22x20 +#1091 @ 138,370: 11x12 +#1092 @ 345,361: 10x10 +#1093 @ 177,882: 19x16 +#1094 @ 946,702: 26x26 +#1095 @ 619,490: 24x19 +#1096 @ 133,506: 20x20 +#1097 @ 266,869: 25x21 +#1098 @ 387,970: 19x21 +#1099 @ 311,323: 17x24 +#1100 @ 310,488: 28x22 +#1101 @ 770,651: 13x16 +#1102 @ 965,301: 28x11 +#1103 @ 466,826: 19x15 +#1104 @ 88,632: 17x10 +#1105 @ 902,137: 25x19 +#1106 @ 752,329: 18x26 +#1107 @ 182,164: 23x17 +#1108 @ 289,679: 14x28 +#1109 @ 176,502: 18x18 +#1110 @ 214,971: 12x27 +#1111 @ 389,207: 28x28 +#1112 @ 331,19: 4x8 +#1113 @ 312,635: 25x29 +#1114 @ 509,141: 14x21 +#1115 @ 392,798: 13x24 +#1116 @ 876,419: 27x12 +#1117 @ 636,613: 28x14 +#1118 @ 681,326: 11x25 +#1119 @ 787,707: 20x27 +#1120 @ 31,11: 25x21 +#1121 @ 270,551: 20x21 +#1122 @ 353,134: 17x27 +#1123 @ 752,773: 17x25 +#1124 @ 648,692: 12x28 +#1125 @ 495,632: 27x27 +#1126 @ 860,171: 14x20 +#1127 @ 253,507: 20x22 +#1128 @ 316,494: 16x10 +#1129 @ 524,569: 29x29 +#1130 @ 238,309: 20x13 +#1131 @ 783,542: 15x29 +#1132 @ 553,681: 23x11 +#1133 @ 884,495: 10x25 +#1134 @ 910,18: 17x12 +#1135 @ 436,127: 14x10 +#1136 @ 61,738: 12x24 +#1137 @ 966,288: 12x27 +#1138 @ 722,117: 7x3 +#1139 @ 95,933: 28x29 +#1140 @ 336,683: 25x24 +#1141 @ 681,946: 25x17 +#1142 @ 359,61: 22x20 +#1143 @ 37,637: 22x18 +#1144 @ 768,578: 20x13 +#1145 @ 855,666: 15x26 +#1146 @ 255,689: 10x27 +#1147 @ 599,478: 20x24 +#1148 @ 195,715: 18x23 +#1149 @ 478,641: 21x14 +#1150 @ 882,180: 27x20 +#1151 @ 851,302: 28x21 +#1152 @ 363,300: 27x26 +#1153 @ 309,631: 4x3 +#1154 @ 199,224: 12x17 +#1155 @ 228,153: 19x13 +#1156 @ 487,22: 14x27 +#1157 @ 682,302: 17x15 +#1158 @ 187,487: 16x21 +#1159 @ 210,315: 19x26 +#1160 @ 376,789: 18x29 +#1161 @ 67,567: 13x17 +#1162 @ 221,515: 14x29 +#1163 @ 397,514: 12x26 +#1164 @ 384,371: 18x23 +#1165 @ 882,953: 27x29 +#1166 @ 287,88: 28x12 +#1167 @ 884,89: 21x21 +#1168 @ 99,820: 17x13 +#1169 @ 492,656: 21x14 +#1170 @ 147,831: 29x21 +#1171 @ 128,256: 10x13 +#1172 @ 841,476: 24x16 +#1173 @ 328,17: 11x14 +#1174 @ 109,287: 20x12 +#1175 @ 113,311: 12x27 +#1176 @ 856,917: 18x13 +#1177 @ 466,556: 24x10 +#1178 @ 486,585: 19x16 +#1179 @ 711,226: 10x13 +#1180 @ 108,254: 26x24 +#1181 @ 725,313: 10x24 +#1182 @ 365,127: 23x25 +#1183 @ 488,371: 22x14 +#1184 @ 381,502: 16x21 +#1185 @ 322,567: 17x24 +#1186 @ 210,564: 12x29 +#1187 @ 525,797: 21x24 +#1188 @ 58,431: 29x25 +#1189 @ 661,24: 20x15 +#1190 @ 797,234: 17x18 +#1191 @ 851,38: 13x21 +#1192 @ 962,75: 11x27 +#1193 @ 568,200: 16x23 +#1194 @ 863,319: 12x18 +#1195 @ 25,704: 27x24 +#1196 @ 835,510: 29x14 +#1197 @ 427,904: 23x25 +#1198 @ 327,956: 18x27 +#1199 @ 168,609: 16x23 +#1200 @ 591,31: 16x26 +#1201 @ 428,374: 13x16 +#1202 @ 183,332: 6x7 +#1203 @ 139,266: 12x12 +#1204 @ 616,33: 19x28 +#1205 @ 479,470: 18x10 +#1206 @ 483,910: 19x25 +#1207 @ 38,760: 28x21 +#1208 @ 307,727: 10x27 +#1209 @ 607,19: 28x29 +#1210 @ 760,404: 12x25 +#1211 @ 541,23: 10x18 +#1212 @ 457,555: 14x23 +#1213 @ 307,693: 12x12 +#1214 @ 176,965: 11x15 +#1215 @ 880,555: 3x12 +#1216 @ 365,261: 21x25 +#1217 @ 900,338: 24x18 +#1218 @ 796,796: 15x12 +#1219 @ 94,64: 12x11 +#1220 @ 398,1: 28x10 +#1221 @ 511,944: 11x29 +#1222 @ 432,174: 17x29 +#1223 @ 619,427: 19x16 +#1224 @ 978,670: 19x12 +#1225 @ 330,384: 26x20 +#1226 @ 233,701: 16x14 +#1227 @ 264,870: 21x12 +#1228 @ 457,889: 23x29 +#1229 @ 614,202: 25x29 +#1230 @ 744,689: 26x27 +#1231 @ 484,912: 16x11 +#1232 @ 912,679: 21x26 +#1233 @ 509,20: 24x14 +#1234 @ 679,847: 21x29 +#1235 @ 897,950: 14x17 +#1236 @ 449,85: 25x28 +#1237 @ 907,821: 25x17 +#1238 @ 685,967: 19x20 +#1239 @ 104,16: 22x28 +#1240 @ 363,95: 5x5 +#1241 @ 629,755: 23x18 +#1242 @ 570,345: 15x28 +#1243 @ 270,193: 23x11 +#1244 @ 43,348: 12x21 +#1245 @ 903,482: 22x29 +#1246 @ 915,179: 27x24 +#1247 @ 76,26: 16x14 +#1248 @ 874,197: 16x23 +#1249 @ 869,728: 26x14 +#1250 @ 158,377: 10x11 +#1251 @ 379,138: 26x17 +#1252 @ 298,977: 21x12 +#1253 @ 914,737: 27x26 +#1254 @ 153,123: 21x27 +#1255 @ 842,731: 20x24 +#1256 @ 885,852: 24x26 +#1257 @ 707,747: 23x18 +#1258 @ 729,387: 19x23 +#1259 @ 238,452: 24x20 \ No newline at end of file diff --git a/2018/04/input.txt b/2018/04/input.txt new file mode 100644 index 0000000..d34c2df --- /dev/null +++ b/2018/04/input.txt @@ -0,0 +1,1134 @@ +[1518-04-11 00:44] wakes up +[1518-08-26 00:21] wakes up +[1518-11-11 00:12] falls asleep +[1518-09-05 00:59] wakes up +[1518-03-22 00:09] wakes up +[1518-03-19 00:41] wakes up +[1518-04-15 00:10] falls asleep +[1518-02-06 23:52] Guard #3109 begins shift +[1518-11-04 00:43] falls asleep +[1518-09-12 00:51] wakes up +[1518-11-18 00:31] falls asleep +[1518-02-09 00:25] falls asleep +[1518-04-15 00:17] wakes up +[1518-04-22 00:16] falls asleep +[1518-11-03 00:02] Guard #2459 begins shift +[1518-03-11 00:42] falls asleep +[1518-07-07 23:58] Guard #3109 begins shift +[1518-06-25 23:48] Guard #1327 begins shift +[1518-09-05 00:55] falls asleep +[1518-04-24 00:09] falls asleep +[1518-03-12 00:59] wakes up +[1518-03-19 00:04] Guard #239 begins shift +[1518-10-05 23:59] Guard #2459 begins shift +[1518-04-16 00:46] falls asleep +[1518-10-31 00:46] wakes up +[1518-10-14 00:02] Guard #2459 begins shift +[1518-09-21 23:59] Guard #2999 begins shift +[1518-03-17 00:59] wakes up +[1518-07-04 23:47] Guard #1069 begins shift +[1518-03-11 00:55] wakes up +[1518-08-22 00:36] wakes up +[1518-07-09 00:52] wakes up +[1518-02-24 00:25] falls asleep +[1518-05-26 00:58] wakes up +[1518-11-23 00:38] falls asleep +[1518-05-17 00:14] falls asleep +[1518-04-13 00:47] falls asleep +[1518-03-24 00:51] wakes up +[1518-05-01 00:27] falls asleep +[1518-07-05 00:12] wakes up +[1518-05-19 00:40] falls asleep +[1518-04-28 00:29] falls asleep +[1518-03-12 00:27] wakes up +[1518-05-11 00:00] Guard #2411 begins shift +[1518-11-01 00:00] Guard #1327 begins shift +[1518-10-06 00:27] falls asleep +[1518-08-05 00:53] wakes up +[1518-03-07 23:46] Guard #2999 begins shift +[1518-06-16 00:32] falls asleep +[1518-02-25 00:37] falls asleep +[1518-11-09 00:36] falls asleep +[1518-08-12 00:21] wakes up +[1518-07-14 00:22] falls asleep +[1518-09-25 00:34] wakes up +[1518-04-17 00:01] Guard #2003 begins shift +[1518-11-21 00:35] falls asleep +[1518-07-31 00:42] wakes up +[1518-03-26 23:59] Guard #2411 begins shift +[1518-02-08 00:02] falls asleep +[1518-05-31 00:42] wakes up +[1518-09-04 00:21] falls asleep +[1518-11-09 00:57] falls asleep +[1518-07-16 00:01] Guard #2459 begins shift +[1518-02-15 00:00] Guard #811 begins shift +[1518-07-03 00:42] wakes up +[1518-05-07 00:03] Guard #239 begins shift +[1518-07-21 23:50] Guard #2411 begins shift +[1518-02-07 00:30] wakes up +[1518-05-13 23:56] Guard #1291 begins shift +[1518-06-10 00:46] wakes up +[1518-07-09 23:47] Guard #1069 begins shift +[1518-09-21 00:22] falls asleep +[1518-02-21 00:50] falls asleep +[1518-08-22 00:58] wakes up +[1518-03-02 00:48] wakes up +[1518-07-23 00:54] wakes up +[1518-06-15 00:59] wakes up +[1518-09-19 00:28] falls asleep +[1518-04-18 00:55] wakes up +[1518-09-08 00:50] wakes up +[1518-06-12 00:00] Guard #2381 begins shift +[1518-08-06 00:06] wakes up +[1518-10-04 00:03] Guard #1381 begins shift +[1518-02-06 00:03] Guard #2411 begins shift +[1518-10-01 00:58] wakes up +[1518-06-26 00:41] wakes up +[1518-04-16 00:03] Guard #191 begins shift +[1518-07-29 00:26] falls asleep +[1518-08-01 23:58] Guard #2999 begins shift +[1518-05-01 00:55] wakes up +[1518-05-28 00:12] falls asleep +[1518-06-18 00:52] wakes up +[1518-03-13 23:59] Guard #1009 begins shift +[1518-10-12 00:56] wakes up +[1518-04-27 00:05] falls asleep +[1518-07-18 00:57] falls asleep +[1518-08-28 00:29] falls asleep +[1518-09-12 23:56] Guard #1381 begins shift +[1518-11-01 00:48] wakes up +[1518-11-11 00:38] falls asleep +[1518-06-18 23:50] Guard #1229 begins shift +[1518-07-01 00:32] wakes up +[1518-04-16 00:41] wakes up +[1518-03-26 00:54] falls asleep +[1518-02-10 00:55] wakes up +[1518-09-11 00:33] falls asleep +[1518-03-08 00:25] falls asleep +[1518-08-06 00:04] falls asleep +[1518-07-31 00:01] falls asleep +[1518-02-13 00:37] falls asleep +[1518-08-08 00:28] falls asleep +[1518-02-18 23:59] Guard #2459 begins shift +[1518-04-25 00:01] Guard #1381 begins shift +[1518-03-25 00:12] falls asleep +[1518-10-13 00:44] wakes up +[1518-05-03 00:35] falls asleep +[1518-08-21 00:35] falls asleep +[1518-07-09 00:43] falls asleep +[1518-05-02 00:13] falls asleep +[1518-10-12 00:32] falls asleep +[1518-02-17 00:33] falls asleep +[1518-09-04 00:50] falls asleep +[1518-11-08 00:57] wakes up +[1518-05-20 23:57] Guard #941 begins shift +[1518-03-23 00:57] wakes up +[1518-04-21 00:09] falls asleep +[1518-03-18 00:03] Guard #2381 begins shift +[1518-04-10 00:12] wakes up +[1518-11-17 00:19] falls asleep +[1518-10-06 00:24] wakes up +[1518-07-13 00:01] Guard #2411 begins shift +[1518-06-20 23:57] Guard #283 begins shift +[1518-07-13 23:59] Guard #1229 begins shift +[1518-06-12 00:28] wakes up +[1518-10-30 00:08] wakes up +[1518-11-06 00:28] falls asleep +[1518-02-21 00:00] Guard #941 begins shift +[1518-11-19 00:47] wakes up +[1518-07-18 00:58] wakes up +[1518-10-04 00:11] falls asleep +[1518-08-16 00:28] falls asleep +[1518-05-19 00:21] falls asleep +[1518-03-10 00:59] wakes up +[1518-07-12 00:10] falls asleep +[1518-02-22 00:00] Guard #941 begins shift +[1518-10-02 00:56] falls asleep +[1518-10-03 00:51] wakes up +[1518-06-29 00:39] wakes up +[1518-07-07 00:27] wakes up +[1518-09-16 00:09] falls asleep +[1518-07-22 00:40] wakes up +[1518-11-11 00:45] wakes up +[1518-09-11 23:56] Guard #191 begins shift +[1518-07-13 00:35] falls asleep +[1518-10-27 00:00] Guard #2053 begins shift +[1518-10-05 00:32] wakes up +[1518-08-15 00:45] wakes up +[1518-09-28 00:46] wakes up +[1518-06-05 00:01] Guard #811 begins shift +[1518-11-23 00:00] Guard #1229 begins shift +[1518-11-09 00:53] wakes up +[1518-02-08 00:16] wakes up +[1518-11-21 00:46] wakes up +[1518-07-30 00:48] wakes up +[1518-10-08 00:49] wakes up +[1518-06-11 00:06] falls asleep +[1518-06-13 00:51] falls asleep +[1518-10-29 00:29] falls asleep +[1518-10-15 00:00] Guard #1327 begins shift +[1518-08-18 00:03] falls asleep +[1518-05-09 00:27] wakes up +[1518-05-27 00:08] falls asleep +[1518-02-15 00:31] wakes up +[1518-10-13 00:42] falls asleep +[1518-08-10 00:04] falls asleep +[1518-03-05 00:03] Guard #2137 begins shift +[1518-03-08 00:03] falls asleep +[1518-11-14 00:27] wakes up +[1518-03-12 00:47] falls asleep +[1518-07-21 00:54] wakes up +[1518-07-21 00:01] Guard #191 begins shift +[1518-08-26 00:58] wakes up +[1518-04-26 23:47] Guard #2003 begins shift +[1518-11-10 23:59] Guard #811 begins shift +[1518-03-07 00:35] wakes up +[1518-11-14 00:22] falls asleep +[1518-09-25 00:02] Guard #2999 begins shift +[1518-06-07 00:03] Guard #3109 begins shift +[1518-09-20 00:13] wakes up +[1518-11-04 00:51] wakes up +[1518-03-21 00:48] falls asleep +[1518-08-29 00:01] Guard #2003 begins shift +[1518-06-07 23:56] Guard #1069 begins shift +[1518-04-29 00:46] wakes up +[1518-10-27 23:57] Guard #137 begins shift +[1518-06-28 00:00] Guard #941 begins shift +[1518-04-06 00:44] falls asleep +[1518-11-03 00:59] wakes up +[1518-08-21 00:47] wakes up +[1518-07-20 00:37] falls asleep +[1518-03-13 00:26] wakes up +[1518-03-27 00:49] wakes up +[1518-06-05 00:31] wakes up +[1518-11-19 00:00] falls asleep +[1518-07-01 00:11] falls asleep +[1518-11-23 00:56] falls asleep +[1518-11-07 00:47] falls asleep +[1518-11-05 00:56] wakes up +[1518-06-22 00:51] wakes up +[1518-06-27 00:21] falls asleep +[1518-03-15 00:00] Guard #1327 begins shift +[1518-08-27 00:56] wakes up +[1518-08-28 00:24] wakes up +[1518-06-07 00:44] wakes up +[1518-07-10 00:17] wakes up +[1518-08-28 00:47] wakes up +[1518-05-18 00:09] falls asleep +[1518-04-04 00:37] falls asleep +[1518-02-22 00:48] wakes up +[1518-02-10 00:19] falls asleep +[1518-03-01 00:35] falls asleep +[1518-05-19 00:00] Guard #2003 begins shift +[1518-09-14 00:50] wakes up +[1518-02-05 00:58] wakes up +[1518-11-23 00:49] wakes up +[1518-06-19 00:07] wakes up +[1518-10-02 00:02] falls asleep +[1518-07-16 00:55] wakes up +[1518-05-05 00:29] wakes up +[1518-11-22 00:53] wakes up +[1518-05-14 23:49] Guard #1009 begins shift +[1518-08-20 00:03] Guard #1009 begins shift +[1518-04-05 23:58] Guard #811 begins shift +[1518-05-08 00:04] Guard #1069 begins shift +[1518-09-01 00:04] Guard #1229 begins shift +[1518-02-17 00:42] wakes up +[1518-05-04 00:53] falls asleep +[1518-07-21 00:22] falls asleep +[1518-09-18 23:58] Guard #3109 begins shift +[1518-03-09 00:34] falls asleep +[1518-07-08 23:58] Guard #239 begins shift +[1518-05-14 00:41] wakes up +[1518-08-13 23:59] Guard #2459 begins shift +[1518-08-30 23:51] Guard #239 begins shift +[1518-03-23 00:16] wakes up +[1518-11-18 23:52] Guard #3109 begins shift +[1518-07-03 00:11] falls asleep +[1518-10-18 00:19] falls asleep +[1518-06-29 00:57] wakes up +[1518-11-22 00:43] falls asleep +[1518-05-03 00:47] wakes up +[1518-11-09 00:02] Guard #1291 begins shift +[1518-05-16 00:48] falls asleep +[1518-08-24 00:11] falls asleep +[1518-03-26 00:11] wakes up +[1518-02-13 00:57] wakes up +[1518-10-15 00:36] falls asleep +[1518-06-26 00:03] falls asleep +[1518-06-11 00:01] Guard #941 begins shift +[1518-06-03 00:03] Guard #239 begins shift +[1518-06-08 00:54] wakes up +[1518-05-25 00:29] wakes up +[1518-11-01 00:31] falls asleep +[1518-08-02 00:23] falls asleep +[1518-11-08 00:31] wakes up +[1518-09-11 00:46] falls asleep +[1518-10-19 00:37] falls asleep +[1518-09-20 00:41] falls asleep +[1518-06-25 00:18] wakes up +[1518-06-19 00:37] wakes up +[1518-11-03 00:18] falls asleep +[1518-02-26 00:03] Guard #239 begins shift +[1518-10-21 00:24] falls asleep +[1518-05-28 00:04] Guard #2411 begins shift +[1518-03-07 00:40] falls asleep +[1518-06-10 00:01] falls asleep +[1518-08-23 00:51] wakes up +[1518-11-20 00:00] Guard #1069 begins shift +[1518-07-24 00:06] falls asleep +[1518-07-22 00:12] falls asleep +[1518-05-27 00:30] wakes up +[1518-10-06 23:58] Guard #3463 begins shift +[1518-03-26 00:45] falls asleep +[1518-07-25 23:47] Guard #1229 begins shift +[1518-03-14 00:54] falls asleep +[1518-04-05 00:45] wakes up +[1518-04-04 00:51] wakes up +[1518-08-01 00:32] falls asleep +[1518-08-22 00:55] falls asleep +[1518-03-09 23:56] Guard #2381 begins shift +[1518-11-14 00:38] wakes up +[1518-09-11 00:20] falls asleep +[1518-08-29 00:32] wakes up +[1518-02-20 00:02] Guard #2381 begins shift +[1518-10-24 00:14] falls asleep +[1518-06-22 00:21] falls asleep +[1518-07-30 00:56] wakes up +[1518-06-22 23:46] Guard #2411 begins shift +[1518-06-01 23:59] Guard #239 begins shift +[1518-04-01 00:58] wakes up +[1518-02-25 00:47] wakes up +[1518-05-24 00:03] Guard #3109 begins shift +[1518-07-30 23:51] Guard #191 begins shift +[1518-10-23 00:34] wakes up +[1518-05-08 23:58] Guard #2999 begins shift +[1518-07-15 00:22] falls asleep +[1518-02-07 00:48] wakes up +[1518-06-19 00:03] falls asleep +[1518-02-28 00:59] wakes up +[1518-07-21 00:27] wakes up +[1518-04-25 23:57] Guard #2411 begins shift +[1518-06-15 00:12] falls asleep +[1518-05-08 00:14] wakes up +[1518-06-27 00:56] falls asleep +[1518-09-16 23:56] Guard #2137 begins shift +[1518-11-22 00:32] wakes up +[1518-09-28 00:21] falls asleep +[1518-03-22 00:27] wakes up +[1518-10-29 00:51] wakes up +[1518-05-23 00:25] falls asleep +[1518-02-26 00:55] wakes up +[1518-06-08 23:58] Guard #1381 begins shift +[1518-02-24 00:57] falls asleep +[1518-06-18 00:17] falls asleep +[1518-06-20 00:43] falls asleep +[1518-05-13 00:04] Guard #137 begins shift +[1518-09-03 00:02] Guard #3109 begins shift +[1518-02-16 00:19] falls asleep +[1518-07-10 00:21] falls asleep +[1518-03-09 00:49] wakes up +[1518-02-05 00:54] wakes up +[1518-05-09 00:32] wakes up +[1518-05-02 23:53] Guard #191 begins shift +[1518-08-22 00:00] Guard #1069 begins shift +[1518-04-02 00:38] wakes up +[1518-07-23 00:09] falls asleep +[1518-10-11 00:54] wakes up +[1518-04-12 00:00] Guard #2137 begins shift +[1518-09-13 00:17] falls asleep +[1518-04-26 00:57] wakes up +[1518-08-07 00:57] falls asleep +[1518-09-09 00:59] wakes up +[1518-07-06 00:42] wakes up +[1518-07-08 00:41] wakes up +[1518-02-24 00:43] wakes up +[1518-02-07 00:03] falls asleep +[1518-06-07 00:27] falls asleep +[1518-04-17 23:52] Guard #2459 begins shift +[1518-09-23 00:01] Guard #2897 begins shift +[1518-03-23 00:50] falls asleep +[1518-05-08 00:12] falls asleep +[1518-06-24 00:09] falls asleep +[1518-03-18 00:57] wakes up +[1518-11-02 00:24] wakes up +[1518-07-05 23:51] Guard #1009 begins shift +[1518-08-13 00:14] falls asleep +[1518-07-24 00:35] falls asleep +[1518-10-26 00:00] Guard #2381 begins shift +[1518-08-12 00:41] falls asleep +[1518-09-25 00:08] falls asleep +[1518-03-10 00:40] wakes up +[1518-08-07 00:53] wakes up +[1518-06-27 00:59] wakes up +[1518-11-06 23:56] Guard #2053 begins shift +[1518-03-30 00:31] falls asleep +[1518-11-06 00:57] falls asleep +[1518-04-06 00:49] wakes up +[1518-08-02 00:53] falls asleep +[1518-06-09 23:50] Guard #1229 begins shift +[1518-07-18 23:57] Guard #1229 begins shift +[1518-07-03 00:01] Guard #2381 begins shift +[1518-04-19 00:52] wakes up +[1518-06-06 00:04] Guard #941 begins shift +[1518-03-23 23:59] Guard #2897 begins shift +[1518-02-23 00:02] Guard #941 begins shift +[1518-08-02 00:56] wakes up +[1518-04-15 00:42] falls asleep +[1518-08-23 00:17] falls asleep +[1518-07-08 00:47] falls asleep +[1518-06-17 00:03] Guard #811 begins shift +[1518-03-12 00:04] falls asleep +[1518-07-07 00:09] falls asleep +[1518-03-25 23:51] Guard #3109 begins shift +[1518-08-23 23:56] Guard #941 begins shift +[1518-06-13 23:49] Guard #3109 begins shift +[1518-10-24 00:02] Guard #2459 begins shift +[1518-09-05 00:51] wakes up +[1518-02-28 00:50] falls asleep +[1518-05-25 00:26] falls asleep +[1518-07-08 00:27] falls asleep +[1518-08-14 00:53] falls asleep +[1518-10-17 00:36] wakes up +[1518-08-30 00:45] falls asleep +[1518-09-25 00:11] wakes up +[1518-06-19 23:58] Guard #2459 begins shift +[1518-03-22 00:04] Guard #811 begins shift +[1518-05-21 00:54] wakes up +[1518-08-03 00:58] wakes up +[1518-04-24 00:46] wakes up +[1518-06-01 00:53] wakes up +[1518-04-05 00:00] Guard #2003 begins shift +[1518-07-23 00:00] Guard #2003 begins shift +[1518-02-09 00:11] wakes up +[1518-09-21 00:06] falls asleep +[1518-06-29 23:57] Guard #2003 begins shift +[1518-11-22 00:39] wakes up +[1518-08-14 00:47] wakes up +[1518-10-06 00:41] falls asleep +[1518-05-15 23:58] Guard #1009 begins shift +[1518-11-13 00:44] wakes up +[1518-02-17 00:02] Guard #941 begins shift +[1518-10-04 00:53] wakes up +[1518-11-11 23:57] Guard #191 begins shift +[1518-10-27 00:21] falls asleep +[1518-08-08 00:56] wakes up +[1518-11-05 00:35] falls asleep +[1518-08-19 00:34] wakes up +[1518-11-07 00:43] wakes up +[1518-03-03 00:34] wakes up +[1518-11-15 00:57] wakes up +[1518-10-01 23:52] Guard #1069 begins shift +[1518-08-28 00:43] wakes up +[1518-10-30 00:06] falls asleep +[1518-08-10 00:59] wakes up +[1518-03-13 00:13] wakes up +[1518-09-11 00:35] wakes up +[1518-08-21 00:57] falls asleep +[1518-02-16 00:00] Guard #239 begins shift +[1518-04-16 00:55] wakes up +[1518-06-06 00:54] wakes up +[1518-03-19 00:15] falls asleep +[1518-09-25 00:22] falls asleep +[1518-09-16 00:42] falls asleep +[1518-05-23 00:59] wakes up +[1518-05-30 00:01] Guard #1229 begins shift +[1518-06-24 00:54] wakes up +[1518-07-11 00:56] wakes up +[1518-03-15 23:57] Guard #239 begins shift +[1518-10-19 00:59] wakes up +[1518-08-14 00:54] wakes up +[1518-03-03 00:54] wakes up +[1518-10-17 00:30] falls asleep +[1518-02-08 23:52] Guard #191 begins shift +[1518-07-18 00:00] Guard #1327 begins shift +[1518-04-16 00:29] wakes up +[1518-08-20 00:55] wakes up +[1518-06-26 00:46] falls asleep +[1518-05-04 00:49] wakes up +[1518-09-13 00:30] falls asleep +[1518-05-15 00:01] falls asleep +[1518-02-06 00:43] wakes up +[1518-08-14 00:39] wakes up +[1518-08-25 00:44] wakes up +[1518-05-12 00:26] wakes up +[1518-05-09 00:22] falls asleep +[1518-10-02 00:46] wakes up +[1518-09-04 00:43] wakes up +[1518-07-28 00:18] falls asleep +[1518-03-08 00:59] wakes up +[1518-04-02 00:03] falls asleep +[1518-08-16 00:20] falls asleep +[1518-09-02 00:39] falls asleep +[1518-06-17 00:32] falls asleep +[1518-11-07 00:54] wakes up +[1518-11-14 00:59] wakes up +[1518-04-28 23:57] Guard #2999 begins shift +[1518-06-25 00:16] falls asleep +[1518-07-30 00:02] Guard #811 begins shift +[1518-07-31 23:56] Guard #2999 begins shift +[1518-04-25 00:53] falls asleep +[1518-10-30 00:18] falls asleep +[1518-05-17 00:00] Guard #2999 begins shift +[1518-05-20 00:53] wakes up +[1518-08-21 00:04] wakes up +[1518-06-27 00:00] Guard #2053 begins shift +[1518-02-16 00:57] wakes up +[1518-10-16 00:40] falls asleep +[1518-09-11 00:58] wakes up +[1518-10-20 00:16] falls asleep +[1518-04-30 23:59] Guard #1229 begins shift +[1518-07-24 00:30] wakes up +[1518-03-14 00:58] wakes up +[1518-07-29 00:49] wakes up +[1518-04-16 00:28] falls asleep +[1518-05-26 00:21] falls asleep +[1518-02-11 00:06] falls asleep +[1518-05-10 00:19] falls asleep +[1518-08-24 00:19] wakes up +[1518-08-17 00:16] falls asleep +[1518-05-24 00:49] falls asleep +[1518-03-27 00:35] wakes up +[1518-09-16 00:55] wakes up +[1518-11-16 00:03] falls asleep +[1518-06-13 00:34] falls asleep +[1518-11-22 00:22] falls asleep +[1518-04-23 00:00] Guard #3109 begins shift +[1518-04-12 00:53] wakes up +[1518-04-11 00:03] Guard #1069 begins shift +[1518-08-01 00:23] falls asleep +[1518-09-20 00:47] wakes up +[1518-10-12 00:01] Guard #1009 begins shift +[1518-09-22 00:21] falls asleep +[1518-03-04 00:54] wakes up +[1518-04-17 00:55] wakes up +[1518-10-21 00:46] wakes up +[1518-03-23 00:02] Guard #811 begins shift +[1518-09-19 00:56] wakes up +[1518-03-14 00:41] wakes up +[1518-09-10 00:54] wakes up +[1518-08-28 00:20] falls asleep +[1518-06-20 00:37] wakes up +[1518-06-26 00:30] wakes up +[1518-06-29 00:04] Guard #1381 begins shift +[1518-08-28 00:46] falls asleep +[1518-07-01 23:58] Guard #1229 begins shift +[1518-02-25 00:57] falls asleep +[1518-10-20 23:59] Guard #1009 begins shift +[1518-03-01 00:48] wakes up +[1518-09-27 00:34] wakes up +[1518-02-11 00:00] Guard #1291 begins shift +[1518-08-01 00:36] wakes up +[1518-08-22 00:11] falls asleep +[1518-08-25 00:01] falls asleep +[1518-02-05 00:57] falls asleep +[1518-10-14 00:11] falls asleep +[1518-07-29 00:52] falls asleep +[1518-02-05 00:50] falls asleep +[1518-02-12 00:54] wakes up +[1518-07-25 00:01] Guard #2999 begins shift +[1518-10-06 00:21] falls asleep +[1518-11-07 00:13] falls asleep +[1518-04-23 00:32] wakes up +[1518-05-31 00:40] falls asleep +[1518-10-03 00:00] Guard #2003 begins shift +[1518-05-18 00:54] wakes up +[1518-08-27 00:00] Guard #1381 begins shift +[1518-05-25 23:59] Guard #2053 begins shift +[1518-11-09 00:59] wakes up +[1518-05-19 00:22] wakes up +[1518-05-22 00:04] Guard #3109 begins shift +[1518-08-11 00:02] Guard #137 begins shift +[1518-03-06 23:52] Guard #1291 begins shift +[1518-03-21 00:19] falls asleep +[1518-10-05 00:00] Guard #2411 begins shift +[1518-10-28 23:58] Guard #3463 begins shift +[1518-08-04 00:04] Guard #239 begins shift +[1518-05-04 00:58] wakes up +[1518-02-17 00:59] wakes up +[1518-05-04 00:00] Guard #2003 begins shift +[1518-10-02 00:59] wakes up +[1518-07-17 00:45] wakes up +[1518-02-13 00:04] Guard #2053 begins shift +[1518-04-20 00:58] wakes up +[1518-05-11 00:23] falls asleep +[1518-08-18 00:21] wakes up +[1518-09-29 00:51] falls asleep +[1518-05-05 00:24] falls asleep +[1518-03-06 00:53] wakes up +[1518-09-02 00:57] wakes up +[1518-08-23 00:04] Guard #2411 begins shift +[1518-10-22 00:20] falls asleep +[1518-07-24 00:51] falls asleep +[1518-09-29 00:53] wakes up +[1518-11-17 00:03] Guard #2003 begins shift +[1518-05-28 00:33] wakes up +[1518-04-25 00:57] falls asleep +[1518-08-20 23:54] Guard #239 begins shift +[1518-03-07 00:01] falls asleep +[1518-05-12 00:00] Guard #2999 begins shift +[1518-08-09 23:52] Guard #2411 begins shift +[1518-06-04 00:18] falls asleep +[1518-07-06 00:03] falls asleep +[1518-09-29 00:14] falls asleep +[1518-07-27 23:59] Guard #239 begins shift +[1518-04-23 00:49] wakes up +[1518-04-07 00:26] wakes up +[1518-09-26 00:36] falls asleep +[1518-08-04 23:59] Guard #941 begins shift +[1518-09-08 00:43] falls asleep +[1518-09-21 00:19] wakes up +[1518-07-30 00:39] falls asleep +[1518-09-26 00:00] Guard #239 begins shift +[1518-08-20 00:53] falls asleep +[1518-06-19 00:19] falls asleep +[1518-04-14 00:00] Guard #3463 begins shift +[1518-06-02 00:53] wakes up +[1518-02-17 00:53] falls asleep +[1518-10-26 00:08] falls asleep +[1518-06-06 00:25] falls asleep +[1518-11-12 23:58] Guard #1291 begins shift +[1518-04-24 00:02] Guard #3109 begins shift +[1518-03-23 00:15] falls asleep +[1518-02-18 00:52] falls asleep +[1518-04-21 00:43] falls asleep +[1518-09-27 00:08] falls asleep +[1518-06-11 00:08] wakes up +[1518-08-26 00:36] falls asleep +[1518-02-22 00:31] falls asleep +[1518-03-06 00:02] Guard #1327 begins shift +[1518-11-10 00:27] falls asleep +[1518-07-12 00:45] falls asleep +[1518-03-21 00:37] wakes up +[1518-04-20 00:55] falls asleep +[1518-07-22 00:57] wakes up +[1518-06-24 00:40] falls asleep +[1518-03-17 00:04] Guard #811 begins shift +[1518-02-06 00:07] falls asleep +[1518-02-15 00:49] falls asleep +[1518-10-10 00:37] wakes up +[1518-10-29 23:57] Guard #2999 begins shift +[1518-03-07 00:51] wakes up +[1518-07-22 00:35] falls asleep +[1518-07-30 00:36] wakes up +[1518-06-03 23:59] Guard #3109 begins shift +[1518-11-17 00:26] wakes up +[1518-02-26 00:43] wakes up +[1518-11-06 00:29] wakes up +[1518-06-24 00:03] Guard #191 begins shift +[1518-09-27 23:59] Guard #2999 begins shift +[1518-04-21 00:03] Guard #2137 begins shift +[1518-07-14 00:52] wakes up +[1518-09-07 00:33] falls asleep +[1518-11-12 00:37] wakes up +[1518-04-03 00:59] wakes up +[1518-06-06 00:52] falls asleep +[1518-10-25 00:47] wakes up +[1518-04-26 00:12] falls asleep +[1518-10-06 00:36] wakes up +[1518-02-26 00:34] falls asleep +[1518-10-08 00:45] falls asleep +[1518-09-21 00:39] wakes up +[1518-04-19 00:24] falls asleep +[1518-09-14 00:26] falls asleep +[1518-05-05 23:47] Guard #2137 begins shift +[1518-11-14 23:58] Guard #811 begins shift +[1518-10-03 00:08] falls asleep +[1518-04-04 00:21] wakes up +[1518-04-08 00:52] wakes up +[1518-02-12 00:00] Guard #2999 begins shift +[1518-09-03 00:56] wakes up +[1518-11-06 00:59] wakes up +[1518-06-08 00:26] falls asleep +[1518-09-04 00:57] wakes up +[1518-03-15 00:49] wakes up +[1518-07-16 00:37] falls asleep +[1518-08-16 00:57] wakes up +[1518-07-12 00:27] wakes up +[1518-02-19 00:30] falls asleep +[1518-05-01 23:58] Guard #2999 begins shift +[1518-02-07 23:50] Guard #2411 begins shift +[1518-10-16 00:59] wakes up +[1518-10-27 00:48] wakes up +[1518-04-23 00:38] falls asleep +[1518-02-20 00:11] falls asleep +[1518-07-24 00:48] wakes up +[1518-04-04 00:18] falls asleep +[1518-09-01 00:39] falls asleep +[1518-02-19 00:46] wakes up +[1518-03-08 00:22] wakes up +[1518-04-23 00:19] falls asleep +[1518-03-19 00:48] falls asleep +[1518-11-06 00:44] wakes up +[1518-11-06 00:00] Guard #2003 begins shift +[1518-06-16 00:00] Guard #2459 begins shift +[1518-10-11 00:42] falls asleep +[1518-07-05 00:02] falls asleep +[1518-08-21 00:03] falls asleep +[1518-03-11 23:49] Guard #1327 begins shift +[1518-06-09 00:46] wakes up +[1518-10-25 00:22] falls asleep +[1518-06-26 00:40] falls asleep +[1518-11-09 00:48] falls asleep +[1518-08-10 00:37] wakes up +[1518-03-07 00:28] falls asleep +[1518-02-23 00:07] falls asleep +[1518-09-23 23:53] Guard #2411 begins shift +[1518-11-11 00:31] wakes up +[1518-03-28 00:29] falls asleep +[1518-07-02 00:09] falls asleep +[1518-04-28 00:14] falls asleep +[1518-11-08 00:34] falls asleep +[1518-04-05 00:13] falls asleep +[1518-03-04 00:03] Guard #191 begins shift +[1518-06-27 00:48] wakes up +[1518-03-07 00:58] wakes up +[1518-08-05 00:42] falls asleep +[1518-03-20 00:53] wakes up +[1518-08-14 00:19] falls asleep +[1518-05-16 00:17] falls asleep +[1518-03-22 00:19] falls asleep +[1518-05-18 00:44] wakes up +[1518-06-26 00:47] wakes up +[1518-03-05 00:31] wakes up +[1518-09-27 00:01] Guard #2137 begins shift +[1518-06-24 00:37] wakes up +[1518-05-06 00:19] wakes up +[1518-09-09 23:57] Guard #1381 begins shift +[1518-06-01 00:00] Guard #1009 begins shift +[1518-03-14 00:09] falls asleep +[1518-02-20 00:35] wakes up +[1518-04-18 00:04] falls asleep +[1518-02-09 00:53] wakes up +[1518-09-06 00:38] wakes up +[1518-08-17 00:43] wakes up +[1518-08-14 23:57] Guard #1291 begins shift +[1518-03-21 00:00] Guard #1381 begins shift +[1518-08-04 00:23] falls asleep +[1518-04-22 00:54] wakes up +[1518-05-09 00:57] wakes up +[1518-11-14 00:46] falls asleep +[1518-03-07 00:54] falls asleep +[1518-06-09 00:49] falls asleep +[1518-08-13 00:25] wakes up +[1518-05-03 00:01] falls asleep +[1518-05-07 00:36] falls asleep +[1518-11-08 00:42] wakes up +[1518-05-19 00:47] wakes up +[1518-10-10 23:58] Guard #1229 begins shift +[1518-03-24 00:29] falls asleep +[1518-04-21 00:51] wakes up +[1518-10-12 00:33] wakes up +[1518-07-24 00:59] wakes up +[1518-11-09 00:44] wakes up +[1518-09-09 00:56] falls asleep +[1518-04-12 00:13] falls asleep +[1518-07-30 00:51] falls asleep +[1518-05-28 00:49] wakes up +[1518-10-12 23:59] Guard #239 begins shift +[1518-05-24 00:41] wakes up +[1518-10-09 00:26] wakes up +[1518-05-20 00:11] falls asleep +[1518-03-02 23:57] Guard #1229 begins shift +[1518-09-03 23:57] Guard #2897 begins shift +[1518-09-20 00:02] Guard #2381 begins shift +[1518-05-24 00:55] wakes up +[1518-10-19 00:00] Guard #2897 begins shift +[1518-03-07 00:25] wakes up +[1518-10-09 00:59] wakes up +[1518-11-12 00:06] falls asleep +[1518-10-13 00:48] falls asleep +[1518-02-23 23:59] Guard #1229 begins shift +[1518-04-16 00:37] falls asleep +[1518-03-15 00:31] falls asleep +[1518-08-26 00:09] falls asleep +[1518-07-05 00:56] wakes up +[1518-05-10 00:00] Guard #2897 begins shift +[1518-09-13 00:27] wakes up +[1518-04-08 00:24] falls asleep +[1518-05-28 23:59] Guard #1069 begins shift +[1518-03-28 00:54] wakes up +[1518-05-12 00:21] falls asleep +[1518-11-02 00:00] Guard #2137 begins shift +[1518-08-12 00:48] wakes up +[1518-02-05 00:00] Guard #3109 begins shift +[1518-07-11 00:55] falls asleep +[1518-06-11 00:42] wakes up +[1518-10-25 00:00] Guard #1069 begins shift +[1518-02-12 00:29] wakes up +[1518-08-18 23:59] Guard #2897 begins shift +[1518-03-13 00:08] falls asleep +[1518-03-21 00:53] wakes up +[1518-09-12 00:17] falls asleep +[1518-05-29 00:58] wakes up +[1518-06-06 00:07] falls asleep +[1518-03-31 00:20] falls asleep +[1518-06-02 00:44] falls asleep +[1518-05-09 00:30] falls asleep +[1518-10-12 00:55] falls asleep +[1518-11-09 23:59] Guard #2003 begins shift +[1518-04-27 23:58] Guard #1381 begins shift +[1518-05-12 00:49] falls asleep +[1518-07-21 00:48] falls asleep +[1518-08-02 23:56] Guard #941 begins shift +[1518-05-29 00:27] falls asleep +[1518-10-01 00:46] falls asleep +[1518-03-02 00:17] falls asleep +[1518-05-15 00:54] wakes up +[1518-07-12 00:01] Guard #1009 begins shift +[1518-09-18 00:38] falls asleep +[1518-09-04 23:59] Guard #2411 begins shift +[1518-06-20 00:57] wakes up +[1518-03-10 00:33] falls asleep +[1518-06-12 00:13] falls asleep +[1518-11-20 00:29] falls asleep +[1518-08-21 00:23] wakes up +[1518-11-22 00:01] Guard #2137 begins shift +[1518-08-31 00:57] wakes up +[1518-07-27 00:40] falls asleep +[1518-06-29 00:09] falls asleep +[1518-10-07 00:49] falls asleep +[1518-05-24 23:57] Guard #2999 begins shift +[1518-08-14 00:45] falls asleep +[1518-03-29 00:29] falls asleep +[1518-08-30 00:56] wakes up +[1518-10-15 23:56] Guard #1009 begins shift +[1518-05-01 00:06] falls asleep +[1518-09-10 00:25] falls asleep +[1518-09-13 00:41] wakes up +[1518-02-27 23:56] Guard #811 begins shift +[1518-11-04 00:03] Guard #3463 begins shift +[1518-07-22 00:56] falls asleep +[1518-10-18 00:34] wakes up +[1518-06-25 00:55] wakes up +[1518-09-03 00:54] falls asleep +[1518-08-12 23:57] Guard #191 begins shift +[1518-09-27 00:42] falls asleep +[1518-04-30 00:45] wakes up +[1518-11-03 00:46] wakes up +[1518-04-07 23:56] Guard #2999 begins shift +[1518-04-01 00:49] falls asleep +[1518-08-08 00:49] falls asleep +[1518-10-10 00:00] Guard #1291 begins shift +[1518-03-02 00:35] falls asleep +[1518-04-13 00:51] wakes up +[1518-10-18 00:00] Guard #2003 begins shift +[1518-04-01 00:35] wakes up +[1518-09-13 23:56] Guard #1291 begins shift +[1518-06-28 00:52] wakes up +[1518-06-27 00:47] falls asleep +[1518-07-30 00:16] falls asleep +[1518-05-01 00:14] wakes up +[1518-08-31 00:02] falls asleep +[1518-03-16 00:19] falls asleep +[1518-05-28 00:41] falls asleep +[1518-10-17 00:39] falls asleep +[1518-07-03 23:59] Guard #191 begins shift +[1518-06-03 00:52] falls asleep +[1518-04-28 00:36] wakes up +[1518-04-29 00:13] falls asleep +[1518-02-18 00:59] wakes up +[1518-09-16 00:00] Guard #1381 begins shift +[1518-06-21 23:56] Guard #191 begins shift +[1518-09-06 23:57] Guard #941 begins shift +[1518-08-08 00:34] wakes up +[1518-11-16 00:30] wakes up +[1518-02-07 00:41] falls asleep +[1518-06-29 00:44] falls asleep +[1518-10-05 00:10] falls asleep +[1518-07-15 00:36] wakes up +[1518-10-31 00:21] falls asleep +[1518-06-23 00:49] wakes up +[1518-06-14 00:50] wakes up +[1518-03-01 23:57] Guard #1009 begins shift +[1518-06-06 00:43] wakes up +[1518-09-29 00:43] wakes up +[1518-07-25 00:20] falls asleep +[1518-09-06 00:18] falls asleep +[1518-09-21 00:03] Guard #191 begins shift +[1518-10-20 00:26] wakes up +[1518-08-24 23:50] Guard #1381 begins shift +[1518-04-07 00:04] Guard #2999 begins shift +[1518-07-24 00:02] Guard #191 begins shift +[1518-03-09 00:03] Guard #2053 begins shift +[1518-03-25 00:57] wakes up +[1518-05-23 00:04] Guard #1291 begins shift +[1518-05-18 00:02] Guard #1291 begins shift +[1518-09-24 00:57] wakes up +[1518-07-12 00:57] wakes up +[1518-03-16 00:39] wakes up +[1518-08-29 23:56] Guard #1381 begins shift +[1518-09-23 00:40] wakes up +[1518-04-01 00:29] falls asleep +[1518-10-08 00:00] Guard #1381 begins shift +[1518-06-14 00:04] falls asleep +[1518-04-17 00:16] falls asleep +[1518-02-28 23:56] Guard #1229 begins shift +[1518-10-22 23:50] Guard #239 begins shift +[1518-05-04 00:13] falls asleep +[1518-11-14 00:03] Guard #1291 begins shift +[1518-08-21 00:59] wakes up +[1518-09-18 00:03] Guard #2411 begins shift +[1518-07-27 00:07] falls asleep +[1518-09-01 00:56] wakes up +[1518-07-01 00:00] Guard #2999 begins shift +[1518-02-26 23:56] Guard #2897 begins shift +[1518-11-10 00:46] wakes up +[1518-06-04 00:36] wakes up +[1518-03-18 00:48] falls asleep +[1518-04-10 00:07] falls asleep +[1518-06-16 00:59] wakes up +[1518-09-18 00:58] wakes up +[1518-10-17 00:58] wakes up +[1518-03-27 23:56] Guard #1381 begins shift +[1518-10-06 00:42] wakes up +[1518-09-07 00:56] wakes up +[1518-02-24 00:59] wakes up +[1518-05-27 00:00] Guard #2003 begins shift +[1518-06-28 00:29] falls asleep +[1518-09-30 00:00] Guard #137 begins shift +[1518-02-11 00:44] wakes up +[1518-07-20 00:00] Guard #3463 begins shift +[1518-05-10 00:21] wakes up +[1518-08-11 23:58] Guard #1009 begins shift +[1518-04-30 00:39] falls asleep +[1518-06-18 00:02] Guard #1229 begins shift +[1518-06-02 00:57] falls asleep +[1518-09-23 00:46] wakes up +[1518-03-16 00:50] wakes up +[1518-10-09 00:00] Guard #3109 begins shift +[1518-08-07 00:58] wakes up +[1518-03-31 00:59] wakes up +[1518-10-10 00:59] wakes up +[1518-11-18 00:00] Guard #2411 begins shift +[1518-04-14 00:49] wakes up +[1518-02-15 00:59] wakes up +[1518-11-15 23:51] Guard #1069 begins shift +[1518-08-10 00:42] falls asleep +[1518-04-14 23:56] Guard #2411 begins shift +[1518-03-27 00:27] falls asleep +[1518-07-20 00:52] wakes up +[1518-10-15 00:56] wakes up +[1518-02-13 23:58] Guard #137 begins shift +[1518-08-12 00:08] falls asleep +[1518-07-17 00:42] falls asleep +[1518-08-01 00:25] wakes up +[1518-03-31 23:57] Guard #239 begins shift +[1518-03-20 00:04] Guard #1291 begins shift +[1518-08-17 23:48] Guard #1069 begins shift +[1518-08-27 00:16] falls asleep +[1518-06-27 00:41] wakes up +[1518-09-26 00:58] wakes up +[1518-05-17 00:47] wakes up +[1518-10-16 23:57] Guard #191 begins shift +[1518-07-10 00:28] wakes up +[1518-04-19 00:01] Guard #1327 begins shift +[1518-02-09 23:57] Guard #2411 begins shift +[1518-05-16 00:35] wakes up +[1518-10-13 00:58] wakes up +[1518-05-14 00:09] falls asleep +[1518-07-04 00:21] wakes up +[1518-07-22 00:04] wakes up +[1518-10-09 00:36] falls asleep +[1518-10-22 00:44] wakes up +[1518-08-19 00:32] falls asleep +[1518-03-19 00:49] wakes up +[1518-06-20 00:15] falls asleep +[1518-03-30 00:46] wakes up +[1518-03-17 00:06] falls asleep +[1518-07-29 00:56] wakes up +[1518-03-16 00:42] falls asleep +[1518-11-08 00:56] falls asleep +[1518-08-17 00:04] Guard #239 begins shift +[1518-03-11 00:00] Guard #1009 begins shift +[1518-03-26 00:02] falls asleep +[1518-03-26 00:58] wakes up +[1518-08-18 00:35] falls asleep +[1518-11-22 00:36] falls asleep +[1518-05-17 00:18] falls asleep +[1518-11-03 00:55] falls asleep +[1518-09-23 00:37] falls asleep +[1518-05-22 00:12] falls asleep +[1518-07-25 00:50] wakes up +[1518-07-27 00:46] wakes up +[1518-06-14 23:59] Guard #3109 begins shift +[1518-02-17 23:56] Guard #1327 begins shift +[1518-05-14 00:38] falls asleep +[1518-05-19 00:11] falls asleep +[1518-03-02 00:28] wakes up +[1518-03-29 00:51] wakes up +[1518-07-06 23:56] Guard #2999 begins shift +[1518-08-15 00:21] falls asleep +[1518-08-29 00:20] falls asleep +[1518-09-11 00:23] wakes up +[1518-02-23 00:43] wakes up +[1518-07-15 00:03] Guard #191 begins shift +[1518-08-16 00:25] wakes up +[1518-04-30 00:00] Guard #1069 begins shift +[1518-09-08 00:04] Guard #3109 begins shift +[1518-06-05 00:28] falls asleep +[1518-07-17 00:00] Guard #1291 begins shift +[1518-10-22 00:03] Guard #1291 begins shift +[1518-10-01 00:01] Guard #239 begins shift +[1518-06-02 00:58] wakes up +[1518-05-19 00:15] wakes up +[1518-08-16 00:00] Guard #2999 begins shift +[1518-05-30 00:34] wakes up +[1518-09-06 00:03] Guard #1229 begins shift +[1518-07-22 00:02] falls asleep +[1518-07-26 23:56] Guard #1381 begins shift +[1518-09-20 00:09] falls asleep +[1518-11-06 00:36] falls asleep +[1518-02-09 00:05] falls asleep +[1518-03-06 00:24] falls asleep +[1518-11-07 23:59] Guard #1327 begins shift +[1518-11-08 00:18] falls asleep +[1518-05-02 00:32] wakes up +[1518-04-02 23:56] Guard #2459 begins shift +[1518-09-17 00:21] wakes up +[1518-03-30 00:02] Guard #1327 begins shift +[1518-04-25 00:54] wakes up +[1518-05-31 00:02] Guard #1381 begins shift +[1518-07-02 00:47] wakes up +[1518-05-24 00:37] falls asleep +[1518-11-14 00:30] falls asleep +[1518-08-04 00:57] wakes up +[1518-09-24 00:05] falls asleep +[1518-08-03 00:06] falls asleep +[1518-03-12 00:51] wakes up +[1518-03-13 00:04] Guard #1229 begins shift +[1518-07-05 00:17] falls asleep +[1518-06-09 00:24] falls asleep +[1518-09-14 23:58] Guard #137 begins shift +[1518-05-16 00:57] wakes up +[1518-02-12 00:48] falls asleep +[1518-11-18 00:45] wakes up +[1518-09-17 00:11] falls asleep +[1518-08-05 23:52] Guard #2137 begins shift +[1518-09-16 00:23] wakes up +[1518-09-11 00:02] Guard #2003 begins shift +[1518-08-21 00:21] falls asleep +[1518-08-02 00:28] wakes up +[1518-05-12 00:57] wakes up +[1518-02-21 00:57] wakes up +[1518-04-28 00:16] wakes up +[1518-09-23 00:45] falls asleep +[1518-05-30 00:14] falls asleep +[1518-04-21 23:59] Guard #941 begins shift +[1518-11-15 00:49] falls asleep +[1518-05-03 00:30] wakes up +[1518-04-04 00:02] Guard #1291 begins shift +[1518-02-27 00:54] wakes up +[1518-06-03 00:59] wakes up +[1518-05-18 00:49] falls asleep +[1518-09-09 00:00] Guard #811 begins shift +[1518-05-22 00:46] wakes up +[1518-06-09 00:56] wakes up +[1518-09-22 00:30] wakes up +[1518-08-28 00:00] Guard #2003 begins shift +[1518-06-01 00:18] falls asleep +[1518-03-03 00:39] falls asleep +[1518-03-24 23:58] Guard #2381 begins shift +[1518-06-25 00:03] Guard #2459 begins shift +[1518-09-03 00:46] falls asleep +[1518-11-13 00:30] falls asleep +[1518-07-28 00:30] wakes up +[1518-08-09 00:02] Guard #2003 begins shift +[1518-04-14 00:37] falls asleep +[1518-04-13 00:03] Guard #3463 begins shift +[1518-07-13 00:42] wakes up +[1518-03-04 00:20] falls asleep +[1518-09-05 00:49] falls asleep +[1518-03-22 00:08] falls asleep +[1518-03-12 00:56] falls asleep +[1518-06-23 00:01] falls asleep +[1518-02-12 00:24] falls asleep +[1518-07-28 23:57] Guard #3463 begins shift +[1518-04-28 00:52] wakes up +[1518-07-04 00:13] falls asleep +[1518-04-11 00:33] falls asleep +[1518-03-13 00:21] falls asleep +[1518-02-26 00:47] falls asleep +[1518-11-05 00:00] Guard #1229 begins shift +[1518-05-20 00:03] Guard #1009 begins shift +[1518-08-07 00:02] Guard #2381 begins shift +[1518-07-10 00:39] falls asleep +[1518-10-30 00:55] wakes up +[1518-04-03 00:35] falls asleep +[1518-02-25 00:58] wakes up +[1518-07-19 00:35] falls asleep +[1518-10-23 00:03] falls asleep +[1518-06-13 00:00] Guard #1069 begins shift +[1518-06-13 00:46] wakes up +[1518-05-14 00:23] wakes up +[1518-06-17 00:57] wakes up +[1518-11-20 00:47] wakes up +[1518-05-17 00:15] wakes up +[1518-05-11 00:57] wakes up +[1518-04-15 00:58] wakes up +[1518-05-07 00:47] wakes up +[1518-06-30 00:25] falls asleep +[1518-11-20 23:59] Guard #2053 begins shift +[1518-03-30 23:58] Guard #3109 begins shift +[1518-03-20 00:37] falls asleep +[1518-04-21 00:22] wakes up +[1518-05-05 00:00] Guard #1327 begins shift +[1518-10-09 00:20] falls asleep +[1518-08-07 00:14] falls asleep +[1518-10-14 00:55] wakes up +[1518-10-10 00:15] falls asleep +[1518-07-22 00:31] wakes up +[1518-05-06 00:00] falls asleep +[1518-06-13 00:52] wakes up +[1518-08-08 00:01] Guard #3463 begins shift +[1518-08-09 00:09] falls asleep +[1518-04-20 00:01] Guard #1009 begins shift +[1518-06-06 00:20] wakes up +[1518-07-19 00:58] wakes up +[1518-06-30 00:50] wakes up +[1518-03-26 00:49] wakes up +[1518-04-28 00:42] falls asleep +[1518-09-27 00:49] wakes up +[1518-03-29 00:00] Guard #1069 begins shift +[1518-10-20 00:04] Guard #2137 begins shift +[1518-10-26 00:46] wakes up +[1518-09-29 00:00] Guard #2411 begins shift +[1518-04-27 00:33] wakes up +[1518-07-27 00:19] wakes up +[1518-11-23 00:59] wakes up +[1518-02-27 00:37] falls asleep +[1518-07-08 00:55] wakes up +[1518-08-09 00:58] wakes up +[1518-03-10 00:52] falls asleep +[1518-10-24 00:56] wakes up +[1518-10-07 00:52] wakes up +[1518-02-25 00:01] Guard #1229 begins shift +[1518-05-21 00:32] falls asleep +[1518-07-26 00:05] falls asleep +[1518-04-07 00:10] falls asleep +[1518-08-26 00:00] Guard #2459 begins shift +[1518-10-10 00:43] falls asleep +[1518-03-05 00:12] falls asleep +[1518-05-09 00:56] falls asleep +[1518-04-01 23:48] Guard #2897 begins shift +[1518-10-31 00:02] Guard #3463 begins shift +[1518-07-10 00:55] wakes up +[1518-03-27 00:40] falls asleep +[1518-02-15 00:19] falls asleep +[1518-06-11 00:28] falls asleep +[1518-09-02 00:00] Guard #1229 begins shift +[1518-03-03 00:26] falls asleep +[1518-04-09 23:59] Guard #1381 begins shift +[1518-05-22 00:43] falls asleep +[1518-07-26 00:32] wakes up +[1518-06-25 00:42] falls asleep +[1518-09-03 00:51] wakes up +[1518-04-08 00:07] falls asleep +[1518-05-22 00:25] wakes up +[1518-11-02 00:06] falls asleep +[1518-04-09 00:03] Guard #283 begins shift +[1518-04-25 00:58] wakes up +[1518-07-10 00:03] falls asleep +[1518-07-11 00:03] Guard #2459 begins shift +[1518-08-18 00:55] wakes up +[1518-04-08 00:18] wakes up \ No newline at end of file diff --git a/2018/05/input.txt b/2018/05/input.txt new file mode 100644 index 0000000..8592237 --- /dev/null +++ b/2018/05/input.txt @@ -0,0 +1 @@ +qLkKleEZHhTtzGtiITowWOJjlLJkKZzRrQqsvVSjvzZrRhTtHVJvVjAavVRrgQMmAabegGKkEBnNMthVvoOHTkKjJCcmnNvVSlLstToxXYcfFUuCNnyOpPoOUgOoZwWzzxXZhpPxXHGgeExXnNzEeZMmyWwYGuWwCcOZzKkypPpPYHhgUuZzGoBbyoOYqQeEsSHhHGxtTXgxXhiIeEoNnXNnnKfFkfFNwqQhlLHWxIiLlzZiwWIOBqQbtHmMhiITfFEeCceyYeEjJiICcnNmbtHhTBMHBaAaAbcCpPhqQSsmMEWVvcKlLkhHiqQISsCsSwWMEePMmpfFmSJjkKnNnECceNohHgGOwWTBzZYyGgkKmMWkKwbiBbIaANnWwDdaAjJtlgGLRBbtCcTeYyhdDHPpUuBBRTtpWgGwtTsSPOoXzZxrbfFbZizZIBrhHbcEeIisSCXxBsSFfXOoqQbHhiIzZIiBxGgzZDdLlVvRfRrJjFOobWpaAKkPeGgEjJBbwQqaAzYyLXxlGgDQqTsUuSmMxXMmvVbBFZzkKGgfMSFfiIyYjJsmDDdnNdmMOogGSsDdLlWwrRkKBoOuUbtCchHiiIIqQPpQdDqbBbBUgGudtryYeEnNRFfJjwoOWRrWwiIcCYyTbBkKHDdhEOoNfFCcqQnaTtHhAXxIHhzYyZgsKkSEeCeEcGLTjJtgGiIRrlEePSsgGbBdDpWegGEWwFftTwBbtTbGgBCJjctTOFxXfNnQuUqNnEeoiIiIpFflLEeyCcYZBboOVvRrLlZzOoqQzwWPuUYtTyPpVviSsHhIiQqrfASsaOXxDsSiIoOFnNfdogYfFycCNnbBGlmMJFfoVvOjJjnNgGQqDdTtuULzZNnxXGYhHpPygGwWuUvVqQjJowWOQzrRZJjxXEeyYTthFkKpPjJRryYDOosxOoXSdDlxXgGLdTtFfEqQeMmhHlLSsPpfpPjJpIiIidDQqPVHhEGgeWwvCDhHdBblGgLckKeElLHRNvVZznUuYMVlLvmyFfwWrVvtBbKkTZzkXxvsSrCcdDReEQsSiuUaAIqVhUuHlvVWwCcLVNnrRvaAFfpPFfbBBbFfBCyYRrRrVvcOovVxXZJUuUujnhHNkKvVhHwGgWHlLhIiIiXxEesSjJoOEeppPCcPIieETqQKkCRiIrhcCHTthHOHVvhyYoOoTICcipPoOtBbLRrhMPxXpmHlcaAJjuhHqQqQUaBOoJYyjmMfFGgbBffFSshHFoOoOwWydBbDMmYnuLlURwhHGgWvwiIdDWDdVOoRrYypyYPTtVFflWcNnCHhWwSsAaLsSlwMPpmLmMeEARpPAazZzZQqdDdqQjJkzvrRVvVZAazvVIiyxXYyvVYrRNXxNneEnNEeBfFbhHngGoOUxXQqOeAaECcNjlLAaJnBbxXouULluURTtrusoOajJvInNqQidfjlLJFDLQnNqltTQyYRrisSCciIpPXxsSIiZzIcCXoOxjJltrRnNeETMmDVvdLfFrRjJXxfFqHhhgnNGHVvQqCcUjJuCkKzZcIcdDNzUuYGsMmUuSgfFSfFIisEonNOeoOApPMmaZzsSfFTtPpWwksSwWKBbiIgoOSdpPWwYydDDJaiIAbBzVvZjrisTtSNnGaJjAgYyGHhEegIYyDdanNABxXvVsSPpRrMqlLUuQmtTlLsSDtmKwWkMTfcuUjJCFMmwwWoOzbBZClLAacFfKkwVTtvWWnNRwWLoOlrHhcCcCvVbBKpPyYlLOokNnebBcsTRdDrtzZSKPpkCDHhRrdFftTEpPedDAlLYyQAQqNnjJlLlLQqFfjJjJGgXxSsBmkKEekKylXxLYMMmQoOqlPpUyYNnYyPpGjJgFfRruTtTGgtLnzZoOuUNbolXxhKxXxSsQqXkqFfDdDaAkVYyveEKsSkTtKdeEMmzZGgeAaQqrrRRPwWMDdjJWwVvmpHCeErRcUFfuWwWwsShqQBbzyIiYZtTPpPpLlTtRryYfOoTOotRrDdFcFzZflLCUeEpEeEePukNncQqCsSrOiVvICcNnoRjySsYwRrWJsSSsGgMmFeEhvVHTthjJHAaorRxXKzXxEeZLiIlncoOCnNNYPOopCcykUhHurRZzekKAahHEsBbSLlfFayYAOyYfFkKLjJlnNYyoOQqyzZqQYVDdvHxdDXAIiEeaRrdgGBbMXfxXFvVxjJFftTmlzZzZLvOooOjJVsRrMmSgGKYyKOooaAZuUoOyQqFAxXahPLlpLlHfsSyaAYixXIiQoOeEqIqUuIiQceoTtkKOsSeEfWaHsSRrhAfFhUuHRrStTHhswMmSPgGpsEXxeKGgbTtrUuRBkeEXrOoPpodDORxcHdDhkKCqQmMAaXaAYyYyxOoOgGdXmMxkKDHhyYbBPwDdWJjeEpeRrEKkGBqQlLAauUIOrVvRbBoEEeAaegGBbiZzeUuzZuUkKEemMEcpLlgqQjUuJGxXXWsSBWwbwuuULlUoOAdeEDfdkKLlUuEeQqDQqLOFfXxoMlLmVGgNnBbvoGgpdQqDBbPXuUWwxRrClGgOubBUoLBwOoOoWKkIiWwZgGzbRrcfFnpPNZZqRrQzyYHMmSKksAtdDTaSsPpBbBbwWVvhsSKJjiINnkWwZfZzFzzZWwWwosSBbfpPFxXORrmoOMuUcuoOTtUeEUudDdDOoCHhcpPHzVsNnSvgGZkKwWhCmMoHoOGghdwWLlfFDzBbNlHOojfFdDcCJtTVvhLJjnNFfwWtTkSbBoOBXxbTtsjEejNgGiYyUusSlLIcCxXYKkydXxEeCoOXxclLDfFSgGcCCcsRGJjgrSsPUuWwpmMnNoOMmVZzXxfFQqvgGnTtMmmFfMzZNaAnJAlLaeLlsSEqQehHhHRyYzZuUdHhDTrRtZzSsIsQqoOSiRHhKkbdDBiHhraARrRkKqfFbBFfgNnGKaSsVvTtjXxYGgmSsMySDdsmMJkcCqWwQmMuUKjJNnQGgqAaMEpoOcCPAaRcCrAaerRKZzdDsSktbBLAalqQTPdkKybBEDjJdegGwsdDjJSwkKWWsdDSHhuMmUFLPpLlOopPsSKsSGgkFflfqTtSsKcCfFfEeFWxXwkknxNnXNnNKkKdOrrRGgqQRoiIDwWeENiInZzmMoleEDAadFfscCSjqQNuUntJjTzZJNVvADdSsmNnMeTbBtEOoGvVgIiKRrDdCchUuHQvvVVLlIisSKdDkhHczZVvCyYgcCVmMvGJjhHTtZUuzTtZrTtvVRBbMXxmAahEeHmMhHjJzIiZzZJIdDCcibwNnWmMeErRBufEeqQqQOofHmMhJYyjuUdFfDCctIiTBbFXxpPMOombQFZzfqBKktTcbBgGCsHUOoYyuizVTtvZILfFlYyheTtSsELleaIgGiImMXBbxEIieiWwEoOeLPpvkCcKpPTtvOozLleEJjsSJjKkhHYyZcPaAXxkKpnAnuUNxXwEeWasSmMNUmhHMuSpPsqFsGgSOJyYTtaAjWwxEeXqQBbajCcMmJCswYyWSkKDdjwWDdbBJcUxXXvVUuxuEeTtQuUVzZcCvKkgHcChKkGWuwWUVCpPyYcvTtZziHhpFxXCcbHhBWtTkgGKjJwdIvVvVvpMmPtTgGymMYVztTRrmkgGKMZBbBbIWgGeETtkKqQcCXxfFyRrvVYFVvHhRrfcCIibBBbMmrRSsFdDaAGnmhaAHwWMNgBbrRvVpvkKJmlEeYylLSsGCcffFFzHSshLlRrQIiIiqfuCcUFyYpBbFfeEJtTBbLlxXhHNnXxjPOoWwJUfFLluOojOOLlooKkXxsSzZpPBcVeEzRrGgZzZLlvXxBbeeFLlDdfTtcGgoOCUuMmNneSrXxRgGcrRCsnNtTQqTteiZzEeIZZzfFzEZzVvsStTHeEKqQkhTJjlLPpLlPptwWuULlBWwbTZDdzVJQqEjJMmTXxtrEerRRtTCFwWgoOGKktTUufCOvVkGgKpiIDdPpPockKdDmMxGgXiIimMIJiIjKkOolNsVvuUSwWOoiKkaFUuqQCcYvVpPyIifhHiIfEeOGggGbPpfFBTcCtDduNnUrMmdMmHhKnNkDaAiIRWJsJdDjrRSMhEeFQqkKUuTgWwfoPpOFFBbpEeOohucpewWEfTdDtmMNnzZjJOHaArRhGgoNLlrRnGkHhrJjcMmCdEeDWzOoZwZzFfeERSSSsUKkvVuPdhHaADQWwCcNGgFpPpaDdBbAGgRrMpIiiIPKhHdDkRFfvVrmkKgQJYyaAjqSstJjuUpQqNnPdcbBCDWtTwYymMlluUWwLFfPxXOnmMHhBbiImhDNndHhHxXYyiqQwWIMTaoOAtNLaAZzlVZJjjZAaRrzvVZAabhHXxBSsbBLsSAasStgGxNnXCcTteEHhyYxXZlLzTPpCsvVwjnNrxXRqECclLwWunNUwWYUuRBCEmMecblVOpPXxovCSsStYyTQVvSsKgGkqhwWbBHiBbSMmsIsZLkKwkMGvTtUussSSTtVXIixQCtdfFDTJvFcDgGdEewwWlLeENaAuGgTtdDsShHyYFCcYWJwWUcCcCguUEvVzZevVOCCKkccCfvVYyqQMmFYTtyxXlXxLsiCYWrRwyRJjrcIubmMaABUxblalLYyxXVMyYMmQdzZDGgrEeRoOrRPLlDdpNnfGgoOjJnQqmMkCtTWwlIiiIwcClmuUNnMmaAMzZLwoODJjdyWwhLmMjJhHTAaUErRyYjRmMrGgmuULOAacGgCjJQExOoXCcNneZzFfYyasSAateETBbBbKkHhpPPpJaZxXEeIdDiCmMsSfFkKjBbTtJjJcNnCsqTtMmhUuwjJcCWlLOpPfUeBbEuQqFQqUuxXmsSMLZQqmMzuUegrUtGgTkKSfYnNsSXxyFIiUIiuZzsKkuRPpzZDdxdDXwmTtMZzoJjOMuUmhHyaAYrRbBLyYlNfFdDWwbVvzWwnjnNEejJUrRuerkKZzaUWPpwexXcwVvWMYypPMudxXDUzZmirDdRKkrjMyYmroXIAZcCIiniISHhsoOKVvHDMmBbdhlLhHXIixgGZzxXAaVVvvttYyLPploOplLdDBbfFLzZzRlLPpBbGsSjJgwWZDxXlLKeAaEkdDdrRTQUzZdDJGuUhHQqbfSsqSlLFfsiIybBrRxyYdHhEpPeEeDykKkYwdTtDDdPauSsUmBpPkCctTmMvdWwNnuUvkKVAaDblLhIiBNIinNnbHImMihXSsOoxnZSsuxXUxlLeEXnNzNJLNyMmYnepPEmMlGgVvIJtTKkhHkKjgGisSTrUdMmDMSsTHhlLmOoOgGkKGgBrRbolLMhHqQcCtlLxjJecCEKBbkQLlkcCPhqQoOHohUuCcEeCcOiIoXzGgVvTtZvVvVsSzZxXxCcoOPpOyGgHqmMQpPhoGvlLhLlHGgkKyYnYyNVLltjJqQQZzqJzZRiIfFHhrjOlLNxAhHkwWKqxXFyPpDdCcYanvVNANnnNtTfFfMmicCdyYzBOocCVYyckdDGoOjJnyYNhPpziIXOoOvVzZaAGIieEVKkvGAagZzMsgefFjXxJMcCuUaAmOoEqCcaAQZZzzYyvBbHhRrOeeqQEaAFSsfwWEQYDdycQqCBAaUVvubyPhHSKksoqQOpHbBhztTJjXSsxmMeEdDvVnNcTtCBTmMHYbcAaCeEWwagnNGFQqEEeZzeIWiIwmzAPpKQqktwffFTtKkDdFfFjUueERrcFfGgMKRrktTwWOUuoTuUnSNrRyYnVvAaSdDDSGgpPjJqQafBbQzZUuqNSjiIzDdZYykYyCnNXIiAagGxsRGgWwrldDKgGJjkvVMmKnNtTkJHhjgvVjJnNFfGwofIiWwmMFIiFfwWQQNnqqlEeLaiFfIHtThGsOoHhSNnNamMAYyjPpJkKgsSnNQqjrRGgUuqGVvgqQvVwWlLQwWJOgrRGFfUuooOJxXVvdHOMmlgGoOLohcZzCPpjhSsHHvVaAMBbmGVWwyIisGgSYLadZzPpMNnEenNWmhHeEFfMcNnCDddSsDeEeVvFfeEEHXxEekKHhUuhNnYhNnxEUusSGgrjJNCcoOhHXxniIREeBbCXxeEPaAAalfFqQEbtTBSsCckKMTmPpGgMOeEdDiInJlaAUueENnPpwXxZWwgGzffNnFZzFqQyYCpPoJUgMmNnnkKNaKxKktNnTAUuaXYGgyBbUlLunNkhHkKRrHhLlJWDdkKupxXgGeEkKPpPdDFnwWDOoxhHXdOkKoWPpwIiNnDWXcfFNvHhCrRWwGRrglLcqQVzoYyKlMmLkuUuUTHhtjJiIOZZzMWwykKSslcCknzYLhHhHlymMZOobBcmmgGMGmLlrRTEjJeMmfaWwKjOBbpPIiakhHAavVfPpaAoOfOoFFcNnCbBAErRewWRrxaADZijIZBbaDdAzuVqQlLhHcCvUinyYeYyxxXRrXYARKkLlrIiaJjKQqaAddCMRUurmMmGgXxdTtugiIWEeOoYyOoYDdwWygGzZsVvBbEcClLiIeSRrwReEWaAdDEewroPpZEejJqQHhHhHGhgpKknNQqzZunGgNAapQBDIisNnOoKkSzTtXxuUDdBkKXxbgUeEMmuUuEeLlFfOonPpNnHJmMtTjskKOXxqQonNSiPpEelLdCcpsSPDucCIiRsSrUIVvhNOobBgxXTtQqxXGJjrqKkSRsoOwQqCGYyzZyYBvVWeEDdujXxDdJVobtPWwRreENnQqZOozfFVvyJFnNAazbWrMmxPpXPpRbBDdbhHeiIqfKkFQpPjEWwtjJdDTNnXCNnsMGYcCyGgGsEeYyRrGgGgviIVcCNvVdMmDKkKknmPpAoOaxXtUgGKXxKkkfuUFMGgmeEuMmPpUVvEevVjJCzrRZoLlUuRrOkVEetUuTVoOGfFBbjlLHhNUuBdJjDUudDbWwnQZzyRrYLlLBhNnHaANtTnSqQKkKJjGgRfFQjQqZzpPFkKWWwCVvqYyDdEXxesZqQznNLlQmMgGqHEeqWwhHQOotTNHefmMFtHhqJaAYygXxGrRlXxpveEGgQOoqegGViIvLLlhmuUMBXxtTGsSgVlMmPpTXxtFzZfqjJEDdiFUnHhUeEleElcuURrCUXzZCoCcOchiiIcCqQIHbpPlMtGOoEeNtiXxIpPDdHhTnRrzTtwUbBPKkzZXDdxpuCcClrRLHkKDdnUuLJjBVzhHZQqvlcCDWwuUdLHDoSsOercCSsZzREwmMdvBCiIcwAaJfFFfHmMhJvvVVpPFGLpPXxlHxXhJjgvhHvVQqRrmaAMGNwWjJYoOJXxjneENfKYyQaAxXawYypPWWwcEedjJdNpPaJjAnDDzQqHhzZRrZHhzxXKkhHKkYymMwWojJOwWhDdpwWaaANKkniIFQCsPDdjJplLggGrxMoVvaAWwOdDGEezXxdBbDPpzZfLlFZvTtVgiLleEOoVvmMAaOoIiMjJmCcnbVvvkKhyYHVcCRrBKkLrNnUUNnqFfzZIiJvrRVJjzZutTORQqrvVpYyyYPoLlujJQqUvaAXxGuULWwsSlgtTXKkCcSuUEeHhaOoOoJrRrRooysSYqnYdDyNcYbByCQlLiIQQqMmoOtRreiIPbBohxXHOpOoGgTtVoOvhHfFHhWwNnoblLBPpOZanEeNYyAxXabBqQAFGgNnJBpPbuhLlHUYydDjDLSOLRDYyaAdaRrAcCvxXklwWLzMGoObBgOoLlDdhKkHpMmPrRLlbTtYuUtucCqxXNNnnPpZzDRxwWjIiGkWMmgGwKGgrHDmpoOPotTkbksgGSKNnBXxZwWFfzdDGgbBbBsWwyrRDBYEHyYhepYypiIqQTCctVPOyGFfgZzPpVTtMyYsZzluphHvVOoYfFNUuvPUubZWwzBpJjyYjvVrRJMKkdDiGLjJrGgtqQTGgTtIgGoOuUICcinNpFfZjnPsSpOhHHWiIgGwtLlciIhkKaAaAaABgGVvbHqeEQbUukKrRsDdSRrkgSsGAaMmOlLBziBbKQqkrQxXEeLFfljSiIsQiIqjFfJqIiuZeEzUbBbMmwWuUBxXhQoAaKvVaAJjZzkBbNnFhslBegGJXxjymdDMzvVxXqQWfQqwHhWVvVvgGqYygSsWwdDcCZmMmMVvABbQqDdXxpCdwWYyJjDgKkmMhZjJzPeUUuRsSHiDGgsCAacSdxsSXhHYIiuLllbByjjJbBCaAUucJjkKpPjtTuUVbOsCcsSzZoOuUuJjUxXCMOkKUuWkKwcpiIPIiCqGgQosSsZzSIhHiPplcCyYpPXxLlLxXkKsuUMpshrXneaAzZEJHhJjjMmYXdDxyEeeELyYlqrRQZzjJtWwTMmgkKGOoaAmnNtaHhXAyUuYLdLEeZmvVMDdAaWwPLeQlLYNxYyzswWSJjQqZGgXnQRrquNNnpPhEeHneZzRAjjJnNFfKWXxyYkfFKiZvTXxEfFpPkMmkKpPRjcpViqeyYiBbIzZLlrREwwWYwGgWJsSjXAMmaLlEexPIKkipmMPplLXpHwWgWwHhGffFFhaKkPpZoOLltTzSscCACIiCYycGZMbBDWAAasWmhkOBbzZoKHwWgQGgfFwWuKVvLKGTnNtgSsTtkEeAalkWwWXxJlNnAaLjwwWCcwWKVvfVzxXkKJLlaAjHhCclmMBtuzTAavIibTtWDdYBuUUuDRruIiJfpPFtTAajUNnsTmPJjpMtITKkxXtdDiMWwmzZYdDyjWwJXSsxwHhrRXpPxHnNgzyYROoUrgGRcCkqQKbasbBSkKaGgPAqQBDdHDdRrqQhICOoVvgGdsSDqUuQcnUDdkBfZzFAabryYyzVvZBbBbXNzZvvejmMWVPpXhHxkYBbyvUuVKkKUqQmMUuyYqsSbBTtgXxiyYpPtTLBbWHhqQSswwWaAPGgLlcCTJjthHxXeEVYPpyvZAaaABbWwdDzWZMmzwYyqsWKxXsvmcCiIWwSeEsMbTtRrDdeEDdQWwqLfFZzfNgGnzZDdFjJSiIoOfOeEdlLDsgGSMltTuULSdBbdKusSURtTrBNnMhuMfwWFFSXxsncCNfMmJiIjQbBnNqeEKkKkgGdVvdDDbBeNgcCpPLluKkRkzXxZaaiIDzuUxXNnuDuUlLYkeSXxsygGYEKZRrzSsKkuAPpaqeikecRzBaAbebGgBEvkKVwfvVkyIQqiHhRrTtsXuFfUxwIiWNnwIivxvVXVCFfTwWzPCcFuUtTkimMkKQcCPpsnNjJpjJbBUuPSQqgkKOLloGZIcCfFEdTtoyQqYOcCpKkGgPXNFfnOyYhIBbhEcCeCcHjHvVhJoSsOoOfFkDdBbKhHNDdbWbBcCwnNyYuUsShHvVBiEDdZGMmuiIkAaPlVvZzrgGPpRVrgGAaEnEbjUuHWXxjJzWAzEWrNnRwecCoOtTgdgaZWmMZzwCczVMmGgeExkdDMmkKOoyYRuIiUnAazZnXFfxNMkKgrYyxPpkRrKZzphzeJjiIimniWhHFfeEwYyINcrRCKLRrFdJHUusSxmtTVbhHPpBdDDKWwJjyMwWFCeqIiZzQJjAZeUUuuaekxXIiUudKknvVLjLlbvVQquUFfNnToBUTgWvWwZzsSNVvnBvxXVlOoYyBbRrDlLdqQxXLFuDpCeQQWLlafFAPpUuNnAziIZbBfHnuOoUNOqLuUlLlJLlotTOLCcoAaOZIinNYfSDdRrqhHQJjsDmRoRrOoOMmDdObnNBUuFfKlLziKkIHhZfwYyWnNFSsnmMaAKGkKmbBZdGoGgEaAebBoOagGAXaXxXxrRAAAaBbamZzYyGgIEsSeorEeRkCPpcKjJlLGgOVvKMcCmqQHhnpqQPPpNUxXdJjDGguZzZeEJjZztTgeQEnNGguUelNnLZzqSsMnzNcCiRrAxXasfFrRuUcCnNSoAMhHmGVSsvYzoCcdNnnNDOerGfFGAaEMmeoOfFuUnNRXxrPVeEvoOXBbxghiIHKkgGhfrRFGbBiLlLNnSusSOoUuLlUsrCcRRrSvXxTOotPQRcHiIbBboVvVsSRrRdDXAaxMLWSazKHPphXxGEEeeEYhQqHbYiIyVDdEevaAAmajJAnNkKRrAsHhUuSUaAzmMbTtrRBBbZcWtTOoUmMuwbxPpsvDdAlmXxgGMhHdDmkTtKlLVpVvPEevSsIGgfqNtDdEepPLlEepuUNnvWwbxXdbBqEdDeyYfFOoQfFdDqQoFBZzbLlfaAOUnNuaAoUDaNPKktTaAUuMWwvWYybBBRiqCZZzzZzaXxoQEeYyYyWwMcoTtOCNnmqCJPQZzqmKeEBbVvxkKIAOalTtgokKOnNGMmMmizZxQqQqdDidDSYyoOsslFxKOoPptTkXIifZzOoNxvMLlRrqQlJjLrlqSsEeQLjJXyYJyYUujJXAvVaAazMZbZzlXTtaAfxRBYdCcDyYybNntTHhbCbhHaAyYBpPVvHHhIinNhVKVvxXAgSeBbvxeQqRSUuhHZLlXxMmmfSyYXxmMDWWwpPwXxdVvOouUkKXxsFvVSsfFSssSAaEemuvLlVUBzcCZdEwWeDGDdgnNIcCiQKBbkqdmNnLvfaAttnNTjUenNsSEmMuJnNLlJmVvDdqQaAYNeEdDcCEbpPBeHhOoAbBEeHhnIiNcCcCMevhxeoOWwFfCtTcsSbvdDHhVlLZzvXUoOuxiImmMMAamzZMLzZmMljJWWrRwwfNDdsSwWSsnFrRiBbyYBcCmMeSsDyzZYWcCsuUtTeEfUumCcMFurRUfyYFwpvVPDEedpPWwaAktPpKBbjJrrRAIiJjpPaLVKHCmnNBbMhYyrRlxPpxcCXoaAQnNqOOnPaelLEAZzRVvWENnewLLlZzlAsHhSbBtqqQQSsTCqLRglLWSKkcCsPJHFfEIBbOIdvVKpPzLrREejUuJlLljJSrRgJvvAagGgGVahEeMmYNRwNnWrcpPdDpVvVWwTqvFzvVFiOoIyYKkEKmMPpJKhHyxXNnsbBOYctTtVjJDdlLTtlRraEWLkWhZdqQZYyUucCuUzCcoFnjJTATtEIinNeEewWnNWwDdahHkKaAOkmxxXCcljJfFWwNGDdoOZzVKqpsSPGYvDNnEMmpPeDdgAaoORPgYDdSHhsYyhcCjJTthiOoIaDOKNnLldpPDzrujJJjKkRvZbBSsSszTBTTAAFbBfcCaoOSswWZcEeCYIdoOwIiWiVvPpOUIiuAalLcCFvGgfAaKYytTktTOoLltSsFfKkgVvGMgJunyYfhpsrRSPHFkMmzZFfKpPfFvQPkKGgpPpXxMARnNtFfFCceLGAEuEeUJjSsGgblBQCaAMSIiRbGTNnxiIXtyJjYWwVHitTIOohOEenRQkKyYqMEMvVhjYylcsSCJofnnNNFaAOjjJDHhvVzguUGZwvaUuACcwdDrNnVvdDZRrzywWYWwdDxXRJjWEXJnNqQoOjOoWNngGtTwMmdDhEpEePzZocaAJUuCcjmvVqvVIihBbNnwWHLieMiIgGmVLldngGzZNnNRlLXeEAarRhHBbMmcCWVSdrRDvVuBzrXcPpCybeESlnNOvSseEKkVvVaGHhHtCeEepPEXxvVtJKUbBukKkxXzZdDrRjodDZsGgSsYFxXNnsYySSWJjXnNNnDdxrRrTtRcCDIidjVRrvTtSZVvzPpnNOosFfgbLzZDdLWwyYOvEevVyYVsxmUuwWoSssShKBPjzPpZgGJGsrRGxBbKkXqVQqCHqQaAoZsSSsuRSTtsfFVvrvYqzHlLhOoDdVENNnnoKkbrjJDdJSsAauuUUZvVxUuWQqBvVCQqcbcoOJjGgmAaSADELLsSlBGxXtSsTgSHwWOSsbsSyCcYBohTtNignwdDXxNnyojKEexJIOoiBBbSsbtkKYvLlrRcCVvvVVQxKklgGPMnNczZzaAADdKkLloOaLetTYywamWwjJrRyPpfQkbLlgGBPGVvahQqgFQoOHhqkeErRpBbiIPKvzDdZhHSsiIgcCDbclLLIilCHhhHGgOskKXxUNnuNGgnYbByeEHKVvjLlvVMmLlVWNnaAxGgaALOorRLlbunNDmMaAwZdmMeEoWWrpPjJoIiOTjJdLlpdDVvhHtdhHwMmvAaTbBUtRdypPxxMmInNMSyASsQSsqZzxXLlvVaJgvVGXYyTAavEeVfFyYPHcCKkhcyAaYIHCcZzIihRrEmOoIiVoynKKwWquUcCQqQdDVUWwrAPpHnMLlrYJjqQtTCtGaSsXwcIiCWuUvVQqIQmIiTeWwjJBbnJrGgVvIqQiaAPpRbypeEbJSgQdvVYDdyPpupXxPRrMmkLNnblvVEeLBAAaaBbcXxCLsiIUtTVOkKovQqESsgZzkbBxGSsqbnVvcwbBWQAaoscCIEjvVbBJLXfFxSMmLqQlYmMXhKzZcEegGOJiINnuUyNJfpPeECcRTtipLEzZMzZoxOoUuDdXCYOgsSHoOYLlKkyplLtTjJlSVvTtsYXjJxaAfkaAPhHpZmMbSsBmiIOoiWwITtbeEhHiIonNOBBbQmOoxXXzZxQHSjXvVBnNzZxXvVkGgUaAQtLltTTwaAkKVvBbyYymjSlLsJErRYyeMYQEeqQIiJjMmViINfFnvAaqEeHJDdvaJzZkqVoOvQBEPwkKJTzZzbBZUQceEnABbanrBbtTAaYyWwUuRNzRrMmyqQYXlLtTAIpPJjiaIAHhVeHYyDderRXnMUYyAaYeQqSsEEMCcLlmreEHhRtwWFmMfTNMmPYAazJjJjxFfuUGlLhSsNnHEVTtvTmMcsiIsSWWhqZzhJjsSoozPpFfRrZkeStTxXszZiooOIyJjWwYCFfwBJzvGggfJjIiNfFVfFvCpMmrRPcwWnOudDzZogwWuUJjNWwnNnjJiiSAQqnpzJeEjzmnNfFWwAaWgGUuGhHhHUujXxJQqTtQqsSnNgJGbIiIiWwdHhFNnqFQqKsSXxbNnBhHoCSWOTtMsJUuWxpPPZzikKgYyGcsFVvfttqQTTFfgGooPplCnZqEUFpyHBbjJmMoCcOgWvVByRnNrTtYzZGgyvVYucHMmVbpYyEipPIfXxhnNWwqWwkKzZQHqzZdRBazZruoOUAQzZqPVvpNnalfqNnQTUubqQbHhdFfTuNnAaUKrSkRsSxXlLxiIIirXxRQqrRRrXbhHxgPLlLlElLexXLltTPgoydDQEKkuKkUmMBbyYYhHMzyYNnqhGgFxcyYCjQqWKNHhSliOSsoSsbBFMmZSsAbBxUDdTtbYHgeEXxBRhfPpCvVUuicCNEeJjyYWWwtZAauyYnxXNfNkeEzZttNnRDQqWERRrrkKefFqQwWEDdsZeVAavsSwQNnQQCSsAENnXQqCclLtTnXoJiIjjNnHhIiJqaudDtTqQPuUYYfFUfFBkKEebPAakMmKaThmMzZHZKdOAaGoJjOoOojwJsSjCcWkKEecCwWIiGzNnHNPLlnNWTfLYyiyaoOAtTYTlBbLKtnNoencCosSuRcFozJjyDdYlLkKnnNdmMxXzroTtbBOcCFfJNiIFfHhBWCNoOnbWEfqiIbYvGgVyaABQXxYBhHaiIArRbXxbBfoOqbdDnNiHRraRdDDPrRrqiJWwjJVNnQexXLlEuLHzrRlLZhFcCbBflcCVvsHPpeTtWwETtBJjepQNnaAqCEeAavVZBvVpPIcHhEmtKwWoOgGkTMZboOBJjjJxoMxXmtragkfaAFXNvVYynbBHsSRrxacNnQqIjJleaPfFpsSnuUdDNjJdpIsSWwiPsSDdguUVvHLCcNnlGwWhQqYyvhHVHPpaARrjVvpPLlGgJMmgRoOqQrhHhBbMfUuFxVfiOojWwTNnLlEINniJCcjsSQqAfFgGmIiqQZitDdWwUGWMmwgHWRrWHhwpVvXmJjMrRfzhDdHyYxXOoYyWJjwVvUjJuZnNJwtVzZAjJaFfCAacvTBbWwWXiPpKkIeLUukjSsJOskKSoKnNKkYytqQXTTttOoXxtbqfaIioeEDdMoZLqAaQafFAgsnNrRyYSOKgGMyyYDKgGHbBvVhfiIFRVvVvUgzlLCrcCRIicoescCKkBGgaZfeEZbyFfDWwjCcJdIbAaAGgkhdOBboDHSQqUGgBBbutTAaYEmxXTkKqyymDKfFWVvcqQFfBUuENneVvBzoGgOZwZzaAWgAyVXKDenoOoARBRrFunNUJjoOBbyCkHHqQiaAaAvZnNvVhuUxXHAQqiInAaBinNxrRrYyXxTUuthHudXIoOvroOkwIinNpPAVCnNFKkfciDdkXxKSgGCcQqtvoOVuUTtTgYyGIdVvDigGTtJjpPsSFYPpsSsSnqdDYyPeEMmDYPbaoVvJpBqQqwTMmMEetEeaATgaqQTtqGGgAVAxDiDHhNxXnXxkKvjJVWQffFcaAvethbRromMOTBbnNFEeOAaoISsiNnWIitTTtkiRrXrWJjzvVkyYNOoJIijwWwGeEvqQxqEWwihHLlnNMJjkdbBfFnNmLjVbBSsVzZvAjJLlabDbBdBcEeEvVendCrjhHMjJVveqQGgdQvLlqUIztwWDdvLOikNeLDxXwWGgBRrxXnNsGgZSwWVvVZmMbBuUzRCcxsSEzZtudDtTvVnLkGaITtMmiAVyMKkWVvHWwpcsSYrRBbzZOEoOPpxXVvdDghnmCctJjvVqMFMKkmWwZOXxoaAOcCwWkFfTttTdDXxXxoDJIiQqjdUjJhHSsIiBvlLVbuWjJpPCezFqQLlVQtLlwTtDJjIMQvEGGiDdFfvqQeEEyYJEclLuABuUtDlLdNMmTCcVhHvesSpPoOSsqLarRVHFeAsDdNyYLlIYGYyAcsSyuUeEQrZzRqHhEerRxNnXkKTtsSHhtBWwMFTtuhIYypPirCcDdjJgDdkwktcLlCuUrRbBoOuTtvTPSxcCpPXcsLlZzSCcWDzZdFfrzVHVLljgGeLfYpPljJLxXiIyoNncQqwUmMuHTtxSsjJXvVxXsAaSRrOoQqwyPpxXmLuoOUlOdDodNnbhHBDPpPdRTlxXNCcuuBRrbNyhHJMundPKkKCckpDvJTyYtjVzZazDdZzOuwWIiFVRrvxXeEsSXxcZnRrwDhUpPuWwCHcZDdzPpEKRRrrCjyYJlnNzZLcWwkcXxIifIKRQqpkZkSIhlLyYqQgLlFfOhHQMmOJmTtliDdCYZsXxpTtPwyMRXUuuDdSeEsgSsGoLlAmgGbFfwQpKkPPpqmMXCbWwVvfFwWhHDdKWFfTcCFHhuPSyYseGVvgwfUuUuFAWwaJjQyesWzNBbnZCcKNFdjdBPpbDmMJYyWwKiMAamLacJjXmMQpPqsiiIPpWCccgzGBbayYioOgDkKIhoOWXtWwPzZpnRnNXxAaRJxXRrpWwCcfFyYLlBmMbyFgTuWqBbQZdXxvVuUdDCNnnNQkKOKkjmMdQqiulkPpXxcKnkKNolLkKZDdzZdlLFfOdkVhRmEkWqvVDcCwtTWdsQqSqQuUJbBjqQQPpCFeEvVOohoxXOKhHkVvpPoFfHoOGgnLlNXhcCHlFfLhFfKWmMvVXjJxiIXCbvzZUtMKkmlpIiPfFskCcCcdmBbZzMmSbNBbXBeEGgPIUfNyYnCYtkKKkTmMldDLINujuPHhaEelLRVXKmMkNENkKwcCUuqXxuxXYyLlXnAaqQNxtJGfDpqQPVPppKiCQCcywfDdFIjDdtNnjVvBHhPAaznQtTFGgfHhHhqOSrcCXxHOGGBqQbUugFfoWszAaSsJXxMXxCQntTlXeExdNQqikpDUyXxYVvglLlLtrJCctTnIwFfyYWwDPgGsIiVvARxXNnrQFpPEMmMyvpFREeugGayYecNMmcLvcCNoOiZlLlLRrGgVvVvVvsnwAaWrXzsSYlLyvVWwXgszMyCyYYycYmcNnqQCDdbLlBkKZAnNBzZbesSwWcCKgGFfklLmhJjFffSnNscDdBbflLChoZzOPjoeExGwiWwuvubhHdIiDBlVgGyjJaAMmeFFffMWwalLvVsSioHbBOLfkKhvVoDFfuUmMzZgXQqxHhpPLlImMabBIYyYgBqxXQHhbSkvVEYyedWwuUkCcPkjJFfuULliDdFfxmNjCRJQqjmmxXoOqmrYFIqQRHQVvvDdhBbDdNnYyJQFxCFfKSmMsJTtCcsHhHeCnedDEiYjhayAlJOoiIvMmJXxBRwrbLljdxrRdDLlOoQqdxXDDaxXtBbpPvezZpCcPjUADdAJjKkHharNMpPmwWEOoaEGaAYyDMmdwfogGxXxyYXcgGCTyYtMmOQzZqbnNDdkCclLKDeskKlsIizdLlzpPqQjvVNeZzcyYltypBzZaDdcjJCuUACwWqcQqhSsCYDgyrYVPRIirLSjJvxXRrHhPbtTWwRgGkKSOEebeCcOowWIEeHXjMjbPFwGggGKkRfNKICciCcONaatSsataAaorDdSsSswzZSsoucwPRNoKyYPyYdZDFfRrQqkKIKNTTmMfcQqHUdxXRrDuhtTjJkmMVvZbJjBeFKkKkJHIfFOOooKkxXjJcCccCgkdwWDKZBoteEZzCcFuUABbGgBnNVRrPpJjPpvEeXxvKkrRnLlNVbeElDKJjAlLCcmMQblMmLiYWGcCQuWwhHvhHVkKpOmTtMfUNQSOosqbyCwWmGQqqvyYVploUmqQrdviZzzZVvTdXxrZDfUNnuWtgRrchkYYkjJKyyKEehHHhLAVmdDTtXfewmMMRuXQquKkUYlxQuhHSAcCMCxaAUuXNncmdDZqQhfFHqCbBIXxLlkSsgzBlLbFfjJZDhHdVKhHkXpPxvVBlLuDdbXlOGgoDezLlYohSurDdlwWmMmstCcdDmMShnNHpfmZCcclLnNqCWwcQCrRXfAUPvVGVjRTtTNWwVYJjjpKreyYEhHJewWGEeZzEOIiaPTsStYXxilrfNoOYkfsCgLzZlavsSoQQqqtNPEaAffFkKGgnnNrRSeEsREFgGUjJkogGUaGZzhHgAJOfFUyAQqaYHhVvWwaALVhHmoDmqnDoyYzoOoFwaxXaAAzZszisYyOJbKkGvcCfRrFalwWfFLkwXJjxEeGruiDdDdjJCDdjJcSgGDKkTtzObtwoOWiITRPKTJjnNEetkprLlvVWfFUulxcWftTqQAZuRredQqDGocCODdZCcRRVVvszNASsGgDWwRrTWBQIUuiBiIEgGMkFOKGjJwvVfFMmaUehmiWwjKkJpkKKBgGkaJjAKkKMLlYyjXxzZzdDWNlVvPQqpHhLnTdaADtCccrqollyYOojJqnNQEJBPmMcCpVvGmtlCrRcFKkJWGgpugoOUuGzZeEXxiIEkpbTtHTZzOiSXxRrEHhJjxlLXQIidDrRqJqpPQXfsAaiIpPePpECcpPEEeFlGeXMmxKkIFfsSihHeEsibDducGgAaAalLzZVvRYcaiGnNgJjbBQKgCcKtpPlfvPzZnzkGhjJjJIiuGCcFfytmMDXxtHhJzICpPPpuUcodiIaAoTtwWdDyWCYzBbjqhHcCQMNUunXGgdhiqDdQIGWjJGgmMssKblLXVcQqBvHhVUHWwKLlwoIbDBbDdDdsDimzxXlLqXpLAalIjCcPVLCcVYymMvWosSQmMqHhnTtZNnpPSADIidapmUubRrxXxcIrRHtgGhrRxlGQAPTgrRlvwWevFDvAsSWwadDCcSUBUWKEYyprQhHrRKUOtTAQyYqvVEGNvYKkkKCrRcwWOqBbQoyNpfFbBQiItTPJzHRqSsVefhgGjdDDdDdGYPpmMDCNjHhrVhUSspwNKEsSHhfXQWweVYwWgNnVHqpZzXxQfncqQCNFrhJBbJgGPqhTqQKQNzZwSsWPpZzasSqJQqmRrytLlCcGgTCnMmGgBgqQGwiqFoyYtTUggiITwKkxTsAaNeEeEPvXxgPNnXWfndDauUGKkWwKJZfFENnayYmMxXXtTtrYyVvRqRrEenzUZzuoHhsAVvasHhCcSYNnyYySoOBlswAWwUuRHhuUoOhhPFiPpYIltBjiXQqAXkJjXMODLlrvfUWQYyOoZjJzHhfFEevmasvVSdNKkSwiIWFvBpftemvthHTaAtIizVvSSfFssonNymBbkKCzZhGgsSHDggGgZzGGdNKiIjVIfBRwwytTYWSsFfLfFhHSSssnvSsVOoNXgGMvbqQbGzdwWarEBKtuLlMmUqDLlbByxojSsqCbwWBAyWBbKRrzZkqQOoXxvzDRrEoOVvNPhQqHpNCcuNnUplvleyLwrDMgGrRAkKoOrpPRlLMmFCuYysSUSLlfFfTGgVyYmnFoIEeivVwXRQqcCwBunERrFWVjcSgIiLlfXKkpBUVvQqujMmbRhHaAdDaCnXazZktbBaEeMmeSpcbBgMwCVCySoAaOdQqvlhXxHrRXxruMYwylLyRiLlYyjJSsIfFrPxXpIzyhHYrkKUupmMPscCwXqxXQxWSjfblnvThSTDdKCclHhLkpPVMhkKHmvNewMXMEEziezadDSsOUuvVjHhVmydvtKKkQlFuUJjvVISXxaWwNnAsxXXaAxFqQaAkjJkdMGbBgmUubnIagfFiIvVoqRrVmMvJjQOQqVvBbTTsSxXCphHONgGZsULLllUunNqcCjFfDEmxXyeVYEiIzwzZbUnZGgSsLjJqQJrHhrRlULicCyYLlkhHZzOCZXAcOgDOOMmEedDzAaAaqnNzbTtItiITQTtOoqBhHrRXtTDdzZlLZwQTikTlpYyYeUudDxSdNLlvVjiSsIZapkusXxQqjJuhBhbmHhlLTzaAPoOpZTtbqQadGDjJXIuUsSpPPSophHGPPdExXoOalAqkSsTTnNZFnpvlSJYyJpJtTOHisvlLeeKBnHibBJdddPlLVLaAlvpRktTKrGrRgBhQirRdNcpjGozFHhdyZzaAbBYFfoYyTAatCciCqQHJjNnOlIiNTXxtHuUhniItCGqCEeNmMyiImvYxXPtZIbSXiaiTtfFDdVLsSbBqTrKkRBRrvVtBdJojJeMQqmCcJjVWwnvVrkwGgpVrUqXxQNnpJjEePLjJlHhKXxTtkuRNnloaAaAEeYyYXfEeyTtMmdLlDXOoxvVvGHFQgvjmMDdduRTMawWtTZJjtbmWvbBVDdKkMYCcsShAQrwWSsfFqwiIzZbaHJjUHIzXxZViIvHhfldUjhqQHAeIixXEghHLlaAjKkxXNEuklbXxlzipkKPyqVsWwoRGgAuUJmBbADMmgtQqTGSDtJoQqKZfsSFzWIzaAZitxCcZkhNnhHHtBpPsbNbjESKkseJxJjmMYLPpllEjSmsRrEeSeEoAsEeKCjJXxcBFadDAWYyotRrTiImejflLFJPLUFMIFcYJgXdDxtDdTNVblnXGKrRkDJUuPvVIecllLLYysWTFftJuUjfFebaCoXxBbRyaAYQOoqJrRopROohHZHhQqzqYyQGgRrqXxQvVnDdWpzmoOLlNiIgjMlLsGKCzYpWBbwLldVDZzdfFVvUZbBzBCEoOqQoVvOoPRqQuUYyvuUbBVlLrUrfSsFYxXrlGgdDLlXxCcREFKRrkfIaAlJjkoiIbGjJfAaFvVqKJGsSQAapyYuBhZgcaAEgLhHJjwWeTaAtYyoOedEDUuPpdtTehlPRWwuuUVVeEBpPzEtGgiUuHhfFfJjFcHBuTKUuUxYUTtAUuorDAaaMTnGgGgoRHmkKJMAaTAanNYDdWIiwiIJjZztTQqinNJrALIFfilKkxVvYibawWABEebBkKIhHNwchHkKCyCcyYcdDCSsHVQEmlLnAyZzNNvVXMXxARfBrRbFXxGcTNaAQJxujJUlrRWSbBoOqMmQuUIizyiLfTtgdGmMVzcayYACFfZupPKtjpPPjLfEeDjhZVvrRtbBnNyYZHsqrhnwWvXmaEOhHMPpmofFZADdlLaaFwWIjOsSoYybqQByYBCxJvCsXxNyYnRmMSXxGgBGhaVqKDZzKkrawjJBNcCuMLlFfoRmlNGYygNnnLqZzAallzlxXLVlLYjbIijJIXsSMFFfriTPnNbBYHxXhlKkJSIKmvVaArZzmORrRrosCvyYYymMTHEnLnQyYpFUunNEkAIianNPnknNhNnSsDrAwCcWwyYkOAaRHhfKOdMmQqgGVotxAdtTrzJUujhzAjXhzZcCHxeWaAzCxXloOImtiaAIOTGpPtTdnJrRjNKpqzkNVhTuDlbQIhDhZxtYQfvIGgaALlhYyvihccCWbLlTtBYymCEGQqpgbureNemuUMXARoreBUVPpDdpWwmibWzKbBUuIfCcFYyikxrjsvStTJjGeRgWUdvTqQtAaVvSOojSsBbhHBREIierjJOKWHhwNxXRlcEvVkIPwVQclPgGhHGgaAGxtPpSrRNApAIJRAarSmMYyXWwWHkxYycAaCpPfFtyUNnuxSBbdzVvImdcMXjnwfEsSeFeVJjvESbtgqbBCcUxXnNYyiIWwyYaAPpOEKhHkIFFfKbLlexXeoORrlLBGgbOlLTjdEnAcoOyJyYXmuZzhHOZzowWuhHkKUwdVvwWgGDEepQiIqAVzsSZvAmMRriNInwilkQqvIZhCcfFQqHOcgGCocwwSgGLBbiJjNTtnMbBUSlLfSshHUvVuJxQaAqXTSKNnLvVQqobsSrgGSdPyJUujBbCcbBkbBKAanSuoOUcAxAaXaCMeQHsVzrFfEMcfFQqCmLleBbYyBocHbBhAHhUBPRNeaKQzXfFxNyYnxHJjhqQMcCxGgJGgxUuJjCchMWUrRuouUVywFgWvgivsSBbAnjJKGgkVQFfJByYcNmoRVPpTsNVmKkMcyYpBbPTtsVIiaXUgGcorXxRDhECcBsSbCoOctLJBbjaAnASsNSLObBykKRrDdgSkQEetDckUNnuKhyoTIzZitrRNFRrxjxZzXtksSSsjCcgijLdDnNWWpiLllnrzRrKvkdDKuwLYyjtbXxKQqqqUNsTtvYcvftrLFjJLvgTIioOMEeyTGglLXwAVTtSsatslegSKksbOvVgBbkDLhtTaVvnlJrRVzZuUNnyYxIiwWqppPPcCjTObWxGgkeswWSXwdPsLlFsMmuUdPpDxXTtSCHhAlLzJvVFOoyBjvOoOroOFwWiSsWKkQGfRfFrFwMuGORyuUhHAaYlZtTzLDygGqIibxXBefbelNwWrRHpGAaNmsdMvrRagSsadAaDigBtTbLlRnNEeVWADlBPPpBbjKkNnAjbSYPeiijQIIjCdDcCgGuUBidORVvKhHpaABbLSfFwWOulmcCkuUVsBQqJNtIioaMfFjJmvaAVmLlTtMIYHhYTthmMiyYIaMmeNdyWADbBBSsNHVvALGjyfPpioNyYjnwHMmWKkwIZNmnGRrgNrwPxXpWRMOfZYyzAUKExaAXXxyYKosSHhJPpPpcamAaMIiDdZztTAediqKpzAajGgdkBbKflLqWFaApUuNXGGSdDCqZiWGqiWDCslQqLOobHLlSsLaAsSGGFoZttlLTFbyYBnPpNnTYVxXvSsMYMpJDdjKkQKFfCcMvYAaVGgPpRixosSPpXxtfUprdzZBbdhoxHlcCtTLoDdCAruURTfUifizZzjJkBHadnNagDbxXanNAelVxXlLOuuUULPpuRrVvRDdrxiIYNnpxyrVCBbPpeeSJjsJQqXxjVeQqczWoOwtlhjJHuaATubwWBAafjQVfxADdHXCpzRrZJfzZKkFoOeHxXHMNSsPpOJDpMmgDfFsYySQXolLhKSlNUSpYyUuSoaAUfFcCfyOofIKLaXKkxmyBbLlDdkdDZHhdDXxzrEXMFaqKkQAiduUkKEfNnSsFWSWGgOowFyUMtTmubZjJzRhcCHeNkaeEHhbyYYsdYylkCRdukIfFOcQwPfbEhMiIHvVBaJYyyToOrsSRpEePBfNYEbtKCcjmSHENDCcdiFfDNPjJIbBBAkWKKeEkZiXemMEsSvVHgdLXANjHhIQIiqiKkJngKCotwUpPuZoFguHWSVgQqfWiaAEeQqEebBiJjISaAsXsTtvCZDdkENDpvrUNRSsrfIclZMpRAaXAMvIOVZvFInNifVhlwjJfFWOsSAafdIYyLSVIiilGWwgLonNtsFRrXWwlvVbBLYIrodDQNaOoQqXdDjIidDuUMfFmjSJjbBcCEeiDdoODeEiyYcjfvVFFfJSsErROodUYyBblVcKkXxkcRAzvVZeBPiGnNDBPpYytuGAapJFosSEewWjlpPsiICrRDdpPbNdJjmyRSsrpkKQZmRrdDrBbxqzBfzZBJEzZCLlcarWpPwRAzvVZnIjJsUykKfFrffMeEmLlzjJZeEHwfiEZzZzRzMmbzuUIiEhFPpuUJjOopPBsSBDGYVvyzTtpPZIgMmVZDdvHrrRbBdNnrjNneCcaGcDNnkLlKcRrcLlCDdNyYsmEeMzOmzXEexJnCcuUJjugGxwHhwWiqQOzoYPSALuOQxxvKWXywRRbftOxXdDoOHhdGMmggscQoOajJdDUtOlgfuNlrRYSsqWNnYXxxXTtCjdDrRRYyqQCbHudwWwnNWIimkyJjCvXuUxiIOowWWwVFxsSJjglSWSRrWwIQaYydUvRrSWZYyZzzokREeXxReEYXVyDmMdglLGshlLGKjLlHhiImLDpeCqnkDdWnOpDeOnNoANncCaWvSlmMLxXdDafnlWwLBiIaxyTcCNGgogMmGuUtKkTVvlTZcCswFcCFKVomMTocCkyJjvAzmFMjnCJpztTXCcOaGaXwZsIfDdyrIvOpSfFsmzZMPBcCVTbBtIgnaOoVmMCUJfflVSubbuWTquUbBKyZzLnvVfrPvVjXxxGgyYvVHREUZJJLESpPNDKzZpaOoxEeBbXPVmxIaAuUZdDcgGGgFjjlYyxIEefyYaryTtCWaBbmGxVYrkjBbKkSIisaApPJKJjAAOxFWwRYENieEJCsSQzZnEegnJjuIaAUuGgRuUrZKljLCBzZcyKQdAveEPnRrGgGRrAaFnNfzZLlubHyTtuBbmGgmOTBTFfxaDdADtcKkVjZzAayuzdPhsSYUusgDTWwahHkpfKkUgGNeEEqQnNGDxKmTcWsCcfzqHBcYiIXmGLMFtCaxXAJkQqeEVCCDdUnlskHGgZzhkKLIcDsMpLlbgGkwWDdYtwWBbQAATxubaJjQHJHhqQjhqQvIuGaMhHCIoDWwdOoKaJfFDdjuOayEbiIPbXNeWAPpFOokCjpPpPJOPXPFoOoHvqnNQdatTYpIMmzgCOgvrxqFfQXbBnfpQqfUuKALHwHzlrXSQFbBMcUufVDdXmaqQyYOkBoORElwQqWBiTtqVwoZzODJxXhThHtvVytHDdnxbODdhEZPVtXxvVTQjJRrjFFWDChCcqpPxQqfFtRbTrhpyYwsPRbThHmiIFgWwyyYwUXgBXxbwoXTtxOFEjJWwIFgEtTejPYyFZzDHaCgbqQcCyYubuWdCUHVvYyEUuJjGgIiuekGCBQJjxnNCSTBHpaAAMvhHbdcCfyYrRrRPsMUuwNdDdDnOopPIiksOsfFZzKNnaZnNHVWdzZVSJeBTtZVNnvObSsJQqpLYNMbOVqbBKPrpPKpPajfFujiIfFXxgKLlkKmMkGnYlLeEcCUQqutTIrCcAwzZWxKVRiJyBbkyrOoRYKNRAyhHyoWwETHhtdyYsSdWHNGksTtcEinMTtpIpzZNpKvgGmMtucDiiQTgnDaAHFtVHIhJoldDGgtmMZzaAptfIcChPpPZzryApzduylLYIiomQZzqfQBijxPpTDjSPpNtpcCCqEedOrRXlLxqxJjJjhJjXxHAKTMEHJrRcCvVjVvhCcXxoOlqHcCRLlivDuUplGnNEeQMmNnZwWPkxozFfZLmcCexDbnNnNuXxzBDoOdmIpPJWwfLlFjiicSRDdroQuDFZzjJGLXOitdAbLUuZtFoOkbwbzLepQbWQXzZlxJjLAaQvojJmMOBaArRPsspqgWwxXOFOojJIraYpuYyuUUbImMPizkKZvRDdXECZGgCxXczegBwtMIiuWPeEjVKkINSzZBFfvVYtTfFrRnGgFpPFybmrHquJjUsoAaOWeyKCUSsZGWkHqeDchpPkiIBbKhWVVLDGgduxXUwaARRUpQxvVunhHcCNUpPXlLDdgjPJCgspNvsDdDdLlLvkDicPpCHzZsVvBhqYprRPSIFUOKONFcZzprRtcvcCErhHReAxUnXLKLNnRRuxrRteTXxsYhvmVgNnuXipMliIspZqJOoPczvJvVBhyERxXreLnfFzAtTimMYpPmKkGuukIVhaAdWwRrypGhHgvcsNnSCKkeIgPdXhDdDiZxElsvbBsSyYVRpPHlLtPpVRrgSsGqoOmMkRXzaYyAZOyoDeGjJTyTwyYWtYUfFzZkYSJEDdQTbBtXddcoXoaASkKIsbBNnegZzghVsIiKoOLlxXRrNwgGWQzHSEAHTtxnNXdWCccCVwEdrozfGAalLIXaHGKGFfzZdKSJqsZUPpuzchOoGMgGxVvntIiLcOoCqbeEsCcnYEvjqwWlLleEuUhbQqdgGhteEbiqQIZzcOXlLxfpXNopFkrARaOZljHhGIgHhmCcMrUuRdDAioweIdJxXjSaIcBmeABpPdMeLjJulXHAIYyEenNaAaiQNfFOizZrjOqYpPvFfSsZrDuyMXJnuUkxVXdDlsibwWNlLwOocMIGCcNhLsfaTtAYlbEeMmOMmTtoSXIUunaIFrDMmSsSEnjOQNnRnhHNwlLYgidZkbBOYyTmtSsTVVuUjJkKwWtKkTqZmzFfUHhtTufOofFJBbKmYynNMmnhLVZzUuCmMNnqkNnMrrGNAanPeEWaBbSLOwvYcJjjhHhvVHtBbTJAapypeXRtlDIivhNWgtTGoIgGNYtsnSKkyYlVvIiIvWwUJjteETpPavsTDdyYYHCchVMATzPpXnNLRWkKEQYCMNgbpPmMhHJZpgbyYUiIuBXlLXkXxKxPUuxAaJnNAbGxNgGnklLfXmNZzeEnpMvVZzOpIvViPMtKeSsEkTmomPMxvVUnHhNuTtFKLlXrRAaUMmuAagJjBBbajSsXAapxUuxXVUuvGVvXxPzjBGnmcyqsSewrlNnnNxZtamwWsSPpvytYRkKryGgSrRVAuFfVfFiVvLZaAzsNSLlTyniOwnHVdLTrxENnPYmMPCyWkKwVWolsiIAwpQqyYIiNnGggRkKRbvVBmKQQqcvlHNMkVvjFZMzuUQvvMtoXQvVqxKzDIGyWrcCxCcXqWwoJNejbBJsdAWRrwaRfiANXxixsLldHhtTyYDYyhHITtiBLyFSlHngimCWnBIStTBbLxvdDXKNjDdxmDdYUdRzCccCEeVyQoJRIonmMqIAHhiahxAaTtLUlEmTtDbaEMbCiAsDiEWOIaEsSHheGigJLzoAvZzVraUuRKiIfPjyYJOnNnGIiRHhUurgxPfFForRCBNXxnTHUnNuDQTtqBHWwLQJVeymMNSBQlpPTNXgGmgHCQqsSvVSQjskDgOoqWwQkgGghXxAxuUigFZORDeEeJllLLRrlLjWuUvFqQfwDUuEDAadehaeshZqnogGOoOkSvHvVGeEGESrjCcJRikKSsRhHrFfsOxOCDDxqaAeBbjMmsyKuWwEetIigfFEdOYoHYyxrKkXdDxKolLOQvPpThrnNSLeXzayYAIdHxDpGiEVPYFfDvxXiKUUgGgaTtAjJMyIaZNHhEelhmxXMHYHbZzjFfViIAavVZCpEejQzPSnOoNRraAaALmPIxUxXGvMVHyStETXUrrlklxNulvVLXaVCTPCfnokoKkuxQqXfoOisUuyQHbNnSsBjJlLbShIdUuKVlwWSVnPxvVXSwWGcjpJGlLlLAaqPurrWmMRrlvvwHHCeEdNnZzyYEQhKwgzuckXxYEwSQhRMBYmMflLfNyTtvRrVbsnWkKwivJpwKkUuUlLwMmWmTWbGEcexriIlvVLWwVIpEeiKkuUBsSZbBzPrRyARifolLaAGbBQPSSpbVqlXLBboOxqnNwBqaAPRraAElZBWXoOxMmBKxXfTzlBnNaDTIZzoxPplgcCfdUtDdTqOsCIpPhHHhMAabIiZkKcCUrRKkYyBdXESsMlOXKyYpKkzqgXxLPdVIrhQLemOotkaXQIioDlLQchHPTnsdCcDzZsSJdtXJIbqqQFfFMOfFUDkKZPaYRpoPpWwOHbBiFtTTXxPpPTVvgGLOPpjPpHihvTfhNnRrpPdcHhCaANGtqIPpIdsSCcCdDUTVkPSsnPiPmNIIieCSKgtTgGnhqQwDeEDWweOYnHhHhNBbFfYarnYeOoUuEjuUIruUvoOjJklLXaRiyNJUFfJAkRpkQvZzjJoBnNCcmnyluSsUTtPjBoEezbEjsiIcCHhvcCDrRnQqNKkzZwvhzAHhkjJFfSnNooUcCuOSKWmSprRFDBFgGfIuCcUiVmjJaPhbtOoscXvaAaNnAVqbcOSsogKEfFizZTtIjJlLUHDdVvDdhehucNnUucCOMmNnofFDuUwrVvCcRUBUqQBGcIiAsShdfpJGfiFWwfefTtxXWGxuQqWYGOofeErRoAXxaOMtBVvrpSWPHRUutoxvVXjJeFfkKEoOOoOBrTDdXuULlGQqgQCoOJjcHcDddPpwffBbzZJqMmoOfFvpzetpCcoOPTHoxXBXNhTYnNHHhjgfFGOoGgOodWvQgGIeEbLerbKfFoAMxvFsSQqCRrmZdTtDzHhfqsxRoOLZIihWhlaeEYykFPFNkKRVGvVocGZMPpmiPybBAMmfFYyBbbDdDdBqQDVhOHYyhfpxGgpooOcyYKfawEnxBSsprRBEeNneYUuAorRUAkPpMmOicYymAgUiVqHgGhIiABUXtsBbSaaSsqieEITnNhHeEdDyKRrJjBUumPpMiIPrRnNmHhSdCitTlaAKwWSTtLNjJkKucVvQqxXUtmuUMTucvKjcTfmlgMxyNZznCbhQZFdDSwCTtkKtMkXdgZyYzenuFPKAtErRejJdGEeSyWwHpDZUYJvCyYTLRrlQqxlLCcXdeEXtbtoMMUYhBUgrRGgDdNpVaDLlqNnlyYLBPpbkYCbclJLkzhHiUNGEeNqBbcdDAajIDkKdneyXxrvVfpPXoTtaaSsREeyIivXfFgMAaAwcYHhNnxXzZzZRABbFeEiXnNSsLJJbBfEeCSscCNgGPUupnbBWwFfzuUiXMvqDdAaQpzZAPkdnseljjvVkEeKzueEerhXJpIEeiRSVvsFNleEYPMmpoOkQtwUBBUsvLFFjuxXcvOWwoANGivbpPoViRYQqbmMBFiSzWxwWaAAgAoxoqQOZAaPjvVjJcNJmAkKafaAFiIfMZzZaLlVuUsSYuUgGKzZOtgGmMOvklLIWwiffWeESpPuUfFzXxjJIitLOFfntYXAHhTLaAltZzvVxsSXblWwLNFyTtYAsVwENndPoNwKNQcEPdlMJkTtAAaNnXxagHSBbpPYuUvxyrrKOtTwsVuDAqiswHhJjrRsLGEeIiXfNnCccYKMwWDkKUhCcBcreElLJcJLAaljcCywyYQyLnrRUFJjmMrRGLoTuAqoZbBzOCrRSGAaDoTFEeBrrWYxwkSsnNVXXqoUlaspyOZoIrRWXvVUFfnNNjJxGgXjZKfFLlkMoBbZSnZzMvVmCdQsSqCYygjJAVvECcjJFcCfJRDRGgsShVKIvVikzvGEeigdbbTtSsfHepPZBZreeEIJfoIiOFjFRSspvVPrWheEiIDdVYyvFwWaAFHhRhHYuQqQqBqQaAFfaAbSivVNgiIGGgejbFNnbZQwWXRMzquUPYMDnBQqcSLJOftTjJjPKkgUTbAadgTtIpbEarCKSsKkCcCcCvLBbuDeCiIIdIJjsJJxAnqOoORiWwiIyGgxFffcCSsSFfNnTvLlVRrOcCIplLPiIvQqVRrvsliDFoLHzvoRriQqVcCmzZaxNfFngGzZrPmsSzLCiFnuRVPdnfFdDzZeKzYycVSxuMmUhHwWIwFGvswhUGhHyYfOzWFfTOckoOGaxlesSOoETtDeEiIGhhHGpPcCgDdsSxIDHhdzpeEPkwKabipTArRatndIneIihjJsMJgGkTBeynNdDLMmlnFbpaAPuUrtzdDZTRtPpIiYjAbMHhmzZhmHeWwBDtTdFpWbBqCojJiKUYyDrcKLYyCcDSybByYBAKnErBqQYfpPZzsweDIfmVvxegGmdDMRGgnWwVvNknNQqKKYMAlNnkiFSsYdDFzZRruqSUusQOmMsSsAOpRrPUuozZaPIiskNnKRrunLsynNYkHerRDvVdEOxqKkdDSsdGPSslLTtdjoyYnfFmhXxEbBedDhEiIBbjPcxhfFaXFvqaAJZzmMzlwKkWLZFqQbBlLUtPpvmMVIiUQqLXxTZCEcCvEEPpCccvRMmYXPbBNnyXRrVvUMmlqQCcPpiIZFfzopPvLEeEBdGAnNeQqEDAcChbKZIFIzZjJuFtacKNnkjJOhXfFOZUuzHDDLlrRRAaPfFuFuUTOXIrvyVBbIimkKZzkqPmlLymytjJMyYmNyLKklYxXRrfaATTtzsSmMOfggliIoOhBScDddwIQgwIeEzyYQcMmsggxnPyYfJjwQFDJZTvVNntPkQIcCDiIECaAyYlLjOkMmekuaFOoJjonziwWhwNnWMmWtTNJnOtTIFYJglaqLlKkQhnbdawYAWKkwaDnEOBboAHhHyyiAhHkKzeEYyZOOoTbBnvVjbSvKMLjJUoyYslsSLljJXxPkUurjeEJoDIbcJiiMmqJIImMEpysBJadDlLJxXJhHjpbLdRyYrOoawvrAUhHuaLlGIAeEGAAaVmDSMngPlLhqrRrqQRahHAQnGgLEBFEJjQYdrbBogIitTUmzZmMWgGCcGggqwILlfmMRJjoRrVJbYfBbQqjZacRrdvVDfqoGhHgOQTtXxiISpDWxEgPtTrRpGKHhXwBNqQnotJQXvjLVvNAHCbBcldKGcjJpPwWCZzoBAaGyYECcLSHhTAEVveEevaWxtYmKktMmGLlVzZljJFfflzZkKkKRTFfFVCgGyCcVSnuRVvUurQlLQkBTJlWrRUVkNTLltnqQZbBMMmmUuRNLVvwWhHIPwzZwWwlJIGDlLdBlLWwbJxXAbKkBauiCcIUZzbBKVaALldDvTTGgcCtsSIiJXfnOoNJjnwWCcOZaAzYHhHDdkKCdbBTqbBRrhHgtTGQqKsGRrYolqQsnazZlCcLNqQsSlhHThuqQUHJjeHdyGjJLlgxXLlYOCuUuxAwWvRrSBbCYxXyvRYdDypkxXBbKPjJrnBbShJjHtvrHhRrOMnVvCFEefbjqVvvNaxXjJVIGVwGfWYDdvNpsSPnOwmHCcNnXjpPLNnVvlXmXNnkKpPQqGguUZqkAEnrpbucCCgGcaCObVvhHTtRZvShqELlmuUsNHhYpXxDxXsRHhBKkOlksttTjFnNTtsumIlsWLbBlWCzQqiVKzZLWwIWNitTnaCcAIaakKraARPZzWUMxeEjYyYCaNRrewWEeDJtoNnpPZUuzXxXxEEHhBBbkfvVPpieZzkKoGguQGTBQqsTtWiZIibBzFfzZJjINoYyMmOJxmCIiDSsMiZnNDXxsXYTcCIiXomMWwOKrRhwxsjiaPgvUuVGnNYyanQqsTkKrRMLlmXXDdxEVvnNegpLlXxLCmnNMqZzhHlLfIiFvVvWpvVigGKeCLHhrnkoRpPrRrWwbIiSeEsJsVDuwGrEgJjRrwHEehWsqQrRVSJRXlLZwrRBIRrMPvtTEeRrubEROJcCjraxxXElLnRrEQqRUBHhGjJNnPRreEgecMBbmpPjJMwCHIVHrAaRiVzZzZFwMmWIhHiTtjJqyTXLlzHdoOIiHiRrqBLZzzZwXxtTWqQdDdUtHvnKZQPkmMDgtoTMKkiLnNcZwEeUuEzZgGqQJXxapPZHZxtTvVnNXRDaXdDqQTtTOvDokFaArobBKkEeKWaRdYkKyHKNAfFapEeKefPOyYxXoqNlNejlLJhtQKkzZqVcSgGwUKklgGLuqQPpWMNnRdDMkisnNjLyptIRfmHhxGgBbiuUBJyvZZzLzZLbBQMrOmGgdTtDUTtnbWARdkQvAHgbsraAScVAajXtTcbQqIrRiNnWwRxXxXoORrYyjJrlLJifAsSLbBlziIeAMfFxrRiIVNHRQShOozypPYTzSsHhHJdFlxXqQWgrRGwJpJXxTXxkfFUvgDGTtFlIMfFCcmQqYZIisfFyYtcCTwLZzXFfjdDqntCgeErTtamxngGqQuUfgGFnNnYaNMeqvVvhYWnyXfsqQwWSFVGgvlLaRPpjpPgGaAIsSytEeAamjdDMhIibBraAObBGgVvxjkKrRJXNtmAdROaWGgwuyXlLwLeElzZWjJuCcpPktzMmZUvVbhCIKUuZzkwWTeZFfbiIvvUrpLACcaHZzDEqQEMmlxXGeCqQGSuEeLlQqTkqQKGgJjtUswWVvHhzHbUPLPplqjJgjkQAoOaUugBAaOKLiyYeoOrSsLRlVvLxkKXyRupOVWwveISsicHhbRrTtuvDnYySsgGNuUuUPUuKkyZIickgSBbmJTtGnMZPwNrPrROSKksjrOcDdABEwSYyCHhEivVpUujdeEgxeZzENLBvnGjyCfimfulpElLQvVqQXIixqdDbFfBkNnKnNMOwIwaAWPdGgDpilLfbkEeEeqyYRrQSaOMsJwWCceEeLygFfGXFfjjJwWIiJBnrRBSbTQqKZzzQqMmbBXTwZFfzkOjTwWdsFfSsdacfFCMjXfFxnNarOSjJvQwWiHhIYIQqhHZfFLBLKAaUOkVvgmMOPpoeEnNGKoSsenJGayXxYJjJzZumMDLFcCihuIihABJjWQLlRqalLbBHympPuKsBbSkUNcCnwCcMBTzwWAmtrUDWwAaoOJVGQqqEefYyhqQgdDAUaAuaVbBdDYSxXTtsHhFPpxyOLIiFIiKkfjJUubgGBuUxXQqvPWKRrRNvMmEmMOjDxXbTbbAkKaBOorRtjJcCQlAavEekiIpPKIaAAIxMmsBJjieEQqzTpvzZVqQyVMYtTEencQgcTLohcIOyyeEYnNMrRmYDfZTtvVOgJgGPlcCLCSsnDIqNBUubFgGfSsnHbDDbBDjBbfFIhNbfFkEmDdMZzEVSISshEeeEoZzjPaANIinjjsLVPNfzLlttIBbiKQaGgLAeCcDppgoOnNPaAYyOsMnNmpixAadgDABTtvlLmmMMwWVtMMmBHbHIVvisSUWwSUKTtTtPAlLJjzRrJnDsaAXyYOoEDdyPLtKItdDQqZzqWzxbhHBbQqiWwlLBZvVQZwWoodWwGsSOooWwCNntgMmGTaqQxXxzJjcMmoBQqbKlLgGzZIloOSsuLHHhhReEbBuEIieUjIKkiBbyoOSsRrYlvVzNuBIeEiWZeyyYvEYQqMMmedvEeRrVJGuUgQuSzpPnoPcttMmGgdXxDGFfAVvXxiuUNBDKQqKfiJjftYyTLqTtuUkIkKBhHbNIJjiniTVDYMvJoAYyGgZENnYyIZeemxmFfWEnKzHaAhVvZktdDcCbBsHtVNDdLBiIFSsJVKkAavpPWqQEewRZiYlLYEeWyMmmURLVAYnNyaDeEhHsYcLlvKkKcCkcWmGbBCPsEAhoOHOoTKAxQqNuUrRcArBAaJtTbmUuMlLPxdDOoFVvpPBbWwFfGsdDCJvwfeNUbbBWrxWQqOaAfNpPMvtFscZzysSYffFmMBNiEeInEebawWmdRWlYELVLdDPnPpboOBnCcCcedZVwPpYacQqQJGgdDOXYZzdQTmMkWwspPSulLUyYbeReEADNWwnZwWPpiIxXDwWdgBBVrRmeExPpLllUuWrbsSFivJyYknIizQqZBbcdDAaSsIiMYnNOLlbBSJoOjsXxZTGgIifnNFVMETFPbVftTGEegsnDlBSsbLAMVSsLkKlqwuFrDdRVRGgxTtGdDgqQXOodomxKbBMmxadDxIJbTMmLinNyIfpHulOoKkLUHKjJvVkraWSLbORaATtrZNBbQTHhahHAjJRlLrxcCXtTeExAKkeznNjkaAgAWwNkKyYFwwWxpGjItTifEeFPpYgGyJVpnVvBCcVvJwWjztTIiZbAGgVvaTtCcStXFfWtGGuOPpfjJiIQIWhHxXbNoOoOkdAaDKaAcrnPpNRYMYyjQYyKkLTtlGfFdDgAnqoOktHQpjKkYyjHGYygwWRqPQhvXjJrRxGyvmUuMaAeEEqxGgzZFvVsSeknHhWPuHvRJncdygOoJHFEvqQQUumZzlLMrXhHxhZzZjpqvVwWOoPnNnEOoeVnpPgeTqQyEeYtaNnouwWkqRPGgeZzkwKkuVvbZzuswbLlNaApPnDdEeBWXxbBVdfVEVLrhHDdwWRGtpajJqWBbwgLXHTlLUbuUBuhiCXBPHhEavVAepMPXxIiszNTtOwlvpJiPhHxQqQUuIiZMIdSVvdBOoHhiORrWkwWhubCvxBkpPSEeSwdDgHLdDlDVvxLlNnuUmJxXsBbSZycPpEekfFKwYOXxDOiZjTfFdMmdDKeEkaAgGjJTYgUYyHgaAKhHsSZNuUpvVVFLLlTTtiIkGIikqfFIArRCqQeEyrCzZUIiBISdDlLEUIiugLbBfeMmaASFsSGgxjeXaAxsQqIothBPKeUPTtlLwjKkxXfLTaAMgbiIUSsujvVesMmSBbLLOQRCXxwnSsNnNZwWXxiIJmiIJjbbBkPAatKkdVdDvxXDTIMHAaEurRLlAWUujJgzZkofPpaAKmOMQqsSmtToebqbwtdLlanNnZSJsSjnNvrocCOrzEeDdgbAYyaBEUDGgdXxzaFwCXLwySsYBsSaAoyYZxXSNnsmKLlkMdscCxgxXGQbBqxXXpPyAaYIURgWKTRrtfFAabUnNuBpjJPnNAVgvVBjIioSFfOoIZSlLWOofPpNnxXZaASWwszRrONBQqbReErGFaAfgAanZFMmyYKkfOdNQMdOMkDdKrRpldDqoOXxQTtLPpPNnvluBbTtoKkwWjgGTtuOKtTuNnGgferNFLleyQqYSspLlgGnTQFfqBAHhfFaFfbOaAAjJaVAGcSFKyoOnNnfFjoGgOJFRLoOEeIyzZpAoexXgEjWwyZzYxXgXxGEeWYywjJRTtkPJyvntrkKJQqvgpuaBbFxYyzvVMoOFoOPovVOwnyYMmNWvsSVUuSsAasAahHTSMoOLdDjJRWwLlUsHOgOoGyZEdmMmMLNnxzZBUbvFZznNfPpGQqKVviLlcpPLdfFfFDlQhHpeEPfFuClLBbcsSUzasUZwKkWzQqqXxtTXLyLYyvRrlLDdVlxUrXxmOoWZzcCJjmMEGgFxMvalGeEgHCGTwjJFuUdzvVsHhSQVzZvZzqvVRhHDtTtLWwlGyYgIrYyRVeYykiITtKIpPJjiuUXxEPpFfDRmGgwhHuclLCUWGFfCcgMzjJZoOrRMeEuOPpLdHhDiLlIPlLkKQFfNngMwWWwDdcuUYBQqExXXxenuCcFjJoPYyRrmMUqgwyBbIBqxQqtTXwWakdLvPpVajEXxeJfTObaAzGrRtTvVCBbKkihjUuCcfEWwziPpIkKKaACFSsttHhnkrRidziYyIDjJxlLXpRrkOnrpdDWiICUOWmMLljJROATAKkDdTaAqQAAnQqcCokneEFTfFtrWfpBJmKkeHhyYUudRUurDEJxhinNEFfBoLlOhHoshHrCQqzZcWwtTBpVskKlpvWwLlkKyRYGdxXycHEeCQoOqQOtTocZzhnaANHAbBamMpPDdhHaAbPdDYTLCKkEsSntTtTvVJqQZDZSLDduUSbdBbDBQqETtaAuPpCcUZzdBoyYIiuMmUeExXdDsYySrROFvcCuUrRVWfFOoWKkwgGWKkwgkKeAewWnYyiIPqQpRIigGdhHDaqQOjJhHouJEWwVDOBbodTCcjJCcAiQqIdQqXDuJjUJxXJjBRWNnrdIiDbcCjVsmMSqLlQjCcrRGgLaTtYAHKkvVJCZzgGcMmyvBbVIePpETuUfMmFtNnyYkoOTtKJjxEeXNcEMmQqhqyYQSjleEtTLiIERrPpekBbcXfPpwWqjHgGVqhrNnFfDdiMmNnfNnyMmZzBbRMQGgHhMMrKkciIJjJOOlLogGonvVMXIlLCcKRreESspKXxDKsGyiIiVvAtTiGyYuQqUdOuUHFgGFflonNJjhLlKkKkOIAmorRCXxcdDzZOBbdDEkKjJYgtbBTGvLvVUYyVUqQsSIwWWgXOJYypkgGKHKVvkcFkKBfFbgGMmCFMmHMEKkHhDNndarRNnzZSGnNxDdPpZxRNSUuNnBbzInVbBXxSuUsXxdDlJjCjJaAnCEAUrOofPVYmeMbBSsmEJjefqaeESZzNMmnpoCcOdiNnIAakKWiNjcCIZzikKRrRwWIBbXxiTTtGxXKkudMmPpPKIlLnDLNXxbBqmMcmeEjZSfFwOIUuigohRgGsoNGBbTtgQqNZznJjLlZpbxXJTJmlLiWYIiGgyDdfFYmMOoqJjbBFfLySsiLLldDlIYYylMmfFcQqxXnbBNIIikPkKwWvHhdFgUGgMmujtTTuUUQsAaSWnrRenxvrApUPpCcJdDULyYlsSnUmMuyYigSsSoyYOnNsGyBbcBbFuiBbpbbBxnfHhFBsNnMDjJrRoOKSgGCcwWLqZzaArRQMmTuVBcxwkOoHxaAMmhdDOHzZfctaDdAvxXVTKkYyxXwpeEaATtVvPKoOezZQqiIMrHvKeEPpztcCTRrnDdNGEeMmgZDuUoDIiDdxXpPZzuUFfzkKOoOYyxXwWkCKLNnUlwWLIGgDnNJcCoqcDiIjJzCcjrRJvpPVwsSURrBRrbtKGggGkGfvViIYeEDdPjSsrrfFoJjOcCWJjwNSsWFfwzoenNEOZcCBbTEexwHikKdzZoOGIuUmMAgZGyYCUuwGgSslLISxvfFVCtTsSACmMwWWwEeclNnBbYyIkDaAZdnNDzePpEfWwAPPppaRrnkdDwSdAaiIDETPpTKkSsQqttYzZqWnNWwJjEpUftTtwksSrRPpBedDETlLtcEeUuOoxWBMJjRraOBbhHbLlBUFUnNufxrzAanNZmYtTyfFoNRrnOYcCOoPpBbWslLVvSZzSUFfZzuzycIAaLMjoqRrlvVMmLouUGAacCHisKzBbKPiIrkiEeFCeOoCHhhcHSsdRrWNRrzDsSdCfUUkKuoZkZzcCfFKfFrRvVIiWgGwEeANUwWmGgCcjYWHhxXmIKkiMvVwnuUUOoUnLhHZztrpPmMDpOoMYyQqYcCWhPpWeMftTFmqQvyYVECDdTQFzZzDdyYRrZfmMqtOFlEJvhvZlLZzReEIiaAVvTyYMmtkKKkeEPpwkiIfFKOoCUukKsbBptSsIiiIVUiITRfNnFrldDLlPpLXxKqQSpPsZzRrWKAaGQHhWwTtqzZRtPpUJjuTHUfmZzbTZAabBzHhtTxXHhAsSlLaYkcCKkEeKpPpPCwWEWwemMnNjAaVvJBbaVDdOovgyinSTtaUuEVHhvfpPFfhvAlQEkmMKtnTIkKUuiUubgqQGaUCeNnjeVKkIghHxXpPgIieEeoJjDfSsFdoOOVqLlmyYidWfaAeEFmMTRrqvfZEcCoiIOcRrSscbBCiIwOgGXxwWSsZRrzKouUzWwYyfGgmQTMNHjJGsSxXeoVXxgGBbvMmyCPhwNnmvBbVMmUqQuYvgKlNUuBbTjvlLVgGSsJtUTeXrZzvszQqSNWwnbtmMTdrRNnXxOorgGRlEAanSsKIolVjJTZiuUJPpjUuoOkYyeEKuQkKtTViIqKkDCcEmYyByYbJRSsTtcMmDNoOmMCMmgGvJlaAMDKWwmIegGQMmWwyYXVgtvVTtbBTZUuzWNnnJjKZVvwRxsIiBbSqQIJWwjKhHwHfFhkKcCbJjBftBHThSsHEVpPWvVwCFkKqwdIdXvVavawWvVtTAagKkQAGdjJDEemtWQbnNPaAjoOsSOABAaSsmMpydXxpvVMmHhkKQVviSsINysSrRftaOotTABbnNOcZNnJjzCTtoTsIvCcXcCDhHdxalLDpPdWQqXxbBKjJRViVvLlwWxDKkiITtUWIiwCczZRXJjOEeJjKkotTIbdDhHNIiazVIyYxiIXCchwWsShKoOcoOYFaAffbrahgGHONEdkKOokxvNncCEEeeYaGbbCwkXxdMPpYFfiIYRrvtTVQtMfFCceyYyVvUbufFnNsyYhHsSKaBdqQDgGiyYYBzcCsSFzAbSEOZAaGgGurkdYmkoGTLltsSCcRrlzxXOmMuUmSsOjJRrWMmwAFsQqSQBTxwWzZTIDdiBbldoOsSDExdCcDdDlLeEjOotiITFxPwFwWfhbBuTIzqQtTMoOLcCrRlqQaDdaAetJRrIsSFvXtTmGnzzZZNnCdDcPpNMmDAoOmMvVELiCAXhxKuUrRyYGnNARTzZOXzNnjJeCKkibRrzcZNnzhHWwPEbOouUhShdDHXxLlUqvjIKkQQqRmBoOqQbMpzZdwWeErgbBGAhMZztTmOoIBJjsSQFTtbByGgFeZzwBEechHwcCSsbXxnjRijJIZWTtAacCmMwzZxrRXSsIyYiDNSbBbBFfsmMkIHhiKZOffCfHhFJjcMmFGgfFaeEAjJfFQqCVvJjtTtTrUsSeEOfFNZzcCOoEdDvVlLQqOpPHDdDdhTkCcSvVHhstIWFfwlFtwpnhZZunNUvVTtzCcWwgHzZhaAJOgwWAaoDwWkztAxXkKpwWunNykKuUypUAQwWcCOazZAlLxNsSxeMKkmacRraAMmqqCcqWEzVvlaALSebBNnwcCBbghHWwaATtGLLllPpMmdrjsPpSpPJnNTtTTdDhHZaAYmMybDpPjbBJwWddDBzOoKzZmMnFUzTwnIcFHrlPpLbjMmJGhywWBuXbBvtTkxXKVWwavuUVMmzfzZPpIrRLfaAFsnjJwWkwzZkKJSsXfqQJjFsSfNnHQZmytwWTepPqIiYOGpkKJQqQqjNcCbKksSBnppPfzZFGDdGiIgXBriIeEKsaAfFFfRkthHNnDBpCcGRrJjgxXPBwWubBUtFLRAtTrRTtbrDxXQFePBvhCUlLEJjebDdjJwjJJjRrAaOoGhYPibBIfueQzjJSsNQqchHLSlLsObBOacCASCtnNTgGIphHeEXtyYTwjSnNmoGgwsyLlYoOcOuUkUuyYfQPpmMjJfBbHKkQqhDBRdcCDrxXaAgjdDwWPpPpGgwZEezMZBbZPNcnNoOCaCcsIfjJFIGOsSUDyFfYHhdqQsSopPsSFGfFrRVZjbWcRrJjNIinLlGsSgDdaWwPpAiOouUMmOIfFmlLMEaAzZwWoOKzZlLYyzZOxXfFOrRPpHQUkKuHwwSCteOomMmbBIitKkTMgXZyLlLSszZmMlpnMmOotRrTJjBbeQAauUqoOyzZumkFfKNxEnNcChEBbCcvaiFftbBCceETFfAaxZNCquUutjnNWpebYyKjAVjhTTeEtiSsItsSWqdDIiucTtxXCHhaAKbxBbJshqfXxFMMmmuUvVBZzOobSsMtTHhqwuUCcWMzqQtTuUKFyLQqPhOoGmMJjGgoyNncOJjuUmedDKkrRlPzjJZpPIAriIRaIirzZFYyjnYjoCYycJjOoCkHpPbByYcCxNnysNneuSsUElREereClLPpcaFfAbBiSOqCNBQuWwdDTtUgXLvVXiIxlKEeGeuUYybBzyYSsoOZukKSllKWwoOVvUDUuLlqYyGDJjAadsjByrRYPpOoPYkKBjaANEtMqixRrkGEtTegKAgZzTcyReEoOmNSshacCRrRgGgMmGuveEkAakKnkKNkwWbBcFfCNYOvuUIiMefJDBbdjFoSsOiCpnYyEeNtxPGIigSspjJjUxXuTtaAYUusaAGghHmigGKkXHhsSXKkPhHpyYYJjDDdrTHKkhakKAWAawKkTgGtuMmyYyYigGItVWmMkcCKDTxXbQgGiuUfFIqBfFPDtGgkvVZzKRwwmMiIOCcyYDzoOSsWDdRrdUsSBXxjJWukKUwfvVFlXwvqQBbJkhSHhoBdzZqQwOZzolLrREeHhJjOJgGXxjoWGPpoOGgwTtWrRjOoJVhHfGHdDLzZlLRrVvlzZtTARrQqMmFfVvVvgQbBqpKOotcCNpxXECceEEeePpcCPvVvVnTyYqlLFYMANntTWBXxyYbEcjFyYoOcCfJClZyYAaaAvVCuUmMmRrBbLlkmMZzKqBbQmMppPLRrEeLlypFfPYAayYyYXzZCcqyTjXkvVNnJOYKkpUugGPuUCcWNGInwWsblhaAHSUusyYBbedaqQqQsVvMCRrwXJLljzCcAajViJjIvRGgjlpPLLlJHLlhBOevZQyVgGUzsRnNrSOhcvQguGgUSgpcCzZbkHORrMOozZIiEeQtTqXSyYolhHpPCcdDWwvVlPprReEHhBGWDdvVwyYCcGgvcCTtVRrQVvqwWuUJwsrbBRfcCRryAasSSyYzlNnLOoFfQryYyYRqhHkVvRrYyKnNOsSaANnJDdEeoOnNgGjTHhcThkEedDNnQqKgqBbQhHAocCnNKiiIIkIiLsxXkKZzBpPYEebWCcwDdLlBYyxRIiRrZbUsvwAyYkKxXaeUuEwWlYyuUtTLxYyrlLSsDvERrcRrCIWwPpLQqllfFQvwWVOVvoMCZdDzQvVqOEeehHHzZxeOoVzZFpPfeEWcCdEeLJHfFFfmNnfFemVvrUOouCciINCcOfFRPprbBoOoJDdjZzRrovgGgHhBDdrOosmbBjJExXecqboNNnnRlLrOZzLBWwWwYyhHdDeaglOoEfbBTrKEeMmkAaaVvoOmrRpQqPqVQGgqNnBbFTtfUuNEelLaAUjhHGmTyUuoOoOWwYFsPsSoOpSVRrfcCoIDoOimPIiAayYpMyzTtrRzLlClMmLQqEecvVVvZagGtbBTttSsbtvVVrrRevVEURqQZCcNnkodxXAHpPjJHyLsSlGprGKkVvKhuUHkOoKGPpglLkdHhFEfFexXrRDdFfTtfVvVygbBQhVvHsLlSqwWQTtLlkvgIinLXMwWKrRQwLHhlUADdnNaBbuWwWTtqsnNSgGwqQWotNfvzZVxXOoODJjxXzLlFfHTtwKlweQqARrieEIemMEhHLvTCjJSsyoSELlBoObezVvZYkjVvHhkoOlLegxXGnoONfzpPZZfVvmMVQmMEeocCOqQKktzhHjJZTtvPXQqxCaAnqQyHhHlLAvOoVvVfJjwbBLlpuUPWFVEwWejGTtvVsZkQqDiAayAaYowWzZqQibBehjpwGrlQcXIixarnbBNbKQqksSuUUgGuBBbgVvGpNotTXLVvqsSQqQyYUuSsHGgeEyYiIvVcDdhkvlUCcuUuRBbrRkpPTEeKLRrlvVnllLLNDTtiIdnNWSwdIiCcEbIDdmXxHhMAayjJYuUBbVBETtepPEXnEeNNcCnHOoTtiJjkKIVtTEMswWSNmMFNnfnrvVRmlLGbBgmzJjWlLwZanPpOoTtQqDdcCSbBsyXxMMmjJODdoLlTtjYyTHhBbMmgWwrRPnNBbpTtCcGFVlMDdDwJoOjWlLXxbQqAaOoVvMuUBbMzsrkKPpEXVDdEpPJjhHsGakOvVdDdDozWwCcZPpvMmDdAacdxuqQUXPpCcyeEQqYQiIqDBygGlLfFYlLBbrUuUuXFxlLLBxfFVvGgjRryYhHsSxaYyAyYkKNpPnRlUuLmVVvvVXGgniILSeEIiCFfcEekKIcCXfFILAosSyVvCcYyYGgaiXkIiSsxXwWPpMYyEepDdjEevVqQczZOUuAcQZtTzCcCCcceEZEezIkKrbxXwgGVOompoOmMqaAQnoOAdzZuZDdEezmMnoONFMmkKWwfOMmCdDcDOoBqQgGVBoOYyvVbWwPCcTnQOoXoOxFiMyugGUpPYqQLbBeEaVSyYTtXuUBCwWLoOOoluRrkYyKaRzZrMIHhiapPByeiUucCIbnEeNVvONnoFfMmBGggkbBZAswbBjJlPRrpmbBrEevOjJBLlHhhlLZzCrqpVZzsKkMkSCbBLlcCkQqKSsogGOcwWEepTtPvVsvVWwKsSmJjjJvVUucCNlLwWnlIiIgftmRxXrMfFMmTFyJjYkKiIHhHGpggRBbEuYyUCcZWwyvViUpPpPzZuIgAaaOyJjYDdPpInZnNGgQqNoOmEGuUQqqQzUuWpPHhwfsSvVFGgRrxsSXkoJjJjpPcCOezZEiMxOgYyDzMgkNWeEwfOoBbhJjQJeEjqNnHTUwWuzZtSsxXFkofQqFreEMdkKFyuUVvxXHhzCNnGgcljEcCeJZzPmMpjbBycCYQGgTtsUNnuSohDTtdFUuapPwLlhHRrWwqqEcPdUoOGgfHhNnbCcVZzwGrRplLPvVzZtubOjJtFfBJloOZUuISsXxizNlLwWDKBbsSEzZgGUuAEzauUEPYyJjpcflLmYwxXQfFRNnrqWkIiOodQqvMXhHkOoKbBhjDflkMMmIXxEYyMhHmZHDdgcCDdGhHpPhHdyJjYDKksSYyPVvXRGSKkCcsmtTNYyIiaFfAoOrKXXxvAYyUugrRGGsSnvVNDGqQpPuUzCchFfHJjZZaJjwwWoOaAZwhJuRrUBiIFhHcCfPpfFWwfFbBQqekKdDrRDdBbNmaAMwZyYpPzNnYyWeKuUkRNXxsSZzEenCcvFfpPLpKUgdtTrRDwWWwzqQJjWweDNfFnySsrKkRYdnNzfFZiIInOUoONnuzeEZokKBbMmiwWbBXsSuUzkKZxvVQqXxHoIimPpFfkUuEJjeKIiMmvTtVmMQiIqxXanNAMDdxtTDeizHhwWJjkKwwWWqqQpPIiIKjFfaAJfpGSEesgQqZtsScxyYXWSYKYyKkIiFWbBXxZAabBsSxXcCiIryYCpPENnzZEeXaAxMmcdDCKxXXYyxIEVvhHQdLlDUyKkVvRrQqjJsSrRevOoVJjUuEdEeUZgGdAAtNnQqTKrUHhHhYyLfFlGcCewWYyjlLJEOonNrhfFHbBRnElgGLmUHaNnxXAmxXbDdVvqRZzEerQLlkDQqDsDGgAadmoFfFNnWwPOopuUsPrxXRSdDsprRaAtTrxXRlcCpLlWwHhPSsMmBVwWSkDdVOoVbBzZvvwSsSQCcAakKlLplIGQJjucCzZGgvFKwWkuUfAawJEwWIbByYcCiKkVyYKWwkVMmnFfxYTtRNnxXfaAFKuNgGcCiElLebaMmpAABuEeQqrPpZhHGgGhWOopEIiePSdjGgvVJbywBDdEeVtZmMUTExozZOXebFfLBmRrMGgbpPJjvVxmMtTXgGzZZvFtTqSsUuaAUuYyQgGoOvVLlHhIikUXxvVbBNnqGMDdwBbWwxXpPOotiITSPpTQrsSRKkqHvVhtawNcCndhHDdmzgGIigiIcPxycVKkaAvCcCzZWhHmyYMmMRSsrsGCcgJjSdDwWQKcCvVeEkuqQOoxXyYUIveyYEPCSmMeEsJrsYyzYyZQqSlLKetEmMeVDdzHhfFIwMIimLlkHhJaQyYqoOcCrEcCYyTtKkmdDMUNmMnyXxYiIyqaAsTtZzSElyYLlaAaoOLtTlpPmMApzlaMWnuUNdDwjNcCnuUJJRrjWxXPFfpwrRLNnlCcmorRCcOAMyYkKmDnNvVEelanhsSHoOaAvVTywWYLltNSlaALsxRjJXxrpPATxXgmMRrGMBbyYyYqQOosSSsNOohHxRrQjJqRHoOaAyYaASdDrRYWwEeyWwPnJjiDdfIiFIIiIjJiTaAtNmMmSmPrUuTtRLYyKksSlpxXqQcSoBymllLLMYvxXtUuatTATJFIiiIfOoJYiILOoNnUzZQqtTcCjIiJGgQbBFfSsuUTtqQqWwPpXxoOySsXxIhrRyYvVrWwusSyIgGiYEuUpHGcpPPSsCcanNzaAGoOgGQFQqzZwZYeEEpPbFfLdDxCcXSDdHAqQafOoTtpyYEePFfwWOqHWwxaAtTXFxpCcPvVXmMfNiInOogGTVvFftGgSsQJHhLWtTwTtlqRmMJjIZboKBGgCEeThsSoNrTRJEeZzOowWzBbNnLlPiNnrRReEgGlIivVgGgKkuQqUEeIsSmFfeEVDdSsnSKkwWCcsyWwvRrVfFieaAoOMmrRKkEVUuvkKIPdgGDULsSQqSuDdLNnlUmoOOoCcGgvYEeoNinNoOqyYQIqQKpPHhknHhLlZzpxXvjzZJPJjPXxybXWwXlLxcCqQlLfFxGgVvrRBbTtTnJjRrsSNtGgxXdTtDdjJkKiIYSPuUptdDTKkpPrRWwbWwBKaAOQqMdhRiIgJPuUpXxXcCWBbCmMXxcwrdPpQvyYVUuUyYPpTyBmQRwWdDdDLlrqZWwKrRKFfJDdjjJkVCrSZzsEezZRctTdeEDrVvFfloTtRIirTtslAaNnzWwZdoOfJjTtzlLELlTMUumKkqIbBuUrRejJhHEyYiOOZFfziImvVrRZzMtzZTjuGgKTtkUCclLQqAxXsIiJjxZkKzaZpPzAVUeEiNnIiIVvtTWwTFftLJjBSsbPpljQEeuIigGdDuGyYgRMmTfFtSslNvVImKkoOZzyDdjJSsYEeWwOxXobBMuUtFfTmrIiGgRAazZXRmMTtpPGSDdcgGqaAQqXxpPfvVXMmgGEeYyxOolaGgAXxeELAhHPHZtTTtCIdDiAHbBKqQkhwWYyqkFJjXSsxyngVKkGgfjDVvdjkKJjiIWqQbVDWdTcCthHhdDuiIUblNhcUiQqIuWTtZgbBnNDiIdTymMYDdCcmzZLuUFTtBbfnNBBbxePpRrEaAuLlLocCOSBqQbCcsLRriCcEeIuNoOufFfnNoOdzZDICceQnNQqLvbHlZzgcCGEvVgGuUuUiISsPpgGVlLPLjPTtpQHhsSTEIiYtTkKtTyhnhrRmMSZzQDdoOccCdRrDwrrRRhHfJqfFPcCTtpTthHrkqdDQDdsyYblqfFvVJJjgvbBWwGKkgvuUhiIHKyPqQpbBYWwSsFfiIaAUuPpmIcCiMnNcHhugpPGXxudDUTMcCJWBmMbwjNuuUupPUkKUSsRzZruUZzwWFzZfRryFfYjJnvVqQkYyVYdDyvKNUunupPmMUSggGFfcCOoggGFfmSvVZzZzcLlLlxlLELlcCXVrlLRBbvxeVveNnAaeEwhfsMmSsSaAFNXSsVygGYvYyPpAayYwWxFPpfgGDdnJjHWJFfrRwWAaEeOoAadYyDhHExXGuUvVgBgLlGdHhXxDEtnNoOTeLlxXwBHhjJLlbahHyYAeEvVBfvRrAaXxTtiIVbBFZJjlLCcNnuUyWwYfFfNcCnOojeEsSpvVZzuUuUUuiIPIQqiYCqHhQcnCcTtpshHSPNATtYyAxXalLrRaZzpTPqlLQUupBcByYbCJjsOobBScJjCHmhHMhwAaWOSsvmMXxEeqCrRcKKkzZkQlLGgbeEBWwupPUlLUwJgGtTjgpaAeEPGFiIZoOzWwKksSfKkIiPYFfypjJuUNnbCcGoOoXtTxOgfFgtTcWcChHSrRrCjJcsQRxLlgGXGUuZdQHsSQqhaAqnNVvUjVvVvJuJWwjJCaIiAcjFfNgGnkKbLlLlqhAarRjJlLxaAXHtTPUDdUuuUbNnBBbeEPVvXxHhHhGxXOTtoHxFfAajaAJsSJjXgkKhwWbBzOCBbObBBboJJjjuUbBvGsSzZgcCGgVvVjJlLcGUDcfFrmMmHhMRNCcaAnTtDDqsSQkuUyFfENBdDiIoOvVbuTtUdDPGgpuUwWJxXFuUfYkAaKyYyIzbsShHAaBZhHzcCdeEfFhHnOoNRrXhOdDoHsSIiNyYnvHhVJfGgFjmMdjJDeEPpBpXxtzZTPpPbaKVvAoJkaAaAAzZFTjJBbtxXtMgFfIdBbDHhYyiaUtTkKuAMexXLlEkKeECNqQaAqQAcCaKgGJSsjIiWwcSsCLyYFfYWwxXEbBdWwDkKqQOkKoeTtmMmIiRrzsHhSZZnNzhHngaQsSqAIiGXqQKkxCDzDpPdZdebJjAaBUuExmKpZEezPUukkKMwIidNlLfUSswjJZzjzZDduUNFfnOngGNeEacChkKHAozWwrRZABTXxtbWAalLkSsKwwWGuHhHhUuIijyJjYOfFgGBkKDdbQqcNnWZzSxXsvVLjaFfAFfNEeodIiDtaAmeEeLpAaOocvDsSdVeXwWfInNHMmhbBiFrRnNzZnNQqHyBbYyNITtiGgnxhHXpPmjJMTtWwwrRhHmXxHnNhDPpLlfFDDdoOdYWwyAanNdDAtTlWwyYvzZdDgBbhzZTHnNhtfFfAaFJDUuAzZapgGUuPjQjEewwWYyWnNJjpPDdpPXxlPpLpPHhJWRrBbwHhKZIizkWwqBbsMmSHVvAtTqQaPpYyhGnbiIMmGgBgGgAhJjNkKnHOWDsSSmMCcsdLGgHhlUucCLHhIiSYypPcdDicsSoOCIKfFJkKfFsdDPnNVvphHJjTImMiTtRtTrtPVvpdLIHhilDnRmMrWdDwFSsASMmTtIiVvoOxXpNnPnSsGUuFfgxXNaOTtonNAsszvVZdsbBRrsdDYycCDddDWwNpPvVFzZLlfJjbBIitmCBbtgGiITJzZeOoEhHGgWIEzyzZYZeRFfriTVAnNVvkKrRZNnzGDdgeEayhHmMbpPBdqQDYsSYGgyTtvcCCxXqNnQjgUuGJcaEeaAZeEVpPWwvMizZKkKkfIiAzZpPiIQqVvaABynNmMhtbZMcCmYqoVGguUuUGbBZzcCSXxRrmSSssRzZrgHhojDjjJJdJggKkGMmiIDdXxGCcxIiZDdHfFSsCcgKIRriQqdDyYpPCENnhHVbBvOoeGgzoOZHhuUhHNnvQdDZTtTtJjzZzVvdDLDdlepPOoEoOqCcIigGbrWwRZDeEBbILlQAaBVvVvbvduUyYiIjJDVhAadJjDUuHhHaeEXwWFfnHhXxoGMmcCgGLRrfXxFlgTPpgnNaAOYXxoHOpKNnwzxYyXZWqmMXJuUjmZzjOoeEiIRrJuRRrPptjHXxpPyYUuPaApVNwWnsSaAUuvBlAavQqVLnNVKAabJqQjMAFFfAmMafRriIdDpjvVJWpFQqfRrPuUvVgvVGdDQqyFfnNKwjPpJGDdyYgWjdDJnNYXYkRHhrCcyYEeKVvQdDOoFBiaAsSIYyGglLCcgzTtQqBbZjFfuqtWwztUuTWwwWrfFCcHuUhEeNnYyBbMmZryYRKklMmPTeSLlsEHhwnNUuLleErRqQWTkrRNnNkaARrKGYeEypPgYyzaqQixJeEiIjOcCDPYypdesSEnvmMPpTtwWVNzZXrRxAatTDdgKZzDdktTGcCRJQqpPfFPpRImCEuAqqQQRcCEMPpmybBuUKkYIeEiJhHNwNnWPpZoOBXxZzBbnWQqGEhHHhloqQDPpdHQXxgGHhSJoOjAacmMMmGqCcQgxXXxUuXxzAyYjDmFfMySsYyYdADdMzZmONhHvVnoqlLXxlLLlolMJfFpPeutHMmhfFbRrBJjcChHIzHSshZilHYWWfGgFlUuRepPEMGgmTtrLLoOcRcCrKvxXVLlxXiDdvVsSIJeEjNJjFeEqzUuZvcCVmvAXxZzLqQHOoUMmCcuhsXxSKkqDXxdQBXzRraAnNbBZsqKkQCiIckKSSkKcgGgFfGpPoGYeEKkpPywWlLujoOwVvZzaAyYMmtTyfWgGwBbAaZzUAaeEnWCfpPNntTVqQeEjeEeuUEKkYzrRZycrUIiuKPpoOkkKnNqQAatxBbXTtJjXoiIOoOxXCPpuUcxwWOoeETRNoOzZnbBqpaAPHlLhcCgQqmVvuUmMFfeoOLlEKpPsSFfWaAcCGvNIinVTtcCgsSlzjJXxcCVvVmMvwTtKkYUuyWWwRrciILRdDrlLrVrRKkvfFLlqoOQyZjJzeaALqQuUlZznNqjvVJiIQpPDdQBbgZzWwboWYywOBGiXRrxBoOUubsSIjCcoOJYUCcYyuySnNWwsJaANIinxXWeEScTtPCcpldDtTyWbBwMQqGgHhkpPKmOoGgyYtTYzJzpPlzZuULsyYSFfjJveEqgGQYyeEAauUlXxLgGhTtoOpzwWZPTtHBJXxjJXxjbwWlLoUXxuAaLVtTvlpAaUueSsUfFBbucCElLGgLlmMwgGnNPpxXWmMLaGgATGXLuUlxdDFfEnBbNCmMcePDdzZfdDgGnKkxdDJjlLXqEeRYsJjSnFuUfNyJAahHeEpPPpjJjTtskKSrYypsSeEszwWZsxXvVKgAakKFPCUHPRasSTtkKAGSsBbvdDVxXgVvxXGJRrjglUuLFbPtTpBoONnyYkIIiyiIKqQdDkYioOKxXfrfGtfHIimAaaAaAqQIiMmaXxaAYyAaEeAjgGaAwEeqQEVvXxeKxXkBboFARaAcCTtZzrvVOWwojiIJEeInGRrgLeEvVaBbAvKkVKgGoMPpHhmOkcboOBQqGgRryYzZjyYJrRbuUrYySsRBejPpYygGvttNtTnqQUTtVvuEhHVvBbEECdDbZWxXKiIkaHjJxXeEhAwNnpPgqQLMJjbBrRLltkKLzZlJjwWCcTbBFIxXifjVZzGgzZPPpfOojFfHhdDDdJWwkKwoLlOivzZyjJYTFfKktiIVivVhHTtfFDfPAaIRreEneENwqEeVvzZNuVvHhUWmMqQwntTLlcCNngGiIBbdxXiIgGjaAJgGDAogGOovVsSEecCfxrFfRXCcGWwyGgYKkeEgQYyUucUwWuCAuUaCVVLldMmDpCcPHhXsSHhSsrRxVyYUuVvIisSlLKkvpPJjUxXyYukVoOiMmIAaBAasSbzZFfFfvKlAEPCcRrpuCcUMmgGrRSFlLeKkEUTOXxozZtiIjiwWRmMfFrIIifmgGMFfFGgJjlLzqcPpCdDHhkaLlwWKKkLEzZeyYlkZIirRcCzcmMCeEEenzFfZZpoOPzoObBpPqQpQdDUuqxXPXDBbdxLkKcRrqQPoOeEsSmMpaAxXrdDRSOoLlMmMrRmkLlKsUuCrRBOobeEOhHQqQYUusSVvPpsSDpWUuwCckKvCcCOosScBzQttTTqZLlbLlOkKowWVmaAUuAvVPwWrIiRmPpeEZzlCuUVvHhcLMpkLlYyHhpPcCctEesSLlcCTBbptTeEOoPXxCgqQGWwoORrQwWFaAZzMmfHGdkKDgoOugGUhIGgrAaUuKkTUcCMmKkzEeUuMmZZzutHYytjJTIihDdrEyRrYBzZbJKVviIxXnhHZfFeEBbfFaiIQqFfMmAYyETbdDBPEepUutKkeSsyYeYyEoOWwOzxIiHhXOOovBXxVvTDdtbVsxVvXSeElLDdlSslLFKkPpZnNBbzaxPeEChHjkKcCFfEoOoOJjnRBbrEfFeKkuUNeZzJUuKpPJBbWwjxXkIoOyYDEedibuUBbHEehbwWhHBBbwWgoMmkKwWcfFCajJAZzSskhHKSCcsFRrvsSVZznNyZzYEBzZFfbCYawWjJuUgGqQJjAwKkWmLlMzTtpPOGcCHhgCckxGgXklLOgGJjPpoyYoWwEeOdDiIyYDnrLZzlRYyNuUhoUuuUzghHGZzYNDdnpPlLWwyZIiDEeCNncEedLlOfKJYNnCcyjoxXGNngOhHbKYhHcCyFfkBEhHuUQHoORrRyZzYNndDtTfFdZSskKIizpPDrIifOoLlFLQqWwLlqQkTtKOeEwWlaARrOoLEedpPDvVUuaIiSsFfvVbTtoOBPpIpPxXiHhJjEEeeeEqYyNnaAnNWwaNnIicCPpWfFweELlGgbByYzZvVQqfWwruUMmlLRkKsSdDFsSLlqmMQrREgGKgGWwkmICciMSsMRrBhHLlYfyYFfFgjJuUGyXxNziIZvnNVnbmhkKriXxIFfRiIIGgiYWwNnUuWiIwaAqcCveEYyOoVpPQrRQqnNnAaNrTtDGgdYSsyRyRJWwYyvfFVpPvVjqQTtemMCgGcWwEpcCPiyYdIiyYOotTYytTQqVvDIukwWKNnpPtMmSsnNTIiOobgsSAaOoGDdBInNhcCAaHiRrdlLABbEeeEkKTteEKkaqQDgGqkKfQqbfFBFrRQsJjSzZqQUHhEerNnXxmMEeHOYywtTWoxXWcCcCwtTHhTtvVdbRDCcJjOjJoTtiImRrMKkdrRqQmfFaAMLlKNnkiVvItMmTGgdDmMZGvxXVgzPSseEpsGWwvVgGbBkuUKBPEepkKbNDdnXNLlnAaxBlLbiwWItTWPpwAayVvPtDdwwWWTpgGhWwnNHMmYyrRYyTrRtGaAgwWRxXrFfLlxXeSsEFCCccfoCvsScvVCJjVUucOBbpmvOoPpWwVMPZFfNYynNIiuUncCAcCaxTTPptaASstcJEejCdDEyYeXoOyYBbYiIcCyvHduUDaAdoOgHhGmMoODEeCchVnlLCDdiPpdHhQdDqfFwWfLlFxXiIDqUuQyYqQMmvVjJjaAJVSsCcRrASeEpPZqjJBbQmMtTXxOoCclLKEeLzAaZAiSfFsIaujJAavVUMmhHUTtudDncCNlgGwWhmQqMGgHHDdMmhfLlFDPpFfbtTOMEemoPAapmMJjlBGtTLlgbWwpYydDPeEVHhvLslLSPpBzZyYpPZzcmMCfdUubtTBgGDFJjyfFvVgGYraFqQfOoRrKkrCcplLPPpRJjZzbBaAjJnNOOtToovKpyYPkXkTtKjJtTVCBbOonNcXxNnzZvxrNcCTrRtSeEeESsPpgVvGTtaAXxTtsStTrIiIBbDdiRxXvViXxIFSvtpPTVsQNuUHhvhHVnZzqZzFfVvXxaAPLlBbnNpvVXxNnPpQqaAfxXiOoIGgHhsoZzOdSOVvtTxXjMmJosDaAoOGgmMAaoOHhBbbOoBbdOMmWwolLbBEnNejJDdDhQqHVvcCZDdzDEeGvVgzZvEeVaAEeKkIidhrRHlLlOoxXLMkKmCcxpPfFVQqvWwHhaQLlqAgXxcCvaAVZzXVvxCcWwGXAnNSsdDqnNjmMJnNXxzZOChHjJcSsoCFMmfcOorbBRVCcvsSluwWULQapgGgGPAeEbBbUuBEfHhQqfFFMjcCJmOoeTttFRrfEetTICcEeIiiwWOmnNMpPAaoxXIIlmkKMLiRrSsxXlLMmElLEeeQqYyizAiIaDMmdhHufKkFUgGKAakKkFfbUslLRrSUudDuNJjuUnPpSsIiiIrYyRKRrkKXxBbYyIiQWweEhHDdqiIpPInNLligiZzwWIBnlLYyxXNbLFflGIioOcCEEHheecQEmMwWeqiLlIOoSsVZzveEuUnjJAaPeEkozZOKEepRsStTsSrFfuUNCWZzoOSsPpwVJjJEejdDvtTFqQfQqqKyYSoOCcsTDdtTtqQtyYshHgGSZzTEWwMmtTSsRrSeEmMZzzZsemwWvVtTyYHhMkiGKkgsSoNnnNOkWwWwNndDATtYTtRryVvXxaAaKklLTtuUKMPpmbBesSVvqQEFwWfCCVvcgGIicRaPpAedDErURryYBbPpuOogGIgeElLKkiIqQJjWwoiIObBLlqQFVOodDvOeEcCoouUOoFbBfOovVzZqKkPpLlQOLhHWDdlLwXUuEQqettTTIQpPbBqkKZziFfxlsiIicCQqFvCcGgVfIcCQqBbIzZiTtBLldDyYZvVxXDdUuVMmvzHhaAUuDdafFAblLwVvWrtMmTRPpwPdWkKwDIiJjbBWYHhLZzlynNLlwSspPKkhYmhHMyDdkKHlkKdDoOLpGrlLXxzZZxXfqDdWwzCcZQFzMtXxGgEUuhHeTTtmqQhmMHRvLlYydEewnNWDVubWwBUgypeEPQrcdDVvrRfwWFsSnNZzCFsSPpCQqcJFfjeEfHWhHwLlwWhRqpPeElLIihzsSiXxItTZHyYwWIipPzZXxmtTeEeEMHqQIiQcCMJjmqkKMmbYyUuQqEebBelxXBdZziIDbDdKkfUugGFLlLEBIitTzrRrRZCctjwWJThVvkKVwWvY \ No newline at end of file diff --git a/2018/06/input.txt b/2018/06/input.txt new file mode 100644 index 0000000..8951302 --- /dev/null +++ b/2018/06/input.txt @@ -0,0 +1,50 @@ +84, 212 +168, 116 +195, 339 +110, 86 +303, 244 +228, 338 +151, 295 +115, 49 +161, 98 +60, 197 +40, 55 +55, 322 +148, 82 +86, 349 +145, 295 +243, 281 +91, 343 +280, 50 +149, 129 +174, 119 +170, 44 +296, 148 +152, 160 +115, 251 +266, 281 +269, 285 +109, 242 +136, 241 +236, 249 +338, 245 +71, 101 +254, 327 +208, 231 +289, 184 +282, 158 +352, 51 +326, 230 +88, 240 +292, 342 +352, 189 +231, 141 +280, 350 +296, 185 +226, 252 +172, 235 +137, 161 +207, 90 +101, 133 +156, 234 +241, 185 \ No newline at end of file diff --git a/2018/07/input.txt b/2018/07/input.txt new file mode 100644 index 0000000..46bbcd8 --- /dev/null +++ b/2018/07/input.txt @@ -0,0 +1,101 @@ +Step J must be finished before step K can begin. +Step N must be finished before step X can begin. +Step S must be finished before step G can begin. +Step T must be finished before step R can begin. +Step H must be finished before step L can begin. +Step V must be finished before step W can begin. +Step G must be finished before step U can begin. +Step K must be finished before step A can begin. +Step D must be finished before step Z can begin. +Step C must be finished before step E can begin. +Step X must be finished before step P can begin. +Step Y must be finished before step U can begin. +Step R must be finished before step O can begin. +Step W must be finished before step U can begin. +Step O must be finished before step Q can begin. +Step A must be finished before step P can begin. +Step B must be finished before step E can begin. +Step F must be finished before step E can begin. +Step Q must be finished before step U can begin. +Step M must be finished before step E can begin. +Step P must be finished before step U can begin. +Step L must be finished before step Z can begin. +Step Z must be finished before step U can begin. +Step U must be finished before step E can begin. +Step I must be finished before step E can begin. +Step H must be finished before step G can begin. +Step X must be finished before step I can begin. +Step K must be finished before step X can begin. +Step Z must be finished before step I can begin. +Step S must be finished before step M can begin. +Step L must be finished before step U can begin. +Step A must be finished before step M can begin. +Step W must be finished before step A can begin. +Step N must be finished before step A can begin. +Step S must be finished before step E can begin. +Step W must be finished before step Q can begin. +Step J must be finished before step L can begin. +Step Q must be finished before step L can begin. +Step M must be finished before step U can begin. +Step H must be finished before step E can begin. +Step D must be finished before step E can begin. +Step V must be finished before step P can begin. +Step Q must be finished before step M can begin. +Step X must be finished before step W can begin. +Step K must be finished before step I can begin. +Step T must be finished before step H can begin. +Step Y must be finished before step L can begin. +Step G must be finished before step O can begin. +Step M must be finished before step Z can begin. +Step F must be finished before step Z can begin. +Step Q must be finished before step E can begin. +Step H must be finished before step C can begin. +Step Q must be finished before step P can begin. +Step D must be finished before step U can begin. +Step Z must be finished before step E can begin. +Step O must be finished before step M can begin. +Step L must be finished before step I can begin. +Step J must be finished before step A can begin. +Step Q must be finished before step Z can begin. +Step P must be finished before step I can begin. +Step K must be finished before step O can begin. +Step R must be finished before step E can begin. +Step W must be finished before step F can begin. +Step D must be finished before step Q can begin. +Step R must be finished before step U can begin. +Step W must be finished before step P can begin. +Step S must be finished before step Z can begin. +Step T must be finished before step P can begin. +Step B must be finished before step Q can begin. +Step S must be finished before step T can begin. +Step R must be finished before step A can begin. +Step K must be finished before step R can begin. +Step N must be finished before step G can begin. +Step C must be finished before step W can begin. +Step T must be finished before step A can begin. +Step B must be finished before step Z can begin. +Step C must be finished before step P can begin. +Step D must be finished before step P can begin. +Step B must be finished before step P can begin. +Step F must be finished before step U can begin. +Step V must be finished before step X can begin. +Step K must be finished before step W can begin. +Step Y must be finished before step I can begin. +Step C must be finished before step B can begin. +Step X must be finished before step L can begin. +Step X must be finished before step M can begin. +Step H must be finished before step P can begin. +Step S must be finished before step F can begin. +Step J must be finished before step Y can begin. +Step Y must be finished before step Z can begin. +Step B must be finished before step I can begin. +Step S must be finished before step C can begin. +Step K must be finished before step E can begin. +Step N must be finished before step Q can begin. +Step A must be finished before step Z can begin. +Step J must be finished before step I can begin. +Step Y must be finished before step O can begin. +Step Y must be finished before step F can begin. +Step S must be finished before step U can begin. +Step D must be finished before step W can begin. +Step V must be finished before step D can begin. \ No newline at end of file diff --git a/2018/08/input.txt b/2018/08/input.txt new file mode 100644 index 0000000..0177f08 --- /dev/null +++ b/2018/08/input.txt @@ -0,0 +1 @@ +9 11 6 2 4 3 3 6 1 8 0 11 3 3 6 7 4 7 6 3 4 7 1 3 3 3 2 1 1 2 3 1 8 0 7 7 1 7 9 2 5 9 2 1 3 1 2 3 3 2 1 9 0 11 2 2 4 5 5 3 7 6 1 6 5 3 1 3 3 1 1 1 1 1 2 1 5 4 4 3 3 4 1 8 0 8 1 6 7 5 3 7 5 9 2 2 3 2 2 3 1 1 1 8 0 6 4 1 5 4 5 6 1 1 3 1 1 1 1 1 1 8 0 6 1 5 8 8 5 6 1 1 2 2 1 2 1 1 2 2 2 3 3 4 1 8 0 7 3 3 1 4 3 6 7 3 2 2 3 2 3 3 1 1 5 0 10 3 8 1 2 4 1 8 9 7 3 1 3 1 1 1 1 5 0 8 8 9 9 3 5 1 6 1 1 3 1 2 2 2 1 1 3 3 4 1 6 0 6 9 1 4 2 7 7 3 2 1 2 2 3 1 8 0 8 8 1 1 3 3 6 1 3 2 1 1 1 1 2 1 2 1 7 0 7 3 9 7 1 5 1 5 1 2 1 2 3 2 3 3 3 1 4 5 1 4 5 3 3 7 1 8 0 6 3 6 1 7 8 5 1 3 2 1 1 1 3 2 1 7 0 9 7 5 6 1 1 1 2 3 2 3 1 1 1 2 3 1 1 8 0 6 9 1 8 7 9 9 3 1 1 2 2 1 3 1 1 1 4 5 2 2 3 3 4 1 6 0 9 9 3 9 8 8 9 1 5 9 3 2 2 1 1 2 1 5 0 10 7 1 8 6 1 5 8 9 6 7 2 3 1 1 2 1 8 0 9 6 4 1 2 7 1 6 1 8 3 2 3 3 3 2 1 1 5 1 2 2 3 4 1 5 0 7 1 2 5 1 3 5 1 2 3 3 1 2 1 5 0 6 7 3 1 8 5 8 3 1 1 2 2 1 8 0 8 8 2 1 1 1 6 9 1 3 1 3 1 1 3 1 3 4 4 4 1 3 6 1 8 0 7 9 3 9 9 6 2 1 3 1 1 1 2 3 3 1 1 9 0 6 6 3 1 2 8 5 1 2 1 3 1 2 3 2 1 1 7 0 11 1 6 1 9 5 3 6 6 8 4 8 2 1 1 2 1 1 2 4 5 3 1 1 3 3 7 1 6 0 6 2 2 6 1 8 7 1 3 1 1 2 3 1 6 0 9 5 1 1 5 3 1 8 6 3 3 1 1 2 3 2 1 9 0 6 1 4 6 8 6 7 1 1 3 2 3 1 2 1 3 4 1 2 4 3 3 3 7 1 4 5 4 3 4 1 8 0 10 4 6 3 1 1 8 2 3 8 8 3 1 1 3 3 2 3 3 1 6 0 10 7 7 3 1 1 5 3 5 4 6 2 2 1 2 2 1 1 8 0 9 1 9 6 5 4 6 8 4 9 1 3 3 1 3 2 2 1 4 3 1 3 3 6 1 8 0 9 2 1 1 5 1 9 1 4 2 2 1 1 2 1 1 3 3 1 7 0 11 1 2 7 2 9 7 2 8 5 2 8 2 1 3 2 3 1 1 1 8 0 10 2 6 3 1 9 7 1 7 8 6 1 1 1 1 3 2 3 3 3 2 3 1 1 2 3 7 1 6 0 10 1 5 1 7 9 2 5 1 6 1 2 1 1 3 2 1 1 7 0 6 1 8 5 8 1 9 3 1 1 1 2 2 1 1 7 0 9 8 6 1 7 6 5 4 1 3 3 2 3 3 1 1 1 2 2 4 1 5 1 1 3 5 1 7 0 11 8 2 7 3 2 5 1 5 1 6 3 2 1 3 1 3 1 1 1 5 0 7 1 8 3 8 6 1 9 1 2 1 3 3 1 6 0 6 5 7 8 4 8 1 1 2 3 3 1 1 1 2 2 3 1 3 7 1 5 0 7 2 1 5 6 9 7 1 1 1 1 2 2 1 6 0 7 5 1 3 7 8 3 2 1 2 1 3 3 3 1 6 0 11 5 8 8 1 4 6 9 5 5 1 1 2 3 1 1 1 2 3 1 1 3 5 4 3 1 3 4 1 5 4 3 7 1 8 0 11 7 1 5 3 1 5 7 3 9 9 1 2 1 3 1 2 1 3 1 1 7 0 7 1 8 9 3 8 5 1 2 2 3 1 2 1 1 1 5 0 8 4 8 1 3 5 7 7 1 3 1 2 1 1 1 3 2 4 2 2 4 3 7 1 5 0 6 1 3 1 5 9 8 2 3 1 2 1 1 8 0 8 3 2 5 9 7 3 1 4 1 2 1 3 2 1 2 1 1 6 0 8 7 3 4 9 4 1 1 6 3 1 3 1 3 2 3 1 3 5 3 2 3 3 4 1 6 0 9 7 3 2 4 6 1 8 9 4 3 1 2 1 2 1 1 9 0 11 6 6 1 7 4 2 2 9 1 8 7 2 3 2 2 2 1 1 1 1 1 9 0 6 1 6 7 5 1 2 1 1 1 1 2 1 1 1 3 5 5 3 2 3 6 1 8 0 9 1 6 8 4 4 8 3 5 1 2 1 1 1 1 3 1 2 1 8 0 7 3 8 2 9 1 4 1 3 3 3 1 3 3 1 3 1 6 0 8 9 3 5 1 5 6 4 9 1 2 3 2 2 1 1 1 3 4 4 3 3 5 1 5 0 9 1 1 1 6 1 4 7 1 6 3 3 2 1 3 1 8 0 9 4 7 3 6 1 1 1 4 9 3 1 2 2 1 3 3 3 1 9 0 10 8 1 8 1 4 2 5 8 1 4 1 2 3 1 3 2 3 1 3 4 5 4 3 2 3 5 5 4 4 4 3 4 1 9 0 8 6 5 1 7 1 4 3 1 1 3 1 1 2 3 1 1 2 1 6 0 6 2 6 6 1 1 1 1 2 1 1 2 1 1 7 0 10 1 3 7 2 1 6 2 2 3 2 2 3 1 1 3 1 1 5 5 5 2 3 4 1 8 0 11 6 1 2 6 1 8 4 6 4 6 9 2 1 2 2 1 3 2 2 1 9 0 6 1 4 3 2 2 4 3 1 1 3 3 1 3 1 3 1 6 0 6 9 8 6 1 6 8 1 1 1 1 2 1 3 2 3 3 3 4 1 6 0 11 7 1 6 1 6 6 2 5 9 4 7 2 2 2 2 2 1 1 8 0 10 2 1 5 8 9 5 5 3 4 1 2 1 2 1 1 3 3 2 1 6 0 6 6 7 8 2 1 4 1 1 1 1 1 1 5 2 3 3 3 5 1 7 0 6 8 4 5 9 1 9 3 2 3 2 1 1 1 1 9 0 6 1 9 4 1 5 4 1 3 2 3 1 3 3 2 3 1 8 0 6 5 7 1 9 2 4 3 1 2 1 3 1 2 3 3 2 3 1 1 6 3 3 3 5 3 3 5 1 8 0 7 1 8 8 7 1 3 3 1 3 2 1 1 3 1 3 1 5 0 10 1 4 2 8 6 2 2 3 1 4 3 1 3 3 3 1 7 0 6 6 1 3 5 4 1 2 2 1 1 1 2 2 5 2 1 2 4 3 7 1 7 0 7 7 9 4 4 1 8 8 3 1 1 1 3 2 3 1 6 0 10 3 2 7 5 6 9 8 1 4 8 2 2 1 3 2 1 1 7 0 6 1 9 3 9 2 2 1 3 2 2 3 1 2 2 4 4 3 1 3 5 3 5 1 9 0 11 1 6 5 7 9 4 2 1 1 9 4 1 2 2 2 3 3 1 1 3 1 9 0 7 1 4 7 9 5 1 2 1 2 1 1 3 3 2 3 1 1 7 0 9 1 9 1 7 1 6 8 1 4 2 2 1 1 1 1 2 1 3 3 5 1 3 5 1 7 0 8 5 7 1 5 6 5 8 1 2 1 3 1 1 3 2 1 5 0 11 1 8 3 6 8 1 7 2 3 5 9 2 1 2 3 1 1 7 0 11 2 4 4 3 1 7 1 7 9 9 4 1 1 1 2 2 1 2 2 1 2 1 3 3 5 1 9 0 6 7 5 2 5 3 1 3 1 2 3 1 1 3 1 1 1 7 0 6 6 9 9 3 3 1 2 1 3 3 2 2 2 1 7 0 10 8 9 9 1 1 9 5 7 6 7 3 1 2 3 1 1 2 5 5 5 2 1 6 3 3 6 4 7 2 5 5 3 4 1 9 0 9 2 8 6 9 1 4 3 1 5 1 3 3 3 1 1 2 3 1 1 5 0 9 3 1 9 6 4 7 6 7 1 1 1 1 2 3 1 8 0 7 8 9 1 9 3 9 9 1 1 3 2 3 2 2 1 4 3 3 4 3 5 1 9 0 6 1 1 6 9 9 9 3 2 2 3 2 1 2 2 2 1 9 0 10 4 3 8 9 1 2 1 6 6 1 1 2 3 3 2 1 1 1 1 1 6 0 10 9 8 3 1 9 4 2 2 8 8 2 2 2 1 2 2 4 5 3 2 2 3 7 1 5 0 7 1 8 8 3 4 2 7 1 1 2 3 3 1 7 0 11 6 7 3 5 6 7 1 7 6 1 9 1 1 1 2 3 3 2 1 7 0 6 1 3 2 1 8 2 1 2 1 3 2 1 3 2 1 3 2 2 1 2 3 6 1 5 0 8 1 6 9 1 5 1 6 5 1 1 1 1 3 1 6 0 10 9 4 7 6 2 6 9 1 1 2 3 1 3 1 1 1 1 6 0 8 4 2 7 1 7 7 8 1 2 2 2 1 1 1 4 3 1 5 3 2 3 6 1 8 0 8 3 1 8 5 4 6 6 1 1 2 3 1 2 3 3 2 1 5 0 11 1 5 3 1 2 2 1 1 7 9 3 2 1 2 1 1 1 7 0 6 6 6 1 8 5 6 2 2 1 3 3 1 2 2 3 2 1 2 3 3 2 1 2 5 5 3 3 6 1 9 0 10 5 9 2 3 7 1 8 8 3 6 1 2 1 2 2 1 3 2 2 1 5 0 9 1 6 9 3 9 8 4 1 6 1 1 2 3 1 1 7 0 8 1 9 1 9 4 6 1 1 2 1 2 2 1 2 3 4 5 5 3 2 4 3 4 1 9 0 7 2 7 2 1 9 1 8 2 1 1 1 2 3 1 3 3 1 9 0 9 6 3 9 3 1 3 2 4 7 2 2 3 2 2 3 2 1 2 1 9 0 9 6 7 4 8 2 1 1 1 2 3 3 1 1 1 3 1 1 1 3 1 3 4 3 5 1 9 0 7 9 8 2 2 1 5 1 2 2 3 1 1 1 2 2 1 1 5 0 9 2 8 8 1 2 8 6 5 1 2 3 1 1 1 1 9 0 8 6 2 5 6 1 2 2 8 1 3 1 1 2 2 2 1 1 5 3 4 2 1 3 5 1 9 0 9 6 5 6 1 3 1 3 9 8 3 1 2 1 1 2 3 2 3 1 6 0 8 9 4 8 3 1 3 7 4 3 3 1 1 1 2 1 5 0 9 6 7 6 2 2 5 1 7 5 1 1 1 3 3 2 2 1 1 1 3 7 1 6 0 10 1 1 1 8 1 6 5 2 9 9 3 1 1 1 3 1 1 5 0 7 5 1 4 9 6 8 6 1 2 2 1 1 1 8 0 8 9 3 2 9 1 6 1 3 2 1 1 1 2 3 1 2 2 5 2 5 1 4 4 6 3 4 5 5 3 5 1 5 0 10 9 1 3 9 9 6 1 9 4 1 1 2 2 2 1 1 7 0 7 1 8 7 7 1 1 2 3 1 3 2 1 1 1 1 6 0 11 7 2 6 1 7 1 4 4 5 7 9 1 2 2 2 1 1 3 2 5 3 3 3 4 1 7 0 9 6 6 3 7 8 1 5 6 1 3 1 3 2 1 1 3 1 6 0 10 1 8 1 1 6 1 8 5 8 4 1 2 2 2 1 2 1 6 0 6 6 3 6 1 7 3 3 2 2 1 3 3 5 5 3 1 3 5 1 7 0 9 7 2 3 8 8 6 5 1 9 2 1 3 1 3 3 1 1 6 0 7 8 1 5 6 7 4 1 2 1 1 1 3 2 1 6 0 11 7 1 1 1 3 8 9 8 5 9 4 1 3 3 2 2 3 1 5 4 5 2 3 6 1 7 0 10 3 5 1 8 3 8 1 4 2 7 1 2 1 1 3 3 1 1 6 0 6 4 1 1 6 6 3 1 2 2 2 1 1 1 5 0 10 4 1 6 1 1 7 8 5 8 2 3 3 2 2 1 1 2 2 5 2 3 3 5 1 9 0 10 2 7 2 1 8 9 4 1 2 5 3 3 3 1 2 1 1 1 3 1 5 0 8 5 4 9 7 9 5 1 5 3 3 1 2 2 1 6 0 7 7 9 8 8 7 1 5 2 3 3 1 3 1 5 4 5 1 2 5 4 1 3 4 5 4 3 6 1 6 0 11 3 6 7 2 9 1 4 6 1 1 7 1 3 1 2 3 1 1 5 0 10 3 5 7 8 6 4 1 6 3 3 3 3 1 1 2 1 6 0 10 6 8 2 1 6 6 8 8 4 3 3 2 1 3 3 1 3 1 2 3 4 3 3 6 1 6 0 7 1 2 5 9 4 9 6 1 3 2 2 1 2 1 7 0 8 6 1 9 9 9 9 7 4 3 1 1 2 3 3 1 1 6 0 11 3 3 6 1 5 4 1 1 6 4 8 1 3 2 3 1 3 1 2 3 1 4 4 3 7 1 5 0 6 2 9 1 4 1 7 2 1 3 1 1 1 7 0 10 1 7 7 2 8 2 6 4 3 1 3 2 3 3 1 1 3 1 7 0 9 6 9 9 4 2 1 5 9 7 1 3 3 2 1 1 1 2 1 2 4 3 1 1 3 7 1 6 0 8 1 5 4 5 1 3 5 2 2 1 2 1 3 2 1 5 0 10 1 8 8 9 8 4 2 9 5 6 3 2 2 1 3 1 9 0 11 4 1 3 7 6 8 2 6 5 1 1 1 2 2 2 1 1 3 3 3 1 3 4 3 1 5 3 3 6 1 8 0 11 9 1 3 1 5 2 6 7 6 1 8 2 3 2 2 1 1 2 3 1 6 0 10 3 9 1 1 4 4 1 2 4 4 2 1 2 1 1 2 1 8 0 6 5 8 3 1 3 1 2 1 2 3 3 2 3 3 3 4 1 5 1 2 6 7 1 4 5 5 3 4 1 8 0 7 9 1 7 8 2 2 7 1 1 1 1 2 3 2 3 1 8 0 10 7 7 5 1 4 1 1 8 1 5 1 1 3 1 1 1 1 2 1 7 0 11 1 6 2 1 4 1 1 3 9 7 6 3 1 2 2 3 3 1 5 3 1 1 3 6 1 6 0 8 4 1 6 4 2 1 7 8 3 1 3 2 1 1 1 6 0 6 1 5 3 8 8 9 3 1 3 2 1 2 1 9 0 10 6 5 9 7 4 1 5 8 9 9 1 3 1 2 3 3 1 3 1 5 3 1 5 1 5 3 4 1 9 0 8 5 4 3 1 6 7 7 8 3 1 1 3 1 2 2 1 2 1 6 0 6 1 6 6 6 9 5 1 2 3 1 1 1 1 9 0 10 1 5 1 6 1 5 1 7 9 1 3 3 1 2 1 3 3 2 1 5 4 4 2 3 7 1 6 0 8 3 1 5 9 5 5 6 2 1 1 1 2 2 1 1 9 0 7 4 6 8 1 7 4 6 1 3 1 2 3 2 2 2 1 1 7 0 9 2 7 2 8 6 1 3 4 3 1 3 3 3 1 3 1 4 5 2 2 5 3 1 3 6 1 6 0 6 1 1 4 9 8 9 3 1 1 2 2 1 1 7 0 7 9 7 7 7 1 3 1 1 3 3 2 2 3 1 1 5 0 11 3 7 3 7 1 1 3 7 7 9 8 2 1 3 3 3 5 1 1 4 3 1 6 6 6 1 3 5 4 3 4 1 6 0 6 7 1 9 4 2 1 1 1 1 1 1 3 1 9 0 9 8 6 2 1 2 5 5 9 2 1 2 3 1 1 3 3 1 3 1 6 0 7 8 1 9 3 3 6 5 3 3 3 2 1 2 3 4 3 2 3 6 1 7 0 9 1 1 3 8 9 3 5 4 9 2 2 3 2 2 1 1 1 5 0 10 1 1 6 5 3 4 9 6 7 9 1 1 2 3 2 1 6 0 6 1 3 6 3 1 1 3 1 2 3 1 2 1 1 1 3 5 3 3 6 1 5 0 11 1 4 7 3 5 3 2 9 5 2 7 1 2 1 2 3 1 9 0 8 2 1 2 9 1 4 5 3 3 2 2 2 2 2 3 1 3 1 6 0 7 1 2 4 8 9 9 7 1 2 1 1 1 3 1 3 4 3 4 3 3 7 1 7 0 9 2 2 4 5 1 3 5 7 6 1 2 3 1 2 2 2 1 7 0 10 5 1 8 2 4 3 8 8 2 5 1 1 3 1 2 3 2 1 6 0 9 4 9 9 4 2 8 1 3 4 3 1 2 2 2 2 2 2 1 1 3 1 2 3 4 1 6 0 11 5 8 2 9 3 2 3 2 1 2 6 1 1 3 1 3 2 1 8 0 11 1 3 2 4 7 3 1 2 9 3 6 3 1 3 3 3 1 3 1 1 5 0 6 2 2 5 4 1 6 3 3 1 2 3 1 5 3 3 1 4 4 4 5 5 3 5 1 5 0 10 4 5 7 1 8 7 3 4 8 1 2 2 1 3 1 1 6 0 11 9 7 1 3 5 6 2 2 8 2 1 1 3 2 1 3 1 1 7 0 7 1 1 1 1 9 1 9 1 1 2 3 1 1 3 3 5 1 3 2 3 4 1 5 0 10 1 1 8 7 8 8 6 7 7 5 1 3 2 1 1 1 5 0 9 6 5 7 6 6 3 1 8 9 3 2 1 1 1 1 9 0 9 1 9 4 9 8 8 4 3 1 1 3 3 3 1 2 2 1 1 2 3 1 3 3 6 1 9 0 11 1 4 7 1 9 9 9 8 7 5 1 1 1 1 1 1 1 3 3 3 1 6 0 6 3 2 5 5 1 1 3 2 1 2 3 2 1 5 0 6 8 9 5 1 5 5 3 1 3 1 1 3 4 5 1 1 1 3 4 1 8 0 11 2 4 2 6 2 2 5 1 4 5 1 2 2 1 2 2 1 3 2 1 6 0 11 9 1 8 2 5 3 9 8 6 6 7 1 2 1 1 3 3 1 7 0 11 1 1 6 3 3 9 4 7 4 6 9 2 1 2 1 2 3 1 4 4 2 3 3 5 1 7 0 6 9 7 1 5 7 8 3 3 2 2 1 3 1 1 8 0 10 9 2 2 3 2 3 9 8 1 9 2 1 2 3 3 3 3 1 1 6 0 10 8 1 1 3 8 9 9 1 7 5 2 2 3 1 3 2 3 3 2 5 4 7 1 2 7 1 7 6 7 2 5 3 3 4 1 5 0 9 1 8 8 7 9 3 9 8 1 3 2 1 2 1 1 5 0 11 1 7 5 2 3 7 4 5 1 3 4 1 2 1 2 3 1 5 0 8 6 3 9 5 1 9 8 1 1 3 1 2 3 1 4 2 3 3 7 1 5 0 8 2 6 3 3 6 8 4 1 3 3 1 1 3 1 6 0 7 1 8 3 9 9 9 5 2 3 1 2 2 1 1 5 0 6 9 5 1 3 8 6 3 3 3 1 1 5 5 1 1 1 1 4 3 5 1 6 0 6 8 1 9 6 2 9 1 1 2 2 3 2 1 7 0 8 7 1 6 4 6 9 8 9 2 1 3 1 2 3 1 1 9 0 10 8 1 6 7 1 6 4 4 2 7 1 1 1 2 2 3 3 1 2 5 3 5 3 2 3 6 1 7 0 9 8 5 6 3 8 1 7 3 4 2 2 1 2 3 1 3 1 7 0 10 6 7 9 5 9 1 5 6 9 7 3 3 2 1 1 3 1 1 6 0 8 4 1 3 4 4 7 4 4 1 3 2 1 2 3 2 1 3 1 4 1 3 4 1 8 0 9 9 1 7 7 1 2 1 3 1 2 1 3 2 3 2 3 3 1 8 0 8 4 3 6 1 6 1 8 3 2 3 1 1 1 1 3 1 1 9 0 8 1 4 5 5 7 4 7 2 2 2 1 3 3 1 1 1 1 2 4 5 3 2 4 7 5 4 3 5 1 7 0 7 1 6 5 2 4 9 5 1 2 1 1 3 2 2 1 9 0 11 5 4 1 7 6 1 6 3 4 5 7 3 3 1 3 3 3 3 1 3 1 6 0 7 1 5 1 5 7 6 8 3 1 2 2 2 2 2 1 3 4 3 3 4 1 9 0 10 3 3 4 1 8 3 2 5 6 3 3 3 1 2 1 1 3 3 1 1 8 0 11 1 2 1 7 1 8 1 7 8 4 7 2 2 1 3 1 3 1 1 1 6 0 9 1 8 8 9 8 3 6 6 1 2 2 1 2 3 2 5 3 1 4 3 7 1 8 0 10 8 8 1 6 7 1 1 4 8 6 3 3 3 2 3 1 1 1 1 6 0 11 2 6 7 7 1 1 7 3 5 8 3 1 2 1 1 1 2 1 7 0 6 9 2 6 3 4 1 3 1 1 1 3 3 2 1 4 4 5 1 1 4 3 6 1 8 0 10 2 2 7 1 4 2 3 1 7 8 3 3 1 2 2 2 3 3 1 8 0 6 1 3 1 1 7 9 3 1 2 1 1 3 2 2 1 7 0 7 4 2 8 3 1 9 4 3 1 2 1 1 1 1 5 4 2 1 2 2 3 7 1 9 0 10 5 1 1 8 1 7 3 8 9 9 3 2 2 1 3 2 2 1 1 1 7 0 11 5 6 1 2 9 5 5 9 4 3 8 1 2 3 1 2 1 3 1 8 0 6 7 1 5 9 1 9 1 2 3 3 2 3 1 2 2 4 1 3 3 2 2 6 7 3 1 5 3 3 4 1 5 0 11 4 4 6 7 6 8 2 1 1 2 1 1 1 1 2 3 1 6 0 7 8 9 1 4 6 3 7 1 2 2 3 1 3 1 5 0 10 4 3 8 2 7 1 7 4 3 5 2 3 2 2 1 2 4 3 3 3 6 1 8 0 6 7 1 5 5 7 1 2 2 2 2 3 1 1 3 1 9 0 9 3 8 2 5 4 4 3 1 9 1 3 2 1 2 1 2 2 3 1 8 0 10 2 2 6 6 8 1 5 5 9 7 2 3 1 3 1 1 1 3 5 5 3 2 4 1 3 6 1 5 0 9 1 3 2 4 2 7 6 3 1 1 3 1 1 3 1 6 0 8 9 7 1 4 1 3 3 5 3 2 1 1 1 1 1 8 0 8 4 1 8 2 7 2 8 5 1 2 1 1 2 1 1 2 3 1 1 5 4 3 3 4 1 7 0 7 8 5 1 3 9 1 1 3 3 1 2 3 3 3 1 7 0 10 1 7 3 2 4 1 8 8 5 1 1 2 1 3 1 2 1 1 5 0 11 9 4 1 7 8 4 1 4 1 2 4 3 1 2 1 2 1 2 5 1 3 4 1 5 0 7 3 1 3 2 8 4 1 2 3 2 1 2 1 5 0 10 8 9 6 9 1 5 5 1 6 9 1 2 1 2 1 1 6 0 11 5 4 4 4 6 7 6 1 9 1 3 1 1 1 1 1 3 2 1 1 1 4 3 4 5 5 3 5 1 6 0 11 5 9 1 5 1 7 2 3 1 5 7 3 1 1 2 1 1 1 7 0 8 8 5 3 8 7 5 1 2 2 3 2 1 1 3 3 1 9 0 7 4 2 6 1 1 1 3 3 3 3 1 3 1 1 3 2 1 1 5 3 5 3 4 1 5 0 8 3 5 9 7 1 7 2 3 1 1 1 1 1 1 6 0 9 5 1 5 6 4 5 7 7 1 1 2 1 1 1 2 1 8 0 6 9 7 3 5 7 1 1 1 2 2 3 1 3 3 3 1 1 4 3 6 1 7 0 10 3 1 3 5 4 8 6 4 4 1 3 3 1 3 3 2 1 1 7 0 11 9 5 1 1 2 9 6 7 9 1 5 1 1 3 3 2 2 1 1 9 0 9 1 7 5 2 4 1 5 5 2 1 2 1 2 1 1 1 1 1 2 1 4 5 5 1 3 7 1 8 0 9 8 1 4 8 2 6 2 5 1 1 1 3 1 1 3 3 2 1 9 0 9 1 3 7 3 4 4 3 6 4 3 1 2 2 1 1 2 2 2 1 8 0 7 1 2 8 7 4 6 1 1 3 3 1 2 1 2 1 2 4 3 3 3 2 3 3 7 1 8 0 8 4 6 8 1 3 1 6 8 1 3 3 2 3 1 1 3 1 7 0 11 5 2 4 7 9 2 1 5 7 1 5 3 1 1 2 2 1 1 1 9 0 9 1 7 6 8 9 1 8 8 8 3 2 1 2 3 3 2 3 1 4 3 1 3 4 3 4 5 5 3 7 2 5 3 3 5 1 7 0 9 3 3 8 1 1 8 1 7 6 2 1 3 3 3 1 2 1 5 0 10 2 9 9 8 6 7 1 1 9 4 3 2 3 3 1 1 7 0 7 6 4 1 3 6 3 2 2 2 2 2 1 2 1 2 1 2 5 5 3 6 1 7 0 7 2 3 2 1 7 5 6 1 1 2 1 1 3 3 1 6 0 10 3 6 3 9 2 3 5 2 9 1 2 1 2 3 2 1 1 5 0 7 7 2 7 1 9 6 5 2 3 1 1 1 1 5 3 2 4 1 3 5 1 9 0 10 8 1 1 3 1 9 7 8 2 3 2 2 2 2 2 1 2 1 1 1 8 0 10 8 1 7 8 9 4 7 1 2 9 3 1 2 1 3 3 1 1 1 7 0 9 1 6 3 7 8 1 9 9 1 1 1 3 2 3 3 3 3 2 3 4 4 3 7 1 5 0 11 2 7 5 4 4 2 3 6 1 5 1 1 3 1 1 3 1 5 0 8 5 4 7 6 1 5 2 4 3 3 1 2 1 1 5 0 10 4 6 2 7 9 8 4 6 6 1 3 2 1 1 3 1 1 3 4 1 4 4 3 6 1 7 0 10 4 9 7 2 5 1 4 4 6 3 3 2 1 3 2 2 2 1 5 0 7 9 6 6 6 1 3 3 2 1 1 1 1 1 5 0 7 2 4 3 1 9 1 4 1 1 3 3 1 1 3 5 3 5 2 2 3 4 4 5 3 6 1 8 0 10 9 8 3 5 7 1 1 9 5 6 3 3 1 1 1 2 2 3 1 6 0 11 1 1 5 2 4 1 2 3 5 1 9 3 2 3 3 2 1 1 8 0 11 8 7 9 8 2 2 1 8 4 5 7 1 3 1 3 2 3 1 2 2 3 4 1 5 4 3 5 1 5 0 11 4 9 2 5 1 7 6 8 2 1 5 2 1 1 3 2 1 5 0 11 5 4 9 2 1 5 1 2 6 3 2 1 1 3 3 3 1 5 0 8 7 1 6 8 3 5 1 9 1 2 3 2 1 3 3 4 3 2 3 6 1 7 0 6 1 9 8 7 5 8 3 2 3 2 3 3 1 1 9 0 7 3 4 1 2 3 4 6 3 1 2 1 1 2 1 2 3 1 5 0 7 8 3 1 3 4 4 7 1 3 2 1 1 1 3 1 5 5 4 3 7 1 7 0 6 1 2 7 4 1 1 2 1 1 3 2 1 1 1 9 0 8 1 7 1 2 6 3 7 6 1 1 3 1 1 1 1 3 3 1 7 0 11 4 6 1 6 9 9 1 9 7 7 1 1 1 2 1 3 1 1 1 5 4 4 3 4 1 5 3 6 6 2 5 3 3 4 1 5 0 7 8 7 1 4 1 5 5 1 3 1 1 2 1 5 0 6 3 1 9 2 6 1 1 3 1 1 3 1 8 0 8 1 9 1 4 7 3 7 7 1 2 3 1 2 2 1 3 4 4 5 2 3 7 1 9 0 11 6 9 1 2 9 8 1 7 6 9 4 1 2 3 3 3 2 3 1 2 1 6 0 9 1 9 1 9 7 5 6 4 8 2 1 1 1 2 1 1 5 0 11 6 6 9 6 6 3 6 1 9 2 4 1 1 2 2 1 4 2 4 4 4 1 3 3 5 1 6 0 9 1 2 9 4 9 9 1 8 7 3 3 1 1 2 3 1 9 0 8 6 1 2 7 9 1 4 7 1 2 2 1 2 3 1 1 1 1 9 0 7 8 6 3 4 2 1 2 1 1 1 2 3 1 2 1 3 3 3 4 3 4 3 5 1 6 0 10 1 9 1 1 7 7 1 4 2 9 3 3 1 3 1 3 1 9 0 8 5 5 8 6 3 4 1 9 2 2 1 1 1 1 3 2 1 1 9 0 8 2 8 4 3 9 2 1 4 3 1 2 3 2 1 1 1 3 5 3 4 3 2 3 4 1 9 0 8 9 6 7 4 6 7 2 1 1 1 1 2 3 2 3 3 2 1 5 0 8 1 5 8 7 3 4 3 3 2 1 3 1 3 1 5 0 6 1 9 5 9 4 6 1 3 2 2 1 5 3 2 3 1 1 2 4 2 7 3 4 3 3 5 1 5 0 7 1 7 1 5 2 9 2 1 1 1 2 1 1 9 0 10 4 5 5 3 3 8 3 1 4 6 2 2 2 3 2 2 1 2 2 1 8 0 11 3 5 4 2 6 1 3 6 2 5 3 1 1 3 3 1 2 2 3 1 1 3 3 5 3 5 1 9 0 7 2 3 9 9 7 8 1 1 2 2 1 2 1 1 1 3 1 5 0 10 2 8 3 1 1 6 1 1 6 6 3 2 2 1 2 1 9 0 11 6 7 1 1 1 9 9 1 2 3 5 2 2 3 2 1 2 3 2 2 3 3 3 4 4 3 5 1 6 0 8 1 3 3 4 4 5 6 7 3 2 3 1 2 1 1 9 0 7 7 7 5 6 3 4 1 1 1 1 1 1 3 1 2 2 1 8 0 9 3 4 3 8 9 4 1 4 6 2 1 3 2 2 1 1 2 5 1 1 5 3 3 4 1 9 0 6 5 7 1 6 9 5 3 2 1 1 1 2 1 3 3 1 8 0 9 5 5 8 1 5 2 7 1 1 1 3 2 1 3 1 1 3 1 5 0 8 2 1 1 7 6 9 2 8 1 2 3 2 1 1 1 3 3 3 2 6 5 4 3 5 1 5 0 7 1 4 5 6 7 4 8 3 1 2 3 1 1 8 0 8 4 5 9 4 4 8 1 1 3 2 2 1 2 3 3 1 1 5 0 7 2 5 1 7 1 7 1 2 3 1 1 1 1 3 5 4 4 3 4 1 5 0 8 1 8 6 1 5 7 6 8 3 1 1 2 3 1 8 0 6 7 6 5 7 1 5 3 1 3 1 2 2 3 2 1 7 0 7 2 2 1 9 2 7 1 1 3 3 1 2 1 1 1 5 5 3 3 7 1 8 0 8 6 9 5 6 2 2 3 1 2 1 3 3 1 1 2 2 1 6 0 6 1 7 8 1 6 5 3 1 2 3 2 1 1 5 0 11 1 6 1 7 6 1 7 8 9 4 9 1 1 2 2 3 3 3 3 1 3 4 1 3 4 1 5 0 11 3 4 4 4 5 6 2 1 1 8 1 2 2 1 3 2 1 6 0 9 2 6 2 6 1 3 8 5 6 2 1 1 3 1 2 1 7 0 7 7 7 4 1 4 4 9 1 2 1 2 3 1 2 5 2 2 4 3 5 1 9 0 11 6 3 3 1 1 9 8 7 3 8 4 2 2 1 1 1 3 1 2 3 1 6 0 7 4 1 1 9 1 3 7 3 3 3 1 2 3 1 5 0 7 3 9 5 5 1 5 2 3 1 1 1 2 3 5 3 2 1 4 4 2 4 5 4 3 6 1 7 0 10 9 6 1 6 3 1 3 4 1 5 3 3 2 2 2 1 2 1 8 0 11 6 3 9 1 2 1 5 6 2 6 3 1 2 2 2 3 3 2 1 1 8 0 8 1 7 3 2 5 3 1 2 1 1 3 1 2 3 3 3 2 2 3 5 1 3 3 5 1 6 0 6 1 4 2 6 9 5 3 1 2 3 1 3 1 8 0 8 1 3 8 1 1 1 3 8 1 2 1 1 3 1 1 3 1 5 0 6 4 3 9 4 4 1 1 1 1 3 2 1 5 3 4 1 3 4 1 6 0 7 5 5 8 4 2 1 6 3 2 3 1 3 3 1 7 0 10 2 5 1 2 4 7 5 8 1 9 3 3 1 2 3 1 2 1 8 0 8 2 1 5 6 6 4 6 5 1 3 1 1 1 3 2 3 5 4 3 1 3 6 1 7 0 11 7 3 8 1 1 8 6 4 4 7 9 3 2 3 3 1 1 1 1 5 0 10 4 9 9 1 8 3 1 2 1 7 2 1 3 3 3 1 6 0 10 8 6 6 5 1 5 4 4 1 7 3 3 1 1 1 3 4 4 3 3 1 1 3 6 1 5 0 6 5 1 8 1 6 7 2 3 2 1 3 1 8 0 6 4 6 1 1 5 4 3 2 2 3 1 2 2 3 1 8 0 11 1 2 1 3 5 6 7 1 9 1 1 2 1 1 1 2 3 3 1 3 4 1 5 4 1 3 2 4 4 5 5 3 4 1 6 0 11 1 8 3 1 4 7 3 1 1 6 7 2 3 1 2 1 3 1 6 0 6 1 8 1 6 1 2 1 3 2 2 1 3 1 8 0 7 8 1 3 9 8 3 4 2 3 1 2 1 1 2 2 1 4 5 4 3 5 1 8 0 11 4 3 1 1 1 8 4 8 4 6 4 2 2 1 1 2 3 1 2 1 9 0 11 8 9 9 6 1 2 9 2 8 7 5 3 1 3 1 2 1 3 1 3 1 6 0 8 1 2 6 9 6 6 4 9 3 3 3 2 1 1 4 2 2 1 2 3 6 1 9 0 9 4 5 4 9 3 1 1 7 3 1 3 3 1 3 2 1 2 3 1 9 0 8 7 1 2 3 6 1 2 2 3 1 3 2 2 2 3 3 3 1 8 0 11 4 1 1 9 4 3 7 1 7 2 2 1 2 1 3 2 2 2 1 1 5 3 4 1 1 3 7 1 5 0 8 1 1 7 7 7 8 2 9 2 3 1 3 2 1 5 0 6 6 1 7 1 1 1 1 3 2 1 1 1 5 0 11 3 5 1 7 8 1 5 1 9 9 9 3 3 1 1 2 1 2 1 2 4 1 5 3 7 1 5 0 9 9 1 4 8 3 5 1 3 5 1 3 1 2 3 1 9 0 10 8 2 9 1 3 7 5 5 4 3 3 1 1 1 1 2 3 1 3 1 5 0 6 1 1 4 9 6 9 1 2 1 1 1 4 5 3 2 3 4 2 1 3 3 5 4 5 3 3 6 1 9 0 10 1 1 9 9 1 8 7 5 6 7 2 1 1 2 1 2 2 1 2 1 9 0 9 9 8 6 2 7 4 9 1 2 1 3 1 3 2 1 1 2 2 1 6 0 8 2 7 9 4 5 3 6 1 3 2 1 1 1 1 1 2 1 1 2 2 3 7 1 9 0 10 1 9 9 1 1 1 7 5 7 1 1 1 3 3 1 2 2 1 1 1 6 0 6 9 8 1 7 2 4 3 3 3 1 1 2 1 8 0 9 3 9 6 7 1 2 3 8 5 3 3 1 1 1 2 3 1 4 4 2 1 5 1 3 3 6 1 6 0 10 2 9 5 5 1 6 4 9 1 2 2 1 1 1 1 1 1 9 0 11 4 7 6 3 8 7 7 3 3 1 4 2 2 1 2 1 2 1 3 1 1 9 0 8 4 3 8 7 1 6 7 7 1 2 3 3 3 1 1 2 1 1 5 1 4 4 1 3 7 1 9 0 6 1 4 5 4 8 4 2 3 2 1 1 2 1 1 1 1 5 0 9 5 4 2 3 1 9 4 8 1 1 1 3 1 3 1 9 0 11 6 4 1 2 6 1 1 8 4 6 5 2 1 3 2 1 3 1 2 1 3 4 2 3 5 4 5 3 6 1 7 0 7 7 3 4 7 1 9 7 2 1 1 3 2 3 1 1 9 0 11 9 4 3 2 7 6 1 7 7 1 7 2 1 1 1 1 3 1 1 1 1 8 0 11 3 7 7 3 6 6 9 7 1 6 1 2 1 3 1 3 1 1 1 3 5 5 4 1 1 5 3 2 5 3 3 4 1 8 0 9 9 7 1 1 1 4 4 1 4 1 1 1 2 2 1 1 1 1 7 0 8 1 3 2 7 7 5 6 6 3 1 3 1 2 1 3 1 5 0 8 1 6 3 5 4 4 7 3 2 3 1 1 2 4 2 2 2 3 5 1 9 0 11 7 2 8 1 7 9 3 3 1 2 5 1 1 3 3 2 3 1 1 2 1 7 0 8 8 1 6 6 8 1 1 9 3 2 1 3 1 1 1 1 9 0 9 4 1 1 4 5 7 2 8 6 2 2 2 1 2 1 3 1 3 2 5 4 1 4 3 7 1 7 0 11 1 3 1 4 3 9 8 5 5 1 1 1 1 1 3 2 2 2 1 9 0 6 8 9 6 2 3 1 3 3 1 2 3 1 1 2 2 1 6 0 8 4 1 5 8 2 3 4 9 2 3 1 3 1 2 2 2 3 3 2 4 1 3 6 1 8 0 7 4 3 4 6 1 1 6 1 1 1 1 3 1 3 3 1 6 0 11 8 8 1 3 6 3 8 9 4 5 7 1 2 3 1 2 1 1 8 0 11 5 2 1 9 2 9 2 9 1 3 5 2 3 1 1 1 2 1 3 3 2 3 5 2 1 3 4 1 6 0 10 1 7 8 7 6 1 6 3 5 8 3 1 2 3 3 1 1 8 0 10 8 3 5 6 9 1 2 5 1 8 3 1 1 3 3 2 1 2 1 9 0 6 7 2 1 8 6 9 1 3 1 3 3 1 1 1 3 5 3 3 3 6 1 2 4 4 3 4 1 8 0 11 1 9 4 9 1 5 5 1 9 4 8 3 1 1 1 3 3 1 1 1 8 0 11 5 2 6 3 1 8 8 9 7 4 1 2 1 2 1 1 1 3 3 1 7 0 7 6 5 3 1 9 6 1 3 2 2 2 2 1 1 4 5 2 1 3 6 1 9 0 11 7 9 1 6 2 3 6 7 2 3 8 3 2 2 3 2 3 3 1 3 1 5 0 7 5 8 4 4 6 8 1 1 1 1 1 3 1 6 0 8 5 7 1 3 1 7 3 1 3 3 1 1 2 3 3 4 5 3 4 5 3 5 1 9 0 9 7 1 2 1 1 1 5 9 8 3 3 1 1 3 1 3 1 1 1 5 0 7 8 2 2 9 1 6 6 2 1 1 2 1 1 8 0 6 7 1 6 1 8 9 3 1 1 3 1 1 2 2 4 4 3 4 5 3 7 1 7 0 11 1 5 5 8 2 4 8 5 3 9 9 2 3 2 1 1 1 2 1 8 0 7 6 9 1 7 1 6 9 2 1 3 3 1 1 3 3 1 7 0 8 4 7 1 8 6 3 1 5 1 2 2 3 3 1 3 5 1 3 3 1 2 2 5 2 1 1 4 3 3 7 2 4 3 3 7 1 8 0 10 2 3 7 7 7 5 5 6 1 5 3 2 2 2 1 1 3 1 1 8 0 9 5 1 5 1 4 1 8 8 4 3 2 1 1 3 3 3 2 1 9 0 8 9 6 1 3 6 1 2 9 1 1 3 2 1 3 1 2 3 5 4 2 2 3 2 1 3 5 1 5 0 11 1 7 7 1 7 9 9 9 9 8 3 3 1 2 1 1 1 5 0 7 1 4 6 5 2 9 5 3 2 1 1 2 1 5 0 7 5 1 7 8 8 5 1 3 3 1 1 2 3 5 5 3 1 3 5 1 8 0 9 5 4 5 8 1 4 4 2 8 3 2 3 1 1 2 3 2 1 5 0 6 2 5 8 2 1 1 1 2 3 3 3 1 8 0 11 1 9 7 1 1 6 3 4 5 2 8 1 3 3 2 1 3 3 2 3 1 4 2 1 3 4 1 6 0 11 5 9 6 7 5 2 8 4 5 1 5 3 1 1 3 1 3 1 8 0 6 5 3 2 7 5 1 3 1 1 2 2 3 2 3 1 9 0 9 8 5 3 7 7 8 6 1 5 3 3 1 3 1 1 3 1 2 3 1 1 4 6 1 3 5 3 3 6 1 9 0 7 9 3 3 1 9 3 8 2 1 1 2 3 2 2 1 2 1 7 0 7 5 4 5 8 5 8 1 1 2 1 1 2 1 2 1 7 0 11 9 3 5 3 2 8 6 1 8 1 7 2 3 3 1 1 2 2 1 3 5 3 3 4 3 4 1 6 0 7 9 8 6 1 6 3 6 2 2 1 2 3 2 1 7 0 10 9 1 4 9 1 1 5 8 1 6 2 3 1 3 2 3 2 1 8 0 9 3 1 1 8 5 3 8 4 7 1 3 1 1 3 3 1 3 3 3 3 4 3 5 1 8 0 6 8 5 6 9 1 5 2 3 1 1 3 1 1 1 1 8 0 7 2 1 1 3 6 6 9 3 1 3 1 1 1 3 3 1 7 0 7 1 6 8 5 5 1 8 2 1 2 1 2 1 2 4 5 5 3 2 3 6 1 6 0 9 1 9 5 9 7 3 1 7 4 1 1 2 2 1 1 1 5 0 8 1 7 7 9 9 7 7 1 1 2 1 2 1 1 7 0 9 9 4 5 1 5 7 7 7 6 1 1 1 2 3 3 1 2 5 2 4 3 4 3 5 1 9 0 9 2 7 6 8 1 5 2 7 7 2 1 2 1 2 3 1 3 1 1 6 0 10 5 5 2 8 1 9 9 3 4 1 1 1 1 3 2 2 1 9 0 6 2 4 1 9 7 6 1 3 1 2 2 2 2 1 2 2 4 4 5 4 5 5 7 5 4 3 7 1 8 0 7 3 7 4 6 6 1 1 1 1 2 1 1 3 2 3 1 7 0 7 1 6 3 9 5 2 7 1 2 1 3 2 3 2 1 7 0 9 6 4 4 2 9 8 1 4 6 3 1 1 2 3 1 1 4 3 2 3 2 1 3 3 6 1 8 0 6 1 4 1 8 7 3 1 3 2 2 1 1 2 3 1 5 0 6 7 6 1 5 1 4 2 1 1 1 1 1 6 0 11 4 9 2 4 9 4 1 7 9 8 3 3 2 1 1 1 1 4 3 2 2 1 2 3 7 1 5 0 8 5 2 1 1 2 4 5 7 1 3 1 1 2 1 8 0 11 8 5 8 6 1 8 4 7 3 1 2 2 3 2 1 1 3 3 1 1 5 0 10 2 7 9 5 4 4 1 9 4 4 2 1 1 1 1 4 1 4 2 2 3 4 3 6 1 5 0 11 1 8 8 7 9 1 2 3 3 1 4 3 2 1 3 2 1 6 0 9 1 1 2 4 2 2 2 8 7 2 3 3 3 2 1 1 8 0 10 4 1 8 6 5 4 9 4 8 1 3 2 1 1 2 2 1 3 2 1 3 4 4 1 3 5 1 7 0 7 1 3 9 6 5 2 9 3 1 1 2 3 3 2 1 8 0 8 1 4 1 2 5 2 5 8 2 1 3 3 3 2 2 1 1 6 0 7 8 8 2 5 5 9 1 1 1 3 2 1 1 2 3 4 3 5 4 5 5 4 5 5 3 6 1 5 0 9 3 6 3 6 9 9 1 2 9 1 3 1 3 1 1 6 0 10 4 8 1 7 1 9 7 9 1 7 1 1 3 2 3 2 1 7 0 6 2 1 8 8 2 7 3 1 3 3 3 3 1 3 3 3 3 4 1 3 7 1 9 0 10 1 1 5 1 1 7 1 1 1 2 2 2 1 1 2 1 1 2 2 1 9 0 8 1 4 6 3 6 4 9 1 1 1 1 1 2 3 2 1 2 1 9 0 6 4 1 2 4 3 1 2 3 2 2 1 3 1 1 2 5 1 5 2 3 2 4 3 6 1 6 0 7 3 4 8 8 7 2 1 2 3 3 1 1 3 1 8 0 7 1 5 1 3 2 5 7 1 1 1 3 1 3 3 2 1 6 0 6 3 2 1 3 2 3 1 1 3 1 3 2 4 5 5 4 1 2 3 4 1 9 0 7 8 9 3 7 1 8 4 1 3 1 3 1 2 1 2 2 1 9 0 10 1 1 3 7 9 3 5 8 9 3 2 3 3 1 2 2 2 2 1 1 9 0 8 4 7 9 1 3 9 1 6 2 2 2 2 2 1 1 1 1 2 5 5 1 3 4 1 8 0 8 4 1 1 6 7 3 1 1 1 3 1 1 2 3 2 1 1 7 0 9 6 1 1 1 3 3 3 2 8 2 1 1 3 1 3 3 1 7 0 7 1 1 9 6 1 9 8 1 3 1 2 2 1 3 2 4 4 4 7 2 5 1 5 4 3 3 6 1 6 0 11 3 2 7 9 7 9 1 2 5 6 9 2 3 2 1 1 1 1 8 0 6 1 6 4 6 3 3 1 1 3 1 3 3 1 2 1 5 0 9 5 1 3 3 1 2 8 7 9 1 2 1 3 1 3 5 5 1 1 2 3 5 1 6 0 8 5 8 4 9 8 4 1 3 3 1 2 2 1 2 1 8 0 11 9 6 9 8 8 1 2 3 6 2 9 1 2 2 3 3 2 3 1 1 6 0 9 1 1 2 6 9 5 8 3 8 2 3 2 3 1 1 4 2 5 1 5 3 4 1 6 0 9 5 1 5 9 1 2 1 2 3 2 2 1 1 3 1 1 5 0 11 1 5 5 2 3 3 7 8 8 1 3 1 1 2 2 1 1 8 0 6 1 6 4 1 1 1 3 1 1 1 3 2 2 3 2 3 5 1 3 5 1 9 0 7 6 1 3 1 6 3 7 1 1 1 1 1 2 1 3 3 1 9 0 11 8 1 9 4 8 6 1 1 8 2 3 2 2 2 1 3 3 1 1 1 1 7 0 6 1 2 7 5 5 7 1 2 1 1 1 1 1 4 3 1 4 4 5 2 2 5 3 3 6 1 9 0 8 1 8 1 1 4 9 7 4 3 2 1 1 3 1 1 2 2 1 6 0 6 1 1 3 7 4 4 2 1 1 3 1 1 1 5 0 9 1 5 4 3 2 5 4 6 1 1 3 3 2 1 3 3 5 3 3 3 3 7 1 7 0 10 5 8 7 1 5 1 8 5 8 8 2 2 3 1 2 3 1 1 9 0 9 1 4 3 1 6 1 3 8 6 1 1 2 2 1 2 2 1 1 1 9 0 11 1 4 3 3 7 5 9 3 1 4 2 1 1 3 2 3 1 3 3 3 5 1 5 2 3 3 1 3 6 1 5 0 10 7 4 2 6 6 9 7 7 1 2 1 1 3 2 1 1 6 0 6 7 1 4 1 9 5 1 1 2 1 3 1 1 7 0 11 4 6 4 4 8 1 2 6 9 1 2 1 1 3 1 3 2 3 2 1 2 1 3 3 3 5 1 7 0 8 2 4 8 8 3 7 1 9 2 3 2 3 1 3 2 1 6 0 7 5 1 6 7 1 4 1 2 1 3 3 2 1 1 8 0 11 4 3 8 7 3 7 6 2 1 7 2 2 2 3 3 2 2 1 2 2 2 2 1 4 3 7 1 7 0 6 7 6 3 1 7 8 3 3 1 3 1 1 1 1 7 0 11 4 1 1 9 8 5 5 2 9 4 5 2 3 1 2 1 3 1 1 5 0 7 7 8 5 7 8 1 8 1 1 1 1 3 4 4 3 2 3 3 5 6 7 3 4 3 3 5 1 6 0 9 9 1 9 7 7 3 9 3 2 2 2 1 2 2 2 1 9 0 8 7 2 2 2 6 1 9 3 1 1 3 1 1 3 2 2 1 1 6 0 10 1 5 4 6 8 8 8 2 8 6 2 2 1 2 2 1 3 5 5 1 3 3 4 1 9 0 7 2 1 7 8 3 4 3 2 1 1 2 3 1 2 2 1 1 8 0 8 5 1 6 8 7 4 8 6 3 2 2 2 1 3 1 1 1 8 0 6 8 9 1 4 1 5 3 3 1 3 3 1 2 2 4 3 1 1 3 6 1 6 0 7 7 4 7 1 1 5 1 3 1 3 2 3 3 1 5 0 8 6 1 4 2 8 7 6 1 1 1 3 1 1 1 9 0 11 4 4 1 1 3 1 8 9 9 3 9 3 1 3 1 3 2 3 2 1 2 2 1 3 5 5 3 6 1 7 0 6 7 8 1 7 8 5 3 2 3 2 1 3 1 1 9 0 6 6 5 1 8 9 5 2 1 1 3 2 1 2 2 1 1 8 0 9 1 8 5 4 4 8 1 9 1 3 3 1 2 2 2 2 2 2 1 3 3 4 1 5 5 3 6 2 7 3 4 5 3 4 1 9 0 11 1 1 9 2 8 1 1 7 8 5 3 1 1 1 3 3 2 3 1 1 1 5 0 10 2 3 7 9 8 5 9 1 1 7 3 2 1 1 2 1 7 0 8 7 1 1 9 6 1 5 4 2 1 1 1 3 1 3 2 1 3 2 3 4 1 6 0 10 9 8 3 9 2 6 3 1 1 7 3 3 1 1 3 1 1 7 0 7 1 4 2 2 7 6 7 3 1 3 2 1 1 2 1 9 0 7 1 9 2 1 7 8 3 1 1 1 3 3 2 2 1 3 5 5 3 3 3 7 1 9 0 10 7 7 1 1 6 2 5 3 9 2 3 1 3 3 2 3 1 3 3 1 7 0 6 5 3 9 8 1 1 1 1 3 3 3 2 3 1 7 0 9 9 4 9 3 7 3 5 1 1 3 1 3 2 3 3 1 5 3 2 2 1 3 1 3 5 1 8 0 10 9 4 3 6 1 4 6 7 4 1 3 2 3 3 3 3 1 1 1 5 0 6 8 5 8 9 1 1 2 1 1 2 1 1 7 0 9 8 3 8 9 1 5 2 6 9 2 3 2 1 1 1 3 5 1 4 1 1 6 1 3 6 1 4 3 3 6 1 5 0 9 1 1 8 6 6 5 5 1 3 3 1 1 1 2 1 7 0 9 7 7 1 1 6 8 2 8 1 3 1 1 2 1 3 1 1 7 0 7 7 9 2 6 3 7 1 1 1 1 2 3 2 2 2 2 1 5 5 2 3 7 1 7 0 6 4 7 6 8 1 1 1 2 1 1 1 2 1 1 9 0 9 1 1 6 4 3 4 6 1 1 1 1 1 1 2 1 3 3 1 1 5 0 10 7 6 8 4 7 2 7 2 1 5 1 1 1 2 3 5 4 2 1 5 1 2 3 4 1 5 0 10 8 1 3 9 4 4 8 5 6 9 2 3 3 1 1 1 9 0 7 2 7 8 9 4 6 1 2 1 2 2 3 2 1 1 2 1 5 0 10 9 3 1 1 9 3 7 1 9 6 2 1 2 1 3 2 3 5 5 3 4 1 9 0 11 3 8 5 9 3 1 8 1 3 8 1 2 1 3 1 3 2 1 2 3 1 8 0 11 1 3 8 4 1 8 9 1 5 5 1 3 2 1 3 1 3 1 1 1 6 0 9 7 6 6 7 6 2 1 4 7 3 1 2 1 1 2 3 5 1 2 3 5 4 5 5 3 5 1 6 0 6 9 7 1 7 8 7 1 3 3 3 2 1 1 8 0 6 6 8 1 3 6 3 1 2 3 1 2 1 1 2 1 5 0 7 5 2 2 7 1 2 2 1 1 3 3 2 2 2 4 2 4 3 4 1 7 0 6 2 5 1 1 6 3 2 1 1 2 1 1 1 1 6 0 9 3 7 4 2 6 5 5 1 9 3 1 1 1 1 2 1 9 0 11 8 2 1 9 9 1 2 3 8 3 8 3 1 1 2 2 3 1 2 2 2 3 1 1 3 5 1 5 0 8 9 1 9 4 8 9 3 7 3 1 1 1 1 1 9 0 10 1 1 1 7 5 7 8 8 3 1 3 2 3 1 3 1 2 3 3 1 7 0 8 1 3 7 4 6 1 2 7 2 2 1 1 2 2 1 3 3 3 2 4 3 7 1 8 0 6 8 6 1 6 3 8 2 1 2 3 2 1 1 2 1 7 0 6 1 2 1 6 1 4 1 1 3 1 1 1 3 1 6 0 10 3 2 7 1 1 3 7 9 9 2 1 3 1 2 1 3 5 4 2 2 1 4 1 3 6 1 9 0 7 5 3 9 4 5 1 7 1 1 3 1 2 3 3 3 1 1 6 0 11 9 7 1 9 8 1 4 6 2 3 7 2 3 3 3 3 1 1 9 0 10 2 8 9 7 4 1 1 7 4 9 3 2 1 1 2 2 2 2 1 3 2 3 2 4 5 4 4 5 5 3 5 3 3 4 1 8 0 6 8 1 9 5 6 5 2 1 2 2 2 2 1 3 1 5 0 10 2 5 1 9 7 1 1 9 4 3 2 1 1 3 3 1 9 0 10 1 8 7 6 6 4 4 4 8 1 2 1 1 1 1 2 3 1 2 1 4 4 3 3 7 1 5 0 9 1 1 6 5 4 5 9 5 3 3 2 1 3 3 1 6 0 6 1 5 6 6 1 6 1 2 2 1 3 3 1 9 0 8 4 7 4 7 1 7 7 2 3 3 3 1 3 3 2 1 1 2 5 2 4 4 2 5 3 7 1 9 0 11 8 1 8 1 8 9 2 9 5 7 9 1 1 1 3 1 1 1 2 3 1 7 0 7 1 7 5 9 6 1 5 3 3 1 2 1 1 3 1 6 0 11 5 1 4 9 5 9 1 3 2 8 2 1 3 3 2 1 2 3 3 4 3 4 4 1 3 6 1 5 0 6 8 9 2 9 1 3 2 1 2 1 1 1 7 0 9 9 2 2 8 1 5 2 2 8 2 1 1 3 2 1 1 1 6 0 11 5 2 8 1 8 9 5 4 6 1 9 2 1 1 3 3 1 3 5 2 5 2 3 3 7 1 8 0 8 9 1 8 9 2 1 3 1 1 2 3 3 3 3 2 2 1 5 0 6 2 5 9 6 8 1 1 1 3 3 1 1 9 0 8 8 8 9 2 9 9 1 1 1 2 3 3 3 3 1 3 3 3 2 1 4 5 5 1 7 5 1 4 4 3 7 1 5 0 11 4 2 3 5 2 2 7 6 9 1 1 2 1 2 2 3 1 9 0 6 2 1 9 3 8 1 2 3 3 1 2 2 2 2 3 1 8 0 6 5 1 1 6 1 2 3 1 1 2 2 2 3 1 3 2 2 5 3 1 4 3 6 1 5 0 10 8 6 5 6 2 7 2 1 9 8 1 3 2 3 2 1 9 0 11 9 2 3 5 5 6 2 3 9 9 1 1 3 2 2 1 1 2 1 2 1 5 0 8 4 7 7 1 3 1 5 1 1 1 1 1 3 2 5 4 2 3 3 3 5 1 7 0 7 6 2 1 9 6 9 1 2 2 1 2 3 3 1 1 7 0 8 5 4 3 2 1 7 7 9 3 3 2 2 1 3 1 1 9 0 9 7 1 2 2 8 5 9 4 5 3 3 3 2 1 1 1 2 2 4 2 1 4 3 3 6 1 8 0 6 4 3 2 1 1 6 1 3 1 1 2 2 2 2 1 9 0 6 4 7 2 5 1 4 2 1 1 1 2 2 1 1 2 1 9 0 6 4 9 7 4 1 6 2 3 1 3 1 3 3 2 3 3 3 1 3 3 3 4 2 5 3 5 4 3 7 1 5 0 10 3 4 8 5 9 1 7 6 3 5 1 2 1 3 3 1 5 0 7 1 9 4 4 3 2 3 2 3 1 2 1 1 7 0 10 2 9 2 1 3 9 5 6 9 1 1 1 2 1 3 3 3 5 3 3 1 1 3 1 3 5 1 5 0 10 7 4 1 6 6 3 8 4 6 4 2 1 3 3 1 1 7 0 9 3 6 6 3 6 4 6 9 1 1 1 1 1 2 3 1 1 6 0 9 3 3 6 9 2 3 1 6 8 2 1 1 1 1 2 2 5 4 1 3 3 6 1 7 0 10 7 5 1 1 7 6 1 6 2 3 1 3 2 1 1 1 3 1 9 0 11 3 3 3 5 1 3 8 5 9 2 1 3 3 2 2 1 1 1 1 3 1 7 0 11 3 6 5 2 1 6 4 2 3 1 6 1 2 1 3 2 1 2 3 5 5 4 2 1 3 6 1 5 0 8 6 7 5 3 1 2 5 4 1 3 2 3 2 1 9 0 6 4 9 3 1 3 9 1 3 3 3 1 3 1 3 3 1 9 0 6 9 9 2 1 5 7 1 2 1 3 3 2 3 1 1 4 3 2 5 2 3 3 7 1 8 0 9 1 1 4 4 5 2 5 8 7 1 2 3 2 1 2 1 2 1 8 0 10 3 8 2 1 5 8 5 7 8 2 1 2 1 3 1 2 2 2 1 9 0 6 3 7 4 8 7 1 1 1 1 2 1 2 1 2 3 5 4 1 1 4 5 3 3 2 5 2 5 3 3 6 1 9 0 6 2 7 2 3 1 8 2 3 1 1 1 1 2 3 1 1 5 0 9 5 1 2 5 1 4 2 2 9 1 2 1 3 3 1 7 0 10 5 3 4 9 9 7 1 8 4 9 2 2 1 1 1 1 1 2 2 3 1 4 5 3 4 1 6 0 6 3 1 7 5 1 2 3 1 1 3 2 2 1 5 0 8 7 1 1 1 3 8 2 1 2 3 3 3 1 1 8 0 6 6 5 1 1 3 1 1 2 1 3 3 2 1 1 5 4 3 3 3 4 1 9 0 8 5 4 9 1 7 3 4 5 3 3 1 1 3 1 2 2 1 1 9 0 8 4 2 8 7 5 1 4 8 2 3 3 1 2 3 3 2 2 1 5 0 11 4 5 7 1 2 2 4 1 5 8 2 1 3 2 2 1 3 3 3 3 3 4 1 9 0 6 8 5 5 1 1 2 1 3 2 1 1 3 3 1 3 1 6 0 8 8 8 3 4 1 3 1 4 1 1 1 3 3 1 1 9 0 6 7 2 3 7 1 8 1 2 2 2 2 1 1 1 3 1 4 4 1 3 6 1 8 0 6 1 5 7 9 2 1 1 2 3 3 1 3 2 2 1 6 0 7 9 3 4 4 1 9 8 1 1 1 1 3 2 1 8 0 11 4 2 8 1 5 8 8 6 1 9 1 1 1 3 3 2 2 2 1 2 4 1 1 5 3 3 5 7 3 2 2 6 3 5 3 3 4 1 7 0 10 3 4 1 5 1 5 9 6 1 4 1 1 1 3 2 2 1 1 9 0 10 6 3 9 1 2 3 2 5 2 1 3 1 2 1 3 3 1 1 2 1 9 0 9 3 9 8 2 1 9 1 4 1 2 1 2 3 2 1 1 1 1 1 3 3 5 3 7 1 5 0 8 1 1 1 8 9 2 5 2 3 2 1 3 3 1 9 0 6 9 1 3 8 4 3 2 3 1 1 2 1 3 1 3 1 5 0 11 1 5 3 1 6 1 1 8 1 3 2 1 1 2 1 3 2 2 4 2 3 5 3 3 7 1 7 0 8 1 5 1 6 7 7 5 1 1 1 3 2 1 1 2 1 9 0 9 1 2 9 2 3 6 6 8 7 2 1 1 2 1 1 2 2 1 1 6 0 7 7 1 6 6 9 9 9 2 2 2 1 2 2 4 3 1 4 1 3 2 3 6 1 5 0 8 1 1 7 5 5 5 9 5 1 1 1 2 1 1 5 0 10 2 4 4 6 1 9 7 5 9 1 2 1 3 2 1 1 6 0 7 6 1 1 6 1 2 9 2 3 1 1 1 1 3 3 1 2 2 3 3 5 1 9 0 9 1 3 6 2 4 1 8 5 8 1 3 1 2 2 1 1 2 3 1 7 0 6 7 4 1 1 5 5 3 1 2 1 1 2 1 1 5 0 9 4 4 6 4 8 1 5 7 8 3 1 1 3 2 2 4 2 3 3 3 5 5 5 5 3 4 1 8 0 11 7 6 4 5 7 9 4 3 8 1 8 1 3 2 1 1 3 1 2 1 7 0 8 9 8 8 4 6 1 7 8 1 3 1 1 1 1 3 1 7 0 10 1 3 4 3 8 9 1 2 4 9 3 2 1 3 3 2 1 1 1 4 3 3 7 1 9 0 6 5 1 5 8 3 4 1 1 2 2 1 2 2 2 3 1 5 0 6 1 1 6 4 1 7 1 1 3 1 1 1 7 0 8 3 1 5 4 1 1 6 7 3 1 2 3 2 1 1 1 2 5 4 2 4 2 3 6 1 6 0 10 7 7 4 6 2 4 6 9 8 1 3 1 1 3 1 1 1 6 0 6 7 3 4 1 3 1 2 3 3 1 2 2 1 9 0 10 2 1 5 2 8 8 4 4 9 5 3 1 2 3 3 3 3 1 1 2 4 2 3 5 2 3 4 1 8 0 9 6 7 1 3 8 2 1 1 3 3 1 3 3 2 1 2 1 1 8 0 7 1 1 1 3 4 4 6 1 3 2 1 2 2 1 1 1 9 0 7 5 4 1 4 6 1 9 1 2 2 1 3 1 3 2 3 3 2 5 2 3 4 1 7 0 7 5 9 1 3 8 4 4 1 3 1 1 3 3 3 1 5 0 9 3 2 6 7 9 4 8 4 1 2 2 1 2 1 1 9 0 9 4 3 4 9 1 7 1 1 8 1 2 1 2 1 2 3 2 1 2 4 3 3 5 5 4 1 4 4 4 3 7 1 5 0 10 8 4 1 9 5 8 6 4 7 7 3 2 1 1 2 1 5 0 8 1 2 5 9 9 4 7 1 1 1 1 1 3 1 6 0 11 3 8 2 2 7 1 5 1 8 9 2 2 3 2 3 1 3 2 4 1 2 5 1 3 3 5 1 9 0 9 2 8 8 7 5 1 3 1 3 1 1 1 3 3 1 1 1 3 1 6 0 9 7 2 3 1 7 6 1 8 8 1 1 3 2 3 2 1 8 0 7 4 5 7 1 7 7 7 1 1 2 1 2 2 1 1 4 4 3 2 5 3 5 1 6 0 11 8 1 9 1 8 4 1 6 6 5 6 3 1 3 1 1 1 1 6 0 7 5 8 2 1 3 7 2 2 1 3 2 1 2 1 6 0 11 1 3 5 9 5 6 3 6 6 4 1 1 2 3 2 2 1 2 2 2 4 5 3 6 1 7 0 7 2 8 1 4 4 4 1 3 1 1 1 1 3 1 1 7 0 11 1 7 9 8 2 5 2 6 7 5 7 3 1 1 1 3 3 2 1 6 0 10 1 8 7 7 4 7 7 8 9 1 1 1 3 3 2 3 4 2 5 3 1 5 6 2 3 1 4 3 3 5 1 7 0 10 1 6 7 2 9 6 9 1 2 1 1 2 1 3 2 2 1 1 6 0 10 7 6 3 7 4 1 3 9 2 9 3 3 2 1 1 1 1 7 0 9 1 7 9 1 7 7 7 3 4 2 2 3 1 1 3 1 4 1 2 3 5 3 5 1 6 0 9 1 8 9 5 5 8 6 2 1 1 2 1 2 1 1 1 9 0 7 3 1 5 1 3 6 8 1 1 1 1 1 2 3 3 1 1 8 0 7 5 8 7 4 2 5 1 1 3 1 2 2 1 3 2 2 2 3 3 3 3 6 1 5 0 10 5 6 9 5 1 5 1 4 1 5 2 1 1 3 1 1 5 0 6 7 1 6 6 1 1 3 1 3 1 3 1 7 0 11 4 4 5 7 1 1 2 2 3 6 1 1 3 2 1 2 3 1 1 2 1 3 2 4 3 4 1 9 0 7 2 1 1 4 5 4 9 1 2 3 2 1 1 1 2 3 1 6 0 10 1 5 1 2 8 6 8 5 3 1 3 1 3 1 2 1 1 6 0 10 9 8 8 6 5 8 2 4 8 1 2 1 3 3 1 3 5 5 2 5 2 2 6 5 5 3 6 1 9 0 6 8 2 4 2 2 1 2 1 3 3 3 3 1 2 1 1 6 0 8 5 2 7 8 2 8 1 3 3 1 1 1 1 1 1 6 0 8 9 3 5 3 1 1 4 4 3 2 1 1 1 1 1 3 3 1 5 2 3 7 1 7 0 9 1 1 3 5 3 7 4 7 3 2 1 1 1 3 3 3 1 8 0 7 8 2 9 7 9 1 3 3 1 2 1 2 2 1 2 1 7 0 7 2 8 3 1 5 5 8 3 2 1 1 3 1 1 2 4 2 3 5 1 2 3 4 1 6 0 9 9 1 2 3 9 8 8 5 9 1 2 3 3 3 2 1 7 0 8 1 1 4 9 2 1 1 3 1 3 2 2 3 1 3 1 6 0 8 8 7 1 6 6 1 7 4 3 2 1 1 3 1 3 4 1 5 3 4 1 5 0 6 1 1 8 3 8 2 2 2 1 2 2 1 9 0 10 4 5 7 8 9 4 9 4 5 1 3 2 1 3 1 2 2 2 3 1 8 0 6 7 8 7 8 1 6 3 1 2 1 2 2 1 3 2 1 5 3 3 6 1 7 0 8 9 2 1 1 4 6 5 8 2 3 1 3 2 2 1 1 5 0 10 9 5 9 8 1 7 3 6 8 1 1 2 2 2 3 1 9 0 7 9 1 7 2 9 8 9 3 2 2 1 1 3 1 2 2 5 4 3 2 4 3 2 2 2 5 6 5 3 3 7 1 5 0 6 2 9 1 7 3 1 1 3 1 1 1 1 9 0 6 2 8 1 1 3 4 1 2 2 3 3 1 1 1 1 1 7 0 8 1 5 7 3 4 3 9 2 1 3 3 2 3 1 1 1 1 2 1 4 5 4 3 5 1 9 0 7 5 5 3 1 9 3 9 2 3 1 1 1 2 1 1 1 1 6 0 10 1 4 5 1 6 4 2 6 3 6 2 1 1 3 1 2 1 6 0 8 6 9 4 4 7 1 2 8 3 1 1 2 2 2 3 2 2 5 2 3 4 1 5 0 8 3 2 9 1 5 5 3 5 2 1 1 2 1 1 8 0 9 3 2 3 1 7 8 2 4 9 3 1 2 3 1 1 1 2 1 7 0 8 1 3 8 8 4 6 8 5 2 1 1 3 1 3 1 3 5 3 3 3 6 1 9 0 6 7 1 9 9 6 9 3 1 3 2 3 2 3 2 3 1 5 0 8 3 9 5 6 1 1 5 1 2 1 1 1 2 1 5 0 7 6 4 1 3 2 3 1 3 1 1 2 2 1 2 4 5 3 1 3 7 1 5 0 9 1 1 1 6 3 1 2 6 3 1 1 3 3 1 1 8 0 9 1 9 5 9 5 3 5 2 1 1 2 2 1 1 3 1 2 1 6 0 9 9 3 6 4 1 3 4 6 5 1 1 1 3 1 1 3 3 1 5 3 3 4 6 1 2 1 5 5 7 2 5 3 3 7 1 9 0 6 2 6 5 4 7 1 1 3 2 2 3 1 1 3 2 1 9 0 8 6 9 1 8 2 8 2 4 3 2 3 1 3 1 3 1 2 1 8 0 8 1 4 8 2 7 6 2 1 3 3 1 1 3 1 1 1 3 4 1 4 5 3 5 3 4 1 9 0 6 5 8 4 4 1 1 3 1 2 3 3 2 1 1 3 1 7 0 9 4 5 6 2 2 1 1 2 1 1 1 1 2 2 2 3 1 7 0 6 8 5 1 2 5 8 3 1 3 1 1 1 1 4 1 2 3 3 7 1 8 0 6 3 7 4 6 1 5 3 1 3 3 1 2 3 3 1 5 0 10 2 3 4 6 1 6 4 9 4 1 2 1 1 2 3 1 5 0 9 1 6 8 4 2 3 3 2 1 1 1 1 1 2 2 1 4 2 3 1 4 3 6 1 8 0 8 6 9 1 4 2 5 7 5 1 2 1 3 1 1 1 2 1 8 0 10 3 6 2 2 9 5 8 1 6 4 1 1 3 3 3 3 2 3 1 6 0 10 8 6 3 8 8 3 2 6 5 1 3 1 2 3 1 1 2 3 2 2 5 1 3 7 1 9 0 6 6 6 1 4 7 4 3 1 2 3 2 1 3 1 3 1 5 0 9 5 8 3 7 2 1 8 1 8 2 1 1 2 1 1 6 0 6 4 1 3 8 1 1 1 1 2 1 1 3 5 1 1 2 1 3 2 5 1 6 5 4 3 7 1 8 0 11 5 6 1 2 5 5 4 3 3 9 6 1 1 2 1 2 2 3 2 1 6 0 6 5 1 2 6 8 3 1 1 1 2 2 1 1 5 0 9 3 4 1 2 1 3 3 1 1 3 1 3 3 3 5 3 1 2 4 1 1 3 6 1 8 0 7 1 8 8 4 4 5 1 3 1 1 1 3 1 3 1 1 8 0 6 2 6 4 3 1 3 1 3 1 1 2 3 3 2 1 7 0 9 4 7 2 9 7 1 7 9 8 1 3 1 1 2 1 1 4 5 4 4 1 3 3 6 1 6 0 8 9 1 7 4 1 8 8 7 3 1 2 2 1 2 1 9 0 9 3 1 3 1 9 1 7 9 1 1 2 1 1 1 3 2 1 1 1 9 0 11 4 2 2 1 7 4 8 3 2 1 1 1 1 1 3 1 2 3 2 1 3 3 4 2 1 3 3 4 1 5 0 7 2 5 1 7 2 4 9 2 3 2 3 1 1 5 0 7 1 3 4 7 9 3 1 1 3 2 2 1 1 8 0 11 6 3 2 8 8 3 8 2 4 1 1 3 2 1 3 2 3 1 1 5 5 2 2 3 4 1 7 0 8 7 9 4 9 1 6 2 2 3 1 2 1 3 2 3 1 7 0 10 2 8 7 7 8 1 9 5 2 8 2 3 1 2 1 2 3 1 5 0 9 1 1 3 1 5 9 1 4 7 1 2 2 1 3 3 5 3 4 2 4 1 7 5 4 3 5 1 5 0 10 9 3 6 5 1 7 5 7 6 7 1 2 3 3 1 1 6 0 7 1 4 6 1 3 5 3 1 3 1 1 3 3 1 8 0 7 7 6 1 3 4 1 9 3 1 1 1 2 1 2 2 3 1 5 1 1 3 7 1 7 0 8 1 6 1 5 7 3 9 9 1 1 1 3 3 2 3 1 5 0 7 2 2 9 7 3 1 1 3 1 3 1 2 1 8 0 10 3 9 4 2 7 9 1 9 9 2 2 2 1 1 2 3 3 3 4 2 1 2 5 3 1 3 4 1 9 0 8 1 3 1 3 5 9 5 1 1 3 3 1 3 3 1 1 3 1 5 0 6 1 3 5 1 6 9 3 1 3 1 3 1 9 0 8 8 2 8 1 5 8 6 8 2 2 1 1 1 2 3 2 2 3 2 1 5 3 5 1 6 0 10 5 9 7 6 1 1 4 6 6 4 1 3 3 3 3 3 1 5 0 11 6 8 6 9 7 2 9 8 6 1 6 1 1 3 3 2 1 9 0 8 2 1 6 7 7 9 3 6 3 2 2 2 1 2 1 1 2 2 1 5 5 1 3 7 1 8 0 6 9 1 8 1 1 7 1 3 3 2 2 2 1 2 1 8 0 6 7 4 5 1 9 9 3 2 3 3 2 1 1 1 1 7 0 7 7 6 1 3 4 5 7 3 3 3 3 3 1 1 3 1 2 2 2 5 2 7 4 4 6 5 4 3 5 1 6 0 8 1 4 7 7 3 7 8 4 3 1 3 2 3 1 1 9 0 8 7 1 1 3 7 3 4 7 2 2 1 1 3 1 3 3 2 1 5 0 7 7 2 9 1 8 5 1 2 3 3 1 3 3 4 2 1 1 3 6 1 7 0 11 1 5 4 9 7 4 1 9 8 8 2 2 3 1 1 3 1 1 1 8 0 7 4 3 8 4 7 7 1 1 3 2 1 3 2 2 3 1 7 0 11 1 7 9 8 1 9 7 5 4 1 1 1 1 1 3 3 1 2 1 5 1 3 1 2 3 6 1 9 0 8 9 1 5 7 1 4 6 6 3 3 1 1 1 3 3 1 2 1 9 0 11 5 9 9 9 4 1 2 6 3 1 9 1 1 3 1 1 1 1 1 3 1 7 0 8 7 6 4 5 1 4 7 9 1 1 1 1 3 2 3 1 2 2 5 1 2 3 7 1 6 0 8 5 8 1 5 5 9 8 3 2 3 2 3 1 2 1 8 0 6 6 8 7 3 6 1 1 2 1 1 1 2 3 3 1 5 0 7 6 1 9 8 1 7 8 3 2 1 3 3 3 2 3 2 3 1 5 3 7 1 9 0 9 3 3 1 1 7 5 3 9 7 1 3 1 1 3 2 3 1 1 1 9 0 9 8 7 1 5 1 3 2 8 6 1 3 2 3 2 2 3 1 2 1 7 0 8 3 2 6 5 8 1 1 3 2 1 2 3 2 3 3 4 5 2 3 3 1 1 6 4 3 1 5 4 3 5 1 5 0 11 5 9 4 5 1 5 1 1 6 9 5 2 1 1 3 2 1 6 0 10 6 2 5 2 1 4 7 2 8 7 1 1 3 1 2 3 1 7 0 6 6 3 8 1 6 8 2 1 2 1 2 2 3 1 4 5 5 3 3 5 1 8 0 9 9 1 4 4 8 1 1 8 3 3 1 3 2 3 2 2 3 1 7 0 9 3 3 7 6 1 2 6 9 1 2 1 3 1 2 1 3 1 9 0 8 2 7 1 9 6 1 2 4 2 1 1 3 2 2 2 2 1 5 2 2 1 3 3 7 1 9 0 11 7 1 2 1 2 8 2 1 5 6 6 3 2 1 3 2 2 2 1 1 1 5 0 10 1 4 8 1 1 8 4 9 8 1 1 3 2 1 2 1 9 0 11 6 5 4 6 3 6 1 1 7 7 6 3 1 2 1 2 1 2 3 1 3 2 1 3 3 1 4 3 5 1 7 0 8 9 1 2 1 4 1 1 6 3 1 3 1 1 1 3 1 7 0 8 1 7 7 2 8 8 9 4 2 1 2 3 2 2 1 1 5 0 11 8 9 6 7 8 5 7 1 3 3 7 3 3 1 1 2 2 4 2 2 1 3 6 1 7 0 8 4 3 8 4 1 6 6 5 2 1 1 2 3 1 3 1 8 0 6 1 4 3 7 5 7 1 1 1 3 3 2 3 3 1 9 0 11 2 5 5 9 2 1 3 7 5 1 4 1 1 3 1 3 3 1 1 1 2 5 2 4 4 1 2 3 4 5 5 4 3 5 1 5 0 6 9 7 1 7 5 1 1 2 1 1 1 1 7 0 9 5 7 9 4 9 2 8 1 5 3 2 1 1 3 1 2 1 8 0 8 8 5 5 1 6 9 2 1 1 2 1 1 1 1 3 1 4 3 3 1 1 3 6 1 9 0 6 8 5 1 7 5 3 1 2 1 1 3 1 2 1 2 1 7 0 11 1 2 2 8 2 9 1 1 8 1 2 1 1 1 2 2 3 3 1 6 0 11 2 8 7 1 3 7 1 9 4 8 5 3 1 2 2 1 2 1 2 4 4 4 2 3 5 1 8 0 10 6 5 1 2 3 8 6 4 2 1 3 3 2 2 1 1 3 1 1 7 0 8 7 1 3 5 6 3 9 6 1 1 1 2 3 3 1 1 5 0 6 6 3 1 2 4 2 3 1 3 3 1 1 2 3 2 2 3 5 1 7 0 10 6 3 1 2 4 4 2 1 1 4 2 1 1 2 2 2 2 1 7 0 11 7 8 5 7 1 1 4 2 5 2 8 2 1 1 1 2 1 1 1 8 0 8 4 8 1 3 7 9 2 4 3 2 1 1 2 1 2 1 4 4 3 4 3 3 5 1 7 0 10 4 2 1 4 8 6 9 6 3 6 2 1 3 2 1 2 2 1 8 0 7 6 3 3 9 1 1 9 2 3 3 2 1 3 3 2 1 9 0 11 7 2 1 7 5 6 2 3 9 9 1 1 2 1 1 1 1 2 1 1 2 5 2 4 3 4 3 5 7 5 3 3 6 1 8 0 7 2 8 9 9 4 1 2 3 1 1 1 3 3 3 3 1 8 0 7 7 7 9 4 1 1 1 1 3 3 2 3 1 2 2 1 7 0 7 9 1 5 5 1 9 8 3 1 3 1 2 3 1 4 2 2 3 5 5 3 7 1 5 0 10 1 5 9 5 8 4 4 1 1 1 1 3 3 3 2 1 5 0 11 4 8 9 5 2 7 9 5 1 8 3 3 2 2 1 3 1 5 0 11 9 9 4 5 4 8 1 2 6 4 4 3 3 3 1 1 4 2 1 3 3 2 2 3 4 1 7 0 6 2 7 6 1 2 8 1 1 1 1 2 3 3 1 6 0 10 1 2 1 7 1 9 9 8 3 1 1 1 3 3 1 3 1 9 0 6 4 7 1 1 5 1 1 2 1 1 2 2 2 2 2 5 2 3 4 3 6 1 7 0 7 8 1 4 4 9 2 1 1 2 1 3 2 2 2 1 7 0 7 5 8 2 3 9 1 3 1 1 3 1 1 2 1 1 5 0 11 3 1 6 5 5 5 6 1 1 7 5 3 3 1 1 1 4 3 5 3 5 1 3 6 1 9 0 9 1 7 9 1 3 6 3 1 1 2 1 3 3 1 2 3 2 2 1 9 0 8 6 1 1 9 1 6 4 3 3 3 2 3 2 1 2 2 1 1 6 0 11 1 6 4 1 2 9 8 4 9 6 1 1 1 1 1 3 3 2 1 4 5 2 1 6 6 4 1 6 6 2 4 3 3 6 1 8 0 9 1 9 9 4 5 6 2 4 1 2 3 1 1 1 2 1 1 1 7 0 7 8 1 8 4 5 1 1 2 3 1 3 1 3 1 1 8 0 9 6 9 2 7 2 1 9 4 8 1 2 1 1 2 3 1 1 1 2 1 5 3 3 3 4 1 8 0 7 1 4 4 6 4 3 9 2 2 1 2 1 3 1 1 1 5 0 9 1 4 6 4 5 3 1 7 9 1 2 3 1 3 1 8 0 10 1 1 3 4 3 7 2 6 2 7 3 1 3 2 1 2 1 1 1 2 1 1 3 4 1 8 0 6 9 9 1 5 2 4 1 3 3 1 1 1 1 2 1 6 0 11 9 5 4 1 4 7 6 4 6 9 4 3 3 2 1 3 1 1 5 0 10 7 5 9 7 4 3 4 5 1 9 2 1 3 1 3 2 2 4 1 3 7 1 5 0 9 1 4 4 2 5 9 8 4 4 1 3 2 1 3 1 9 0 10 3 9 7 9 2 3 1 6 9 6 2 2 3 3 2 1 1 1 3 1 5 0 10 2 4 1 3 5 5 6 1 4 9 3 2 3 3 1 1 2 1 1 1 1 4 2 4 6 4 5 3 4 1 8 0 11 7 1 2 4 5 1 3 8 1 6 8 2 2 1 1 3 3 3 2 1 5 0 8 7 3 1 5 7 4 1 6 2 2 3 1 1 1 6 0 6 3 1 1 7 2 8 1 2 3 3 3 2 5 3 3 1 3 4 1 9 0 6 4 5 5 1 5 4 3 3 1 1 2 3 3 2 1 1 5 0 9 3 9 2 7 6 1 7 3 1 1 1 3 3 2 1 8 0 10 6 3 6 3 3 1 2 1 2 1 3 1 2 3 2 3 3 1 3 2 3 1 3 4 1 6 0 8 5 1 9 2 4 2 2 6 1 1 3 3 2 3 1 5 0 6 2 7 7 1 3 7 1 1 1 1 1 1 9 0 8 7 6 3 3 1 5 7 7 3 1 2 3 1 1 3 1 1 2 3 3 2 3 4 1 9 0 6 6 8 7 1 5 1 2 1 3 1 1 2 1 2 2 1 8 0 10 5 9 4 4 3 1 4 7 8 2 1 3 2 3 2 2 2 2 1 5 0 11 2 6 4 7 3 7 9 1 8 9 8 1 1 1 2 3 4 3 1 3 1 1 4 4 5 4 4 3 6 1 5 0 8 7 5 5 2 8 1 9 1 1 2 1 1 1 1 9 0 9 3 6 7 4 6 9 6 1 1 1 1 3 2 2 3 2 2 3 1 8 0 8 1 7 9 2 1 1 4 6 3 3 1 1 2 1 3 3 2 1 2 2 5 4 3 5 1 7 0 10 9 8 3 8 3 2 1 2 5 9 2 3 3 2 1 1 3 1 6 0 10 7 8 1 4 9 5 1 2 6 4 3 2 3 1 2 1 1 6 0 10 1 4 7 3 9 1 8 7 2 9 3 1 1 3 1 1 1 1 5 5 1 3 6 1 7 0 6 1 6 2 7 1 5 3 1 2 1 1 2 2 1 9 0 8 1 8 1 1 5 3 5 9 2 1 2 1 3 3 1 2 3 1 7 0 7 2 4 1 8 5 1 7 1 2 3 2 1 1 2 5 1 2 3 5 3 3 5 1 6 0 10 7 8 2 3 4 5 1 3 6 5 1 3 2 2 2 1 1 8 0 11 9 7 1 4 7 6 4 1 5 9 6 2 1 1 3 1 1 3 3 1 7 0 11 3 1 5 1 8 9 2 5 6 6 3 1 3 1 2 1 2 2 3 3 5 1 1 4 4 1 3 5 5 3 6 1 5 0 6 9 1 6 6 4 8 3 2 1 3 2 1 9 0 8 8 9 9 9 4 1 4 3 1 1 3 1 3 2 2 3 3 1 6 0 9 8 5 5 5 6 5 1 9 2 2 2 1 3 1 1 1 2 1 4 4 2 3 5 1 9 0 10 5 4 3 1 8 9 4 2 9 4 3 1 1 3 2 3 1 2 1 1 8 0 9 6 1 6 2 9 1 6 2 5 3 1 3 1 3 1 1 2 1 5 0 6 3 6 5 1 8 1 1 1 2 1 1 3 1 5 2 1 3 7 1 9 0 6 8 1 5 2 6 8 1 3 2 1 1 3 2 2 2 1 8 0 6 2 2 1 3 2 3 1 2 1 3 1 3 3 2 1 9 0 11 6 6 7 6 5 1 6 9 4 7 9 2 2 1 2 1 3 2 3 2 2 1 4 5 5 5 2 3 6 1 7 0 9 2 1 1 9 1 8 2 9 7 1 2 1 1 1 1 3 1 5 0 7 1 3 3 4 9 4 9 2 1 2 1 1 1 5 0 9 4 5 9 8 5 5 8 1 1 3 3 1 1 3 4 2 4 3 5 2 3 6 1 7 0 10 8 1 6 8 6 9 1 4 9 4 2 2 1 1 1 1 3 1 9 0 6 9 9 1 5 4 9 3 3 2 3 3 1 3 1 1 1 7 0 11 6 9 2 6 5 5 3 1 1 1 4 1 1 1 2 2 2 3 4 4 4 4 2 3 4 7 4 7 6 4 5 3 5 1 9 0 8 3 5 9 6 9 6 1 2 2 2 2 1 1 1 2 3 2 1 6 0 10 7 8 9 1 8 8 8 3 1 6 1 2 2 1 1 2 1 6 0 7 9 3 1 3 5 9 4 2 1 1 3 1 1 1 2 5 1 5 3 5 1 7 0 9 7 3 5 6 6 1 5 1 3 1 1 2 3 1 2 3 1 9 0 11 7 1 5 1 8 1 1 1 3 8 7 3 3 1 2 2 1 1 1 3 1 6 0 8 2 7 1 8 1 1 1 9 2 2 1 3 2 3 2 1 2 4 1 3 5 1 8 0 10 4 5 6 7 5 5 4 9 6 1 3 3 2 1 3 1 3 3 1 7 0 7 6 1 8 6 8 3 1 3 1 2 1 2 1 1 1 8 0 9 1 9 6 1 4 2 8 8 8 2 1 3 3 3 2 1 1 3 4 5 1 2 3 5 1 7 0 9 1 5 5 4 2 6 1 5 7 1 1 2 1 1 2 3 1 6 0 7 6 5 2 5 1 3 6 2 3 2 1 3 2 1 8 0 7 5 5 4 1 8 3 4 2 1 2 2 3 1 1 1 3 4 1 4 5 5 4 6 5 3 4 5 3 5 1 9 0 11 9 4 5 7 6 4 5 3 1 6 5 1 3 3 2 1 2 3 3 3 1 9 0 7 3 1 6 6 7 9 9 1 1 1 3 3 1 1 2 3 1 9 0 10 9 6 9 4 7 4 4 2 1 9 1 3 1 2 1 1 1 2 2 3 5 5 2 5 3 4 1 5 0 10 9 4 1 2 2 1 7 2 9 1 1 1 2 1 2 1 5 0 6 7 9 1 1 2 1 3 1 2 1 1 1 7 0 10 1 4 9 9 3 7 6 7 1 9 3 1 2 1 2 1 3 4 2 2 4 3 4 1 6 0 9 4 1 7 1 1 6 8 9 9 1 3 1 3 1 2 1 7 0 7 1 8 1 8 6 9 3 1 3 2 3 1 1 2 1 5 0 11 3 6 1 9 9 7 1 3 6 8 1 3 2 1 1 1 2 2 3 1 3 4 1 5 0 11 1 1 6 5 3 3 8 9 2 3 5 1 1 1 1 2 1 8 0 9 8 4 9 9 8 8 4 7 1 2 1 3 2 1 2 1 3 1 7 0 9 9 8 2 7 2 5 1 2 5 2 1 3 2 3 1 2 4 5 5 2 6 2 4 4 4 3 6 5 11 9 3 3 2 4 11 3 5 11 \ No newline at end of file diff --git a/2018/10/input.txt b/2018/10/input.txt new file mode 100644 index 0000000..3c77538 --- /dev/null +++ b/2018/10/input.txt @@ -0,0 +1,369 @@ +position=<-30052, -9918> velocity=< 3, 1> +position=< 20349, -50260> velocity=<-2, 5> +position=< 40505, -40169> velocity=<-4, 4> +position=< 30444, 50599> velocity=<-3, -5> +position=< 40549, -50259> velocity=<-4, 5> +position=< 30454, -30087> velocity=<-3, 3> +position=< 50623, 20347> velocity=<-5, -2> +position=< 30439, -50262> velocity=<-3, 5> +position=< 50623, 40516> velocity=<-5, -4> +position=<-40143, -30090> velocity=< 4, 3> +position=< 50594, 50602> velocity=<-5, -5> +position=< -9884, -30087> velocity=< 1, 3> +position=<-19958, -40168> velocity=< 2, 4> +position=< 20357, 40513> velocity=<-2, -4> +position=<-50240, 30431> velocity=< 5, -3> +position=< 20351, 40516> velocity=<-2, -4> +position=<-50257, -20005> velocity=< 5, 2> +position=<-30073, 10253> velocity=< 3, -1> +position=<-50265, 50597> velocity=< 5, -5> +position=<-40154, 50601> velocity=< 4, -5> +position=<-19987, -40168> velocity=< 2, 4> +position=<-19987, -30087> velocity=< 2, 3> +position=<-50257, 30425> velocity=< 5, -3> +position=< 40558, 30425> velocity=<-4, -3> +position=<-19990, 10256> velocity=< 2, -1> +position=<-19979, 30425> velocity=< 2, -3> +position=<-19976, -50254> velocity=< 2, 5> +position=< 30446, -40172> velocity=<-3, 4> +position=<-40157, 40515> velocity=< 4, -4> +position=<-40143, 20342> velocity=< 4, -2> +position=< 30467, -50255> velocity=<-3, 5> +position=<-30040, 50606> velocity=< 3, -5> +position=<-30037, 50605> velocity=< 3, -5> +position=< 20382, -30086> velocity=<-2, 3> +position=< 50594, 10262> velocity=<-5, -1> +position=< 20342, 40515> velocity=<-2, -4> +position=<-19963, -50258> velocity=< 2, 5> +position=<-40135, 50599> velocity=< 4, -5> +position=< 40558, 10262> velocity=<-4, -1> +position=< 20366, -40177> velocity=<-2, 4> +position=< -9888, -9919> velocity=< 1, 1> +position=<-19998, 40511> velocity=< 2, -4> +position=< 50608, 40516> velocity=<-5, -4> +position=< 10263, 40520> velocity=<-1, -4> +position=< 40521, -40171> velocity=<-4, 4> +position=< 30427, -20005> velocity=<-3, 2> +position=< 20333, -9916> velocity=<-2, 1> +position=< -9909, -9913> velocity=< 1, 1> +position=< 50628, 40511> velocity=<-5, -4> +position=< 50610, 30430> velocity=<-5, -3> +position=<-50248, 30433> velocity=< 5, -3> +position=< 50612, 50599> velocity=<-5, -5> +position=<-50253, -40170> velocity=< 5, 4> +position=< -9880, 40513> velocity=< 1, -4> +position=< 20362, 10256> velocity=<-2, -1> +position=< -9877, -30087> velocity=< 1, 3> +position=<-40182, -30082> velocity=< 4, 3> +position=<-50240, -20003> velocity=< 5, 2> +position=<-40138, 10255> velocity=< 4, -1> +position=<-50221, 20348> velocity=< 5, -2> +position=< -9896, -9917> velocity=< 1, 1> +position=<-50209, 40516> velocity=< 5, -4> +position=< 20352, 50602> velocity=<-2, -5> +position=< 50607, -19998> velocity=<-5, 2> +position=<-19995, -30087> velocity=< 2, 3> +position=<-20003, 40517> velocity=< 2, -4> +position=<-50219, 30431> velocity=< 5, -3> +position=< 40521, -20001> velocity=<-4, 2> +position=<-30036, 20339> velocity=< 3, -2> +position=< 50624, 10257> velocity=<-5, -1> +position=<-50224, 40517> velocity=< 5, -4> +position=< -9907, 20344> velocity=< 1, -2> +position=< 40534, -40169> velocity=<-4, 4> +position=<-30065, -20003> velocity=< 3, 2> +position=< -9922, 20339> velocity=< 1, -2> +position=<-30052, 50602> velocity=< 3, -5> +position=< 10276, -50263> velocity=<-1, 5> +position=< 50594, 10258> velocity=<-5, -1> +position=< -9876, 10258> velocity=< 1, -1> +position=<-20001, -30091> velocity=< 2, 3> +position=<-50253, 50602> velocity=< 5, -5> +position=<-40159, -20002> velocity=< 4, 2> +position=<-50224, -30091> velocity=< 5, 3> +position=<-20001, 40511> velocity=< 2, -4> +position=< 20357, -40173> velocity=<-2, 4> +position=< 50615, 10255> velocity=<-5, -1> +position=< -9877, -50254> velocity=< 1, 5> +position=< 30440, 40516> velocity=<-3, -4> +position=< 30427, 50605> velocity=<-3, -5> +position=< 30419, -30090> velocity=<-3, 3> +position=< 20376, -20001> velocity=<-2, 2> +position=< 10255, 20344> velocity=<-1, -2> +position=< 30419, 20344> velocity=<-3, -2> +position=< 50595, -40169> velocity=<-5, 4> +position=<-30081, 40513> velocity=< 3, -4> +position=<-40143, -30090> velocity=< 4, 3> +position=< 40553, 20344> velocity=<-4, -2> +position=< 40529, -40170> velocity=<-4, 4> +position=< 30427, -50262> velocity=<-3, 5> +position=<-50240, -19996> velocity=< 5, 2> +position=<-50245, -30090> velocity=< 5, 3> +position=< 30448, -30087> velocity=<-3, 3> +position=< -9875, -40171> velocity=< 1, 4> +position=< -9900, 50599> velocity=< 1, -5> +position=<-19954, -40168> velocity=< 2, 4> +position=< 40526, 40518> velocity=<-4, -4> +position=<-20011, 30428> velocity=< 2, -3> +position=< 10283, 10257> velocity=<-1, -1> +position=<-40175, 40520> velocity=< 4, -4> +position=< 50636, -9915> velocity=<-5, 1> +position=< -9904, 10255> velocity=< 1, -1> +position=< 30435, 40520> velocity=<-3, -4> +position=< 30424, -50254> velocity=<-3, 5> +position=< 20393, 50602> velocity=<-2, -5> +position=<-50261, -30083> velocity=< 5, 3> +position=<-30065, 10254> velocity=< 3, -1> +position=<-30052, -40177> velocity=< 3, 4> +position=< 50625, -50263> velocity=<-5, 5> +position=<-40142, -20001> velocity=< 4, 2> +position=< 20338, -19996> velocity=<-2, 2> +position=< 50599, 50604> velocity=<-5, -5> +position=< 40534, -40176> velocity=<-4, 4> +position=<-50235, 20339> velocity=< 5, -2> +position=<-30068, -9918> velocity=< 3, 1> +position=<-40173, 20339> velocity=< 4, -2> +position=<-30054, -9915> velocity=< 3, 1> +position=< 10255, 20348> velocity=<-1, -2> +position=<-40162, 40520> velocity=< 4, -4> +position=<-40158, -9918> velocity=< 4, 1> +position=< 40508, 20348> velocity=<-4, -2> +position=< 10307, -40177> velocity=<-1, 4> +position=< 40545, -50261> velocity=<-4, 5> +position=<-30073, -40172> velocity=< 3, 4> +position=<-50209, -9918> velocity=< 5, 1> +position=< -9913, 40515> velocity=< 1, -4> +position=< -9873, -50262> velocity=< 1, 5> +position=< -9877, 10261> velocity=< 1, -1> +position=<-50245, -30084> velocity=< 5, 3> +position=< 30440, 50606> velocity=<-3, -5> +position=<-40167, 40514> velocity=< 4, -4> +position=<-30076, -50255> velocity=< 3, 5> +position=< -9891, -19996> velocity=< 1, 2> +position=< -9877, 20340> velocity=< 1, -2> +position=< 20365, -9911> velocity=<-2, 1> +position=<-50256, 10253> velocity=< 5, -1> +position=< -9909, -19996> velocity=< 1, 2> +position=< 30479, -9919> velocity=<-3, 1> +position=<-30065, 10257> velocity=< 3, -1> +position=< 50652, -9919> velocity=<-5, 1> +position=< 20338, -9914> velocity=<-2, 1> +position=<-30062, 20339> velocity=< 3, -2> +position=< 20360, 10259> velocity=<-2, -1> +position=< 40537, 50604> velocity=<-4, -5> +position=<-50221, 50603> velocity=< 5, -5> +position=< 40505, -30090> velocity=<-4, 3> +position=< -9890, 20339> velocity=< 1, -2> +position=<-30097, -50261> velocity=< 3, 5> +position=<-19995, -30086> velocity=< 2, 3> +position=< 20341, 10255> velocity=<-2, -1> +position=<-19977, -20005> velocity=< 2, 2> +position=<-30053, -50259> velocity=< 3, 5> +position=<-30065, -40173> velocity=< 3, 4> +position=< 50617, 50601> velocity=<-5, -5> +position=< 50631, -40171> velocity=<-5, 4> +position=< -9925, -9915> velocity=< 1, 1> +position=<-40150, 10262> velocity=< 4, -1> +position=< 40526, 40516> velocity=<-4, -4> +position=<-30055, -9915> velocity=< 3, 1> +position=<-50264, 30432> velocity=< 5, -3> +position=< 10287, -20003> velocity=<-1, 2> +position=< 40534, 20348> velocity=<-4, -2> +position=<-19960, -19998> velocity=< 2, 2> +position=< 30464, -40173> velocity=<-3, 4> +position=<-50220, -50259> velocity=< 5, 5> +position=< 40537, -9919> velocity=<-4, 1> +position=< 20357, 20346> velocity=<-2, -2> +position=< 40510, 50598> velocity=<-4, -5> +position=< 50607, -40172> velocity=<-5, 4> +position=< 40537, -19996> velocity=<-4, 2> +position=< 50636, 10261> velocity=<-5, -1> +position=< -9896, 30425> velocity=< 1, -3> +position=< -9917, 10255> velocity=< 1, -1> +position=<-50248, 50606> velocity=< 5, -5> +position=<-50237, -9919> velocity=< 5, 1> +position=<-30073, -20005> velocity=< 3, 2> +position=< 40529, 50606> velocity=<-4, -5> +position=< 50650, -30082> velocity=<-5, 3> +position=<-30093, 10258> velocity=< 3, -1> +position=< 30456, -40177> velocity=<-3, 4> +position=< 40521, -40170> velocity=<-4, 4> +position=< 30468, 10257> velocity=<-3, -1> +position=< 10276, -50261> velocity=<-1, 5> +position=< 30421, -9919> velocity=<-3, 1> +position=< -9877, 20346> velocity=< 1, -2> +position=< 10258, -40177> velocity=<-1, 4> +position=<-50264, 40516> velocity=< 5, -4> +position=< -9883, -40173> velocity=< 1, 4> +position=<-40127, -50256> velocity=< 4, 5> +position=< -9885, 20343> velocity=< 1, -2> +position=< 20382, -9914> velocity=<-2, 1> +position=<-30076, -19998> velocity=< 3, 2> +position=<-30073, 50601> velocity=< 3, -5> +position=< -9893, 20345> velocity=< 1, -2> +position=< -9904, 10258> velocity=< 1, -1> +position=< 20393, -40171> velocity=<-2, 4> +position=<-19984, 50603> velocity=< 2, -5> +position=< -9889, 20343> velocity=< 1, -2> +position=<-19982, 40512> velocity=< 2, -4> +position=<-20009, -40168> velocity=< 2, 4> +position=<-30069, -19997> velocity=< 3, 2> +position=<-19987, -30085> velocity=< 2, 3> +position=< 10252, 10259> velocity=<-1, -1> +position=< -9917, 30428> velocity=< 1, -3> +position=< 10287, 20342> velocity=<-1, -2> +position=<-50245, -20000> velocity=< 5, 2> +position=<-40165, -40177> velocity=< 4, 4> +position=<-40135, -50262> velocity=< 4, 5> +position=<-19984, -30085> velocity=< 2, 3> +position=< 30428, -30091> velocity=<-3, 3> +position=<-30089, 30431> velocity=< 3, -3> +position=< 30467, 20344> velocity=<-3, -2> +position=<-19987, 40520> velocity=< 2, -4> +position=<-30037, 40512> velocity=< 3, -4> +position=< 40557, -50255> velocity=<-4, 5> +position=< 40550, 10254> velocity=<-4, -1> +position=<-40159, 10258> velocity=< 4, -1> +position=< 40539, 20343> velocity=<-4, -2> +position=< 30440, 50605> velocity=<-3, -5> +position=< 30453, 30434> velocity=<-3, -3> +position=< 40550, -30088> velocity=<-4, 3> +position=<-40151, 10256> velocity=< 4, -1> +position=< 10276, 40514> velocity=<-1, -4> +position=< 10280, 20348> velocity=<-1, -2> +position=<-20009, -30091> velocity=< 2, 3> +position=< 30467, 50601> velocity=<-3, -5> +position=< 30439, -20000> velocity=<-3, 2> +position=< 10276, -20005> velocity=<-1, 2> +position=< 40562, -30082> velocity=<-4, 3> +position=<-19986, -20004> velocity=< 2, 2> +position=< 20333, 10259> velocity=<-2, -1> +position=<-50224, -9911> velocity=< 5, 1> +position=< -9872, -9919> velocity=< 1, 1> +position=< 10295, -30085> velocity=<-1, 3> +position=<-19990, 30429> velocity=< 2, -3> +position=< 10295, -30084> velocity=<-1, 3> +position=< 30429, 40515> velocity=<-3, -4> +position=< 20365, -30086> velocity=<-2, 3> +position=< 50618, 10258> velocity=<-5, -1> +position=<-20010, -9910> velocity=< 2, 1> +position=< 20373, -40169> velocity=<-2, 4> +position=< 10307, -50261> velocity=<-1, 5> +position=< 20381, 10256> velocity=<-2, -1> +position=< 40513, 40517> velocity=<-4, -4> +position=< -9865, 20345> velocity=< 1, -2> +position=< -9909, 20347> velocity=< 1, -2> +position=< 10284, 20348> velocity=<-1, -2> +position=<-30073, 20342> velocity=< 3, -2> +position=<-30078, 30425> velocity=< 3, -3> +position=< -9899, 20342> velocity=< 1, -2> +position=< 20333, 30429> velocity=<-2, -3> +position=< 10306, 10253> velocity=<-1, -1> +position=<-50261, 10260> velocity=< 5, -1> +position=< 30459, -9912> velocity=<-3, 1> +position=< 10292, -40176> velocity=<-1, 4> +position=< 20389, -30083> velocity=<-2, 3> +position=<-40166, 20340> velocity=< 4, -2> +position=< -9901, 20345> velocity=< 1, -2> +position=< 40557, -20004> velocity=<-4, 2> +position=<-40158, -30090> velocity=< 4, 3> +position=<-50209, 10255> velocity=< 5, -1> +position=<-50265, -40172> velocity=< 5, 4> +position=<-50245, 50605> velocity=< 5, -5> +position=< 30443, -40177> velocity=<-3, 4> +position=< -9916, 20339> velocity=< 1, -2> +position=< 50640, 50601> velocity=<-5, -5> +position=<-19971, -20005> velocity=< 2, 2> +position=< 40522, -9914> velocity=<-4, 1> +position=< 50607, -19999> velocity=<-5, 2> +position=<-50243, 40515> velocity=< 5, -4> +position=<-50240, 10260> velocity=< 5, -1> +position=< 40561, -19998> velocity=<-4, 2> +position=<-50211, -50254> velocity=< 5, 5> +position=<-40143, 30431> velocity=< 4, -3> +position=< 30430, -50259> velocity=<-3, 5> +position=< 30479, -20002> velocity=<-3, 2> +position=<-30092, 20344> velocity=< 3, -2> +position=<-30092, -40168> velocity=< 3, 4> +position=< 50601, 10257> velocity=<-5, -1> +position=< 20373, 40515> velocity=<-2, -4> +position=< 30479, -19997> velocity=<-3, 2> +position=<-40175, 50605> velocity=< 4, -5> +position=< -9880, -40173> velocity=< 1, 4> +position=< 20349, -50255> velocity=<-2, 5> +position=< 20362, -9914> velocity=<-2, 1> +position=<-30089, 50601> velocity=< 3, -5> +position=< 30467, 10253> velocity=<-3, -1> +position=< 40565, 30429> velocity=<-4, -3> +position=<-40142, 10257> velocity=< 4, -1> +position=< 50609, -50263> velocity=<-5, 5> +position=< -9881, -40173> velocity=< 1, 4> +position=< 50639, 40515> velocity=<-5, -4> +position=<-50269, -40170> velocity=< 5, 4> +position=< 40553, -9910> velocity=<-4, 1> +position=< 30455, 30434> velocity=<-3, -3> +position=< 20362, 10258> velocity=<-2, -1> +position=< 40505, 50603> velocity=<-4, -5> +position=<-19990, 10260> velocity=< 2, -1> +position=< 30447, -19998> velocity=<-3, 2> +position=<-40150, -30087> velocity=< 4, 3> +position=< -9907, -40172> velocity=< 1, 4> +position=<-30044, 20348> velocity=< 3, -2> +position=<-40178, -9913> velocity=< 4, 1> +position=<-50261, 30428> velocity=< 5, -3> +position=<-40151, 20348> velocity=< 4, -2> +position=<-50224, 30432> velocity=< 5, -3> +position=< 50652, -50263> velocity=<-5, 5> +position=<-19952, 50606> velocity=< 2, -5> +position=< 30431, 40511> velocity=<-3, -4> +position=< 30459, -30088> velocity=<-3, 3> +position=< 50651, 20347> velocity=<-5, -2> +position=< 10292, -30082> velocity=<-1, 3> +position=< 20366, 10257> velocity=<-2, -1> +position=<-19987, -9913> velocity=< 2, 1> +position=< -9865, -40170> velocity=< 1, 4> +position=< -9889, 50597> velocity=< 1, -5> +position=<-30065, -50262> velocity=< 3, 5> +position=< -9921, 20347> velocity=< 1, -2> +position=<-30084, 10253> velocity=< 3, -1> +position=< 10248, -20005> velocity=<-1, 2> +position=< 20345, -9915> velocity=<-2, 1> +position=< -9882, -9915> velocity=< 1, 1> +position=<-30065, 50602> velocity=< 3, -5> +position=< 40565, 50599> velocity=<-4, -5> +position=< 20349, -50261> velocity=<-2, 5> +position=<-19960, -19998> velocity=< 2, 2> +position=< 10255, -50258> velocity=<-1, 5> +position=< -9901, -50255> velocity=< 1, 5> +position=<-50219, -9916> velocity=< 5, 1> +position=< 40524, -30086> velocity=<-4, 3> +position=< 40550, 50600> velocity=<-4, -5> +position=<-50233, -30091> velocity=< 5, 3> +position=< 30440, -50257> velocity=<-3, 5> +position=< -9920, 50605> velocity=< 1, -5> +position=< 40507, 20339> velocity=<-4, -2> +position=< 10264, 30426> velocity=<-1, -3> +position=< 40556, 20341> velocity=<-4, -2> +position=< -9875, -9913> velocity=< 1, 1> +position=<-30068, -50254> velocity=< 3, 5> +position=< -9889, 30425> velocity=< 1, -3> +position=<-20011, -40172> velocity=< 2, 4> +position=<-50269, 10259> velocity=< 5, -1> +position=<-40132, 30432> velocity=< 4, -3> +position=< 40553, -9913> velocity=<-4, 1> +position=<-30073, 10256> velocity=< 3, -1> +position=<-30092, 20340> velocity=< 3, -2> +position=< 40542, 50606> velocity=<-4, -5> +position=<-50224, 20347> velocity=< 5, -2> +position=<-40143, 50606> velocity=< 4, -5> +position=<-19971, -20000> velocity=< 2, 2> +position=< 40553, 20340> velocity=<-4, -2> +position=<-30081, -20001> velocity=< 3, 2> +position=<-30037, -40172> velocity=< 3, 4> +position=< -9865, 30428> velocity=< 1, -3> +position=< 30479, 20340> velocity=<-3, -2> +position=< 30429, 20343> velocity=<-3, -2> +position=<-19971, -40172> velocity=< 2, 4> +position=< 30431, 50601> velocity=<-3, -5> +position=<-19982, 10256> velocity=< 2, -1> +position=< 20344, 20343> velocity=<-2, -2> diff --git a/2018/12/input.txt b/2018/12/input.txt new file mode 100644 index 0000000..beee9ee --- /dev/null +++ b/2018/12/input.txt @@ -0,0 +1,34 @@ +initial state: ##....#.#.#...#.#..#.#####.#.#.##.#.#.#######...#.##....#..##....#.#..##.####.#..........#..#...# + +..#.# => # +.#### => # +#.... => . +####. => # +...## => . +.#.#. => . +..#.. => . +##.#. => . +#.#.# => # +..... => . +#.#.. => . +....# => . +.#..# => . +###.# => # +#..#. => . +##### => . +...#. => # +#.##. => # +.#.## => # +#..## => # +.##.. => # +##.## => . +..### => . +###.. => . +##..# => # +.#... => # +.###. => # +#.### => . +.##.# => . +#...# => # +##... => . +..##. => . \ No newline at end of file diff --git a/2018/13/input.txt b/2018/13/input.txt new file mode 100644 index 0000000..093a3fa --- /dev/null +++ b/2018/13/input.txt @@ -0,0 +1,150 @@ + /--------------------------------------------------------------------------------------------------\ + | /-------------------------------------------------------\ |/-----------\ + | /-----------------------------------+-----------------------------------\ | /++---------\ | + /-----+-+--------------\ | /--+---------------\ | ||| | | + | | |/-------------+--------------------+---\ | | | | ||| | | + | /-+-++-------------+--------------------+---+----<----------------------\| | | | ||| | | + | | | || | /------------------+---+---------------------------++--+---------------+---+---+++--\ | | + /-----------+---+-+-++-------->----+-+------------------+---+---------------------------++--+-\ /-----+--\| ||| | | | + | /----+---+-+-++-------------+-+------------------+---+------\ || | | | | || ||| | | | + | | | /+-+-++-------------+-+------------------+---+------+--------------------++--+-+-------+-----+--++---+++--+-\ | | + | | | || |/++------------\| | /+---+------+-----------\ || | | | | || ||| | | | | + | | | || |||| || | /++---+--\ | /--------+--------++--+-+-------+-----+--++---+++--+-+----+-+-------------\ + | |/---+--++\|||| || | /--+++---+--+---+--+--------+--------++--+-+-------+-----+--++---+++--+-+----+-+----\ | + | /----++---+--+++++++-----\ || | /-------+--+++---+--+---+--+--------+--------++--+-+-------+-----+--++---+++--+-+----+-+----+--------+--\ + | | || | ||||||| | || | | /-+--+++---+--+---+--+--------+--------++--+-+-------+-----+--++---+++--+-+----+-+----+---\ | | + | | || | ||||||| | || | | |/+--+++---+--+---+--+--------+--------++--+-+-------+-----+-\|| ||| | | | | | | | | + | | || | ||||||| | || | | ||| ||| | | | | | /-----++--+-+-------+-----+-+++---+++--+-+----+\| | | | | + | | || | ||||||| | || | | ||| ||| | | | | | | || | | | | ||| ||| |/+----+++----+---+--\ | | + | | || | ||||||| | || | | /--+++--+++---+--+---+--+--------+--+-----++--+-+-------+-----+-+++---+++--+++----+++-\ | | | | | + | | ||/--+--+++++++-----+------++-+-----+--+--+++--+++---+--+---+--+--------+--+-----++--+-+------\| | ||| ||| ||| ||| | | | | | | + | | ||| | ||||||| | || | | | ||| ||| | | | | | | |\--+-+------++-----/ ||| ||| ||| ||| | | | | | | +/-+-+----+++--+--+++++++-----+------++-+---\ | | ||| \++---+--/ | | | | | | | || ||| ||| ||| ||| | | | | | | +| | | ||| | ||||||| | || | | | | ||| || | | | | /+-----+---+-+------++-------+++--\||| ||| ||| |/-+---+--+-+-\| +| | | ||| | ||||||| | || | | | | ||| \+---+------+--+--------/ || /---+---+-+------++-------+++--++++--+++----+++-++-+-\ | | | || +| | | ||| | ||||||| | || | | | | ||| | | | | /--------++-+---+---+-+------++-------+++-\|||| ||| ||| || | | | | | || +| | | ||| | ||||||\-----+------++-+---+-+--+--+++----+---/ | | | /--++-+---+---+-+------++------\||| ||\++--+++----/|| || | | | | | || +| | | ||| \--++++++------+------+/ | | | | ||| | | | | | || | | | | || |||| || || ||| || || | | | | | || +| |/+----+++--\ |||||\------+------+--+---+-+--+--+++----+----------+--+-+-----+--++-+---+---/ | || |||| || || ||| || || | | | | | || +|/+++----+++--+--+++++-------+\ | | | |/-+--+++----+----------+--+-+-----+--++-+---+-----+------++------++++-++-++--+++-----++-++-+-+-+\ | | || +||||| ||| | ||||| || | | | || | ||| | | | | /--+--++-+---+-----+------++------++++-++-++--+++\ || || | | || | | || +||||| \++--+--+++++-------++-----+--+---+-++-+--+++----+----------/ | | | | || | | | /----++------++++-++-++--++++----++-++-+-+\|| | | || +||||| || | ||||| || |/-+---+-++-+--+++----+-------------+-+--+--+--++-+--\| | | || |||| || || |||| || || | |||| | | || +||||| || | ||||| || || | | || | ||| /--+-------------+-+--+--+--++-+--++-----+-+-\ || |||| || || |||| || || | |||| | | || +||||| || | ||||| || /---++-+---+-++-+-<+++-+--+-----<-------+-+--+--+--++-+--++-\ | | | || |||| || || |||| || || | |||| | | || +||||| |\--+--+++++-------++-+---++-+---+-++-+--+++-+--+-------------+-+--+--+--++-+--++-+---+-+-+--/| |||| || || |||| || || | |||| | | || +||||\-----+---+--+++++-------/| | || | | || | ||| | | | | | | || | || | | | | | |||| || || |||| || || | |||| | | || +|||\------+---/ /+++++--------+-+-\ || | | || | ||| | | | | | | || | || | | | | | |||| || || |||| || || | |||| | | || +||| | |||||| /------+-+-+-++-+---+-++-+--+++-+--+-------------+-+--+--+--++-+--++-+---+-+-+---+------++++\|| || |||| || || | |||| | | || +||| | /---++++++-+------+-+\| || | |/++-+--+++-+--+-------------+-+--+--+--++-+--++-+---+-+-+---+------+++++++-++--++++-\ || || | |||| | | || +||| | | |||||| | | ||| || | |||| | ||| | | | | | | /++-+--++-+---+-+-+-\ | /----+++++++-++--++++-+--++-++-+-++++-+-+\|| +||| | | |||||| | | ||| || |/--++++-+--+++-+--+-------------+-+--+--+-+++-+--++-+---+-+-+-+-+-+---\||||||| || |||| | || || | |||| | |||| +|||/------+-+---++++++-+---\ | ||| || || /++++-+--+++-+--+-------------+-+--+--+-+++-+--++-+\ | | | | | | |||||||| || |||| | || || | |||| | |||| +|||| | | |||||| | /-+--+-+++-++-++-+++++-+--+++-+--+-------------+-+--+--+-+++\| || || | | | | | | |||||||| |\--++++-+--+/ || | |||| | |||| +|||| | | |||||| | | | | ||| || || ||||| | ||| | | | | | | ||||| || || | \-+-+-+-+---++++++++-+---++++-+--+--++-+-+/|| | |||| +|||| | | /++++++-+-+-+--+-+++-++-++-+++++-+--+++-+--+--\ | | | | ||||| || || | | | | | |||||||| | |||| | | || | | || | |||| +|||| | | ||||||| | | | | ||| || || ||||| | ||| | | | /-+-+--+-\| ||||| || || | | | | | |||||||| | |||| | | || | | || | |||| +||||/-----+-+--+++++++-+-+-+--+-+++-++-++-+++++-+--+++-+--+--+----\ | | | |/++-+++++--++-++--+---+-+-+-+---++++++++-+--\|||| | /+--++-+-+\|| | |||| +||||| | | |||||\+-+-+-+--+-+++-++-++-+++++-+--+++-+--+--+----+---+-+-+--++++-+++++--++-++--+---+-+-+-+---++++++++-/ ||||| | || || | |||| | |||| +||||| /-+-+--+++++-+-+-+-+--+-+++-++-++-+++++\| ||\-+--+--+----+---+-+-+--++++-+++++--++-++--+---+-+-+-+---++++++++----+++++-+-++--++-/ |||| | |||| +||||| |/+-+--+++++-+-+-+-+--+-+++-++-++-+++++++--++--+--+--+-\ | |/+-+--++++-+++++--++-++--+---+-+-+-+---++++++++----+++++-+-++--++-\ |||| | |||| +||||| ||| | ||||| | | | | | ||| || || ||||||| /++--+--+--+-+--+-\ ||| | |||| ||||| || || |/--+-+-+-+---++++++++----+++++-+-++--++-+-++++\| |||| +||||| ||| | ||||| | | | | | ||| || || ||||||| ||| | | | | | | ||| | |||| ||||| || || || | | | | |||||||| ||\++-+-++--++-+-+++++/ |||| +||||| ||| | ||||| | | | |/-+-+++-++-++-+++++++-+++--+--+--+-+--+-+\||| | ||||/+++++--++-++--++--+-+-+-+---++++++++----++-++-+-++--++-+-+++++\ |||| +||||| ||| | ||||| | | | || | ||| || || ||||||| ||| | | | | | ||||| | |||||||||| ^| || || | | | | |||||||| || || | || || | |||||| |||| +||||| ||| | ||||| | | | || | ||| ||/++-+++++++-+++--+--+--+\| | ||||| | \+++++++++--++-++--++--+-+-+-+---++++++++----++-+/ | || || | |||||| |||| +||||| ||| | ||||| | | |/++-+-+++-+++++-+++++++-+++--+--+--+++--+-+++++-+---+++++++++--++-++--++--+-+-+-+---++++++++----++-+-\| || || | |||||| |||| +||||| ||| | ||||| | | |||| | ||| ||||| ||||||| |||/-+--+--+++--+-+++++-+---+++++++++--++-++--++--+-+-+\| |||||||| || | || || || | |||||| |||| +||||| |||/+--+++++-+-+-++++-+-+++-+++++-+++++++-++++-+--+--+++-\| ||||| | ||\++++++--++-++--++--+-+-+++---+/|||||| || | || || || | |||||| |||| +||||| ||||| ||||| | ^ |||| | ||| |||\+-+++++++-++++-+--+--+++-++-+++++-+---++-++++++--++-++--++--+-+-+++---+-++++++<---+/ | || || || | |||||| |||| +||||| ||||| ||||| | | \+++-+-+++-+++-+-+++++++-++++-+--+--+++-++-+++++-+---++-++++/| || || || | | ||| | |||||| | | || || || | |||||| |||| +||\++---+++++--+++++-+-+--+++-+-+++-+++-+-+++++++-++++-+--+--+++-++-+++++-+---++-++++-+--++-++--/| | | ||| | |||||| | | || || || | |||||| |||| +|| || ||||| ||||| | | ||| | ||| ||| | ||||||| |||| | | ||| || |||||/+---++-++++-+--++-++---+--+-+-+++---+-++++++----+--+-++-++--++-+\|||||| |||| +|| || ||||| ||||| | | ||| | ||| ||| | ||||||| |||| | | ||| || ||||||| || ||||/+--++-++---+--+-+-+++---+-++++++----+-\| || || || |||||||| |||| +|| || ||||| ||||| | | ||| | ||| ||| | ||||||| |||| | | ||| || ||||||| || \+++++--++-++---+--+-+-+++---+-++++++--->+-++-++-++--++-+++++++/ |||| +|| || ||||| ||||| | | ||| | ||| ||| | ||||||| |\++-+--+--+++-++-+++++++---++--+++++--++-++---+--+-+-+++---+-++++++----+-++-++-++--++-++++/|| |||| +\+-++---+++++--+++++-+-+--+++-+-+++-+++-+-+/||||| | || | | ||| || ||||||| || ||||| || || | | | ||| | |||||| | || || || || |||| || |||| +/+-++---+++++--+++++-+-+--+++-+-+++-+++-+-+-+++++-+-++-+--+-\||| || ||||||| || ||||| || || | | | ||| | |||||| | || || || || |||| || |||| +|| || ||||| ||||| | | ||| | ||| ||| | | ||||| |/++-+--+-++++-++-+++++++---++--+++++--++-++---+--+-+\||\---+-++++++----+-++-++-++--++-++++-++--+/|| +|| || ||||| ||||| | | \++-+-+++-+++-+-+-+++++-++++-+--+-++++-++-+++++++---++--+++++--++-++---+--+-++++----+-++++++----+-++-/| || || |||| || | || +|| || ||||| ||^\+-+-+---++-+-+++-+++-+-+-+++++-++++-+--+-++++-++-+++++++---++--+++++--+/ || | | |||| | ||||||/---+-++--+-++--++-++++-++\ | || +|| || ||||| ||| | | | || | ||| ||| | | ||||\-++++-+--+-++++-++-+++++++---++--+++++--+--++---+--+-++++----+-+++++++---+-++--+-++--/| |||| ||| | || +|| || ||||| ||| | | | || |/+++-+++-+\| |||| |||| | | |||| || ||||||| || ||||| | || | | |||| | ||||||| | || | || | |||| ||| | || +|| || ||||| ||| | | | || ||||| ||| ||| \+++--++++-+--+-++++-++-+++++++---++--+++++--+--++---+--+-++++----+-+++++++---+-++--/ || | |||| ||| | || +|^ || ||||| ||| | | | || ||||| ||| ||| ||| |||| | | |||| || ||||||| || ||||| | || | | |||| | ||||||| | || || | |||| ||| | || +|| || ||||| ||| | | | || ||||| ||| ||| ||| |||| | /+-++++-++-+++++++---++--+++++--+--++---+--+-++++----+-+++++++---+-++----++---+-++++-+++\| || +|| || /+++++--+++-+-+-+---++-+++++-+++-+++--+++--++++-+-++-++++-++\||||||| || |||\+--+--++---+--+-++++----+-+++++++---+-/| || | |||| ||||| || +|| || |||||| /+++-+-+-+---++\||||| ||| ||| ||| |||| | || |||| |||||||||| \+--+++-+--+--++---+--+-++++----+-+++++++---/ | || | |||| ||||| || +|| || |||||| |||| | | | |||||||| ||| ||| ||| |||| | |\-++++-++++++++++----+--+++-+--+--++---+--+-++++----+-++/|||| | || | |||| ||||| || +\+-++--++++++-++++-+-+-+---++++++++-+++-+++--+++--++++-+-+--/||| |||||||||| | \++-+--+--++---+--+-/||| /-+-++-++++-\ | || | |||| ||||| || + |/++--++++++-++++-+-+-+---++++++++-+++-+++--+++--++++\| | /+++-++++++++++----+---++-+--+-\|| | | ||| | | || ||||/+----+---\|| | |||| ||||| || + |||| |||||| |||| | | | |||||||| ||| ||| ||| |||||| | |||| |||||||||| | || | | ||| | | ||| | | || |||||| | ||| | |||| ||||| || + |||| |||||| |||| | | | |||||||| ||| ||| \++--++++++-+--++++-++++++++++----+---++-+--+-+++---+--+--+++--+-+-++-++++++----+---+++---+-++++-+++++-+/ + |||| |||\++-++++-/ | \---++++++++-+++-+++---++--++++++-+--++++-++++++++++----+---++-+--+-+++---+--+--+++--+-+-++-/||||| | ||| | |||| ||||| | + |||| ||| || |||| | |||||||| ||| ||| || |||||\-+--++++-++++++++++----+---++-+--+-+++---+--/ ||| | | || ||||| | ||| | |||| ||||| | + |||| ||| || |||| | ||||||||/+++-+++---++--+++++--+--++++-++++++++++----+---++-+--+-+++--\| ||| | | || ||||| | ||| | |||| ||||| | + |||| ||| || |||| /+-----++++++++++++-+++---++--+++++--+--++++-++++++++++----+---++-+\ | ||| || ||| | | || ||\++----+---+++---+-++++-++/|| | + |||\--+++-++-++++--++-----++++++++++++-+++---++--+++++--+--++++-+/|||||||| | || || | ||| || ||| | | || || || | ||| | |||| || || | + ||| ||| || |||| || |||||||||||| ||| || ||||| |/-++++-+-++++++++----+---++-++-+-+++--++-----+++-\| | || || || | ||| | |||| || || | + ||| ||| || |||| || |||||||||||| ||| || ||||| || |||| | |||||||| | || || | ||| || ||| || | || || || | ||| | |||| || || | + ||| ||| || |||| || |||||||||||| ||| || /+++++--++-++++-+-++++++++----+---++-++-+-+++--++-----+++-++-+-++--++-++----+---+++---+\|||| || || | + |||/--+++-++-++++--++-----++++++++++++-+++---++-++++++--++-++++-+-++++++++----+---++-++-+-+++\ || ||| || | || || || | ||| |||||| || || | + |||| ||| || |||| || |||||||||||| ||| || |||||| || |||| | |||||||| | || || | |||| || ||| || | || || || | ||| |||||| || || | + |||| ||| || |||| || |||||||||||| ||| || |||||| || |||| | |||||||| | || \+-+-++++-++-----+++-++-+-++--++-++----+---+++---++++/| || || | + |||| ||| || |||| || |||||||||||| ||| || |||||| || |||| | |||||||| | |\--+-+-++++-++-----+++-++-+-++--++-++----+---++/ |||| | || || | + \+++--+++-++-++++--++-----+++/|||||||| ||| || |||||| || |||| | |||||||| | | | | |||| |^ ||| || | || || || | || |||| | || || | + ||| ||| || |||| || ||| |||||||| ||| || ||\+++--++-++++-+-++++++++----+---+---+-+-++++-++-----/|| || | || || ^| | || |||| | || || | + ||| \++-++-++++--++-----+++-++++++++-+++---++-++-+++--++-++++-+-/||||||| | | | | |||| || || || | || || || | || |||| | || || | + ||| || || |||| || ||| |||||||| ||| || || ||| || |||| | ||\++++----/ | |/+-++++-++------++-++-+-++--++-++---\| || |||| | || || | + ||| || || |||| || ||| |||||||| ||| || || ||| || |||| | || |||| /-+---+++-++++-++------++-++-+-++--++-++---++---++----++++-+-++\|| | + ||| || || |||| || ||| |||||||| ||| || || ||| || \+++-+--++-++++------+-+---+++-/||| || || || | || || || || || |||| | ||||| | + ||| /++-++-++++--++-----+++-++++++++-+++---++-++-+++--++--+++-+--++-++++------+-+---+++--+++-++\/----++-++-+-++--++-++---++---++----++++-+\||||| | + ||| ||| || |||| || ||| |||||||\-+++---++-++-+++--++--+/| | || |||| | | ||| ||| |||| || || | || || || || || |||| ||||||| | + ||| ||| || |||\--++-----+++-+++++++--+++---++-++-+++--++--+-+-+--++-++++------+-+---+++--+++-++++----++-++-+-++--++-++---+/ || |||| ||||||| | + ||| ||| || ||| || ||| ||||||| ||| || || \++--++--+-+-+--++-++++------+-+---+++--+++-++++----++-++-+-/| || || | || |||| ||||||| | + \++--+++-++-+++---++-----+++-+++++++--+++---++-++--+/ || |/+-+--++-++++------+-+---+++--+++-++++----++\|| | | || || | || |||| ||||||| | + || ||| || ||| \+-----+++-+++++++--+++---++-++--+---++--+++-+--++-++++------+-+---/|| ||| |||| ||||| | | || || | || |||| ||||||| | + || ||| || ||| \-----+++-+++++/| ||| || || \---++--+++-+--++-++++------+-+----++--+++-++++----+/||| | | || || | || |||| ||||||| | + || ||| || ||| ||| \++++-+--+/| \+-++------++--+++-+--++-++++------+-+----++--+++-++++----+-+++-+--+--++-++---+----++----++++-++/|||| | + || ||| || ||| ||| |||| | | | | || || ||| | /++-++++------+-+-\ || ||| |||| | ||| | | || || | || |||| || |||| | + || ||| || |||/---------+++--++++-+--+-+----+-++------++--+++-+-+++-++++------+-+-+--++-\||| |||| | ||| | | || || | || |||| || |||| | + || ||| || |||| ||| |||| | \-+----+-++------++--+++-+-+++-++++------+-+-+--++-++++-++++----+-+++-/ | || || | || |||| || |||| | + || ||| || |||| ||| |||| | | | || || ||| | ||| |\++------+-+-+--++-++++-++++----+-+++----+--++-++---+----++----++++-++-+++/ | + || ||| || |||| ||| |||| \----+----+-++------++--+++-+-+++-+-++------+-+-+--+/ |||| |||| | ||| | || || | || |||| || ||| | + || ||| |\-++++---------+++--+/|| | | || || ||| | ||| | || | | | | |||| |||| \-+++----/ || || | || \+++-++-+++--/ + || ||| | |||| /------+++--+-++\ | | || || ||| | ||| | \+------+-+-+--+--++++-++++------+++-------++-++---+----++-----++/ || ||| + || ||| | |||| | ||| \-+++-----+----+-++------++--+++-+-+++-+--+------+-+-+--+--+/|| |||| ||| || || | || || || ||| + || ||| | |||| | ||| ||| | | || || ||| | ||| | | | | | | | || |||| ||| || || | || || || ||| + || ||| | |||| /+------+++----+++-----+----+-++------++--+++-+-+++-+--+------+-+-+--+--+-++-++++------+++-----\ || || | || || || ||| + || ||| | |||| || |\+----+++-----+----+-++------++--+++-+-++/ | | | |/+--+--+-++-++++------+++-----+-++-++---+----++----\|| || ||| + || ||| | |||| || | | ||| | | || || |\+-+-++--+--+------+-+++--+--+-++-++++------/|| /--+-++-++---+\ || ||| || ||| + \+--+++-+--++++-++------/ | ||| \----+-++------++--+-+-+-++--+--+------+-+++--+--+-/| |||| || | | || || || || ||| || ||| + | ||| | |\++-++--------+----+++----------+-++------++--/ | | \+--+--+------+-++/ | | | |||| || | | || || || || ||| || ||| + | ||| | | || || /---+----+++----------+\|| || | | | | | | || | | | |||| || | | || || || || ||| || ||| + | ||| | | || || | | ||| |||| || | | | | | | || \--+--+-++++-------++--+--+-++-++---/| || ||| || ||| + | ||| | | || || | | ||| |||| || | | | | | | \+------+--+-++++-------++--+--+-+/ \+----+---/| ||| || ||| + | ||| | | || || | | ||| |||| || | | | | \------+--+------+--+-++++-------++--+--+-/ | | | ||| || ||| + \--+++-+--+-++-++----+---+----+++----------++++------++----+-+--+--+----<----+--+------+--/ |||| || | | | | | ||| || ||| + \++-+--+-++-++----+---+----+++----------++++------++----+-+--+--+---------+--+------+----++/| || | | | | | ||| || ||| + || | | || || | | ||| /----++++------++----+-+--+--+---------+--+------+----++-+-------++--+-\| | | | ||| || ||| + || | | || ||/---+---+----+++-----+----++++------++----+-+--+--+---------+--+------+----++-+-------++--+-++-----+----+-\ | ||| || ||| + || | | || ||| | | ||| | |||| || | | | | \--+------+----++-+-------++--+-++-----+----+-+--+----+++--++-+/| + |\-+--+-++-+++---+---+----+++-----+----++++------++-<--/ | | | | | || | || | || | | | | ||| || | | + | | | || ||| | | ||| | |||| || | | | | | || \-------++--+-++-----+----+-+--+----+++--+/ | | + /+--+--+-++-+++---+---+----+++-----+----++++------++------+--+--+------------+----\ | || || | || | | | | ||| | | | + || | | |\-+++---+---+----+++-----+----++++------++------+--+--+------------+----+-/ || || | || | | | | ||| | | v + || | | | ||| | | |\+-----+----++++------++------+--+--+------------+----+------/| || | || | | | | ||| | | | + || | | | \++---+---+----+-+-----+----++++------++------+--+--+------------+----+-------+---------++--+-+/ | | | | ||| | | | + || | \-+---++---+---/ | | \----++++------++------+--+--+------------+----+-------+---------++--+-/ | | | | ||| | | | + || | \---++---+--------/ | |||| || | | | | | | |\--+--------/ | | | ||| | | | + || | || | | |||| || | | | \----+-------+---------+---+-------------+-+--+----/|| | | | + || \--------++---+----------+----------++++------++------/ | | | | | | | | | || | | | + || || | | |||| || | \-----------------+-------+---------+---+----<--------+-+--+-----+/ | | | + || |\---+----------+----------++++------++---------+--------------------+-------+---------+---+-------------+-/ | | | | | + || | | | |||\------++---------/ | | | | | | | | | | + |\-----------+----+----------+----------/|| || | \---------+---+-------------+----+-----+---+--/ | + \------------+----+----------+-----------++-------++------------------------------/ | | | \-----+---/ | + | | | || \+------------------------------------------------+---+-------------+----------+--------/ + | \----------+-----------/| \------------------------------------------------/ | | | + \---------------/ | \-------------/ | + \--------------------------------<-----------------------------------------------------/ \ No newline at end of file diff --git a/2019/01/input.txt b/2019/01/input.txt new file mode 100644 index 0000000..d2a7b02 --- /dev/null +++ b/2019/01/input.txt @@ -0,0 +1,100 @@ +137654 +50175 +66976 +57860 +83790 +54910 +54619 +116199 +143411 +51671 +115872 +71948 +148635 +92858 +90939 +127238 +127895 +124557 +78529 +55785 +61550 +138304 +128465 +74497 +136583 +66010 +64320 +91234 +51418 +90761 +136134 +66312 +135172 +126256 +54124 +53174 +72252 +145546 +80950 +52271 +118231 +79687 +106127 +108233 +69510 +124533 +105202 +54861 +103087 +81646 +107634 +105240 +137434 +60812 +90066 +149325 +117535 +107526 +50814 +51850 +90707 +110908 +51739 +96373 +91987 +144389 +75682 +142954 +83555 +93320 +101914 +117640 +109401 +106950 +54521 +130826 +109942 +55360 +105653 +92168 +149572 +79571 +88590 +104400 +109598 +51623 +86649 +143689 +88350 +143809 +50119 +75616 +86361 +76884 +62339 +83118 +76847 +137105 +130460 +54479 \ No newline at end of file diff --git a/2019/02/input.txt b/2019/02/input.txt new file mode 100644 index 0000000..301753a --- /dev/null +++ b/2019/02/input.txt @@ -0,0 +1 @@ +1,0,0,3,1,1,2,3,1,3,4,3,1,5,0,3,2,6,1,19,1,5,19,23,2,6,23,27,1,27,5,31,2,9,31,35,1,5,35,39,2,6,39,43,2,6,43,47,1,5,47,51,2,9,51,55,1,5,55,59,1,10,59,63,1,63,6,67,1,9,67,71,1,71,6,75,1,75,13,79,2,79,13,83,2,9,83,87,1,87,5,91,1,9,91,95,2,10,95,99,1,5,99,103,1,103,9,107,1,13,107,111,2,111,10,115,1,115,5,119,2,13,119,123,1,9,123,127,1,5,127,131,2,131,6,135,1,135,5,139,1,139,6,143,1,143,6,147,1,2,147,151,1,151,5,0,99,2,14,0,0 \ No newline at end of file diff --git a/2019/03/input.txt b/2019/03/input.txt new file mode 100644 index 0000000..979acc3 --- /dev/null +++ b/2019/03/input.txt @@ -0,0 +1,2 @@ +R1003,U476,L876,U147,R127,D10,R857,U199,R986,U311,R536,D930,R276,U589,L515,D163,L660,U69,R181,D596,L37,D359,R69,D50,L876,D867,L958,U201,R91,D127,R385,U646,L779,D309,L577,U535,R665,D669,L640,D50,L841,D32,R278,U302,L529,U679,R225,U697,R94,D205,L749,U110,L132,U664,R122,U476,R596,U399,R145,U995,R821,U80,L853,U461,L775,U57,R726,U299,L706,U500,R520,U608,L349,D636,L352,U617,R790,U947,L377,D995,R37,U445,L706,D133,R519,D194,L473,U330,L788,D599,L466,D100,L23,D68,R412,U566,R43,U333,L159,D18,L671,U135,R682,D222,R651,U138,R904,U546,R871,U264,R133,U19,R413,D235,R830,D376,R530,U18,L476,D120,L190,D252,R105,D874,L544,D705,R351,U527,L30,U283,L971,U199,L736,U36,R868,D297,L581,D888,L786,D865,R732,U394,L786,U838,L648,U434,L962,D862,R897,U116,L661,D848,L829,U930,L171,U959,R416,D855,L13,U941,R122,D678,R909,U536,R206,U39,L222,D501,L133,U360,R703,D928,R603,U793,L601,D935,R482,U444,L23,U331,L427,D349,L949,U147,L253,U757,R242,D307,R182,D371,L174,U518,L447,D851,R661,U432,R334,D240,R937,U625,L49,D105,R727,U504,L520,D126,R331,U176,L81,D168,L158,U774,L314,U623,R39,U743,R162,D646,R583,U523,R899,D419,L635,U958,R426,U482,L513,D624,L37,U669,L611,U167,L904,U163,L831,U222,L320,U561,R126,D7,L330,D313,R698,D473,R163,U527,R161,U823,L409,D734,L507,U277,L821,D341,R587,U902,R857,U386,R858,D522,R780,D754,L973,U1,R806,D439,R141,D621,R983,D546,R899,U566,L443,D147,R558,D820,R181,U351,R625,U60,R521,U225,R757,U673,L267,D624,L306,U531,L202,U854,L138,D725,R364,D813,L787,U183,R98,D899,R945,D363,L797 +L993,D9,L41,D892,L493,D174,R20,D927,R263,D65,R476,D884,R60,D313,R175,U4,L957,U514,R821,U330,L973,U876,L856,D15,L988,U443,R205,D662,R753,U74,R270,D232,R56,D409,R2,U257,R198,U644,L435,U16,L914,D584,L909,D222,R919,U649,R77,U213,R949,D272,R893,U717,L939,U310,R637,D912,L347,D755,L895,D305,R460,D214,L826,D847,R680,U821,L688,U472,R721,U2,L755,D84,L716,U466,L833,U12,L410,D453,L462,D782,R59,U491,L235,D827,L924,U964,R443,D544,L904,D383,R259,D12,L538,D194,R945,U356,L85,D362,R672,D741,L556,U696,L994,U576,L201,D912,L282,D328,R322,D277,L269,U799,R150,U584,L479,U69,R313,U628,R114,D870,R660,D929,R964,U412,L790,U948,R949,D955,L555,U478,R967,D850,R569,D705,R30,U434,L948,U711,L507,D729,L256,U740,L60,D127,L95,U93,R260,D74,L267,D637,L658,U831,R882,D798,L173,U835,R960,D583,R411,U967,L515,U302,L456,D322,R963,U788,L516,U845,L131,U741,L246,D215,R233,U621,R420,D679,L8,D962,R514,U51,L891,U705,L699,U909,R408,D664,R324,U846,R503,U769,R32,D495,R154,U403,R145,U581,L708,D315,R556,U582,R363,U495,L722,U210,R718,U927,R994,D136,R744,U107,R316,D222,R796,U755,L69,D877,R661,D378,L215,D105,R333,D780,R335,D691,L263,U603,L582,U95,L140,D651,R414,D420,L497,U106,L470,D826,R706,D166,R500,D258,L225,U310,L866,U720,R247,D500,L340,U726,R296,U16,R227,U839,R537,U125,R700,U372,L310,D444,R214,D121,R151,U351,L767,D815,R537,U392,L595,U178,L961,D366,L216,U392,R645,U195,R231,D734,L441,D680,L226,D212,L142,U131,L427,D159,L538,D270,R553,D841,R115,U346,R673,D421,L403,D320,L296,U831,L655,U690,L105,U474,L687 \ No newline at end of file diff --git a/2019/05/input.txt b/2019/05/input.txt new file mode 100644 index 0000000..2408091 --- /dev/null +++ b/2019/05/input.txt @@ -0,0 +1 @@ +3,225,1,225,6,6,1100,1,238,225,104,0,1102,45,16,225,2,65,191,224,1001,224,-3172,224,4,224,102,8,223,223,1001,224,5,224,1,223,224,223,1102,90,55,225,101,77,143,224,101,-127,224,224,4,224,102,8,223,223,1001,224,7,224,1,223,224,223,1102,52,6,225,1101,65,90,225,1102,75,58,225,1102,53,17,224,1001,224,-901,224,4,224,1002,223,8,223,1001,224,3,224,1,224,223,223,1002,69,79,224,1001,224,-5135,224,4,224,1002,223,8,223,1001,224,5,224,1,224,223,223,102,48,40,224,1001,224,-2640,224,4,224,102,8,223,223,1001,224,1,224,1,224,223,223,1101,50,22,225,1001,218,29,224,101,-119,224,224,4,224,102,8,223,223,1001,224,2,224,1,223,224,223,1101,48,19,224,1001,224,-67,224,4,224,102,8,223,223,1001,224,6,224,1,223,224,223,1101,61,77,225,1,13,74,224,1001,224,-103,224,4,224,1002,223,8,223,101,3,224,224,1,224,223,223,1102,28,90,225,4,223,99,0,0,0,677,0,0,0,0,0,0,0,0,0,0,0,1105,0,99999,1105,227,247,1105,1,99999,1005,227,99999,1005,0,256,1105,1,99999,1106,227,99999,1106,0,265,1105,1,99999,1006,0,99999,1006,227,274,1105,1,99999,1105,1,280,1105,1,99999,1,225,225,225,1101,294,0,0,105,1,0,1105,1,99999,1106,0,300,1105,1,99999,1,225,225,225,1101,314,0,0,106,0,0,1105,1,99999,7,226,677,224,102,2,223,223,1005,224,329,1001,223,1,223,8,226,677,224,1002,223,2,223,1005,224,344,101,1,223,223,8,226,226,224,1002,223,2,223,1006,224,359,101,1,223,223,1008,677,226,224,1002,223,2,223,1005,224,374,1001,223,1,223,108,677,677,224,1002,223,2,223,1005,224,389,1001,223,1,223,1107,226,677,224,1002,223,2,223,1006,224,404,101,1,223,223,1008,226,226,224,102,2,223,223,1006,224,419,1001,223,1,223,7,677,226,224,1002,223,2,223,1005,224,434,101,1,223,223,1108,226,226,224,1002,223,2,223,1005,224,449,101,1,223,223,7,226,226,224,102,2,223,223,1005,224,464,101,1,223,223,108,677,226,224,102,2,223,223,1005,224,479,1001,223,1,223,1007,677,226,224,1002,223,2,223,1006,224,494,1001,223,1,223,1007,677,677,224,1002,223,2,223,1006,224,509,1001,223,1,223,107,677,677,224,1002,223,2,223,1005,224,524,101,1,223,223,1108,226,677,224,102,2,223,223,1006,224,539,1001,223,1,223,8,677,226,224,102,2,223,223,1005,224,554,101,1,223,223,1007,226,226,224,102,2,223,223,1006,224,569,1001,223,1,223,107,677,226,224,102,2,223,223,1005,224,584,1001,223,1,223,108,226,226,224,102,2,223,223,1006,224,599,1001,223,1,223,107,226,226,224,1002,223,2,223,1006,224,614,1001,223,1,223,1108,677,226,224,1002,223,2,223,1005,224,629,1001,223,1,223,1107,677,677,224,102,2,223,223,1005,224,644,1001,223,1,223,1008,677,677,224,102,2,223,223,1005,224,659,101,1,223,223,1107,677,226,224,1002,223,2,223,1006,224,674,101,1,223,223,4,223,99,226 \ No newline at end of file diff --git a/2019/06/input.txt b/2019/06/input.txt new file mode 100644 index 0000000..8593a99 --- /dev/null +++ b/2019/06/input.txt @@ -0,0 +1,1805 @@ +P1T)TR7 +3NS)SL6 +JMH)MLH +K57)Z9Q +F4G)TCS +LLY)5D3 +6KR)J86 +SH2)TMQ +5WZ)Z2M +ZLL)XYP +F4R)NT5 +36G)8KS +7LB)YRG +V9L)585 +22Y)KT1 +5DN)KY3 +Q2W)YNJ +VRK)FVT +ZL3)59Z +75K)QC8 +GPB)5V8 +S4B)N8N +WQG)4R7 +HJ1)PYT +LD6)ZPY +72F)42V +GP3)GSX +QJV)RJZ +S88)3B1 +Q7Y)T1L +JL9)2CN +CVS)BZH +7DF)5T6 +Z4G)5SD +XHJ)SN3 +XF7)J8C +K3P)6S7 +JLM)7KS +6JS)75X +12Y)CRB +5GS)71S +2BW)RT5 +X7F)1VJ +H9T)L2K +WKY)YPH +Z3X)MT5 +R83)HYS +7QY)YQV +LMD)SAN +SD3)C8V +44R)ZJG +78Y)X4F +NQP)9P4 +GQG)MRV +1ZK)1W6 +LWY)Z9M +NBS)8G7 +VTV)1ZK +L77)DDQ +Y9H)8KD +DTL)T6T +MCC)3ZX +7J3)YMZ +XS1)26Z +V2F)ZQ6 +68X)Z7N +F4G)283 +BX7)495 +CH1)7K3 +R2N)S99 +1T4)B4F +177)8W7 +N7L)3T4 +97G)F7W +QMJ)K3N +TTK)ZTW +NQN)698 +YQ3)R83 +TN1)76X +ZS3)89H +46Y)3ZR +56V)7V7 +J3J)5L4 +31N)NRZ +MJC)NFJ +8HB)S4W +L8N)YNH +MXB)B9J +Z12)7LB +7YP)M93 +4JP)FH2 +5QN)4SH +H2F)GWK +9JF)M3J +ZZJ)X6Y +PCL)J91 +FZM)LWX +9N5)2KQ +VLQ)KD2 +N9B)STL +M9G)DYV +NFJ)R78 +PZ1)R1Q +JMM)RJJ +NM8)KTH +V48)Q2C +QX7)9MB +SCG)JPR +N1G)96H +8BD)BSH +PMS)75K +J2S)ML9 +L32)29L +TQS)VN8 +ZJG)1M7 +PT2)JWZ +7Q4)PVJ +38Z)TD4 +LJM)676 +VRK)Y9H +ZLZ)KF2 +HYW)XCM +L3Z)M3M +9H7)FDW +BYQ)C9Z +4H9)PHX +TLQ)Z99 +7WW)BNC +NS4)TS7 +CF8)PMS +BHJ)19P +CT8)4Z5 +GDR)61S +Y46)36B +FM3)565 +5PQ)VMG +JQ4)PSS +QLT)2MX +975)DPS +DYC)XS3 +Y11)SD3 +YL4)9W9 +SDH)YFD +96R)X23 +92D)VZG +V7G)954 +CJ3)Y8F +GRY)45K +Z78)VM1 +CRB)2J3 +PTK)39Z +C8D)2VY +4R7)16Z +HQM)SCG +Y82)SC1 +CRG)RKZ +YSC)DWW +VH6)QX7 +GWK)WM2 +1W6)PWJ +LWG)B4K +B7Z)5GS +MS8)5FK +QY6)F5G +QB3)5R5 +TXR)V96 +QL6)PV7 +D5M)145 +K27)WTX +LB7)8BC +J1Q)V49 +RWL)SQ6 +B4K)M5T +Y1D)5QL +BJ6)4RP +BXH)QM7 +MPT)BVQ +G56)9V7 +NYP)9C5 +SDK)95K +1BX)3F8 +15N)4VQ +4V7)Z2W +S7Q)PDS +RM4)FYP +ZW3)7D9 +Z9Q)K7G +YKF)9TB +JG9)Y1R +VMD)NQP +5B4)WQ2 +D5J)63S +VKJ)MC9 +3RN)32K +BRK)PXV +P59)VKZ +PSK)6KV +C6N)RHK +11F)RPT +Z8Q)472 +V3D)97S +8J4)1T8 +S8T)W6D +PVJ)FVR +CRB)NDJ +26Z)7GC +YZV)4J8 +6BK)9S6 +5SD)VZB +FM7)L76 +QG6)XZM +DDQ)46Y +WNK)F4G +W1R)L1Q +T1M)S9Q +GWP)Z59 +9HD)K88 +XKJ)VJS +YG7)BDZ +3T4)CH1 +WTX)FM7 +31W)TP6 +7ZN)TH2 +D1Q)MVY +Y9Y)K93 +VN8)75L +VSJ)44R +D95)ZLZ +3YQ)DC3 +T15)HC3 +HRV)K9F +3F8)D5Q +RRF)Z78 +XZM)73S +GBK)82T +HWF)LZ9 +SWS)9LG +TJL)Q5V +MYB)7F1 +3Y8)PV1 +DD6)6HF +X49)C8D +QC8)ZW3 +9MS)9VX +49G)GXH +5W9)4JW +6TS)3W6 +D4P)C12 +BNJ)YTY +3PP)36K +XVV)STY +SL6)TNL +R2B)N3R +RM9)SWS +X8L)WH7 +4SH)1CF +R6P)TRQ +MJM)727 +Q7C)RNF +NT5)F4M +2ST)41Z +T5S)HVK +8KP)P59 +FRK)DR3 +SR2)F4B +BQH)NF6 +SL5)5BB +9V4)K27 +D97)KLS +42B)NS4 +RDN)Y9M +2Q8)H2J +Z6D)GDZ +HTZ)TZX +DB1)5P5 +FVR)Z82 +PD2)L32 +37G)M49 +8PV)6JM +7LJ)8H9 +69P)BXH +ZQJ)924 +HSR)DTJ +WF2)CSV +53J)SJS +L94)QGJ +HX7)K9J +9W9)T2D +YMZ)VD5 +SJV)138 +V9H)JGY +BJW)78V +CZ2)TR8 +MKC)W5R +2CN)YG8 +BFX)7QY +MB1)54Q +SVM)QPT +Z21)R6P +YW4)FJQ +S1W)NM5 +919)975 +RFQ)1JT +53G)6JS +R2B)DLB +8W7)2BW +KLS)4CG +3L6)YJY +56K)5QF +S99)72L +R5G)2QV +C6R)9HD +676)3B5 +8N9)24S +ZYN)ST9 +7TB)S6L +689)MBJ +QGS)XZS +YGH)SRP +865)H27 +YJY)RHY +JTZ)C5T +JZB)6F3 +2Q6)YG7 +6LZ)R9Z +F5G)CQ3 +NK6)N1C +R41)49G +GNC)J8Q +258)X6J +P67)7YX +7J8)PWS +P5B)YW4 +N18)T89 +W67)RFQ +1CV)YBH +Y73)T1Z +JM9)TPJ +RP6)783 +Z4J)LB7 +K3N)4F4 +6JM)NPS +RZD)2ZC +JTZ)QBX +TCS)3LD +HQL)CW5 +J82)XJ3 +6F3)8ZN +NRZ)X27 +4DK)FB1 +339)WFC +973)S4B +D4N)X49 +LWX)FCP +45K)TT6 +F1B)WJF +YPH)ZPJ +BVD)DCC +3FR)5MZ +CR2)3PP +FZG)SNR +18M)RRQ +2PR)C7H +DX6)DJV +VMG)NK2 +843)WLT +MY4)XPZ +QPB)53G +RZH)B2K +13Y)B95 +6LS)1T4 +G9N)F55 +RLR)9R7 +8RV)HCG +73S)K57 +J9N)QD8 +576)QGS +J5Y)4CC +F25)1C6 +52D)BQH +RX4)WVZ +X1Z)BV2 +4ZX)F4P +GMJ)4D7 +JB5)GT7 +KTL)T4S +W8N)XCW +J8Q)N2G +Q98)YRX +WV2)SLL +12T)53K +6S7)CK5 +2RW)WPR +S84)F25 +RV4)PB5 +QZG)15P +8RQ)9KD +Z45)96R +PVJ)F4R +HMT)F54 +96H)4Z8 +TS1)PCL +VS1)G33 +Q6L)JZB +XPM)WF8 +QJF)2YY +PV7)VTV +MSJ)KPJ +RB5)61Z +SFD)TR5 +8CJ)MYB +7HW)DNT +5FK)CPL +2BP)2FK +6D5)48N +83G)956 +8HB)J3F +JGY)XN1 +ZRD)FSF +4CG)VYJ +6QW)FHP +T9P)KW4 +B9J)GF6 +X8C)8J4 +ML7)R4C +W7D)1VB +Q6Q)NQN +Q69)ZYN +53K)5TX +9TB)973 +BSR)HK3 +T8X)GTN +29L)ZRB +GG3)JL9 +WKN)D4N +32K)W69 +JPR)WDB +4H9)PK2 +4BL)X6X +ZXH)KZ7 +WGY)D1N +DF9)49P +KBD)WFB +71S)5B4 +5HC)D9J +SGW)R6R +QSF)D97 +KC4)4B6 +8MN)2T7 +3MC)C6R +CY8)CZ2 +2QR)M2X +6T1)F1B +TFZ)YRV +WGJ)R31 +JW7)HB7 +T9B)GX7 +YG8)W1B +51W)DCP +T89)NY7 +P3G)PCS +GYH)DNM +KN3)27M +VZB)1W8 +Z6S)LD3 +SYN)4D4 +DR3)3FG +QD8)J1Q +PCS)NYP +L65)DN6 +BDN)WGJ +5P5)WD2 +DCC)DKR +Z1Y)6CX +T6L)Y25 +PHX)VKJ +STJ)PGB +HVK)SYM +SLC)56V +CV8)F1D +CK5)R5X +YND)6T1 +11S)Z1Y +MTL)M9M +8XF)D96 +85Z)NSY +TQ9)QR9 +RHY)X8L +TS1)89S +5DN)88C +W3S)GG9 +DTJ)T5Y +YK6)H2M +Z82)J2P +D3G)RL2 +61Z)11F +19Q)ZVW +X6Y)RC3 +NBS)Z69 +1VJ)Q7F +2F4)9M6 +8BD)CBZ +1JT)2ZB +4FG)CJ3 +GG9)177 +36B)T44 +WGV)2ST +H9Y)WV2 +WLN)9MZ +F24)46P +FYP)9DF +N86)6MT +GP3)3YL +F55)CSK +3HH)J1F +Y5V)QQ8 +D3S)K1V +2HC)1H1 +KM9)3WZ +5L8)WXB +TZB)F7H +26G)NK6 +NR1)B3H +GXH)R45 +QFT)DC7 +4TP)71Q +7QY)B5P +F4M)ZNC +PSB)2Q8 +TRQ)N5V +BGZ)4SN +NDP)8KT +S4W)7TQ +9B3)T4T +82T)W47 +NCJ)TFZ +LZQ)T6L +R31)35H +YTY)JS5 +BNJ)1RV +WTB)RV9 +SK4)NLQ +8Q2)SWW +H3X)YNQ +WDX)PD8 +F1J)7JX +Y9Z)VW4 +7K7)MF3 +13R)B8W +4SN)X1Z +5GT)KM9 +PXV)RJK +KF2)9JF +7D5)85C +DQK)B87 +C5T)RP6 +BHL)NM8 +ZQD)287 +6YR)2SY +QSG)H7H +2YY)M62 +C7W)TWW +96K)C97 +3GG)ZZW +CSV)6LS +SJ4)6RQ +15X)X9J +J5Y)8BD +T82)WGY +5WP)72Z +FW2)KN8 +ZRD)2QR +Z2Z)5W9 +K7R)VV3 +MLJ)BDH +G33)LDC +543)15X +P7Z)21Q +T24)WCS +5YC)RCM +PMB)SK4 +YDB)S4M +HVB)R9K +C7Z)LSD +BZ6)LMD +N4M)7K7 +KYB)JMQ +951)DCN +9LG)ZQD +75Q)GHX +3CN)957 +S9Q)KWF +S44)ZRD +JS5)Y66 +MTM)B7Z +Y9M)VLQ +WM6)QV1 +XJB)T5M +PZC)YB8 +HG5)TZ9 +CW5)ZFH +NPS)T82 +JM6)WN8 +KG5)GDR +1RN)N3Y +2YF)FLB +P4X)F74 +NQJ)JXZ +J8C)6V4 +R78)GT3 +CPY)Q8H +NF6)V2F +ZG2)WKY +585)ZXH +P48)339 +ZPY)TJL +CHX)5J9 +YL4)Y73 +H9G)DSC +BDH)G5F +JVQ)S34 +Z3T)NPR +HHK)CL2 +727)576 +72T)CTM +RWD)GQG +CMB)TN1 +BRG)5WP +98Q)Z3T +NF3)JBC +KKB)K9D +T4S)7PW +4XG)GMV +H1B)S5L +J95)HSR +6FL)JDZ +GNK)TTC +VKZ)ZLL +7PW)R2B +DSC)QP2 +QTD)66W +XL2)KN2 +KDT)6SY +RNK)L9H +HWV)V3S +276)8W8 +7VK)RNS +3PM)DYC +WF8)RTT +13M)TZB +TNL)FNP +RNF)RJW +WYF)BRK +Y9P)PZ1 +Q9M)TS1 +JNF)QJF +S79)YFR +K4H)Y82 +LWG)NQ6 +DHH)ZS3 +8G7)S7Q +FJT)HHK +5PK)4S8 +CVR)P12 +R9Z)N9B +17Y)BSR +M7J)7NR +C6R)W1R +Y56)5GT +NT5)XJB +2Q2)SL5 +6NP)S31 +L19)2HC +TVT)415 +3ZH)S93 +91L)39L +FVK)N18 +R67)V8R +TMD)FL5 +4F4)SG2 +XBV)Z18 +GFD)MS8 +9V4)JNC +554)XS1 +9M3)18M +CTQ)HYW +LY4)WTB +HY3)LL3 +2J3)XL2 +VC1)YOU +JMY)RD8 +XK2)D5K +KD2)7J8 +JD1)258 +S1C)SLC +R6R)WXM +6MT)33D +QJB)4TP +287)CSC +FVR)JQ4 +35H)BCS +WQ2)YL4 +DX6)STJ +X42)348 +J3V)XDK +YSM)DZN +6LZ)ZQ8 +HVH)2TR +GB3)Y5V +FHP)Y46 +61S)6LJ +FPK)XTY +P1X)F6N +TZJ)YHR +XHG)N5L +8PS)4ZX +JNC)FFT +412)4XG +YQP)YST +GMJ)SYF +ZJD)FRK +Q23)DTL +V3P)W1H +KMY)H3X +C8K)TJD +WQN)5NY +XZS)3SY +PWJ)Z93 +37Z)BGV +CFQ)72T +GDZ)FCS +82T)WYX +DLH)HQM +MLH)Z8Q +9YV)72F +GX7)CTN +YW4)MJC +RWK)CT8 +2SY)QB3 +16K)MXB +2DQ)LWY +R6R)M4K +BZH)84R +CBZ)L77 +947)WYF +CT8)Q3L +DNM)15N +TX1)VBN +JXZ)3CN +VT4)3WX +3RH)STW +GRB)V7G +8FS)LD1 +3WC)51W +M1D)H9G +TSM)F8F +ZQ6)KDT +F4P)6FD +NK2)NQS +VXV)JFT +C97)C7W +1YR)VMR +YXC)LG6 +STW)17M +1V5)74R +6VZ)S9Z +WV2)SRW +R45)56K +75L)DD1 +7ZV)6LZ +T5M)T15 +RCC)D4P +3W6)5K5 +FBQ)TXR +7V7)VPC +TWW)M2Z +7DF)Z41 +Z31)8HB +M2Z)13M +ZZW)Q9M +5XZ)CZF +BFX)JG9 +ZSH)CMC +D36)CY1 +MWD)8CJ +W6D)TVT +39Z)HVH +9CG)XKJ +XJ3)3PM +84R)N9C +1C8)2NW +DC3)ZJP +P67)947 +7GT)NVV +J91)MWD +R9Z)NKQ +415)8VG +T6T)B4L +6J7)F1J +QBX)ZJD +4XC)CVS +3ZM)D1K +NQJ)BGQ +J2P)4QZ +RGW)GB3 +8KD)37Z +56P)S8T +711)KBM +QL5)4H9 +GP9)SH2 +DKR)ZPS +F4R)K5L +54Q)P1P +6L1)NZR +RPT)9CG +G8S)6QW +4JW)KB5 +ZTK)F24 +SWW)GBK +B7V)J5C +Z6S)PD2 +N9S)CF8 +8BC)Q69 +283)543 +TMD)7LC +QV1)RDN +6FD)KKB +BTS)2WG +3ZR)CY5 +5TX)ZKY +9NL)KB8 +97T)GMJ +68B)GRF +FVC)DW2 +L7D)RYL +RL3)B4C +7YX)JJX +NCX)X21 +BJ8)GPB +YST)ZZ1 +MCS)3Z7 +ZXG)FZY +RYL)4Q9 +5NY)GTK +YQ1)T9P +CF6)46K +F7W)WQG +77Z)CY8 +6W2)HJ1 +TT6)R5K +F68)W3S +DSD)VR2 +JWZ)8FS +YSQ)W67 +J8D)W1P +6KV)BX7 +ZRB)WT8 +3B1)RHJ +2FK)K3P +Q49)ZYK +8DN)9CR +SBT)GL4 +HK3)4XL +FFH)X2T +VWG)VZL +954)J78 +2MX)CYB +JM6)S1W +LRZ)SVM +H1F)9YV +C12)FSH +D9J)CTH +9LV)S3K +RJK)DZ7 +5HZ)9WL +ZKK)K4H +TH2)8QQ +P12)QJV +2HT)Z31 +7K3)WZ5 +3C4)TZK +66D)Q7C +TQ1)7GT +2MX)GRY +LQ1)7LJ +46P)YL8 +6SY)2VR +Y6Q)VP8 +YNQ)LRZ +DKS)MKC +Z69)D9N +V96)DGD +YN9)XKF +KF1)JR4 +LW6)W9S +31W)S55 +J1F)WR4 +3ZX)JW7 +4CC)V53 +SJ4)GQC +BXM)VC1 +PV1)JJF +5F3)G28 +WC1)XPM +KY3)78Y +B4C)9YW +8KS)M6N +ZTW)554 +ZSS)SLS +GNW)KC4 +4S8)Y1N +7TR)4V7 +C7H)3RD +LSD)T9B +VQG)11S +PSS)Z12 +MRV)RB5 +WS6)NQ5 +SBS)711 +42N)3RN +CLL)TX1 +K5S)32G +VR2)7S9 +NPR)12Y +924)NCK +BYX)NR1 +Y6D)7D5 +23G)6BT +N9C)W6X +K52)FZM +5NP)ZJB +Q37)R2N +JZY)66D +NZJ)Q23 +WK9)YN9 +S27)D5M +Y1N)WJK +CJ4)5YC +LDC)N86 +LJM)69P +6BT)R5V +LL3)RYK +PMJ)3PF +S44)TZD +D3D)VMD +D1K)4BL +WR4)MB1 +GF6)J9D +9KV)5H7 +SFM)ZPF +KZ7)S79 +DRJ)ZL3 +MFQ)CMB +4XL)ZG2 +SYM)7YP +FH2)K6Q +PVB)LK7 +BVQ)J95 +9S6)GYH +VMR)PMJ +LPK)9NL +MXC)6J7 +K93)ZGG +MDK)GNK +C9L)56Q +46K)H1Z +FTB)3DY +6CX)X9Z +CB6)2YF +SNR)NF3 +J78)XHJ +9V7)R54 +3LD)S1C +M4K)WF2 +TRQ)MHC +BGV)CR2 +LLN)2DY +NQ6)F8B +F6N)31N +74N)TZZ +YHR)M72 +BF6)1YR +7LG)P6F +KTH)X28 +4ZT)T11 +S55)Q98 +PB5)J3V +YG8)X8C +DPM)HW6 +KW4)4HL +ZMY)P4S +J3F)Z2L +NSY)9WX +YVM)XDF +CL2)85Y +K5L)RNK +J2K)1KC +VV3)V4L +Y88)7XT +F4N)ZVH +6HF)NZJ +3WZ)N7L +GV5)M7J +KPJ)7XK +S9Q)MQ5 +Q3L)TP5 +6HF)RVK +ZR1)P5B +JMQ)QL5 +R5Y)LHV +RMD)38Z +VKP)8MN +XPZ)J82 +CR3)61H +R1Q)DD6 +N5L)RLR +FFT)LPK +WM2)WC4 +HG2)QNN +S34)SJV +X4F)MTL +SLS)82Q +32G)TTK +J9M)YXC +R9K)P6T +BNC)MPT +3B5)VS1 +VZH)SGW +MJM)334 +8PS)WGD +S5L)D1Q +138)GBT +VTJ)JMM +ZJP)C85 +FZY)W4B +SHW)3WC +DB1)TQS +9VX)19Z +CF8)HQL +WYX)Z4G +J1J)Q37 +Z75)P3V +PGB)77Z +1C6)SJX +XPG)Q84 +4F1)M9G +D4N)JMD +7JX)Q4X +BMG)V33 +J86)JD1 +KN2)KBD +B87)XDJ +VYJ)4FG +XDF)7ZN +HLF)YQP +7YP)PSB +WRK)6FL +QNN)PL6 +BP7)QW9 +DMQ)BJ8 +Q5V)N4M +XS3)CF5 +WXB)C9Q +P4S)8WW +Z8V)53J +SLL)TQ9 +71Q)Q6Q +3H4)CVR +XHJ)X4Q +3SY)DHH +5W7)DFV +9MB)HY3 +61H)H14 +JR4)ZGR +FDW)11Z +V3H)H7D +R5K)KH2 +KFK)ZVL +CQ3)Y5S +W6X)16K +BSW)FKY +TMQ)1T2 +S4M)BP7 +C9Z)L2J +GRF)Z6D +1T8)2DQ +D97)WHF +ZST)9R5 +VZG)CTQ +CB6)PZC +ZTY)TVW +ZGR)8XF +41Z)F9Y +Q8H)SHW +WVZ)KB6 +3PF)7QD +BDZ)YVM +W1H)7ZV +F5G)DR7 +NM5)3MT +72L)G62 +1H1)68B +WN8)Q2W +9M3)756 +5H7)1RN +DGD)RGQ +DLB)5VL +HZV)VKP +7X3)4WP +NZR)TLD +21Q)MLL +X77)4JP +5R5)7DQ +X28)Y1Q +YRV)BJW +M14)6KB +VZL)FBQ +WD3)CV8 +J9R)KWG +C3G)Y74 +P5B)BHL +HHN)WD3 +FNP)KTL +QGJ)P9B +B6G)9H7 +YFR)919 +FVX)M74 +7XK)V3H +ZVH)ZZJ +TSH)6NP +63H)M1K +W4C)RZH +ZZ1)P48 +QGS)69H +5J9)YDB +S8L)P4X +TP6)MJM +JJF)Z3L +KN2)P7Z +CPK)H1B +3SN)WKF +DCC)F4W +5H6)2F4 +MVY)412 +NRL)GP3 +T44)F4N +T8X)Z3X +8LZ)GR6 +8KT)Q4C +M74)MCC +2L9)S27 +36K)G2N +957)WS5 +TXR)7VJ +B95)ZJR +K9J)BM9 +ZVL)CGZ +7QD)P8Y +ZYK)239 +XTY)YSM +4VQ)MYM +SLZ)YGH +L76)ZB9 +DDQ)MNC +P9B)WQN +DW2)H9Y +WKF)W37 +48V)FHH +76X)3FR +TZZ)8RQ +YDS)NBJ +R4C)C1Q +258)7WF +B3H)TSM +4Z1)L98 +C8V)9NJ +ZKY)D3G +J3G)7Q4 +XN1)S88 +RJZ)6KR +YFD)GSS +8H9)WLN +TTW)D95 +F7H)J9R +H7D)Z2Z +Y25)Q6L +PDC)FZG +783)7TR +8M9)FPK +2GT)PSK +XZG)42B +1KC)PTK +TVK)BHJ +TVH)XMK +2KQ)DPF +ZNC)7DF +VJS)5NP +RV9)375 +RWY)31W +3RS)J5Y +SHF)Y88 +PWS)J2K +VK8)9B6 +J1F)WS6 +5V8)Y9Y +RC3)L7D +2YF)K52 +VV3)TZN +6KB)P78 +7BP)CF6 +R5V)GJS +B2K)CR3 +8MX)LWG +YG7)NND +SD3)PVB +CHP)NLM +HYS)19Q +T2D)D6H +SQ6)BYX +NVV)C3G +TVW)L19 +8W8)SBZ +3Y4)L5V +L2S)XHG +QM7)WQS +239)NCJ +DHH)S2P +1W8)13R +NQ5)7LT +RJK)9J3 +CMK)YRY +STL)5L8 +RYJ)SG8 +3Z7)9V4 +46Y)C6N +GFH)QZG +CMC)FJT +81H)DRJ +L94)8DW +W1X)2P4 +9VT)DF9 +X9J)N9S +CYB)H1F +SJX)VQG +4RP)WM6 +HYW)1C8 +XMJ)Y6Q +TR5)5XZ +LS7)91J +CXM)276 +WH7)BJ6 +FRD)7X3 +BCS)K46 +FKY)BXM +TBN)4Z1 +54B)99H +2B9)JXH +DWW)WL5 +ZS3)SR2 +MDR)DDS +KJD)LZQ +WBM)HX7 +KDP)T5S +2WG)BF6 +RFJ)L65 +3N4)KLK +Q7F)5WZ +K4P)P67 +SS1)PT2 +LV4)11L +8VG)HZV +GL4)BSW +7LC)QSF +RNS)23G +FCS)XLB +LHV)B8K +MD3)8M9 +YRG)SBS +3MP)FXS +Z75)T1M +RRQ)VXV +LD1)7LG +ZFB)Z42 +56J)Q7Y +8ZQ)R43 +N3R)5HC +Y1R)2RW +GMZ)6MN +ZQ8)6YR +GQC)WDX +RD8)D5J +HCG)Y11 +NCK)2L9 +911)Z16 +G81)CJ4 +NTY)3NS +SBZ)HG2 +2VR)SBT +WYX)NQJ +6QQ)6NT +P1P)1CV +CGZ)V48 +RTT)5H6 +7D9)KMY +VTV)54B +F74)FT6 +KB8)RZD +3MT)JWC +56Q)H9C +RHK)865 +XCM)ZQJ +T5Y)GNC +W9S)ZFB +9WL)GV5 +DN6)RX4 +SG8)NCX +P3V)7WW +B8K)8PS +78V)VWZ +FSH)VT4 +KH2)BQP +DJV)N2D +WT8)BVM +ZB9)ZMY +CTH)YKB +24S)FGH +FBQ)7VK +C85)V3D +PK2)RWD +BQP)W84 +H1Z)DNQ +VP8)K4P +DZ7)XPG +45R)PDC +SG5)52G +69H)RM4 +DR7)9M3 +X23)TLQ +VPC)ZQR +5SL)97P +Z59)9LV +JJX)HRV +J9D)Q4S +RJW)WKN +6RQ)QLT +TLR)LLY +KBM)13Y +L9H)952 +XDJ)3RS +JFT)Q1Z +NJ6)XVV +FL5)5TK +L1Q)TK3 +PDS)X7F +5BB)QZB +1RV)154 +PWJ)LZ4 +QPT)5DN +N9C)RCC +DLH)NRL +Z9M)2Q2 +FXS)66F +ZSD)R5G +GMZ)1G1 +K6Q)YQ1 +QHH)SHF +WD2)GFH +MYM)ZP3 +5QF)LQ1 +N2G)C35 +MLL)5QY +JW7)QY6 +X4Q)81H +97S)1L9 +S4G)5QN +9DF)6BG +LMD)HLF +VBN)VHW +4JP)Z13 +ZTW)J8D +V8R)7Q9 +5HZ)2B9 +WV7)K7R +DYV)KJD +1VB)VNX +16Z)52D +M74)J1J +L7D)D3D +D1N)RFJ +GX7)6MS +19Z)H99 +COM)RV4 +B5P)SDH +W1P)M33 +DC7)SQ7 +BTS)85Z +88C)T24 +NDJ)KG5 +4HL)KF1 +M5T)MDS +4YY)GRB +C1Q)K9V +TBN)Y56 +WS5)W1X +BBX)Z8G +XWS)6TS +7DQ)2HT +698)MXC +KV9)CB6 +TD4)S4G +B7Z)H4Q +7D9)DWX +Z3L)2PR +S9Z)2BP +YQF)YND +G62)3Y4 +VNX)GMZ +T6L)S8L +Z13)Z21 +WQS)JM9 +5J8)M14 +15P)8ZQ +CPL)DYL +PL6)R5Y +L8N)MFQ +89H)6W2 +JBC)LW6 +ZP3)XP5 +T2D)G56 +TLD)ZSS +M3J)WK9 +85Y)D5R +FNG)BZ6 +74R)RMD +48N)TZJ +RJJ)ZJV +V4L)M1D +SN3)JZY +85D)1FQ +CY5)SDK +7WW)741 +2KQ)G8S +91J)L8N +LQ1)JHC +66W)Y9Z +GNC)FXP +Z7N)V97 +ZM5)92D +XDK)911 +M6N)W82 +95K)LS7 +VBN)TLR +TK3)TVH +NBJ)45R +1K7)M7X +S31)P3G +WBM)2V5 +7LT)LLN +9NJ)9VT +MLL)SFM +3DY)L3Z +348)S44 +N8N)YSC +5T6)JB5 +2VY)93L +D96)LV4 +SG2)YKF +YB8)LY4 +96H)RGW +W4B)X6N +5L4)KV9 +YQV)GWP +TWX)3MP +H99)DSD +WFB)7J3 +C5T)3MC +6F9)1YX +DWX)XTR +7WF)SFJ +Q1Z)8N9 +YMZ)ZSD +11L)T23 +6LV)W2B +PXS)K6M +952)BYQ +WL5)H9T +GLK)1V5 +XLB)Z75 +4LC)TTW +Y77)FRD +P4X)9W8 +TZ9)JDT +KWG)SG5 +T15)FM3 +2CZ)W8N +4Q9)MCS +K9F)HTD +GTK)B6G +741)VZH +4D4)4YY +9S6)6SG +FGH)GNW +X21)QL6 +W1R)JM6 +89S)JMH +9R5)96K +H2J)C9G +9WX)J9M +WXM)XWS +MQ5)3Q8 +XMK)Z6S +472)FVX +7Q9)QSG +J5C)5GZ +FVT)MTM +M49)85D +13N)BFX +TJD)RM9 +SYF)SJ4 +S3K)9MS +V3S)ZXG +3YL)3HH +ML9)6F9 +BGQ)WC1 +NLM)KDP +2ZC)7TB +F8B)83G +4QZ)Y6D +MZ4)1JW +6V4)YK6 +FCP)QJB +Q84)GP9 +TZK)91L +TS7)4NJ +7VJ)5PQ +B8K)C8K +T4T)B7V +2NW)843 +HNP)PXS +B5P)9KV +XTR)Q49 +FSF)RWK +WGD)ZTY +GLK)RWY +TTC)J2S +ZVW)DQK +R5X)YDS +NNW)ZM5 +K6M)4ZT +QR9)2GT +Q4C)BDN +S2P)22Y +T23)SFD +8KS)RYJ +7TQ)1PP +KPL)48V +D5Q)BMG +1RN)41Q +W5R)8BB +5VL)HTZ +B4F)HG5 +ZJR)R41 +2TR)5PK +JP3)NLZ +59Z)NBS +FJQ)VSJ +DPS)HMT +4D7)TBN +1G1)MLJ +P7T)65X +SDH)W7D +WYF)KN3 +S6L)HWF +DCP)TVK +LK7)W4C +GT7)ZNS +ZJV)TKJ +ZPJ)Y9P +33D)TQ1 +2QV)Y77 +XCW)4DK +NQ6)3Y8 +72Z)8PV +YL8)YCD +JHC)6QQ +F54)DPM +YQ1)5NR +9W8)BNJ +GSS)JNF +V49)BGZ +S4B)DMQ +9CR)1BX +C35)GFD +KFK)YQF +JD7)46T +Z16)J3G +SWW)CFQ +K46)ZSH +154)8KP +Q4X)8RV +KWF)5HZ +NKQ)T8X +M4F)DB1 +YL8)8Q2 +27M)YQ3 +49P)TFC +956)X42 +JWC)FW2 +YXF)H2F +FLB)P1X +GSX)81F +XTR)26G +88W)3SN +8DW)FFH +W84)BS6 +Z2L)YSQ +X9Z)4LC +YRY)3ZM +CF5)97G +31Z)FTB +VHW)YXF +MPT)DNF +G5F)DLH +VM1)BRG +Q4S)ML7 +ST9)JP3 +XMK)P7T +83G)WGV +ZNV)P1T +TKJ)63H +6NT)QMJ +SH2)FVC +W1B)Z4J +1M7)PMB +9W8)31Z +R83)WV7 +MC9)PX3 +ZGG)QPB +1L9)4XC +DPF)RL3 +F8F)C45 +PYT)YVL +9MZ)74N +59Z)3RH +MHC)8SM +SFJ)SLZ +R43)8W5 +7KS)J6V +N3Y)3R8 +L2K)WNK +9P4)XF7 +DNF)377 +XYP)3GG +QZB)1K7 +GMV)N1G +6SG)YZV +P8Y)XBV +GPT)S7K +Q5V)KYB +X27)4JC +756)M4F +FT6)JD7 +RHJ)98Q +FXP)7HW +XFS)HWV +C9G)689 +Y1Q)J9N +46T)JLM +J86)S84 +BM9)NJ6 +F4B)VWG +GF2)VRK +W82)56J +JXH)3C4 +VXV)R67 +WCS)C9L +5TX)CMK +Z41)L2S +RVK)TSH +M7X)Y1D +TZN)73T +JVN)FRX +P6T)3YQ +M33)VH6 +YRX)VK8 +93L)6LV +ZFH)X77 +GTN)TWX +S93)NDP +LZ9)12T +WHF)3ZH +H4Q)8DN +Z42)17Y +HW6)V9H +NQS)3N4 +1PP)MD3 +CZF)BVD +TP5)56P +M72)XK2 +CSC)LTB +8QQ)ZTK +TZX)XMJ +YNQ)C7Z +WJF)37G +5QY)ZR1 +WFC)D3S +YVL)QZC +SRW)5SL +KYB)G81 +6LJ)8JZ +NCK)JVQ +KB6)GF2 +9YW)CLF +9M6)6L1 +F1D)ZKK +7S9)DLM +Y5S)68X +C9Z)K5S +L98)CCR +RCM)2Q6 +8H9)7BP +4Z5)KFK +CTN)NNW +LV4)97T +1C8)VBZ +GBK)QHH +3YL)ZST +M1W)6D5 +MNC)42N +D6H)DKS +VKJ)5W7 +FRX)CHP +NY7)8LZ +Z2W)MZ4 +DFV)TMD +K9V)HNP +K88)3H4 +F4W)V9L +QQ8)2CZ +MBJ)GPT +M2X)Z8V +3Q8)GG3 +RL2)4F1 +81H)WRK +3WX)GQ2 +WDB)BBX +JMD)J3J +HC3)9B3 +CLF)G9N +SL5)LD6 +5F3)MDK +X6N)JVN +B4L)HHN +YPT)F68 +B8W)5F3 +N1C)DX6 +WLT)88W +Y66)D36 +X6J)XZG +CMC)36G +T1Z)3L6 +ZPF)JTZ +C45)MY4 +QPT)YPT +5QL)9N5 +LD3)LJM +TFC)RWL +YQV)CPY +85C)75Q +TR7)CLL +TZZ)ZNV +NND)GLK +GQ2)WBM +QP2)L94 +WJK)HVB +3R8)QG6 +7NR)6BK +2V5)V3P +LZ4)CHX +M3M)NTY +3FG)5J8 +BSH)Z45 +1BX)MSJ +S7K)HF8 +Z93)BTS +5VL)SYN +CTM)MDR +YNJ)951 +D5K)CXM +JDZ)XFS +4CC)FVK +D9N)KPL +4J8)CRG +YBH)QFT +W47)QTD +XYP)13N +8SM)SS1 +MT5)VTJ +2ZB)6VZ +SC1)FNG +4Z8)RRF +XKF)M1W +5NR)CPK +ZPS)JMY +RHJ)8MX \ No newline at end of file diff --git a/2019/07/input.txt b/2019/07/input.txt new file mode 100644 index 0000000..d91292b --- /dev/null +++ b/2019/07/input.txt @@ -0,0 +1 @@ +3,8,1001,8,10,8,105,1,0,0,21,30,47,64,81,98,179,260,341,422,99999,3,9,1001,9,5,9,4,9,99,3,9,1002,9,5,9,101,4,9,9,102,2,9,9,4,9,99,3,9,102,3,9,9,101,2,9,9,1002,9,3,9,4,9,99,3,9,1001,9,5,9,1002,9,3,9,1001,9,3,9,4,9,99,3,9,1002,9,3,9,101,2,9,9,102,5,9,9,4,9,99,3,9,1001,9,2,9,4,9,3,9,1001,9,2,9,4,9,3,9,1001,9,2,9,4,9,3,9,1001,9,2,9,4,9,3,9,101,2,9,9,4,9,3,9,1001,9,2,9,4,9,3,9,1001,9,1,9,4,9,3,9,1001,9,2,9,4,9,3,9,101,2,9,9,4,9,3,9,1001,9,2,9,4,9,99,3,9,101,2,9,9,4,9,3,9,102,2,9,9,4,9,3,9,1001,9,1,9,4,9,3,9,1001,9,2,9,4,9,3,9,102,2,9,9,4,9,3,9,1002,9,2,9,4,9,3,9,102,2,9,9,4,9,3,9,102,2,9,9,4,9,3,9,102,2,9,9,4,9,3,9,1002,9,2,9,4,9,99,3,9,101,1,9,9,4,9,3,9,101,2,9,9,4,9,3,9,101,2,9,9,4,9,3,9,101,1,9,9,4,9,3,9,101,2,9,9,4,9,3,9,1002,9,2,9,4,9,3,9,101,2,9,9,4,9,3,9,1001,9,1,9,4,9,3,9,102,2,9,9,4,9,3,9,1002,9,2,9,4,9,99,3,9,1001,9,2,9,4,9,3,9,1001,9,1,9,4,9,3,9,102,2,9,9,4,9,3,9,101,1,9,9,4,9,3,9,1002,9,2,9,4,9,3,9,101,1,9,9,4,9,3,9,102,2,9,9,4,9,3,9,1001,9,2,9,4,9,3,9,1002,9,2,9,4,9,3,9,101,2,9,9,4,9,99,3,9,1001,9,2,9,4,9,3,9,101,2,9,9,4,9,3,9,1001,9,1,9,4,9,3,9,1002,9,2,9,4,9,3,9,101,1,9,9,4,9,3,9,1001,9,1,9,4,9,3,9,1002,9,2,9,4,9,3,9,101,1,9,9,4,9,3,9,1002,9,2,9,4,9,3,9,102,2,9,9,4,9,99 \ No newline at end of file diff --git a/2020/01/input.txt b/2020/01/input.txt new file mode 100644 index 0000000..cd5e9da --- /dev/null +++ b/2020/01/input.txt @@ -0,0 +1,200 @@ +1408 +1335 +1648 +1458 +1627 +1928 +1967 +1827 +1606 +1569 +1893 +1866 +1768 +1795 +1264 +1684 +1552 +1343 +1917 +1675 +1731 +1800 +1413 +1879 +1664 +1350 +1694 +1372 +1851 +1743 +1735 +833 +748 +1265 +1885 +1874 +2007 +1661 +1895 +1537 +1622 +1355 +762 +1533 +1771 +1966 +1978 +1572 +1833 +1969 +1805 +1820 +1536 +1911 +2009 +1817 +1268 +1998 +1759 +2008 +2002 +1187 +1896 +1850 +1734 +1849 +1589 +1302 +444 +1280 +1590 +1959 +902 +1709 +1932 +1277 +1561 +1301 +1831 +1286 +1693 +1927 +1467 +1384 +1662 +1401 +716 +1634 +1785 +1801 +1380 +1971 +1292 +1828 +185 +1560 +1322 +1787 +1545 +1395 +1445 +1807 +1750 +1867 +1433 +1894 +1821 +1983 +1578 +1669 +1610 +1549 +1556 +1346 +1616 +1999 +1925 +1387 +1659 +1457 +1237 +1808 +69 +1906 +1449 +1723 +1974 +1919 +1914 +1338 +1305 +1347 +1903 +1929 +1712 +1607 +1400 +197 +1575 +1282 +1296 +1737 +1396 +2003 +1453 +1660 +1646 +1991 +1565 +1416 +1995 +1784 +1367 +1420 +1593 +1654 +1306 +1916 +1797 +1594 +1471 +1405 +1698 +1541 +1900 +1963 +1696 +1574 +1853 +511 +1603 +1889 +1940 +1843 +1979 +272 +1726 +1294 +1877 +1441 +1697 +1644 +1956 +1689 +1665 +1631 +1717 +1781 +1450 +1618 +1317 +1799 +1950 +1722 +1960 +1628 +1941 +1977 +1775 +1529 \ No newline at end of file diff --git a/2020/02/input.txt b/2020/02/input.txt new file mode 100644 index 0000000..85df7d5 --- /dev/null +++ b/2020/02/input.txt @@ -0,0 +1,1000 @@ +4-5 m: mmpth +1-7 r: rszchrrrzgr +2-5 w: dgqtwwkwwc +10-11 w: ldslpwbbqwpwtd +3-4 s: sszss +1-6 l: llmjxlbt +8-11 c: ccctccccccw +1-11 l: tllllllplllzjllgz +5-8 j: ljjjjjjqcw +11-12 s: sssssqsslsvhfs +7-10 f: fffffmfqfffffff +3-8 m: mmmsqmmmh +3-9 w: dwzvsttjw +7-8 l: llllflhg +10-13 f: jfkwhzrtktphc +5-6 p: pvldppqvcd +9-17 s: sssssssstssssssscsss +4-7 k: zlwhcwkrckwkskxkgh +12-14 n: nnnnnnwncnnjnn +6-8 g: gkwzbwhgmgrqqlksswg +7-8 d: drpbhdvwddd +6-8 d: dlmphvwbnnddrd +5-6 m: mmzmmmpm +6-13 x: xdcxhkqqxznxwhtxdxt +4-14 c: pncwncdcccccdmwccccc +14-15 s: gsrsssssbsssstkssmb +1-3 m: dhmzmlnfmsm +8-12 l: llmlrllchlwhlktpxdf +3-5 g: njgkglgx +11-14 v: vvvvmwvkvtqvgxvvvlvv +1-4 h: hhhq +1-2 l: dfrmsp +4-5 n: nkknnkrflkpnnn +10-12 w: dwwwwwwlwwww +13-14 h: xnhhhrvwpnkmhx +11-12 l: lllllklrllrx +12-14 d: ldrvtddrddvdqgj +10-11 p: bxpqplqtqzhjv +2-5 t: bmltz +8-10 j: ljjjjjjmjjj +5-6 x: xxxvll +5-7 b: bxbbbbbk +5-11 t: ttjmsttwtdh +2-3 p: dmxxrpnppd +1-4 x: xxxxxgx +3-6 v: vwcvvv +4-5 l: lqpll +14-20 p: psxqnpfpnmpsppppppsp +16-18 g: lgggkgggggggggggglg +3-5 b: tbfbbg +6-8 n: nsnnnnnnnw +2-4 p: dppndlmtnt +11-15 q: tqqqqqqqqqqqqqq +13-14 r: rrrrrrrrrrrrbx +3-6 s: shsssfc +7-9 l: mlghdlhwfbcqmv +1-2 k: mlwk +13-17 v: hbvlqvknvvsvzvvvvv +3-4 g: bmngrgttz +9-10 h: hhmhhhhhtc +1-15 m: nmmmmmmmmmmmmmmm +12-13 k: kkkkkkkkkjnfckk +1-8 k: skkkzkkkk +5-7 j: jjjjjjhj +12-14 g: gmgxwglgggggbggqgg +9-11 p: pppxppqpprlgpp +14-15 j: cpjjjjjjjjjjjjjj +4-12 l: lnblzbdmpwwrbmnr +3-8 d: dddhdmcrddnddnddjl +5-9 g: kghqfsggf +18-20 g: gggggggggggggggggngw +3-5 q: rkqlqfzvwqqqksntqdz +8-16 m: dkmmzgmdmmmhwmxmxm +7-9 q: qnqhtkqqqqqqjvcs +1-3 m: mmlm +1-10 b: bjfkmblmbbtvxzp +4-5 c: ccldccsq +4-7 k: dzbkksrkkkbkwd +1-7 r: rrrrrrp +9-10 g: qgggtgnlszgggs +6-7 g: ggsgjfq +10-11 n: nnnnnnnngnnn +3-4 c: ftchcgcvlgzckdrg +13-15 p: pppnppppppppzhpplhp +2-7 k: xnlhlxsdzkvhw +5-8 m: mmmbmqmnfmtm +7-8 d: sdddddcjd +3-4 b: fnjr +8-14 c: cccccrjcccccccchcfqc +6-11 m: mmmmmmmmmmmmmmmmmmmm +5-7 l: lllllwhtl +5-7 z: zzbzrzg +6-10 n: ncnznxzcwvcn +2-4 f: xpkffxmlwtgzjppcdf +19-20 c: cccccccccccccxcccclf +4-14 w: wwlmwwfpwwzjdww +11-17 f: fvfffvfffffxffffff +12-13 s: gtshbpzgxnsss +5-6 m: mmsjjgmd +15-17 x: xxxxxxxwxxxxxxhxx +5-9 f: kgfjmbctt +6-7 k: wkknmkk +2-4 c: cccc +5-9 s: grsgskjnsmsg +3-5 q: qqqqqps +9-11 f: fffbfbfffffjfffcffkg +7-9 q: qqqqknqqcmqqqq +17-18 x: xxxxxxxxxxxxxxxxxq +2-10 j: cmhglhqjdg +10-11 h: pnhzhkgxbhkdm +8-12 j: qjjjjwjjjlzjbjjdcjj +15-16 q: qqqqqqqqqqkckvrq +6-15 f: fkfffffffsfcknf +4-17 c: vgpsglczjdfcnqtbnl +10-11 k: mmxktwkkwbvfkkdkkknj +11-12 s: ssssssspsssk +3-5 l: lcqdh +2-3 m: mqqq +6-7 k: fkkkjkv +13-15 g: gqlgdsgggggxggg +7-9 r: jvnkhhrrrvrsfxkrtd +14-15 f: ffrffffffffqpkllfxff +3-4 d: gjvf +9-12 x: hxxxrxqwxxjxxq +5-7 k: wdkkkdfttqkdkng +6-7 x: xxxvxhx +6-13 c: ccsclccccfmcdb +5-17 c: cdccsvcccccccccck +14-15 s: sssssssssksssnx +6-7 j: jjjwhqt +14-15 s: kssssssssssspcss +3-6 w: tnmlbhw +1-4 g: lqgrtcgn +1-11 b: drrwhbwzqdj +7-8 r: vrnvdtrr +4-8 w: vwwwwwwwww +6-7 v: vvvvvvn +7-14 t: sxtxhdxcwqdgrtqs +2-7 w: ptgsdwghvjwmwbgrqqs +1-2 l: llllgll +3-4 n: npnnbg +3-5 h: mxhhhwhf +10-15 j: bjjjtnjppjjjzcjjsw +8-11 r: srkkhrrcwrbrptr +2-4 t: qttwv +8-9 t: tfhtldttt +5-15 r: lwdmlgrrrrtrrrpxgrp +8-9 d: ddcddddgwd +3-4 b: cbbb +11-12 m: vmmnxtdxmmnm +2-5 r: rwrvc +1-10 s: sssxsfsssssws +1-4 v: kvlxvvv +5-17 h: dhqhhhlxhhhhqhhbhhnc +7-9 d: bdddpkdnfrnmb +3-6 x: qvstbxvkqfnxwnk +16-18 m: mlmpnmmstmmlmcmbmh +8-9 h: hhhhhhvhhhhhhhx +7-10 t: tqcttwwttg +1-9 m: gmvlmmmqmtpfm +3-4 p: ppppp +7-17 d: xddgqhdddcptxdhxc +1-11 f: ffffffffffff +13-14 r: dmsrnztgrrlvgt +10-11 r: rrrrrrrrrrvr +4-5 l: llllll +4-9 k: kkkkbkkkd +3-5 b: vsbbbtrnqzbbd +2-12 j: sjgjnjmhjgcjjcnjjj +5-15 h: lqhvhhtxkhchmhh +7-14 l: sllsfllllllllllllll +12-14 v: pvvvvvvvvvvvvv +4-5 j: jjgjjjg +11-13 q: qqqqmqqqqqdqxq +7-9 p: ppppppphpnp +5-6 s: ssrssz +8-14 j: jjjjjjjjjjjjjjj +6-8 j: jtxjdjmjxjjjrjq +14-16 d: ddddddddkdddddjd +4-6 h: hhhhwhxh +5-12 h: hhphwjhjhhhhhnhhbh +5-9 m: mmmjxhpkmmhmttjdmk +5-9 c: cxcvgtccttwn +6-11 r: bcrrwznbgtrrrr +3-4 t: fpttlttxjwcqmtbw +2-4 b: dmxkbrgpjqtlnq +2-7 r: rdrfprqprkgwpxrrw +10-13 c: ccckpcsccwccccc +5-7 l: vlllllkl +4-11 x: xxxjxxxxvxtx +1-5 h: hhhhh +7-12 s: sjssssxnssmsj +4-5 w: wthmw +6-7 f: fkppffq +7-8 c: cgktccccckcccc +1-2 q: lhnsqrk +2-6 m: dvmmmm +3-6 x: dbxxlxkf +7-14 d: ddsdjslpkfddxjjjkdt +14-16 c: ccqcvctjcccrccgc +1-3 d: dddrkddddkmxr +7-10 w: gpwgskmxsjv +4-5 v: bxhgm +6-7 w: whwhfqw +1-4 x: sxxxrx +2-4 g: ggdggg +15-16 h: hhhbhhhhhhhhhhhh +8-9 s: ssssxsksshss +4-6 w: wwwlwqw +6-8 d: sdpqddddmddw +14-15 j: jjjjjjjnjjjmnjj +2-9 p: pvzstcclp +18-19 g: fgggggggglpgggggztg +15-17 z: zzzznzzzzfzzvztzhzzz +10-11 j: pjjkjkjjjgj +7-12 w: dwbwwbzwwwbvwmwc +3-11 g: vgggwqnwspgg +8-13 w: wwwwwwczwnwtww +1-11 m: mjdtsvwmcqmvd +2-3 c: vcccc +6-17 k: wskkkkkkkkgjkzkkkgmk +8-12 g: mghgrngjggvjgg +4-7 p: pppsppp +6-9 v: vvvvvrvvv +5-14 j: jjmqlzjbjjjlmjjjjj +1-13 f: fkbnffffffffpfff +3-9 r: vrfrxtvwh +2-4 k: fkskpjkkbh +15-19 d: dddddddddddddddddhdd +1-16 s: swtmgswssfwsxpsssss +12-13 s: ssssssssssslssss +1-2 q: wvzvbb +9-14 d: pddddqgcdddjddx +4-6 x: vbqpxxbkxmx +1-5 q: qzqqqqqwfmtqfq +7-17 l: mdlcllllhrlllhpllcl +9-10 q: qqqqqstcgcxqqq +6-11 x: txtxhxxmxhxxx +7-8 c: ccccccppc +12-13 v: vmvmvvvvvvvvxvl +10-12 r: rrrrrzrrglrrrrkr +2-4 s: ssbsv +15-17 g: ggggggggggggggggf +2-7 g: sgvgtgghmtxd +16-17 s: ssssssssssssssvzsss +4-6 n: nnnnqnn +10-15 t: mvtttvtftqzmtjt +10-11 q: qqqqbqqwqrzqqp +6-14 h: hjhhhchhhhjhdd +11-15 b: zbwhdjksbqbdbmb +5-12 r: mrnggrwzrhrrrr +9-16 m: jmmmmmmmmqwmmcxmfmm +7-8 h: qsmhhhtsbhhhjhwl +2-3 h: hkghhm +1-4 k: nkkkk +3-4 z: zzzz +11-13 j: jrjjgbgjxrqjrmjjgckj +3-7 w: wwwqqlwdb +6-9 b: fsbbbqbbqmbb +13-16 n: nnnnnnnnnnnnnnnn +5-7 b: cbbqmbbrhbbz +2-3 l: xjzkbwgfwwcwll +13-14 z: zzzzzzzzzzzzzzzz +6-7 c: ccccccc +4-10 l: lhlslmlwmwbllv +4-5 h: rqhhhhh +3-4 t: dmtttmxhtqz +6-17 n: nnxcnncnnvgcnnrnrmn +3-4 x: xxmxxx +8-10 j: jjjjjjtjtvjj +5-11 d: ldldbnndddddsgdpgj +1-8 n: nsjvhncn +3-8 f: fffffssffxfffhl +1-3 q: kwnq +3-5 k: krkcklkhkspqmqm +3-4 k: dklm +11-14 j: jjjjjjjjjjjjjjj +16-17 v: vvvvvvfvvvvvvvvmx +5-6 m: mmmmmm +10-11 l: wdlgllqlslf +5-6 t: prbwttmtpvwr +6-20 c: cwcctqccthccrpccccct +5-12 s: sssssbssssszs +10-11 k: mkkjklhkktkkkdvkqqkm +11-12 n: nnnnrnnsngnn +2-5 p: ppppl +7-11 f: mvmdfmdwfffffwfrjfqk +13-16 r: rzsrdsrrrrrrprpjrb +13-14 c: ccccccdccccctc +13-18 n: nnnnnnnnnnnncnnnnnn +4-10 r: rvrrdhflcrtwzz +2-9 p: prpczpbpt +3-8 q: qqqqcksqqtx +4-5 d: xxdpmdbvddn +3-4 j: jjlj +2-3 n: nrnnnsnn +3-4 w: pnwkwdn +1-5 w: wlwgw +10-14 x: xxxxxxxxxxxxxxx +5-15 k: kkkkfskkhkkkqpf +3-4 b: bbbbf +3-4 r: jrrr +3-6 h: htkhhhhh +15-16 g: gggggggggggggvgt +17-18 s: ssssssssssgssssssz +14-15 m: pkngmmpjmxmmmms +4-10 f: rsmxvsghdlfff +16-17 z: zvzhzzczdvzkzzghg +16-18 v: vvvvvvvvvvvvvjvvvv +6-9 t: tttttmttttt +5-6 j: hjwxgbjf +3-6 k: kkkkkh +9-13 d: ddpgdfddddddd +14-15 x: xxxxxxxxxxxxxxx +1-4 v: vqvqkrjx +4-5 h: hjhhnh +2-3 v: jvvsrgsvfqlv +9-10 m: mmmmmmmmmm +2-5 f: ffnfpff +4-6 b: bbbbbg +8-9 p: ppjwqpjbnpppwp +5-6 l: lldlllll +9-10 g: gvgqggtgggggg +6-9 x: jxxxxxwxqqvxx +1-4 w: lwwgbt +16-17 d: jcdmgkmfvvlqphbddvhc +1-12 s: sssslssssssnsss +4-5 p: cjnppjllxbrp +13-14 n: jmzjhttnkkgnnn +11-12 t: vrgtrgjrdmtcfzx +16-17 l: lllllnmlvldlllrwmlc +13-16 m: mbdmmmmmmhmsmmmmtb +3-6 z: zszzzzz +1-6 h: hhhqhrbh +3-5 n: rlnnnn +17-19 x: xxxcxxxvxxxxxxxxxxkx +3-10 r: rccrrrhrrx +4-7 h: hhhdhhh +3-6 g: hgfzpmpgg +1-2 x: xxqhhx +5-6 m: jmmmmzf +1-2 j: bjjj +2-3 q: gqst +3-4 g: ggggmbghk +3-4 f: fnfdf +5-6 q: qpqtdg +2-3 t: ptctz +5-6 d: pddvdddsd +1-4 f: ffftff +3-5 b: bbdbg +13-17 f: fgfckcdfffftffxfffff +3-4 w: wwkxsw +2-12 l: hvgqmbqlrnzls +1-2 f: szff +6-7 q: sqqqqnqq +1-4 p: ppvd +3-7 c: cwscbkgc +4-12 s: sssfsssspsfsgss +4-10 t: jstttgststtghzp +5-6 j: jjjjtj +5-9 k: ffkdktkkhbbwkkj +9-15 k: kkkkkzkkkcbkkkkkkkkk +3-17 w: wwgwnnkswwpqwkwdhw +15-20 l: wlllllslllllrllllllk +4-5 r: rrrfm +2-6 l: flllnll +12-13 s: ssssssssssscwn +9-10 r: zpqrrrrrfn +10-13 h: xhhfhzchhjhhtdrhhzh +6-7 b: bbbbnrbb +2-12 f: tffjcjtlnvgf +2-4 g: gtgkg +11-14 n: nnnnnnbrnnnpnnn +15-17 j: jjjjjjjjjjjdjjvjv +10-13 r: brgrrrfrmfrrxrgrrrs +3-13 v: vwvjsftzkvcxvdbxfs +17-19 f: fffffffffmffffffffff +1-4 g: vggxg +5-16 m: csckdfxglfpzmrhcmbnn +4-15 z: gzqjzczzzzjzzhjbz +13-14 w: wwwlwwwwwwwwht +11-13 j: cjjdjjjjsjjjkjjjh +4-15 w: wwwqwwzwwmwwtww +1-2 p: ppjcp +6-10 f: ffjffrfffsgm +17-19 q: qqqqqqqqqqqqqqqqqqqq +3-4 g: gmgz +10-14 s: fpsssdmssdsgsgvss +9-10 m: mmmmmmmmmmmm +1-5 c: fcgns +5-9 t: ttcgtttrtttttq +4-5 v: vvrvvv +2-4 w: xwpw +5-12 d: trdhrqlqwrlsrdfh +3-8 n: bbnnnzrnnjdnb +8-10 w: wwwrwdwjgz +5-6 d: ddddjr +1-3 p: ppqppp +10-19 f: dfbjgffmpvnkhfwjfff +3-6 k: kkkkkkkp +5-7 t: vqtxtxtvk +14-15 c: cccclccccccctcctwc +2-13 x: tmxxzxklxgzxxp +16-17 b: bbbrbbbbbbbbbbbbbb +6-11 h: gmzhhhhmrhqhhm +7-9 k: kkkkkkqkck +4-7 v: pgvdvvx +12-19 f: fffffffffffxffffffff +2-5 p: mphtpp +6-13 t: ctttvwtntqttttq +3-11 t: xntrzxtlnwt +17-18 l: llllllllllllllllll +2-5 c: zczpcfdzblnkcvj +1-5 z: fzzzmz +6-11 f: tdcffpffwqlfffg +16-17 h: hhhhchhhhshhhhhdhh +13-14 m: msmmmkmmmjmmmmzmmnm +6-13 s: nhbscsgcssxsrsssx +5-17 q: qqvqqqhqrkqqqqgqqq +2-4 t: vqtbt +2-5 t: wfdrsrt +6-7 f: ffffzdx +3-13 r: pmrtkvdcrxrnrzw +14-18 r: wrrqrrcrrlrjmrrkrt +15-17 j: jjjjjjjcjjjjjjxjt +8-9 h: zmhhlmhhhdhhhhg +6-15 l: lllllnlfllllllll +3-5 n: nnfnb +16-17 s: sssssssslssssssss +8-9 k: kdkjkkkskkk +2-5 z: gzzmzhdplnwwvlsjnzv +4-15 r: rvmrbsrtrfdqrrb +6-7 l: llllllc +4-7 g: dnggxhgggg +8-9 f: fftffkdff +6-9 r: rrrvrprbrz +2-6 q: qwqqqqq +7-9 h: mzhpwnkhh +3-4 m: mmlh +1-15 v: vjpkvdzvzdlklpn +1-3 r: rrggvr +8-13 d: dwrpdsdjhlddqddhdwdp +3-4 r: fvrrsprrmrrrjgr +4-5 s: zsrssvss +6-7 d: dfdwtcvgvcdfdqdwd +6-12 n: rhnjnndnfnwql +3-5 l: hvlxlcnclqllrw +10-14 l: llllllllljlllplll +6-10 b: bbbbbbbbbbbbbbbbb +8-11 q: qqqqqqqtqqqq +7-8 r: rrrrrrxf +1-4 k: jkkkzsmbtng +13-17 r: rrrrrrlrprrdrrrrl +1-7 t: dfgnvtl +2-6 v: qvvdsm +8-9 l: lltlrlljb +3-4 m: mdmm +17-18 t: ttttttttttttjtxttwtt +9-11 b: bbbbbbbbbbpb +2-3 b: bwnbr +4-10 t: tfdtltstdft +8-10 z: zzfzzzztzzz +6-8 q: qqqqqqqmqnqqq +7-11 r: rzrrrrzrrrr +11-13 k: kkkklklbkmklk +17-18 l: slllllblllllllllclll +10-14 s: ssssssssswssssssss +3-4 s: hwssssgjsp +7-10 g: fbggxgtbngg +6-7 z: tzzzhzjz +3-7 g: ggggggcrg +16-20 g: grgghjcnlmkszxrgtgvv +1-16 n: prqnwnngbgtjsvsj +13-14 z: zszlgqdgtqbzzlpkzz +4-8 f: ffftffnnfp +15-18 s: jrdgssszdxkzhlsfzs +7-8 l: llllllbplllllll +7-10 l: llllbllllll +5-9 b: bbbbwbbblb +4-5 g: gdwhdg +2-3 v: jnfvvv +11-13 h: hhhhhxhhhmzhbj +11-13 r: wbrrrrxgwlvwd +10-12 m: gxmpmmmgmmmmm +11-12 h: hhhhzhhhhjhnhhh +2-13 g: kzkztgnlbqhlgx +4-7 z: zktzzzzx +1-7 q: pqrxqqhfpglwqts +6-7 f: pffvfbtf +6-7 l: tlljjlllnll +4-17 f: flffpffffdfqffscff +2-4 q: bqxqrqrrq +6-8 l: lllnllfll +9-12 r: xrgrrjrrrkgrrqrnr +14-19 r: rrrrrrrrrrrrrrrrrrrr +18-19 w: lbqrkdwwwqgrklcwxwwh +9-10 n: nnnnnnnnnn +7-13 b: bbbbbbbbbbbbb +5-7 k: hkbfskqkjktwkk +9-10 c: tlvmtfcpccwwz +3-7 r: rzzrspmp +7-11 g: gghzgglgggt +4-5 p: pbpwp +3-6 q: qqrqqv +3-13 m: mmmwxmmlmnvmmmmmm +2-6 p: ppplqpfpp +11-15 t: ttttttctttltctgt +2-7 m: cmnhjqm +1-6 m: mzjmtmmmmmdw +1-10 j: jzgjcjjjjspjjjjjgjmj +4-7 r: vmxtrrnrxnnq +8-16 h: hhhhhqhfhhhhhhhhhh +4-10 z: kcmkzmzpzts +14-15 j: jjjjjjjjjzjjjjj +6-11 x: xxkmxxcxxvx +15-16 v: vvvvvvvvvvvvvvgt +6-7 w: wwwwwgqz +5-7 d: dkdpmcddjdd +6-12 s: sssssssssssvs +8-10 q: fcpwtgqqqz +4-5 w: wwwwgwww +8-11 q: qqqqqqqnqqbqqr +3-4 d: dddwddd +9-12 x: qxcgxxxxvdxdkzxxxxx +3-8 k: kqcsjxszvscfvm +4-7 d: mgdddddhkdqb +3-7 x: xjxxljlsfrfnhsxxlv +4-9 g: xgsxgtgggxmgg +1-4 p: tppknptkp +3-7 z: gzzbzzz +1-5 p: ppgpz +15-16 f: fzfffffffffffffwff +5-11 t: tzttvqltfxtg +6-7 v: vhqvzpvv +2-6 f: fmffftfff +9-13 d: dxrdgddddrddddqpgdd +7-8 r: rrrrrnlnrr +5-6 t: btttwm +13-14 g: gggggggggghgblgg +12-19 r: qkgrvfnsrwzrqsrhrrs +15-17 j: jjjjjjjjjjnjjjhjd +4-9 t: btmrbcgttjht +16-17 n: nnnnnnnnvnnnnnnznn +3-7 l: lltlllglll +12-14 v: vvvvvvvvvvvvvv +1-3 q: qqqq +12-14 f: flbfphvwfdffjf +10-11 z: lszzzzzzzzzzz +3-9 k: lvzkkhkkp +4-6 j: fmrjccsjrzjqkfvn +5-11 x: xxxxvmxxxxcxx +1-9 c: wcccccccjxcvccccc +1-4 l: sblllll +1-2 x: xnvlnxs +4-5 f: nffccfff +8-9 p: vpppppprz +1-6 d: vfcqmddw +6-7 b: bbbbbbb +7-13 n: nnnnnnnnnnnnwg +3-6 q: zqqqqqqqqqpqqqq +1-9 g: gbggggdgglgmg +9-13 b: wbbbxnbbqbbbbkbb +4-5 g: gggwr +3-9 r: vnqvvhprzmbhrcb +10-11 m: mmmmmmmmmpm +4-7 c: cgrbccdbcz +5-8 r: rbvrrrrr +7-11 d: ddddjdmddfhvdn +1-2 k: zjkk +2-11 w: wtwwwwwwwwsw +7-8 b: bkbbbbfbbxd +2-4 w: wwnjswwmgbwrwwm +9-18 j: jjjjjjjjkjjjjjjjjs +6-7 t: tttttvwtttt +10-11 v: wvvvbvvvvvvvm +17-20 d: ddddddddddddhddddddn +2-12 q: qdqqqqqqqqqxqqqqqq +5-7 w: rjdswwwwwwqmmpww +1-9 b: bbbbbbbbxcbbbb +4-5 q: qqqwxp +10-15 n: nnmnnnnnncnnnnvn +10-17 f: fnfffffffffffffcff +2-3 p: krpx +8-10 c: cvsccclwccrcjjclc +5-9 t: fpnhtmtqtvwcss +10-13 r: rrxrrrrrrfrrrr +6-9 l: lllllwllt +11-15 n: dnnnnnnhsxgnnhsn +14-16 b: bbbbbbcbbbnbwkbsbm +3-8 g: qhlxgggqvg +11-14 x: ptqcgxnnhpxbgxlm +17-19 g: gggggggcgggbggggngg +10-19 q: qtjrqqwjvqqqknqbqqq +10-13 j: jjjjjjnjjljjsj +1-3 g: mggg +3-7 w: pwtwjdq +1-2 j: jjjp +9-13 z: pszzzglzhzzzzhz +1-2 j: fhhjxz +9-12 l: llllllllsltll +7-9 c: cxdvzcclccz +13-15 g: ggggggggfggggkgg +15-16 z: zjjbgzlxqzzsxzdxz +2-3 z: kxcszzzsrsccg +7-9 t: sttwxgtwlbzbsffttjb +1-6 r: rnmrrrtrrl +4-7 m: pmmtmmq +5-7 f: lggcpdpf +16-19 j: jxjjxjfssrvlmjjfjjmq +2-8 w: wrwswcwvw +4-15 k: kkkpkkkkkkkkkkq +12-15 s: xbssnshpsssgsbk +7-15 z: vzrzzczbhzzzzzzzhz +10-14 w: wwwwwwwwwtwwwwwwp +11-12 k: kkkkkkkkkkkkkckkkkq +15-16 s: sfssvsssssssmspl +4-5 d: dddqd +5-7 h: phsblhnfhchb +8-11 x: rxxxbhxxxjxxxtgsc +11-13 x: xxxxxxqxxxnxvx +5-10 p: jbpzfmphpwpz +9-13 v: vvvvshvvgvsfqvvvv +4-7 r: rrzwrzdr +11-13 f: fffffxffffzfwf +13-14 s: ssssssssssssss +2-11 c: czccdmkhhcvcc +7-11 w: wwsxwwwwwwwwj +7-9 t: ttknmtxvttttnt +1-6 r: rrpjrrrr +5-9 v: vkvvjqvvbvtlv +1-5 q: mwvhpqqqcj +1-5 f: fffff +4-5 r: trrcv +10-12 s: sssssssssssvss +4-5 d: drddzd +4-5 n: nnknl +10-12 x: xxxxfxxrzbxzvtxlxt +4-10 v: sbgsvssbnhmh +3-11 n: dnngqwnnjtnjjg +1-2 w: xdsvzdmzswwwwwwmgjw +6-8 h: whhhhmhbhh +2-18 w: wswwwwwwwwwwwwwwwwww +11-12 v: vvvvvvvvvvvv +7-10 v: vrhvvcvvvvvv +4-9 r: rrrrmzntrsgrrkhhr +4-5 v: vvvtvc +3-10 t: ttnttwzgptr +2-3 c: gccrngp +2-3 b: bbbqx +1-7 s: zsdlsjs +5-7 j: jjjjjjj +2-5 g: ggnhg +2-6 w: fwwkwhjqbwqw +1-6 w: wdgnjwqwqv +9-11 b: bbtksbbdxbpjbbbbb +12-15 k: kkkkkkkkkkkkkkk +1-6 b: bbbrbbb +6-7 g: gggggvs +8-14 s: sssnwssrsssslcs +1-6 q: ngjprqqmdwgkjqvq +11-12 z: vzzkzzgzzzzzzz +3-4 n: nnnnnnnn +5-6 b: fbwbljf +11-18 h: hhhhhhhhhhshhhhhhlh +2-15 r: rrzgrzwrblrfwfrsd +6-11 n: zncnknknbgn +13-14 f: vwffftfffpffzfff +5-6 c: fcccbc +5-6 b: bxjbcpsbrgbgn +2-7 f: tffhrsf +7-12 g: ggggggtgggggg +4-5 t: ktphttltctt +4-6 w: fwsgwh +7-8 m: mfmmmmmmm +4-5 z: gzjzzfjzzz +8-9 l: lvtllllllll +3-5 m: rsmmd +10-11 r: rrrrrrrrrlz +11-13 j: hhqtkwznghbfsbwpvrj +4-5 z: zjzndzrmqzlptg +13-16 m: mmhmmmmmmmmmpmrmmm +5-7 p: pppphpp +2-3 s: zscgsj +14-15 h: hhhhhhhhhhhhhlhh +2-3 f: rffrtlxwfff +1-3 z: ptqlzzxskrjsnp +3-4 t: ftttst +8-9 t: thtttttpttm +11-13 g: qzhmgptdfwggqqc +6-9 f: nfffhfkffhf +2-3 w: qsxgww +11-12 d: ddddddddddddd +2-4 v: qsbvvv +8-13 z: zxczszkwxzgkz +2-4 t: cbtt +2-5 q: clndcnv +8-12 f: kfnhqbfnnpntfsvxcx +2-3 d: gddtd +1-9 z: tztzzzdnm +3-7 h: hhhhhhhhh +5-6 t: tttttvtttt +5-9 g: npzggdhvggpqgxwgvgsg +3-12 p: kwpptpplxrcgfxphpqbg +15-18 f: fffjffffffffffwffff +7-17 n: nnnnnnnnnnnnnnnnnnnn +5-10 d: dndddkddddx +1-7 v: cvhvsvhvv +5-7 f: fscrtxlz +1-14 b: bbbbbbbbbbbbbbb +1-11 n: nnlnxntnlxnnnktnnxb +13-18 p: pppzppppfqhppppzrp +7-8 h: hhhhzhhmqhh +16-17 r: rrrrwrrrrrrrrxrrrr +4-8 f: wfffgnff +15-16 j: jswvgtfhtffjgjjsxsdq +16-17 n: nnnsnnnnnnnnnnnnnnn +7-8 w: dxhcjvwwzwdddhhwwlj +1-13 h: ppshfshghphcq +5-15 b: cbxnbhbbjbhbbmbkvz +2-11 c: tdgcqlcccccthwmk +1-4 p: mpppp +1-4 x: xpzxxkzlrsgrbxpklcz +2-11 f: qffffgfffcgn +14-19 h: hhhhhhhhhhhhhsbkhhqh +9-12 h: hclhhhpsvhhfhh +2-6 s: lqcppxlsfv +6-9 v: vvvvvnvvv +9-10 q: xqqqqqqqqqq +3-8 m: qmmcjmvmckrmm +4-9 h: hhhdhfhhs +1-14 r: vpsprlstjkrmmrpzqsz +6-7 g: ggggrlqg +7-10 t: dtkttptttttt +3-4 n: vkkf +9-11 g: gflgwgggrgmmggg +3-19 l: blblmlrlllhbllwllll +12-13 x: gvxsxkrvdqbxx +11-12 b: bbbbdpdbbwls +2-13 n: nnnnnnnnsnnnrnnnnn +6-13 n: mfnnnnnkxnnnn +5-6 f: kxxfqnf +4-5 x: xxxxl +6-13 f: nsnxwrftkcgzffv +6-7 w: wwpwwxl +5-7 m: brvmmnw +1-4 r: rkbhnmdt +9-10 b: knbzbbfnfbbblrqbrbnj +2-5 v: vvvxvvxbw +3-5 q: qcsjq +7-15 c: gcdpccrcddccwccf +13-14 h: hhhhhhhhhhhhhh +10-11 l: rllllllllllpcs +10-11 w: wwwwwwwwwfw +2-7 f: fxtfffn +3-5 x: xxxkx +3-6 c: ccrrwbsj +1-4 g: gggggpgqgg +1-2 t: vztj +4-11 c: zccccccccqcc +5-11 p: hbpzppdlppp +3-5 h: frhhhzhprz +4-7 d: mzdnddd +15-16 t: gttttttttqttntttc +1-8 c: ccqcjbhpccczvfck +2-3 b: lztcb +4-5 d: ddddd +2-8 j: pwfjfdjjjjzkjcjrlwr +10-11 m: qmmmmmjnmpmmmmxn +10-17 f: ppbfdsjvpfhzccbwfr +4-8 c: cfnhqtcmcws +4-6 b: bbqxpfzqfvkpbhcbdfn +4-5 k: kkkkx +4-8 f: vpwfkfff +1-3 t: ttxtvtthttg +3-4 j: fjjj +18-19 v: vvvvvvvvvvvvvgvvvxp +11-14 q: qqqqqqqqqqqqqq +2-3 p: ppplxprwvjmf +7-14 q: qpqxzqqqqqqgqmgqqgq +3-7 x: dqlxtkx +6-7 f: sfczgfffzfhffjkkf +1-4 x: xxxxfwxxxpmxd +4-5 b: jbbbbb +10-11 p: vrpvpppppppdppp +18-19 l: llllllllllllllllllll +4-10 v: jjzvnsfbbvqcdfq +16-18 d: ddddddddddddddddddd +13-14 t: ftttdtkrdtktttlttkd +3-17 d: ddkddfldddddddddr +10-20 v: hfzhttvvnkxqvvhlvvvq +5-6 t: tbwtszgwpntthtvttrsj +5-6 s: ssshsstds +2-4 h: hhhb +6-7 b: bbsbfbb +2-12 n: znvqnslfhnwnqr +16-17 g: gggkggggggggggggl +4-12 j: vjqdjjjtsjdjv +14-16 j: jjjdjljjjjjjjjjjjp +4-14 d: dddddtqdddddddd +3-4 m: mpmm +7-8 c: ccccccdc +3-8 l: clllhnlllrzzgll +9-10 c: ccccccccbx +3-4 k: kkkj +5-12 r: rrrtjxhxzbrrf +4-6 w: wwwkwhww +7-9 m: fqrmrmmmmgmmmtmb +3-11 w: kwwnwwwghhgw +9-11 k: kkkkkkpkkkktvkkk +5-9 w: hwqjflkkwdqmwmcw +12-16 h: hmhmhhhkxhghhhhhhhhh +1-4 z: zjzlhjpft +1-6 d: dddqdd +1-9 s: ssssssssss +2-4 d: wddf +7-9 k: nhzkkmkxkhkphkdkkd +12-15 m: khmmmmmmhgmmmmmmm +3-9 n: jnknnnnnn +6-8 g: ntgggfggmlrgcggf +12-15 g: gggghggggmgmggdgg +7-13 x: rxxxxxrxxxxxnqxwsxx +3-5 n: bnnbnnvdwnls +3-5 v: mvbnzk +2-8 n: npntnnnjnxknb +6-11 t: ttftttlqtttt +5-7 g: ggggmgp +5-7 x: xxbjcxw +1-8 d: ddddldddddddwdddd +2-4 s: csswjbfnjnm +3-4 m: mmmr +16-17 z: zzsspzjzzzzzznzzz +3-4 r: rvzpfr +3-5 p: wpgxpb +4-5 r: qlrrr +7-9 q: vqzzqqrqtf +6-14 c: qcfwcfcchcvzzgcl +2-11 r: brhlrbvrlrrr +7-13 l: lllllllllrlllll +2-7 w: twfwwdwvzwbw +4-5 z: zzzbzz +3-4 q: qzzt +3-11 h: hhhhhhhhhhhh +5-12 c: cdclccgcccxfczrlcc +5-11 p: lmgprpppvphpj +2-5 r: rgkqrdsrxlmddmkktpnr +1-4 m: zmgfmqmmmxfm +15-16 f: ffbffffffffffwvnf +19-20 l: ltllllllllllllllllhl +2-6 j: spthjkftw +3-10 r: rrrrrrfrrmrrrr +1-8 n: nndfhqxn +6-7 j: zjjjjjj +12-14 k: qvgcvhmzkkrcck +6-8 k: kkhbkhkkkk +10-12 s: ssrssxssslsj +9-18 h: dsmxxwndhgjpztkqhh +5-6 m: mmmmlf +4-5 x: xxxlh +9-15 b: bbbcsgbdcbbrbrfbbbbb +6-15 j: nfbjrpjjqjjxsbjt +1-6 c: cncpkcfwcd +2-4 m: xmmhmjbcmdmm +4-11 s: lhdssvkldhsqssdjgs +14-19 t: ttttttdtttttlttttttt +2-4 x: gxxxbxk +2-6 k: kkpqkkkz +10-11 w: wwwqwwwwcgqwww +8-9 s: sssssssss +2-4 v: vvvwsrb +12-16 s: rtcsfwssdswthfpf +3-11 g: fgnggtlgbgd +2-5 c: ggccc +10-15 h: hhhhhhlhpghhshh +1-5 n: nlhqnj +7-10 f: fnfffffhffff +5-6 t: tfttkvt +1-4 c: mgcsrv +10-17 g: bggpmggggpgggggwqh +3-7 p: pprvppp +5-8 n: xnnqndnznf +6-11 b: bbbbrbfbrcdb +3-10 k: pcfknlqkgkpzkknk +10-11 m: mmmmmmmmmmc +3-4 v: fwvvh +2-7 l: zlcvxwrhlnnlkhr +1-7 q: vqqqjqsqqqqvrqqq +6-8 d: ddddddddd +1-3 z: zkzlrz +5-11 w: wbfzwdwpwdfztsrxzcw +7-9 s: qsssclssl +3-5 l: cvmlgk +9-12 s: qsrssnsvsxshqsdtd +8-12 m: wmxsnmmmfwzmf +1-12 x: xxxxxdxxjxxdxxxxxx +4-10 r: rwrlbkkmqrxr +5-13 g: ggggggggghgggx +11-15 w: wwwwtwnwwwvwwft +9-10 q: qqqqqqqqwfq +6-13 q: qmhfqqxkmcjwqmc +2-8 r: rrrrcmrrrrq +12-14 m: mmmwmmmmmgmhmt +2-6 t: ttvtctt +3-6 r: qcrrpsxjttqrrr +7-8 g: gggggggk +13-15 w: wwwwwwwwwwwwwww +8-12 p: qqphwpjmwppfpvwrp +7-10 c: cccccwtccc +8-11 w: kwtwrwwwwcqwww +9-19 z: zzzzzzzzzzzzzzzzzzz +4-5 q: qqqsq +6-9 c: cxfcccgcccpc +7-9 d: nddlddxdgddzd +3-12 q: qrghqxqjqqdwqqq +14-15 w: wwwwwwwwwwwwwqmwwww +14-15 c: frcwcctccrccccc +2-5 v: vqvvdvv +3-4 r: rsrr +16-18 d: dddddddddddddddtdxdd +4-7 b: bfbbbbsbj +14-15 b: bbgbbbbbbfbbmbbbmb +2-7 b: pbrsbbb +15-16 q: qqqsqqqqqqqbnqqqqq +6-14 k: rbvkkvqrxfklck +2-6 c: klccdm +2-3 b: bpbbs +4-13 p: cppjppppppppmvpppp +1-2 k: kqkpq +8-9 r: rrrrrhrkr +7-9 t: tptftttgwtmt +8-12 g: gfhkgqggznqghqg +15-18 n: pnnnnnnnnnnnnnnnnnn +4-5 p: qpqpq +1-9 h: xhqhhhnthzmhhhrh +4-6 x: bzkxxxhxxwdzpkks +4-5 c: ccccc +9-10 v: vvvvvvvvvv +8-12 d: cdcxdzgddtcfdrxt +7-10 b: bbbsbpbbgbbnj +4-7 z: zznzzzq +1-5 z: zjbzzjdppsbvgbg +2-4 w: lwwwtvjwdjwsbps +1-2 z: bzbvbz +6-14 n: dnnnnqnnnnnnnn +15-18 r: rfbrrwqshczrnbxrvhzr +9-11 f: ffffffffpfz +1-4 k: rskn +5-6 n: njnnnb +3-5 z: zzzzz +7-8 n: nntnnnnn +8-14 k: kkkkkkfkkkkkkkkk +11-16 r: rrqrprrrrrrrrrsvrr +2-10 c: dncjfccpcccccccc +8-20 q: gztqpsqqvthwpfjlqxrq +6-16 n: nnnnnpnnnnnnnnbnnnnn +4-7 h: ghhhwzhhhhhh +10-12 z: zzqzzzcfxzzzwzz +1-3 k: tlkwlkskklxvnk +12-13 n: nnnqqnnnnnnfpn +1-3 l: lnlb +6-9 b: bvfkbrzbwdmbvbql +11-13 d: ddddtdwtjdkdqz +9-15 j: jjcljjjjqjvnjjfjjj +13-14 l: tpllllllllqlll +18-20 d: dddddddddddzdddddtdb +9-15 x: nxxxmnxxxxxxsxxxjwg +6-7 j: rjwvjzjjx +5-6 j: jjjjjjj +8-13 t: ttfttttttttttt +6-16 f: ffrffxfffffffffmf +3-4 f: mhxk +4-9 w: lnwnwwvtvwjww +9-12 d: dwdddqddpdddd +11-16 q: qqqqqqqjzqqpqqlq +2-14 k: zkskkmkrwrdkskq +5-8 v: vqxmvxvvj +3-5 z: zpbwzhrzzwqxr +3-5 c: cccgc +6-9 v: vvvtbvvvvtj +5-6 f: fjwfgdfgtf +1-2 s: svvsnsk +11-13 f: qfpwfmrcfcwfr +3-6 j: jjjxdd +3-6 n: kntwpnn +8-13 v: qgmgcrxvdvkbs +11-16 q: cqsqpqlzqqdhqcqrbgk +1-8 t: pptttttt +11-13 g: ggggggggggkgqgg +4-5 g: gggsgg +10-11 p: rpppfppppmpppp +6-7 q: qqqqqqq +3-11 f: pgfftfflctfd +3-8 s: lswnfsjjdsh +11-13 k: kkkkkkkkkkmksk +3-5 p: pppjpppg +3-4 z: zznrz +8-9 d: ntgdwtdmh +2-3 g: gggl +19-20 q: qqqqqxqqqqqqqqqqqqwd +4-11 n: ljgdnkgftmsvntnn +16-19 t: tttttttttttttttttttt \ No newline at end of file diff --git a/2020/03/input.txt b/2020/03/input.txt new file mode 100644 index 0000000..22e0cd5 --- /dev/null +++ b/2020/03/input.txt @@ -0,0 +1,323 @@ +......##....#...#..#.#....#.... +.......#...#..#..#....##....... +#.#...#........###.#.##..#..... +.......#.....##.#..##...##.##.. +.#...#.#...##..........#..#.... +#.......##.....###.#...#......# +.........#....#.#.......#..#... +..#.......####.......###..##... +.#.#.##..#.#...##..#...###...## +...................#........... +....#.#.......#..........#.#..# +..#.#...........####.#.......#. +.....#.##..#..##..#.#...#...... +#.##...###..#................## +...#...#...#..##.#............# +#.##....##....#........#..#.... +..#......#.#.....##.......#.... +.......#......#....#......#.... +.#........##.....#.#...#...#.#. +..........##.#...#..#.......... +#####..##......#.....#......#.# +......#...............##...#... +..#.#.##..#...#.#........#...#. +..........#......#..........### +..#...##.##..##..........#..... +........#.##.#.....#..#...#.... +#.....#.........#.............. +..........##.##....#..#..#..... +..#...........#.......#........ +........#..#.....#.#.#...#..... +#.......##.....#.....#...#.##.. +###.#.#....#..#.....#........#. +..#..#..#..........#....#....#. +..#...##...#.#.##.....#..#..... +...#....###...........##.#..... +.##.................##.#....... +........#...#.##..#...#........ +.##..#............##..........# +............###.#....#..#...... +.....##....#.....#......#.....# +....#.....#.##.......#...#.#... +.##.#......#.........#...##.... +..##......#......#...........#. +.......#.#.............#....... +.##.#...#..##....##.......#.... +...#......##.#.#......#.....### +#.#....#.......#.#......#....#. +#......#.#.....#...........#..# +##.#..##...#........#.##.#....# +.....#........#........#...#... +...............#.......#..#.... +.#.#.#..#.#...#.......#.....##. +.#.#.............#..#....#..... +....#.......#..##.........###.. +.#.....#.#....#..#..#....#..... +........#......#.....#.#....#.. +##......#....##.....#.#..#.#... +.#...#..#.##.#.##.##.....#..... +#...#....#.........##.#....#... +.........##..#.....#..#...#.#.. +.#............#..........#.#... +...........#.....#......#.#.... +#...#...#.....#..#....#........ +#..##.....#..#.......#....#...# +#..#..#..........#......#...#.. +...#...#.#.##.#...#....#...##.. +......##....##....#....##..#### +...###.#..#....#.......#....... +#.........##......#...#........ +..........#....#.......#....... +#....##................##....## +.........#....#.#.......##.#... +.....#......###.......#..#...## +###.....#..##....###........... +.....#...#....#.....##......### +.#..#...#......##........##..#. +#.#.#.#....#.............#..... +......#.....##.#....#..##...#.. +..#............#.#....#..#...#. +.............#.#...##.......#.. +...#....#.##.#...#.#..##...###. +...#..............#.......#.... +......###.#............#.....#. +.##...###..#.####...#.......... +...#..#...#.#.#..#......#..#... +.#....##.###....#........#..... +..#..#....#.........##......... +..........##.###........#.#...# +.........#...#..#........#..... +.......#.....#...###........... +.....#.#..##......#...#...#.... +.....#....#..#........##.#..#.. +...#...........#............#.. +##.....#....#.#...#...#....##.. +...#.....#.....#...##...#...#.. +...##.#..........##...#.#.##.#. +....#.#.##.......#.#...#......# +......###...#....#.##........#. +.....#.........#...#...#..#..## +.........#................#.... +.##..###..................#.#.# +.##...........#...........#.... +#...#........#.....#..#...##... +.....#..#...#.........#.......# +..#..............#......#...... +#....#...............#.#....... +...#........#.#....#..#.###.##. +.......#..##..#...#..#...###... +..........##..#.......##.##.... +##.#..#.#...##..........#...... +.#.##.#...##.....#....#....#.## +...#.#......#...#.##..##....... +##.......#.#......#....##..#.#. +...#..#.##.........#...#.....#. +.##.##..##...#........#..#..... +.#.##.............#.#.#.....#.. +.......#.....................#. +......#...#....#..#..........#. +..#..#....#.#................#. +..#.....#..#.#......#......###. +...#...##..##....#..#...###.#.. +...#.....#............##......# +.......#.#.#......#.....###.... +.....#......#.....#.........#.# +#...#.#...#..#...#..#....#..... +#..##...#..##.............#..#. +##....##.......#.#.......#..#.# +..............#...#..#......#.. +..#...#...#.#...#.#............ +#..........#...#.............#. +..........##......#........#... +#...#...#....#.#...........#... +..#.#.#...##......#.#...#.#..#. +.......#.......#.............#. +.#..........#.................. +..##...#......#..........#....# +.#..##..........#...#.......... +...#....#..#.#.....##..##.#..#. +...#...#...#..#....##..#....#.. +..............#.#.....#......## +..............####....#.#..#... +.#........##....#...#.#...#..#. +.#..##.###....#.#.....##..#.... +...###.#.........#..#..#.##.#.. +.....#..#.....#..#...##......## +.#.#.##.............#...##..... +....##........#........#....... +.......#.....###..............# +#.##.......##....#.#.....#.#... +........#....#............#..## +...#.#..#.......#..........#... +..##....#..##......###.#.....#. +.#..#.#.##....#.......#........ +........#.####.#.......#.##.... +..........##...............#... +.#..#.....#....##..#..##...#..# +....#.#.....#.#.........#####.. +...#.##....#...###.##.#..#..... +.#...........#.............##.# +..#....#....####.....#.#....#.. +......##.......#....#..#....... +.####...##.#.#..#.####.#.#..... +###.........#..#.#.#.#........# +...#...#..#.............#.##... +.........#....#......#.....#.#. +...#....#......#..#......#....# +..#...#..........##..##........ +.....##........#......#.....#.. +...#....#....#....#..#....#.... +##...#...........##............ +.......#..##..#.......##.#..... +...............#.##.....#...... +#.#....##.#.....#...#.......... +........#......#...#......#.#.# +..#..#.....#.#........#........ +..####.....##.#.##.......#.#.#. +.#.##.#.......##......#.....#.. +....#.....##.........#.....#... +.#.#...###.#.#..........#....#. +.........##.#.#.....#..#....... +......#..#...#..#..###.#.#..... +.....#...#.#..#.#.......#.#...# +......##........#..#...#......# +#..##...#...#..#.....#..#..#..# +......#....#...........#.#..... +...#.......#...............#... +#.........#......#............. +..###..................#......# +#.....#.#.#.......##....#...... +.........#...........#....#.#.. +.###....##.##..##.............# +.##.#......#...#...##.......... +....#........###......#.#...... +...........#..#.##.#........... +.#..#.......#......#.#####..... +....##....##......#....#...#... +.......#..#.....#.#...###...#.# +..##.....#.......#.#.#..#.....# +.#...#............#....##...#.. +.#..#...##.......#............. +..##.......#...........#.#....# +...#.#...#....#..#.....#....... +...#........#...##...#.#..#.#.. +#........#..........#.......... +......#......#.........#....... +...##...#.....#.......#...#.##. +......##..##......#..###..#.... +....##....#..###.#.....##...... +##.##..#.....#..#.............. +..#.#..#....#....#....#.#...#.# +.#.....##.#.##.#..#.#.......... +...#......##.#...##..##...#.... +.###.....#......#.......#.....# +....##.......#.....#..#....#... +..........#..##....#..##.#....# +...#....#..##.#........#.#.#... +...#.#...#....#.......#..##.#.# +#..#..........#.#...#....#..... +#..#........................... +........#.....#.....#.#...#.#.. +#...#..#...#..........###...#.# +.....##.#..##.#.#.#.##....#.... +#.......#....#.#..#..#..#.#.... +..###.#.......#.#.##........... +#....#..#..........#.##..#.#... +..#..#........##....#..##...... +#...##..#.........#.#....#.#... +##..###..##...#.........#.#...# +###..#....#..##...#.#..#.#..... +.#.##.#......#............#.... +.#...#.##.#.........##......... +##.....###.....#........#..#... +...........##.#................ +.#......###......#....#..####.. +#...##.....#.....#..##....#.#.. +..#....#.......#.#.#......#...# +#.....#........#....#.#...#.... +..##...............#....#..###. +.#....#.......#..#...#......... +.##.#..#..#...#..#..#....#....# +.......#.#....#.....##...#..... +.#....#.#.#...........#........ +.........#..##..#..#...#....... +##..##...#......#.....#........ +#...........#.....#..###......# +.#...........#....#...#...##.#. +..............##.###.#.#####.## +........#.#...#.............##. +#...................###..#.##.. +#.....#...##................... +.....##..........#..#.#........ +.#....##.#....#....###....#...# +.......#.#...........#.#.....#. +......#........###...#...##.... +.##..........#..#..#........... +....#.......#..#.....##.#..#... +..#.##......#..#.....#..#...... +......#...#..##....#.#..#..#.#. +#.........................#...# +###.#.......#......##....#..#.. +..##.###.#...#.............#... +.....#...#...#......#....#####. +#..........#.#.##.#.#.....#..#. +....#.........#...#.#.........# +#.##.........#...#...#.####..## +.##.................#.......... +##.....#............#..#.#..... +#.#...#.#........#........#...# +.#...........#....#..#.......#. +.#.......#..........##..#.##..# +.#..##....#..##......#.#..##... +#......#............#.......#.# +.##...............#...#...#.... +.......##.#..#..##.....#....... +...#.......#..###.....#....#... +......#............#........... +####............#.........#.##. +#......#.#..#...#.....#..#..... +...........#...#..##.......#### +#.#...##..#....#.#.........#.#. +...#....#..#.......#.........#. +.........#.#.#...#....#........ +.#.....#........#..#.........#. +....#....#..#.....#...#........ +..#....#.#.....#..##........... +.#...#..#..#.##.###....#....... +#......##.......##..##......... +...#.........#.......##.#...... +.#...#...#.......#........##... +..#.............#.......#.....# +..#...........#.#.#...#.......# +.....##..#....#..............#. +#.#.....#.#.................... +.....#..##..#...#.....#........ +..#.......#..####..#....#.##.#. +#....#.....#.....#...#......#.. +..#....##...#....#..#..#.....#. +..#.####..............##....... +.#.........#..#...#.......##... +#....#.#........#....#...#...## +.....#..#....#.#..#...#.#.##... +.##.................#...##..... +.##.##.##...#...........#...##. +..#....#..#.....#..#......##... +.#...........#......#....#..#.# +.#.#............#..#..#...#.... +....#......#.....#.#.#.....#... +#.......##.............#....... +....#....................#.#... +......#........#..#.#.....#.#.. +.....#..#....#.#........#....#. +...##.........#...#.##....#..#. +.#....#..#...#.#.#......#...... +#......#.#.##.#..#..#.....##... +......#....#.#...#..#.#........ +..#.....##.....#...#.#.......#. +......#.#.....#........#....... +......#.#.#...#..#.#.#.#....... +..#.#.##..#..#..#.#.##...#..... +......#.#.#......#.....#...#... +.....#.##....#..##...#...#....# +..#.....#...........#..#..##... +..#..#.......#....#....###.#... \ No newline at end of file diff --git a/2020/04/input.txt b/2020/04/input.txt new file mode 100644 index 0000000..8becd55 --- /dev/null +++ b/2020/04/input.txt @@ -0,0 +1,1146 @@ +byr:1983 iyr:2017 +pid:796082981 cid:129 eyr:2030 +ecl:oth hgt:182cm + +iyr:2019 +cid:314 +eyr:2039 hcl:#cfa07d hgt:171cm ecl:#0180ce byr:2006 pid:8204115568 + +byr:1991 eyr:2022 hcl:#341e13 iyr:2016 pid:729933757 hgt:167cm ecl:gry + +hcl:231d64 cid:124 ecl:gmt eyr:2039 +hgt:189in +pid:#9c3ea1 + +ecl:#1f58f9 +pid:#758e59 +iyr:2022 +hcl:z +byr:2016 hgt:68 eyr:1933 + +hcl:#fffffd ecl:gry eyr:2022 +hgt:172cm pid:781914826 byr:1930 iyr:2018 + +hcl:#08df7e ecl:grn byr:1942 +eyr:2028 iyr:2011 cid:141 pid:319110455 +hgt:186cm + +pid:991343040 hgt:179cm +hcl:#a97842 iyr:2020 +eyr:2024 +byr:1984 cid:181 + +pid:188cm byr:2005 +hgt:170cm cid:163 ecl:#a08502 hcl:2964fb eyr:1994 +iyr:2005 + +ecl:grn hcl:#fffffd iyr:2013 +pid:705547886 +byr:1928 hgt:168cm eyr:2030 + +cid:219 +pid:016251942 hcl:#602927 hgt:163cm +byr:1943 eyr:2029 ecl:oth iyr:2019 + +ecl:gry hgt:184cm eyr:2026 +iyr:2010 +pid:117647952 hcl:#efcc98 +byr:1942 + +cid:243 hcl:#888785 ecl:blu eyr:2027 pid:362697676 +iyr:2011 byr:1962 hgt:154cm + +hgt:154cm byr:1965 ecl:blu eyr:2030 +pid:779104554 iyr:2016 hcl:#435634 + +hcl:z eyr:1996 iyr:1993 +pid:#50f768 +ecl:zzz hgt:62cm byr:2017 + +ecl:grn byr:1988 iyr:2016 +hgt:167cm +hcl:#cfa07d +eyr:2030 pid:951967790 + +pid:320348494 iyr:2018 cid:281 +byr:2004 +hcl:#06a58b +eyr:2033 +ecl:zzz +hgt:76cm + +cid:83 ecl:brn eyr:2028 +byr:1941 iyr:2016 +hcl:#341e13 pid:806979833 +hgt:179cm + +ecl:brn +byr:1982 iyr:2010 eyr:2029 pid:535752324 hcl:#efcc98 + +ecl:oth +hgt:70in hcl:#866857 eyr:2025 pid:203320330 iyr:2018 byr:2000 + +hgt:70cm byr:2015 pid:#218eb5 hcl:#0ec4fe iyr:2014 cid:228 ecl:#c8533a +eyr:2035 + +hcl:#6b5442 +eyr:2020 ecl:hzl iyr:2017 hgt:173cm +cid:330 byr:1988 pid:173148327 + +iyr:2011 byr:1964 hgt:83 ecl:grn hcl:#c0946f pid:931162400 eyr:2028 + +cid:239 +byr:1960 ecl:hzl +hgt:164cm +hcl:#51040b iyr:2018 eyr:2025 + +cid:163 hgt:154cm +iyr:2015 eyr:2027 pid:838964596 +byr:1972 ecl:oth hcl:#efcc98 + +hgt:181cm +eyr:2028 ecl:blu +pid:853714682 hcl:#623a2f byr:1976 iyr:2020 + +cid:225 byr:1957 +hcl:#a97842 iyr:2013 eyr:2025 +pid:511588647 hgt:173cm ecl:blu + +hcl:#efcc98 +byr:1993 +ecl:oth +pid:871652492 eyr:2028 hgt:177cm iyr:2016 +cid:220 + +ecl:hzl +hgt:165cm +hcl:#733820 eyr:2028 cid:57 byr:1973 iyr:2018 pid:018982018 + +pid:491710153 iyr:2012 ecl:#c85046 hcl:#b6652a +eyr:2040 hgt:175cm byr:1981 + +pid:917105765 eyr:2021 hgt:181cm iyr:2019 cid:159 byr:1995 +ecl:gry + +hcl:#9d2ec4 iyr:2011 +eyr:2028 pid:149288934 hgt:63in ecl:blu byr:1960 + +byr:1923 pid:705818464 eyr:2024 cid:221 ecl:oth hcl:#7d3b0c hgt:193cm iyr:2014 + +pid:117111015 eyr:2030 +byr:1967 hcl:#ceb3a1 ecl:blu +hgt:157cm +iyr:2011 + +iyr:2019 ecl:oth +hcl:#fffffd hgt:172cm pid:215010680 +eyr:2025 + +pid:157cm cid:277 +iyr:1976 hgt:159in hcl:#341e13 ecl:#6c7644 eyr:2029 byr:1965 + +pid:787186482 ecl:brn +byr:1980 hcl:#f5dfb9 eyr:2020 +iyr:2018 hgt:188cm + +cid:168 +eyr:2023 hcl:#07c809 +iyr:2013 +hgt:169cm pid:250679100 byr:1945 ecl:gry + +hcl:#6b5442 pid:683134187 iyr:2013 eyr:2023 byr:1965 hgt:171cm ecl:hzl + +eyr:2028 hgt:180cm ecl:blu byr:1952 cid:314 iyr:2016 +pid:720794393 hcl:#602927 + +byr:1982 iyr:2016 +ecl:brn eyr:2027 +hgt:156cm pid:185583837 hcl:#ddbf30 + +hcl:#ceb3a1 pid:987624973 +eyr:2026 +iyr:2013 byr:1988 hgt:175cm ecl:grn + +eyr:2028 byr:1974 pid:350988773 hcl:#a97842 iyr:2015 +ecl:oth +hgt:160cm + +hcl:#b6652a +eyr:2028 +pid:717504683 byr:1970 +iyr:2013 +ecl:gry +hgt:156cm + +pid:453874703 iyr:2015 hcl:#a97842 ecl:hzl byr:1986 hgt:175cm cid:132 eyr:2025 + +hcl:#7d3b0c +eyr:2026 +ecl:brn hgt:154cm +byr:1959 pid:580659686 iyr:2015 + +ecl:amb hgt:191cm iyr:2018 +pid:681417707 byr:1994 eyr:2023 hcl:#c0946f + +eyr:2022 pid:302326561 iyr:2018 ecl:blu byr:1987 cid:89 hcl:#a97842 hgt:184cm + +eyr:2020 pid:457081226 +ecl:blu hcl:#866857 iyr:2011 +hgt:159cm byr:1959 + +eyr:2024 cid:322 byr:1991 pid:210415503 +hgt:69in ecl:grn +hcl:#623a2f + +ecl:blu iyr:2012 pid:524745721 hcl:#c0946f eyr:2026 hgt:176cm byr:1964 + +hgt:189cm iyr:2014 pid:679155617 hcl:#efcc98 eyr:2027 +cid:88 byr:1974 +ecl:blu + +byr:1935 eyr:2029 +iyr:2020 +hcl:#733820 ecl:blu hgt:190cm pid:509009432 + +hcl:#fffffd pid:446558583 byr:1931 ecl:brn iyr:2019 +hgt:159cm cid:146 +eyr:2024 + +eyr:2028 hcl:#efcc98 pid:330588516 hgt:65cm +byr:1972 iyr:2014 ecl:oth + +ecl:blu hgt:175cm cid:197 pid:068138358 eyr:2023 iyr:2017 hcl:#0441c6 byr:1999 + +byr:1992 hgt:193cm +ecl:brn iyr:2018 hcl:#866857 pid:905992465 +eyr:2022 + +hgt:95 byr:1965 +pid:810311252 eyr:2034 hcl:z iyr:1985 cid:254 + +hcl:#c0946f byr:1985 eyr:2030 hgt:161cm iyr:2010 ecl:gry pid:616639221 + +iyr:2011 eyr:2023 hgt:172cm cid:260 ecl:hzl +pid:594747312 +hcl:#a97842 byr:1937 + +eyr:2028 pid:134536806 cid:83 +ecl:brn byr:1928 +iyr:2015 +hcl:#fffffd hgt:157cm + +iyr:2016 +pid:035433923 hgt:180cm ecl:amb eyr:2027 byr:1934 +cid:195 hcl:#583d02 + +eyr:1936 cid:130 byr:1969 hgt:74cm hcl:50e1a7 ecl:gmt iyr:2010 pid:82008848 + +hcl:#733820 +eyr:2020 +hgt:174cm iyr:2018 ecl:hzl byr:1983 pid:087167304 + +byr:1972 hcl:#888785 eyr:2020 pid:593301831 iyr:2013 ecl:hzl hgt:188cm + +cid:282 hcl:#888785 hgt:170cm ecl:oth eyr:2029 +byr:1942 pid:014356555 iyr:2020 + +byr:1966 hcl:#623a2f ecl:oth hgt:165cm +eyr:2028 iyr:2012 pid:558908746 + +pid:#4f5b92 +hcl:#6b5442 hgt:188cm +byr:1994 iyr:2014 cid:127 eyr:2020 +ecl:oth + +hgt:153cm +ecl:brn iyr:2020 +eyr:2026 hcl:#18171d +pid:101990935 +byr:1932 + +iyr:2011 byr:1981 hgt:157cm hcl:#c0946f +eyr:2029 pid:545992967 +ecl:utc + +byr:1929 hcl:#602927 iyr:2018 ecl:grn +eyr:2027 +pid:256056759 +hgt:178cm + +iyr:2016 pid:813526512 eyr:2027 hcl:#20799c +ecl:blu +byr:1971 hgt:185cm + +iyr:2021 eyr:2040 +pid:5135078781 byr:2013 hcl:#7d3b0c hgt:62cm ecl:#dedf53 + +iyr:2013 +byr:1979 cid:269 hgt:179cm pid:871628606 eyr:2026 hcl:#53b66c +ecl:grn + +eyr:2020 +hcl:#ceb3a1 byr:1988 ecl:oth iyr:2012 +pid:558371571 + +pid:908462345 byr:1972 hgt:183cm ecl:gry cid:51 hcl:#af82df eyr:2023 iyr:2019 + +pid:106942710 ecl:hzl +hgt:157cm hcl:z eyr:2025 iyr:2016 +byr:1998 cid:271 + +iyr:2011 ecl:oth pid:191542220 +byr:1951 eyr:2027 hcl:#c0946f hgt:190cm + +eyr:2028 hgt:193cm pid:235913726 iyr:2012 hcl:#325350 +ecl:amb + +iyr:2018 hcl:#a97842 ecl:hzl byr:1988 pid:481250123 +cid:328 hgt:165cm eyr:2028 + +ecl:#a51d9c hcl:91236c pid:2538922220 byr:2017 eyr:2004 +iyr:2026 hgt:174 + +pid:959660262 eyr:2022 cid:339 hgt:170cm iyr:2012 +hcl:#cfa07d ecl:brn + +hcl:#866857 +ecl:dne hgt:70cm eyr:2013 iyr:1980 pid:780067045 +byr:1950 + +iyr:2011 +byr:1981 +pid:902964474 ecl:gry eyr:2021 +hgt:154cm +hcl:#602927 cid:156 + +iyr:2016 +hgt:156cm ecl:brn cid:315 eyr:2023 byr:1997 +hcl:#623a2f pid:339892714 + +ecl:brn hgt:73in cid:184 byr:1960 eyr:2024 iyr:2014 hcl:#888785 +pid:561655785 + +pid:579663338 +eyr:1977 +hcl:#ceb3a1 ecl:grt hgt:188cm +byr:2017 +iyr:2018 + +byr:1941 eyr:2029 pid:252436521 +hgt:170cm ecl:hzl + +hcl:#888785 +pid:378073052 +hgt:185cm +cid:343 byr:2001 +ecl:oth iyr:1988 eyr:2029 + +pid:286459107 byr:1973 eyr:2023 ecl:oth cid:273 +hgt:184cm + +pid:406853460 eyr:2028 hcl:#b6652a +hgt:179cm +iyr:2020 cid:346 +ecl:brn byr:1973 + +hcl:#ceb3a1 eyr:2026 pid:001798001 ecl:gry hgt:157cm +cid:235 +byr:1968 +iyr:2013 + +hcl:#b6652a hgt:151cm pid:504383643 iyr:2018 +ecl:brn byr:1990 +eyr:2021 + +hgt:164cm iyr:2015 hcl:#888785 byr:1998 pid:045813631 cid:237 +ecl:grn +eyr:2026 + +hcl:#733820 hgt:172cm +eyr:2030 iyr:2015 ecl:gry pid:507769390 byr:1979 cid:212 + +cid:138 hgt:176cm hcl:#efcc98 +eyr:2024 byr:1984 +ecl:brn iyr:2015 pid:968062470 + +hcl:#733820 iyr:2015 ecl:oth +eyr:2028 pid:431922630 hgt:160cm byr:1941 + +iyr:2017 +eyr:2023 ecl:grn cid:294 byr:1969 +hcl:#602927 pid:720065302 +hgt:67in + +ecl:gry byr:2002 eyr:2024 hcl:#7d3b0c +hgt:174cm +iyr:2012 pid:296913847 + +pid:42057861 hcl:bb7ace eyr:2023 byr:2013 hgt:188 ecl:#312118 iyr:2024 + +eyr:2021 +byr:1958 +hgt:170cm ecl:brn iyr:2012 +pid:064919306 cid:349 hcl:#602927 + +eyr:2022 +pid:248168906 +iyr:2013 byr:1996 hcl:#cfa07d +hgt:151cm ecl:hzl + +cid:301 ecl:brn hcl:#fffffd +hgt:183cm +pid:806659387 +eyr:2021 +byr:1970 iyr:2013 + +cid:192 +iyr:2013 +ecl:#5ad460 hgt:64cm +pid:001255475 byr:1984 eyr:2027 hcl:#cfa07d + +iyr:2012 pid:194936105 eyr:2028 byr:2000 ecl:oth hcl:#733820 hgt:158cm + +cid:323 +hcl:#a97842 eyr:2027 pid:625573908 +iyr:2019 byr:1987 ecl:grn +hgt:191cm + +pid:997956152 hgt:193cm ecl:hzl eyr:2024 byr:1983 +cid:113 hcl:#888785 +iyr:2013 + +iyr:2017 hgt:153cm hcl:#733820 byr:1984 eyr:2025 pid:138608494 ecl:blu + +ecl:brn +byr:1987 hgt:174cm +iyr:2013 pid:459148475 eyr:2023 hcl:#623a2f cid:266 + +byr:2000 iyr:2017 ecl:brn pid:469155516 hcl:#b6652a +eyr:2027 hgt:193cm + +byr:1967 eyr:2028 pid:064940030 +iyr:2016 +ecl:gry hcl:#18171d hgt:74in + +iyr:2020 hcl:#efcc98 +byr:1968 hgt:164cm ecl:hzl pid:834180009 eyr:2022 + +pid:021397352 +iyr:2018 hcl:#341e13 byr:1978 eyr:2022 ecl:oth hgt:67in + +hgt:160cm cid:213 ecl:#a46ef7 pid:157cm eyr:2020 iyr:2020 byr:1923 + +iyr:2016 +cid:235 pid:454188395 eyr:2022 hgt:73in ecl:hzl +hcl:#7d3b0c byr:1964 + +iyr:1930 eyr:2033 hgt:76cm pid:41117341 byr:2028 ecl:utc +hcl:#6b5442 + +pid:41316572 +hcl:#cfa07d byr:1965 eyr:2027 hgt:179cm iyr:2010 +ecl:grn + +hgt:152cm pid:886168412 iyr:2027 +eyr:1989 hcl:9993d6 byr:2005 ecl:zzz + +pid:661569613 hgt:166cm +hcl:#18171d iyr:2010 byr:1922 eyr:2030 ecl:brn + +byr:1958 +ecl:blu pid:978855125 +eyr:2020 iyr:2019 +hgt:190cm hcl:#18171d + +hgt:68in iyr:2012 hcl:#ceb3a1 eyr:2028 ecl:oth pid:067088299 +byr:1975 + +eyr:2020 +pid:507464869 hcl:#fffffd hgt:156cm iyr:2016 +byr:1957 ecl:blu + +cid:259 eyr:2025 byr:1954 +ecl:gry hgt:167cm pid:832017347 iyr:2020 hcl:#623a2f + +hgt:69in hcl:#a97842 +pid:426496916 byr:1947 eyr:2021 iyr:2015 ecl:oth + +eyr:2025 ecl:blu pid:543125976 cid:192 iyr:2017 +byr:1920 hgt:154cm hcl:#a7ecdc + +hgt:69in iyr:2017 +byr:1932 hcl:#6b5442 +ecl:hzl cid:349 pid:494399909 eyr:2029 + +eyr:2030 ecl:gry hcl:#6b5442 +iyr:2010 byr:1938 cid:100 pid:477259022 hgt:67in + +hgt:145 byr:2009 hcl:#b6652a iyr:2015 +pid:180cm ecl:dne cid:315 eyr:1920 + +byr:1930 hgt:65in +eyr:2022 ecl:blu +pid:671271699 +iyr:2010 +hcl:#b6652a + +byr:1989 eyr:2020 +ecl:hzl +hcl:#341e13 +pid:625435489 +hgt:189cm cid:72 +iyr:2013 + +hgt:184 +byr:2025 ecl:#a1368a eyr:2038 cid:111 +iyr:2025 hcl:z pid:7952164402 + +pid:165478949 +hcl:453b30 ecl:amb hgt:75cm eyr:1987 iyr:2015 +byr:1960 + +eyr:2022 ecl:blu +cid:100 +hcl:ead803 iyr:2025 byr:2018 + +eyr:2024 +ecl:gry hgt:167cm +hcl:#623a2f cid:259 +byr:1932 iyr:2014 pid:360279704 + +hgt:191cm +ecl:oth pid:070592110 cid:275 eyr:2027 +iyr:2011 hcl:#4a4252 byr:1937 + +ecl:blu cid:256 iyr:2017 eyr:2027 hcl:#341e13 hgt:150cm +pid:152140902 byr:1923 + +eyr:1972 iyr:2020 ecl:gry hcl:#888098 byr:1974 hgt:188cm +pid:586853292 + +iyr:2014 +ecl:brn hcl:#866857 eyr:2020 +hgt:184cm pid:422142863 byr:1999 + +iyr:2025 ecl:amb eyr:1928 hcl:#18171d byr:2008 hgt:62cm pid:42120034 + +byr:1923 cid:85 iyr:2017 +hcl:#602927 eyr:2026 pid:922322363 +hgt:68in ecl:amb + +cid:97 hcl:#602927 +pid:436567964 +eyr:2028 iyr:2016 +byr:1994 + +hcl:#9c166d +eyr:2025 pid:834335216 iyr:2011 ecl:blu byr:1946 hgt:174cm + +byr:2018 iyr:2027 hgt:187in +cid:118 eyr:2038 +ecl:lzr hcl:z + +ecl:blu +byr:1998 pid:186cm eyr:2026 hcl:z iyr:2027 hgt:70in + +hcl:#623a2f eyr:2020 ecl:amb iyr:2010 pid:743059641 cid:240 hgt:169cm byr:1957 + +ecl:oth pid:089778639 cid:305 eyr:2027 iyr:2012 byr:1935 +hcl:#efcc98 + +hgt:151cm hcl:#602927 cid:97 byr:1968 iyr:2014 pid:447599233 +ecl:oth +eyr:2030 + +pid:621084188 byr:1941 ecl:gry cid:188 iyr:2012 hgt:75in eyr:2028 hcl:#6b5442 + +hcl:#c0946f +ecl:amb +hgt:66cm +pid:185cm byr:2022 eyr:2039 iyr:2024 +cid:321 + +hgt:177cm byr:1954 ecl:amb pid:445374119 cid:137 hcl:#341e13 iyr:2010 +eyr:2020 + +hgt:160cm +byr:1923 +ecl:grn +eyr:2021 iyr:2012 +pid:286304911 +hcl:#18171d + +hgt:153cm byr:1933 +iyr:2015 +ecl:gry +pid:365430749 eyr:2029 + +cid:294 pid:817081355 byr:1969 +eyr:2030 ecl:oth iyr:2014 hgt:181cm hcl:#623a2f + +iyr:2011 +ecl:gry hgt:177cm eyr:2025 pid:446342686 hcl:#b6652a byr:1991 +cid:241 + +byr:1999 +iyr:2018 +cid:306 hcl:#18171d eyr:2021 +hgt:188cm ecl:gry pid:473752814 + +byr:2002 hcl:#733820 +pid:867697169 +ecl:gry hgt:165cm eyr:2020 +cid:316 + +eyr:2026 cid:59 hgt:175cm byr:1993 pid:531385722 +ecl:hzl hcl:#733820 + +eyr:2027 +cid:50 pid:433963708 +byr:1969 +iyr:2011 ecl:hzl hgt:164cm +hcl:#b6652a + +eyr:2020 ecl:gry hgt:186cm pid:917147781 hcl:#341e13 +iyr:2016 cid:68 + +pid:857547233 hgt:64in +cid:274 +eyr:2020 ecl:hzl iyr:2019 hcl:#866857 byr:1948 + +eyr:2022 hgt:183cm pid:557280094 +byr:1936 hcl:#602927 iyr:2019 ecl:oth + +byr:1933 eyr:2023 +iyr:2020 +ecl:blu hgt:72in + +pid:682285472 +ecl:blu hgt:166cm eyr:2021 +byr:1993 +hcl:#ceb3a1 iyr:2011 cid:266 + +iyr:2012 cid:172 ecl:#04ce29 eyr:2021 hgt:160cm byr:1926 pid:2235389773 + +eyr:2029 hcl:#cfa07d pid:387564370 cid:276 hgt:74in +ecl:amb +byr:1926 iyr:2019 + +eyr:2026 +hcl:#733820 +pid:230583200 byr:1997 +ecl:brn +iyr:2010 +hgt:179cm + +byr:1946 hcl:#866857 ecl:#87b6f4 hgt:150cm pid:298537901 +eyr:2024 iyr:2011 + +hcl:#cfa07d +byr:1961 +eyr:2022 +hgt:167cm +pid:230816154 ecl:oth iyr:2018 +cid:164 + +pid:167899852 hcl:#18171d eyr:2023 hgt:173cm ecl:amb byr:1960 iyr:2010 + +hcl:#866857 +hgt:165cm +ecl:hzl pid:325078465 byr:2002 +cid:61 eyr:2025 iyr:2020 + +cid:268 +hcl:#a97842 iyr:2011 byr:1966 pid:450468785 +eyr:2030 hgt:173cm +ecl:gry + +hgt:181cm +eyr:2026 cid:77 pid:229016136 ecl:grn byr:1929 + +ecl:#ad9ae9 hcl:z iyr:2012 +byr:2029 +cid:77 pid:#b1f685 eyr:2015 + +ecl:amb byr:1920 +eyr:2026 hcl:#92e796 iyr:2011 pid:503853254 hgt:186cm +cid:101 + +hcl:#7d3b0c eyr:2022 ecl:amb pid:536474715 hgt:64in +iyr:2026 byr:1924 + +hgt:72in ecl:hzl hcl:#888785 eyr:2030 pid:048654766 byr:1977 iyr:2016 + +hgt:171cm ecl:brn byr:1976 pid:844553043 +eyr:2024 +cid:241 + +cid:243 eyr:2023 pid:998276626 iyr:2011 hcl:#623a2f ecl:oth hgt:183cm byr:1920 + +eyr:2030 +ecl:amb pid:896953299 +hgt:157cm byr:1934 hcl:#9c12d8 iyr:2015 + +hcl:#cfa07d iyr:2011 byr:1974 pid:451819357 hgt:168cm ecl:grn eyr:2024 + +iyr:2018 +pid:908304519 hcl:#fffffd byr:1936 cid:203 +ecl:amb hgt:76in +eyr:2029 + +byr:1967 +hgt:186cm +eyr:2026 +hcl:#ceb3a1 ecl:grn +pid:594830518 iyr:2017 + +pid:20921789 iyr:2024 hcl:z byr:2026 ecl:zzz hgt:153cm eyr:2037 + +hcl:#888785 iyr:2016 cid:323 byr:1958 ecl:gry pid:118638859 eyr:2029 +hgt:163cm + +hgt:167cm ecl:brn eyr:2020 +pid:557999801 +byr:1988 +cid:273 iyr:2011 +hcl:#fffffd + +ecl:gry pid:206008517 eyr:2022 +hcl:#ceb3a1 +byr:1983 hgt:187cm + +eyr:2020 +byr:1931 cid:78 +hcl:#6b5442 ecl:oth hgt:170cm pid:039713280 iyr:2015 + +eyr:2024 ecl:amb +byr:2002 hgt:162cm hcl:#866857 +iyr:2012 pid:696390563 cid:184 + +hgt:189cm byr:1992 pid:712592503 iyr:2012 ecl:oth hcl:#602927 +eyr:2029 + +ecl:hzl +byr:1965 hgt:182cm eyr:2023 +iyr:2014 hcl:#a97842 + +byr:1927 ecl:gry +hcl:#d91aa0 pid:082227536 eyr:2021 +iyr:2011 + +eyr:2003 iyr:1953 byr:1954 +cid:327 hgt:62in ecl:utc +hcl:z pid:#97c11a + +cid:252 pid:98689392 +iyr:2020 hgt:103 +hcl:298df8 byr:1934 +ecl:oth eyr:2012 + +hcl:#fffffd eyr:2020 +byr:1993 ecl:brn +pid:338398225 iyr:2015 hgt:159cm + +iyr:2017 pid:624798709 hgt:151cm eyr:2029 +ecl:gry cid:111 +hcl:#866857 + +byr:2010 +ecl:hzl eyr:1975 hgt:150cm iyr:1930 hcl:159a9a + +iyr:2010 +hcl:#7d3b0c eyr:2024 cid:224 hgt:163cm byr:1971 pid:631469024 ecl:grn + +ecl:hzl iyr:2017 hgt:167cm +hcl:#623a2f pid:417970460 byr:1949 eyr:2020 + +eyr:2030 +hgt:84 byr:2007 ecl:xry cid:153 pid:9655548750 iyr:1957 + +ecl:oth hcl:#733820 cid:336 byr:1996 iyr:2014 pid:736143470 eyr:2025 hgt:182cm + +hgt:69in hcl:#623a2f +cid:126 iyr:2019 pid:638479310 eyr:2022 ecl:grn byr:1935 + +cid:240 +pid:804066884 byr:1987 hcl:#049f0e +eyr:2023 +hgt:174cm +ecl:brn +iyr:2020 + +ecl:amb iyr:2010 +pid:200411701 +cid:70 eyr:2023 +hcl:#341e13 byr:1974 hgt:61in + +eyr:2022 hgt:186cm hcl:#18171d ecl:hzl pid:613033358 +iyr:2014 + +hgt:189cm +iyr:2020 pid:874302209 byr:1928 ecl:blu +hcl:#1c52f4 +eyr:2029 + +byr:2026 +eyr:2007 pid:166cm iyr:2030 ecl:utc +hgt:137 hcl:8e8916 + +pid:781251989 +eyr:2029 hgt:178cm iyr:2010 byr:1942 hcl:#cfa07d + +pid:671017167 eyr:2030 ecl:amb byr:2002 hgt:166cm +iyr:2011 hcl:#7d3b0c + +pid:369327568 byr:1955 ecl:hzl iyr:2013 hcl:#341e13 eyr:2020 cid:90 hgt:154cm + +pid:169149205 iyr:1947 ecl:amb eyr:1977 +byr:2003 +hcl:z +hgt:75cm + +hcl:#cfa07d iyr:2016 +eyr:2022 pid:941218673 byr:1999 cid:186 +ecl:brn hgt:173cm + +hgt:159cm eyr:2021 byr:1962 hcl:#efcc98 +pid:792538993 iyr:2011 ecl:blu +cid:222 + +pid:#994231 byr:2024 iyr:1977 hcl:b98ff6 eyr:2010 hgt:71 +ecl:#875a67 + +byr:2007 +iyr:2023 hgt:141 +eyr:2021 ecl:grt pid:22002588 + +hgt:190cm +pid:524515058 +cid:217 +ecl:grn byr:1999 +eyr:2027 +iyr:2019 + +ecl:dne byr:2019 eyr:1942 hgt:62cm pid:5866040917 +iyr:2018 hcl:z + +pid:754032301 byr:1985 eyr:2029 hgt:185cm iyr:2016 +ecl:oth + +ecl:amb byr:1948 iyr:2010 hgt:157cm pid:153547581 eyr:2027 hcl:#cfa07d + +eyr:2026 byr:1942 pid:368975422 +hcl:#733820 +cid:322 hgt:188cm +iyr:2019 +ecl:blu + +ecl:brn +pid:535822939 byr:1994 +eyr:2027 iyr:2020 hcl:#18171d hgt:193cm + +pid:706755664 +hcl:#7d3b0c +ecl:grn cid:304 +hgt:152cm byr:1972 iyr:2013 eyr:2021 + +hgt:163cm +byr:1922 iyr:2014 eyr:2028 pid:852815945 cid:324 +ecl:brn hcl:53b08b + +hcl:#888785 +eyr:2023 +iyr:2020 byr:1962 ecl:blu +pid:407158186 +cid:269 + +ecl:blu +eyr:2027 pid:567155642 hcl:#a97842 hgt:74in byr:1995 +iyr:2016 + +iyr:2017 eyr:2020 +pid:782403650 +byr:1952 ecl:gry hgt:193cm cid:273 hcl:#efcc98 + +byr:1963 eyr:2021 +pid:639445576 hcl:#c0946f iyr:2013 +cid:306 ecl:blu hgt:154cm + +hgt:68in cid:191 +hcl:#7d3b0c +iyr:2017 byr:1935 ecl:gry + +ecl:brn iyr:2019 +eyr:2021 +hcl:#733820 +byr:2017 +pid:714110829 hgt:155cm cid:178 + +cid:203 pid:455383907 +ecl:grn byr:1965 +hcl:#866857 eyr:2024 hgt:172cm iyr:2012 + +iyr:2018 eyr:2033 +pid:462538213 byr:1974 hcl:#c0946f +ecl:amb hgt:160cm + +hcl:#623a2f +pid:116799148 cid:336 +ecl:grn eyr:2027 +iyr:2020 +byr:1976 + +pid:654088396 +ecl:utc eyr:2021 +byr:2016 +hcl:#866857 +iyr:2030 hgt:191cm + +byr:1939 +eyr:2023 +iyr:2011 hgt:168cm +cid:141 ecl:brn +hcl:#6b5442 + +eyr:2025 hgt:61in +byr:1977 +ecl:brn iyr:2016 cid:198 pid:401742648 + +ecl:brn +iyr:2012 eyr:2027 +byr:1990 hcl:#6b5442 +pid:476691172 +hgt:72in + +cid:176 ecl:oth iyr:2011 hcl:#c0946f +eyr:2028 +byr:1957 pid:959615191 + +byr:2027 +iyr:2021 hcl:#733820 hgt:165cm pid:6155507056 + +iyr:2012 ecl:blu +pid:397461435 eyr:2022 byr:1993 hgt:170cm +hcl:#b59662 cid:185 + +ecl:hzl byr:2015 +hcl:z hgt:185cm eyr:2036 iyr:2017 +pid:172cm + +ecl:oth +hgt:181cm iyr:2019 +cid:113 byr:2000 +hcl:#866857 pid:045077916 eyr:2029 + +iyr:2013 ecl:grn +pid:717028913 byr:1953 eyr:2025 +hgt:191cm hcl:#6b5442 + +pid:825834003 eyr:2027 byr:1941 +hgt:163cm iyr:2010 hcl:#6b5442 ecl:amb + +eyr:2026 hgt:59in +hcl:#e9ebf8 byr:1966 +iyr:2018 pid:677886127 ecl:grn + +hcl:#888785 pid:771218458 ecl:hzl eyr:2029 +cid:153 byr:1991 iyr:2011 +hgt:76in + +hgt:161cm hcl:#888785 +ecl:brn byr:1928 pid:913959218 eyr:2020 iyr:2013 + +hgt:188cm eyr:2026 +byr:1964 ecl:blu hcl:#733820 iyr:2017 pid:874400552 + +ecl:hzl iyr:2017 +cid:59 pid:130750853 byr:1964 eyr:2028 hgt:177cm hcl:#602927 + +pid:200888672 ecl:oth iyr:2016 eyr:2020 hcl:#efcc98 hgt:163cm + +eyr:2026 +ecl:gry +hgt:189cm +hcl:#c0946f iyr:2019 pid:741121671 byr:1971 + +ecl:amb eyr:2028 hcl:#888785 iyr:2017 pid:060053163 byr:1952 hgt:191cm + +hcl:#55c45a +eyr:2022 ecl:blu +iyr:2019 pid:326991534 +hgt:158cm +cid:149 + +hcl:#a97842 iyr:2013 ecl:hzl byr:1941 hgt:179cm + +hgt:68in hcl:#18171d +eyr:2021 byr:1938 ecl:oth iyr:2015 +pid:888616887 + +eyr:2026 iyr:2018 ecl:oth byr:1990 +hcl:#efcc98 +pid:472330538 +hgt:192cm + +byr:1933 ecl:grn hcl:#7d3b0c hgt:74in iyr:2011 +eyr:2028 cid:55 + +iyr:2014 hgt:165cm ecl:blu hcl:#18171d byr:1998 pid:601177268 cid:64 eyr:2027 + +iyr:2011 ecl:grn cid:188 pid:440822084 eyr:2028 +hcl:#c0946f byr:1987 hgt:154cm + +hcl:#f29c57 +cid:114 iyr:2010 +byr:1989 eyr:2023 hgt:61in +pid:166071094 + +hgt:71cm +iyr:2022 byr:1965 +ecl:#bb3dce pid:88829820 eyr:2040 hcl:z + +hgt:62in hcl:#7d3b0c pid:585528668 +eyr:2028 ecl:oth +byr:1941 + +ecl:oth eyr:2030 +byr:1952 +iyr:2018 pid:422437243 hgt:185cm + +pid:054717793 byr:1989 hcl:#18171d +iyr:2014 +ecl:grn +eyr:2025 hgt:151cm + +eyr:2027 +hcl:#cfa07d pid:071196833 +cid:297 byr:1932 hgt:173in +ecl:grn iyr:2016 + +hcl:#6b1c3d eyr:2026 pid:963034490 iyr:2011 +hgt:175cm byr:1961 ecl:oth + +hgt:69in +hcl:#b6652a ecl:oth +pid:771661551 iyr:2016 eyr:2023 byr:1960 + +cid:63 +pid:190cm byr:2021 ecl:#252d02 eyr:1931 +iyr:1966 hgt:101 hcl:dc9531 + +byr:1976 eyr:1925 +ecl:grt cid:203 +iyr:2019 +pid:170cm hgt:181in + +iyr:2014 ecl:amb +hgt:182cm cid:283 byr:1983 +pid:307867769 eyr:2024 hcl:#cfa07d + +hgt:157cm hcl:#ceb3a1 eyr:2026 pid:109243500 +byr:1926 +iyr:2015 ecl:oth cid:330 + +hcl:#602927 byr:1940 pid:389818848 +iyr:2016 ecl:brn +hgt:68in eyr:2023 + +ecl:brn pid:340990019 +eyr:2020 iyr:2011 +hcl:#fffffd hgt:175cm byr:2001 + +cid:264 +hgt:154cm pid:128094068 +hcl:#888785 iyr:2013 eyr:2027 +byr:1929 ecl:amb + +cid:270 hcl:#602927 hgt:156cm iyr:2018 +byr:1983 +eyr:2020 pid:621875145 +ecl:gry + +cid:345 pid:68093057 ecl:grt +iyr:2019 byr:1992 hgt:109 hcl:35d6e4 eyr:1976 + +pid:714839913 ecl:grn hcl:#733820 iyr:2020 hgt:153cm +byr:1996 eyr:2027 + +pid:820650878 eyr:2027 +hcl:#866857 byr:1957 +iyr:2015 ecl:grn hgt:167cm + +pid:600488426 +hcl:#ceb3a1 hgt:151cm +ecl:amb eyr:2021 byr:1936 iyr:2015 cid:326 + +cid:256 hgt:169cm +iyr:2014 +pid:261369952 eyr:2028 byr:1982 +ecl:brn +hcl:#733820 + +eyr:2021 iyr:2011 +pid:745066100 hcl:#3bbbd5 byr:1998 ecl:amb hgt:166cm +cid:257 + +ecl:#a38be3 cid:256 hgt:154 eyr:2033 +byr:2006 pid:5154675209 hcl:z + +hgt:160cm cid:103 ecl:gry byr:2000 hcl:#a97842 eyr:2026 pid:528503931 +iyr:2010 + +eyr:2025 cid:131 iyr:2011 +byr:2001 +pid:346722892 +hcl:#cc0362 +hgt:168cm +ecl:brn + +hcl:#ceb3a1 iyr:2012 +hgt:188cm pid:760916817 byr:1985 +eyr:2020 ecl:oth + +hgt:179cm +cid:317 +ecl:amb pid:411265118 iyr:2018 +byr:1982 hcl:#733820 eyr:2028 + +byr:1927 hcl:#7d3b0c iyr:2020 ecl:gry +hgt:155cm pid:937138356 eyr:2021 + +hcl:#efcc98 pid:793804751 eyr:2022 byr:1961 hgt:193cm iyr:2016 cid:222 + +pid:715207875 hcl:#18171d eyr:2030 byr:1974 hgt:157cm ecl:blu +iyr:2019 + +eyr:2022 pid:134624402 hgt:159cm cid:154 +byr:1938 hcl:#cfa07d +iyr:2018 ecl:gry + +ecl:oth eyr:2021 +cid:259 pid:0484880795 hcl:#cfa07d hgt:189cm iyr:2019 byr:1958 + +byr:1960 +pid:752967111 iyr:2010 hcl:#52a9af +hgt:151cm ecl:amb eyr:2025 + +eyr:2028 byr:1974 ecl:oth cid:348 +hcl:#b6652a hgt:164cm iyr:2018 + +eyr:2029 +byr:1942 cid:232 iyr:2016 hgt:193cm +hcl:#733820 pid:175cm ecl:oth + +byr:1990 hcl:#b6652a eyr:2028 iyr:2011 pid:054326137 hgt:153cm ecl:blu + +byr:1933 +pid:659875882 hgt:181cm +eyr:2023 iyr:2012 +ecl:grn hcl:#18171d + +ecl:grn iyr:2019 hcl:#866857 byr:1946 +eyr:2023 hgt:193cm pid:494553757 + +cid:331 +ecl:blu eyr:2021 hcl:#733820 hgt:174cm +iyr:2010 byr:1950 pid:405416908 diff --git a/2020/05/input.txt b/2020/05/input.txt new file mode 100644 index 0000000..822b28c --- /dev/null +++ b/2020/05/input.txt @@ -0,0 +1,845 @@ +FFBFBFBRRL +FBFFBFBLRR +FFFBBFBRLR +FBBFFBFRRR +FBBBFFFLRR +FBBBFFBRRL +FBBBBFBRRL +BFBBFFBLLL +BBFFFFFRRR +BFBFFBFLRR +FBFFFBBRRR +BFBFBFBLRR +FFFBFBBRRL +BFBFFBFRRL +FBFFFBBRLR +FFBBFFBLRR +FFBFBBBLLR +FBFFBFBLLR +BBBFFFFLRR +FFBBBBBRLR +FBBBBFBLLL +FFFBFBFLRR +FFBFFFFRLL +FBBFFFFRRR +BFFFBBFRLR +BFBBFFFLRR +FBBBBFBRRR +FBFFBFBLLL +BBFBFFFRRL +FBBBFBBRRR +BBFFFFBLLL +FFFBFFBLRR +FFBFFBBRLL +BBBFFFFRLL +BFBBBBBLRR +FFBBFBBLRL +BFBFBFFLLL +FBFBBFFRLL +FFFBBFBLLR +FBBBBBFRRL +BFBFBBBRLR +FBBBFBFLLL +FBBFFFFLRL +BFBBBFBRRL +FFBBFFFRRR +BFBFBFFRLL +FBFBBBBLLR +FBFBBBFRLL +BFFBBBFLRR +BFFFBBFLLR +BFBFBBBLRR +BFBFFFBRRR +BBBFFFFLRL +FBFBBFFLRL +FBBFFBBLLR +FBBFBFBRLL +FBFFBBFRLR +BFBFBBBLLL +FBBFBBFLLL +BFBFBBBRLL +BBFFFFFRLL +BFBBFFFLLL +BFFFFFFRLR +FBFFBFFLRR +FFFBBBFRLR +BFFBBBFRRL +BFBBFBBRRL +BFFBBBBRLR +BBFBFFFRRR +FFFBFFBRLR +BFBFBBFLRL +BBFFFFBLRL +BBFFBBFRLL +FBBBFBFLRR +BFFBBBFLLL +BFBFBFBRRR +FBFFFBFRRL +FBBBFFFRLL +BFFBBFFRRL +BFFFBFBLLR +FBBFBFFLLR +BFBFBFBLLL +BBBFFFFRLR +FFBFFFFLRR +BFBFBBFRRR +FBBFBFFRLR +BFFFFBFLLL +FFBFFFFRRL +FBFBBFBRRL +FBFBBFBLRR +BFBFBFBRLL +FFBFBFFRRR +BFFFBFFRRR +FBFBFFFRRL +FFFBBFFLRR +FBBFFBFRRL +BFFFBFFRLR +BBFBBBBRLL +BFBFBBBLLR +BFFFBBFLRR +FFFBFFFLRL +BBFBFFFLLR +FFBBBFFRRR +FBBFBBFLRR +FBBFFFFLRR +FBBFBFBRRL +FFFBBBBLRL +BBFFFFBRLL +FBFBFFBRLL +BFFFFFFLLL +BFBBBBFRLL +FBBBFFBRRR +BFFFBBBRLR +FBBBBBBRRL +FBFFBFBRLL +FBBFBFBLLR +BBFFFFBRRL +BBFBBBFLLR +FBFBBFFRLR +BBFBBBFRLR +FFBFFFBLLL +FBFFFBBLRR +BBFFBFFRLL +FBFBFFFRLL +BFFFFFBRLR +FBFBBBBRLL +BBFBFFBLLL +FFBFFBFRLL +FBBBBBFRRR +BFBFBBFRLR +FFBFFBBLRR +FBFFFBBRLL +FBBFBFBLRL +FBBFBBBLLR +BBFFBBBLRL +FFFBFFBRLL +BFBBBFFRLL +BFFBFFFLRL +BFFFFFBLLR +FFBFBBBRRR +FFBFFBBLRL +BBFBBBFRLL +BFFBBBFRRR +BFBBFBFLLR +FFBFFFFRRR +FBBBFFFLLR +FFFBFBBLRR +FBBBBFBRLR +FFFFBBBRLL +BFBBFBBRLL +FFFBBBBRLR +FBFFFFFRRR +FBBBBBBRLR +FFBFBFFRLL +BBFBFFFLLL +BBFFFBFLLL +BFBFBFFRLR +BFFBBFBLLL +BFFFFFBLRR +FFBBFFBRRR +FFFBFBBRLL +FFBFBBBLRL +BFFBFFBLRL +BBFBFBBRRL +BFFBFFBRRL +BFFBBFBRLR +FBBBBBFLLL +BBFBBFBRRR +FFBBFFFRLR +FFFBFFFRLR +BFBBBFBLLR +BBFBFBFRLL +BBFBFFBRRR +FBBBBFBRLL +BFFFFBBLRR +FBFBFFFRRR +BFBFBFBLLR +BFBBFFBLRR +FFBFBFBLRR +FFBFBFBLLR +FFBBBFFLRR +FBFBBBBRRR +FBFFBBBLRL +BBFBBFFLLL +BFFFBFFLRL +BFBFFBFRRR +BFFBFBBRRR +FBBBBBFLRR +BFBFFFFLRR +FFBBFFFRRL +FBBFFFFLLL +FBBBFBBLLR +BBFFFBFRRR +BFBFFFFRLL +BBFFFFBLLR +FBBBBBFRLR +FBFFBBBRRR +BFBBBBBLLR +BFFFBBBLRL +BFFBFFBLLR +BFFBFFFLLL +FFBFFFBRLR +FBBFFBFRLL +FBFFBBFRRL +FFFBBFBLLL +FFFBFFFRLL +BFFFFBFLLR +FBFFFFFRLL +FFBBBBBLLL +FBFFFBBLRL +FBBFFBBRLL +BFBBBBFRRR +BFBBBBFLLR +BBFBBBFLLL +BFFBFBBRLR +FBBBBBBLRR +BFBFFFFLLR +BFBFBFFLRR +FBBFBFBLRR +BFBFBBBRRL +BBBFFFBLLL +FFBBBFBRRL +FFBBBFBRLR +BFBBBFBRLR +BFBBFFBLRL +FBFFBFFLRL +BFBBFBBRLR +FFBFFBFLRL +BFFBBBFRLL +FBFBFBFLLL +BFBBBFFLRR +FBFBBBBRRL +BFFBFBBRLL +BBFBBFFLRR +FBFFBFFLLL +FFBBBFBLLR +BBFFFFFLLL +FBFBFBBRLL +FFBFFBFRLR +BFBBFBFRLL +FFFBFFFLLL +FBBBFBFLLR +FBFFFBBLLL +BFFFBFFRLL +FBBFFFFRRL +FFFBFBFRRR +FBFFFFFLLL +BFBFFBFLLL +BFFBBFBRRL +BFFBBBBRLL +FBFFFFFLLR +BBFBBFBRLR +BBFBFBBRLL +BBBFFFFRRL +FFFBBFBRRR +FBBBBFBLRL +FFBBBFFRLL +BFBBFBFRRL +FBBBBFFRRR +FBFBBBBLRL +BBFBFBFRRL +BBFFBFBLLR +FFFFBBBRLR +FFBBFBFRRR +BBFBFBFLLL +BBFFFBBLLL +FBBBBFFLRL +BBFFBBFLRR +BFFFFFFRLL +BBFFBFBLRL +FFBBBBFRLL +BFBFFBBRLL +FBBBFFBLLL +BFFBFFBLLL +FFFFBBBRRR +FFFBBFFLLR +BFBFFFBLRL +FBFBBBFLRR +FBBFBFBRRR +BFFFFFBRRR +BBFFBBFRRR +BFFFFBFRLL +FFBFBBFLLL +FBFFBBFLLR +BFFBBFBRRR +BBFFBFFRLR +FBBBBBBLLR +BFBFBFBRLR +BBFBBFBLRR +FFFBFBBLLL +FBFBFFFRLR +BFBFFBBRRL +FFBBFBBLRR +BBFBFFBLLR +BFFBFBBLRL +FBFFBFBRRL +FFBBFFBLLL +BFBFFFFRLR +FBFFFBFRLL +FBBBFBBRLL +FFFBBBFLLL +FBBFBBBLRR +FFBFFBBRRL +FFFBFBBRLR +FBFFBBBRRL +BBFBFBFRRR +BFFBFBFLLR +FBFFFBFRLR +BBFBBBBLRL +FFFBBFFRRL +FBFBFBFLLR +FFBBBBFRRR +BFFFBFBLRL +BFBBBFBLRR +BFFBBFBLRL +FFBBFBFRRL +FFBBBBFLLR +BFFBFFBLRR +FBBFFBBLLL +FBBBBBFRLL +FBFBFBBLLL +FBBBBFFRLR +BBFFFFBLRR +BFFBBBBLRL +BFFBFBFRLR +FFBBBBFRLR +FBBBFFFLLL +BBBFFFFRRR +BBFBFBFLLR +FBBFBBBLLL +BBFFBFFRRL +BFFFBFBRLL +FFFBFBFLLL +FBBBBBFLLR +FFBBBBFRRL +BFFFBBFRLL +FFBFFFBLLR +FFBFBFBRLR +FFBFFBFLRR +FBBFBFFRRL +FBFFFBFLRL +BFBBBFFLRL +BFFFBBFRRR +BBFFFFBRLR +FBFFBBBLRR +BBFFBBBRRL +FBFBFBBRRR +FFBBBFBRRR +BBFFFFFLLR +FBBFBBFRLL +BFFFFFFRRR +BBFBFFFRLL +FBFBBFFRRL +FFFBFFBLLR +BFBBFFFLLR +FBBFFBBRLR +BFFBFBFLRL +FFFBBFFLRL +BFBFFFFRRR +BFFBFFFRRR +FBBFBFFRLL +BBFFBBFRLR +BFBBBBBLRL +FFBBFFFLRL +BFFBFFBRRR +FBBBFFBLLR +BBFBFFFLRL +FBFFBBFLLL +FFFBBFFRRR +FFFBFBFRLR +FFBBFBFRLR +BFBFFFFLLL +FBFBBFFLRR +BFFFBBFRRL +FBBFBBFRLR +FFFBFBFRLL +BFFFBFBRLR +BBFFFBFRLL +FBBBFBBRRL +BBFBBFFRRR +FFFBFFFRRL +BBFBBFFLLR +BBFFBBFRRL +FFBBFFBLLR +BBFFBFBRLL +FBBBFBBLRR +BFFBFFBRLR +BFFBBBBLLR +FFFBBFFLLL +BFFFBFFLLL +BBFFBFBRLR +FBFBFBFLRL +FBBBBFFRRL +BBFFFBBLRR +FFFBFBBRRR +BFBBFBFRLR +BFBBFBFLLL +FFFBFBBLLR +BFBBFFFRLL +FBBFFFFRLL +BFFFBFBLRR +FFBFFBBRRR +FFFBBFFRLL +BFFFFBFRRL +BBFBBFBRRL +BFBFFBBRRR +FBFFBFFRLR +BFFBFBFRLL +BFBFBBBLRL +FFFBBFFRLR +BFFFFFBLLL +FFFBFFFLRR +FBBFFBFLRR +FBFBBFFLLL +BFFBFBBLRR +BFFFFFFLRL +FFFBFFBLRL +BFFBBBBLLL +BFFFFFBRLL +BBFFBFFLRR +BFFBBFBLRR +BFFFBFFLLR +BBFFBFBLRR +BFBBBBBRRL +FBFBFFFLRR +FBFBBFFRRR +FBFFBBFLRL +FBFFFFBRRL +FFBBBBBLRR +BFFFFBFLRR +BBFBBBFRRR +FFBBBFBRLL +FBBFFFFLLR +BFBBBBFLRR +FFBFFFBRRL +BFBBFBBLRL +FFBBFBBRRR +FBBBFBFRLL +FBFBBBFLLL +BFFFFBBLRL +BBFBFBBLRR +FFFBFBFRRL +FBBFFFBRLL +BFFFFFFRRL +FBFFFBFLLL +BFBBBBBRLR +BBFBBBFLRR +FBBBFFBLRR +BBFFBBBLRR +FFFBFBFLLR +FBBBFBFRRL +BFFFBBFLRL +FFFBBBBLRR +BFBBBBFRLR +BBFBFBBLLR +BFBFBBFLLR +FBBBBBBLRL +BFBFFBBLLL +BFFFBFFRRL +BFFBBFFRRR +BBFFFBBRLL +FBBBBFFLLL +BFFFFFFLRR +BBFBBBFRRL +BFBBFBFRRR +BFBFBFBRRL +BFBFFFBLRR +FBBFBBBRLR +FBFBBFBRLL +FBFBFFBRRR +BFBBFBFLRR +BFBBFBBRRR +BFBBFFFLRL +FBFFFFFRLR +BBFFBBBLLL +BFBBFFBRLL +FBBBFFFRLR +FFBBFBBRLL +FBFBBBBRLR +BBFFBFFLLL +BBFFBBBRLL +FBFFFFBRLL +FFBBFBBLLL +FFBFFFFLRL +BBFBBFBLLR +FBFBFBBLRR +FFBBFFFLLL +BBFBFBBLLL +BFBFFFFRRL +FFBFBFFLRL +BFFBFFFRRL +FBFFFFFRRL +BBFBFBFRLR +FFBBBFBLRL +BFBBFFBRRR +BFBBBBBRRR +BBFFBFFLLR +FBBFFBBRRL +BFBFFFBRLR +FFFBBBFRLL +FFFBBBBRLL +FFBBBBBRRR +BBFBBBBLRR +FBFBBBBLRR +FBBFFBFRLR +BFFFFBFLRL +BFBBFBBLLL +FBBFBBBRLL +FFBBFBFLRR +BFBFBBBRRR +FFBFBFFRRL +BFFFFBFRRR +FBFBBFFLLR +BBFBBFFLRL +FBFFBBBRLL +FFBBFBBRRL +FFBFBFBLRL +BBFFBFBRRL +FFFBBBFLLR +FBFFBFFRRL +FFBFBFFLRR +BFFBBFFRLR +FFBFBFFRLR +BBFBFBBRRR +FBFBBBFLRL +FBFFBBFRRR +BFBFBFFLRL +FBBBFFBRLL +BFBFFBFRLR +BBFBFBBRLR +FBFBFFFLLL +FBFFFBBLLR +FBFFBFFRRR +FFFBBFBLRR +FFBFBFFLLL +BFFBBFBRLL +BFBFFFBLLR +BFFBBBFLLR +FBBFBFBRLR +FBBBFBFLRL +FBFFBBBRLR +FFBBBFFLRL +FFFBBBFLRL +BFFBBBFLRL +FFBBFFFLRR +FFBBBBFLLL +BFFBFFFRLR +FFBBBFBLRR +FFBBBFFRLR +BFFBBFFLRL +FBBBFFFLRL +BFFFBBBLRR +FFFFBBBLRR +BBFFFFBRRR +FBBFFFBLLR +BFBFFBFLRL +BFBBFFBRLR +BFBBBBFRRL +BFBFFBBLRL +FBBBBFFRLL +BFFFFBBLLL +FBBBFFFRRL +FFBBFBBLLR +BFBBBFFLLR +FBFBFBBLLR +FFBFFBFRRL +BBFBBFFRRL +BFBBBBBLLL +FBFBBFBLLL +BBFBFFBLRR +FBBFFBFLRL +BFFBFBBLLR +FFBFBBFLRR +BBFFBBBRLR +FFFBBBFRRL +BFFBBBFRLR +FBBBFBBLLL +FFBFFFFLLR +FBBFFFBRRL +BBFFBBFLLR +BFBBFBBLRR +FFFBFFBRRL +FFBFBBBRLR +FBBFFFBRLR +BFBFBFFRRR +BBFFFBBRLR +FBBBBFBLLR +BFBBBBBRLL +FBFBFBBRRL +FBBFFBBRRR +BBFFFBFLRL +FBBBBFFLRR +FBBFBFFLLL +FBBBFFBLRL +BFBBBFFRLR +BFBBFFBRRL +FFBFBBBLRR +BFFBFBFLLL +BFFFFBBRLR +BFFBFBFRRR +BFFFBBBRRL +FBFBBBFRLR +FBBBFBBRLR +FBFFFFFLRR +BFFFFBFRLR +BFBFFBFRLL +BBFBBFFRLL +FBBBFBFRLR +BBFBBBBRRL +BFBBBFBRLL +BBFFFFFLRR +FBFFFFBRLR +BFBFBFFRRL +FBFFBBBLLR +BBFFFBBRRR +BFBFBFFLLR +BBFFBBFLRL +BFBBFFBLLR +FFFBBFBRRL +BFFBBBBRRL +BFBBBBFLLL +BFFFBBBLLL +BBFBBFBLLL +BBFBBFBRLL +FFBFFFFRLR +FFBFBBFLRL +BFFBBBBRRR +FBFFBFBRRR +BFFFBFBRRL +FFBFFFBLRR +BFBBBFBLRL +BBFBBFFRLR +FBFBFBBLRL +FBBFFBBLRL +BFFFFFBLRL +BFFFBBBLLR +FBBFBBBRRR +BFBFFFFLRL +BFBBBBFLRL +BFBBBFBLLL +FBFBBBFRRR +FBFBFFBRRL +BFFFFFFLLR +FBBBBBBRLL +FFBBFBFLRL +FFBFFBFLLR +FFBFFFFLLL +FFBFFBFLLL +BFBFBBFLRR +FBFFFBBRRL +FBFFFBFRRR +FBBBFBFRRR +FFBBFFFLLR +FBBFBBFLRL +BFBBBFFRRR +FBFBFFBLRR +BBFBBBBLLR +BBFFBBBRRR +BBFFFBFLLR +BFBBFFFRLR +FBFFFBFLLR +FFBFBBBRRL +FFFBBBFRRR +BFBBFFFRRL +FBBFBBFRRR +FFBFBBFRRL +FFFFBBBRRL +BBFFFBBLRL +BFBFBBFRRL +FBBBBBFLRL +FBBBBFFLLR +FBFFFBFLRR +FBFFBFBLRL +FFBFBFBRLL +BFBBFFFRRR +BFFFBFBRRR +FFBFFFBRLL +FBBBFBBLRL +BFFFFFBRRL +BFFBBFBLLR +BFFBBBBLRR +BFFBFFFLLR +FBFFBFBRLR +BFFBFBBLLL +FBFFBBBLLL +BBFBBBBRLR +BBFFFBFLRR +FBFBBFBRRR +BBFBFFBLRL +FFFBFBBLRL +FFFBBBFLRR +BFBFFBBLRR +BFBFBBFRLL +FBBFBFFRRR +FFBFFBBLLR +FFBFFFBRRR +FBFBFBBRLR +BFBBFBBLLR +FBFFBBFLRR +BBFFFBFRLR +FFBFBBFRRR +BBFFFBBLLR +BBFFFBFRRL +FFFBBBBLLR +FBBFFFBLLL +FFBFFFBLRL +BBBFFFFLLL +FFBBBFFRRL +FBFBFFFLRL +FBBBBBBLLL +FFBFBBFLLR +BFFFFBBRRR +FBBFFBBLRR +BBFBFFBRRL +FFFBBFBLRL +BBFFBBBLLR +FFFBFFFRRR +FFFBBFBRLL +BFFBBFFLRR +BBFBBBBLLL +BFBFFFBRRL +BBFFBFFRRR +FBBFFFBLRR +FBBBBBBRRR +FFFBFFBRRR +FBFBFBFRRR +BBFFBBFLLL +BBFBFBBLRL +FFBBFBFRLL +BBFBFBFLRL +BFBFBFBLRL +FBFFFFBRRR +FFFBBBBLLL +FFBBFFBRLR +BBFFFFFLRL +BFFBFBBRRL +FBBFFBFLLL +BBFFBFBRRR +FFBBBBFLRL +FFBBFBFLLL +BFFFBBFLLL +FFBBBBFLRR +FBFFBBFRLL +BBFBBBBRRR +FBFBFFFLLR +FBFFFFFLRL +BFBFBBFLLL +BFBFFBBLLR +FFBBBBBLRL +FFBFBBFRLR +FBFFFFBLLR +FBFFBFFRLL +FBBFBBFRRL +FFBFFBFRRR +FBBBBFBLRR +FBBFBFFLRL +FBBFBBFLLR +FBFBBFBRLR +BBFFBFBLLL +BBFBFFFLRR +FBFBFBFLRR +BBFBFFBRLL +BBFBFFBRLR +BFBBBFFLLL +BFFBFBFRRL +BFFFFBBRLL +BFFBBFFLLR +BFFBFBFLRR +BBFBFBFLRR +BFFFBFBLLL +FFFBFBFLRL +FFBFBBBLLL +BBFBBFBLRL +FFBBFFBRLL +BBFBBBFLRL +FBBBFFBRLR +BFBFFFBRLL +FFBFBBBRLL +BFBFFBFLLR +FFBBBBBRLL +FFBFBFBRRR +FBFBFFBLRL +FFBBFFFRLL +FFBBFFBLRL +BFFBBFFLLL +BFFFBBBRLL +FFBFFBBRLR +BFFFBFFLRR +BFFFBBBRRR +FFBFFBBLLL +FBBFBFFLRR +FBFBBBFRRL +FBFFFFBLRL +FBBFBBBRRL +BFFBBFFRLL +BBFFFBBRRL +FFBBFBFLLR +FFBFBBFRLL +FFBFBFFLLR +FFBBBFFLLL +FBBFBFBLLL +FBFBFFBRLR +FFBBFBBRLR +BFBFFFBLLL +FFBBBBBRRL +FFFBBBBRRR +FFBBBBBLLR +FBFBFBFRLL +FBFBFBFRRL +BBFFBFFLRL +FBFBBBBLLL +FBFBFFBLLL +FBBFFFBLRL +FFFBFFFLLR +BBFFFFFRLR +BFFFFBBLLR +FBFBBBFLLR +BFFBFFFRLL +BBBFFFFLLR +FBFBBFBLRL +FFBBFFBRRL +FBFBFBFRLR +BFBBBFBRRR +BFFFFBBRRL +FFFBBBBRRL +FFFBFFBLLL +FBFFFFBLRR +BBFBFFFRLR +FFBBBFFLLR +FBBFFFBRRR +BFBBFBFLRL +BBFFFFFRRL +FBFBBFBLLR +FBFBFFBLLR +FBBFBBBLRL +BFBBBFFRRL +FBBBFFFRRR +FFBBBFBLLL +FBFFBFFLLR +BFFBFFBRLL +FBFFFFBLLL +FFBFBFBLLL +FBBFFFFRLR +BFFBFFFLRR +FBBFFBFLLR \ No newline at end of file diff --git a/2020/06/input.txt b/2020/06/input.txt new file mode 100644 index 0000000..962a618 --- /dev/null +++ b/2020/06/input.txt @@ -0,0 +1,2093 @@ +lqhksfnerg +negsc +snage +engs +sneg + +ctfzrdbsapql +srldfatzqcpb +qsntlprfdbza +ldptswouqbxzafr + +ncjolhqfbp +gphonqbflxj +jepdmfhsqtonz +cqpihonjbgf + +abytu +ayu +ayu +uhodlay +uay + +kzx +xjwk +kxfhsdc +xjk +jkx + +rwxckmfn +xpcrkft + +ntaf +lacuserbk + +sxwdfmnpl +xpsmnwlfd +lpxmwsndf +xfdmlwnps +pwlnmdsxf + +gjvcfamuty +uqfmjgzatpvyc +yfcjtavghm +amqfjkpgvyct +svgcenmylotjafbx + +yepqgs +nsfqwghce +segvq + +mi +l + +eirgvuadbphcfsmyqnzotxjlk +qjeintsxubmfchoavpyzglrkd +fdjeyhbxgqclsnaimoptkvruz +iexuntjgmvfhqykspzbdclrao +hkjgpqlyaxdtcnvobmrzifuse + +i +nl +on +zbp + +aqpjnkeowivfbdhgr +pgiojefhvrqdawknc + +ugmsibf +msbigfu +csgfimubj +mfisbgyu +nsmvuigfbe + +demjnxcwbsri +aypesftqhzluko + +ecoxhl +lochex +chelox +xhcoel +cholxe + +xntubrdemhylsoi +gfjihrutbaewzpoxlys + +iuqkewnyv +uyptkn +nyupsk + +e +f + +bxrsntkjdwivceapq +cqbakpimsvetnjxwrd +knvxqwpasurcodietbj +xvrqbdjiwsacykpent +npsavtbqxijkewrczld + +pk +qpwsk +zpk + +qdchnb +qwxbcdhyir +jhbdcq +hnecdbq + +tdryep +th +vxg +bre +e + +f +d +d + +rspjhlqocixnw +xicoqjpnlwsh +lxinqphjoscw +jhlowspincxq + +qptb +btpq +guqhbtpd + +nzloqtcxmfgdbj +tcfdnbmzgqlxo +bqkgnxazecltidsoymf +wtzmxcpflbongdhvq +zfroctngqdbmxl + +kcyhtoendvzwafbmuj +eltymcnhaowbkdzvuf +sfkmvobdnteuychzaw + +wetrpdnqab +qrpkenabgwtdl +nahwtbrpdsef + +hqbtefp +xslnrykmvau +zghcqtojidw + +gqsyhx +vcent + +pazioqhkbd +qnopbmrahdyk +dxbmkhaqotp +vkhaofqcdp +kqpzhaod + +ytljngqdmxfck +tcjmkfnqlgydx +mfctkldxqpjuynvg +ldtfnycxqkmjg +lndxtfkymgjcq + +elrfwpobjxa +mtpfoarbsdj + +qigtfkwhobpvrcyzjuelnd +zcawdbogrhqnlieyufpkt +hqlzcnrikfypswutoxbegd +butncgpyovzrlfwideqhk + +ozdnivyjlwkp +venpbsuzlodyw +xfdqnzhwyopvltcr +aizdgmlywponv + +tqg +qt +rqs + +whm +vadomyl +wmnqh +gwmps +mcnu + +loav +zdl + +vsleinyhgo +kshrxvaymptw +cqsubvf + +ofd +fod + +pdjrszhgkfe +dfshzegk +edhzfkgs + +wti +ftcwib +iwtoz +wiut + +joebqrhgxvst +alkgprwetohvznqdmcb +vbrgeoqhyjtix +thrfequgbxvo + +ejx +ezfmnx +iderjhxc + +hfrqe +rjambh + +ytsdznehwg +dwrohqyvmscgjz + +xdatzefv +kcxwhypoanlr + +tbvdcol +tblcodv + +kg +kyg + +wxtezyuomkfdhspqjcn +xuoqwtphyckfjndzsme +ouzwykhqfcndmspejxt +ncemfpxsquzwyhdtkvoj + +dyfvmobrspnlguqaw +vhalnuwbypod +xjuawvbptnyohld + +bmytkawjszl +jaystwzmkl +msatlkwzjy + +vghcafoer +graecvhzo +uavrcoheg +rhgvcaoe + +nvjga +avgni + +g +a +g +g + +otxj +xtjqo +xtoj +jxntoy +ltqjxoa + +i +ji +i +ai + +w +pw +qutdebyio +w + +camyzohlbrgd +ygcalmzbrdoh +hrbycdzmalgo + +hgsltxvwmc +loxsntghvdc +sgxclthv +ctvxlshg +yxcvsgthlf + +ekizadqujopgx +zuagvjsirokwpx +uoykijgpqaxzc +gqkoixpyabdjuz + +qjygvhmlkdbzsifcwapuonxrte +desvfncpryjamkzhgutwoi +nifhzpertsgmycjwauokdv +swohafgetuyvicpzjrnmkd + +dybpeckxz +zucgeyipqdnl +wspyefczlnhd +prevcytzod +pheyjdwzc + +vbpfnedqyoawhcr +qrhcewvabfopdnmy +afrvebhdocniykqpw +foqeawrbvyhpdcn +ncwaphbvoqdrfey + +dwj +wdzj + +mr +rm + +idnkmufx +demjykixo +kjdmxiov + +ukbflqhomzrwastyjgpex +voqkyihjufmxswgrztbc + +tjn +njv + +ruika +irkua +wairlkszu + +rfgphcezl +zcreg + +mce +mec +qsme +mpeyf + +wjcxoftvnr +zomvfjnyw +nywjofvtm +kvwhfunajolsigq + +y +n +n +y +oe + +nvjkryifxace +ziehtgnjfbyrlvka +xnpvjismakeyfr + +g +g +g +g +g + +vwgnj +ivoj +ugjv + +myzrbf +ymczfr +vmwroxhfj +mlfdr + +ajqerszpbdyvoufwlmgcnitxk +wmzuftgdkavjrlibenpoqxcys +gnpmcsxlwzvfateqdirkyujob + +bnfudi +inay +iuncv + +trqlgxaeouy +uvoqxktwejyr +otqeuxyr +xogreiyqut + +ficdymxhuboq +dvwiuexfc + +zbhndug +ugsdwphnv +nugdwh +dughnjio +jgsyuhnd + +f +qrcvkfu +f + +yvf +yfv +yfv + +qtnc +cbqn +qnc +tcqn + +rxyhizgjklumv +fidxgjlkyhvr +avncxqrjbkgplhiy +zrdkxtlgjvyhi + +zjq +f +u +prgot + +hrgktyczsvnmiolewbf +gbowmtzvynferksichl +svgbrzmcolkieynfhtw +vehwtyrmgsnickfozbl + +lbucxdo +jlcgdxiu + +hvtafpnwzex +vnxzwftehp +hezxvnpfwt +tnehfxvpzw + +wbmyejlv + +gevqi +eigv + +unogtlfwvcyjdr +jcuvlftdgnwroy + +kdlm +pklw +klfay +lk + +somjqeuvdk +rzaqodkmvxsj + +g +g +g +g + +ceihqtrjpbxso +xohipcersbqj +pibhoxsrjeftcq +pbcqvosehrjix +icbqhosrpejx + +jvldsruex +oktrdvslcujx +xdurvpjsl +mxesdiujvrl + +rgcdsax +alqsbd +fdavzs +ijsutahdpye +baqdsz + +jxcabgpuimtekqsy +iduqmetsognaybxp +yqwaburlxps + +ulesvzoijdnpfhkacwmxbrty +zvxrdjskefbthimwnpayoul +ihdnlkxrpgwjbyevozuatmfs +yixowledpbvrthjkzufsmna + +hxibvuzdowysmflpkqjgacnr +bhctimdakyqlsvxwjprounfg + +xolza +axzl +xazld +lzoax + +vjpdirbzwmcyeqtfgoulhsk +shzpugkqlobmridvjyewfc +ybufwljhrcdegsiozqvkmp +ucnbokilmgvqwjzsfphaeryxd + +fzwiyxutvmdpbqkgrj +vmqludbfywzkxpijtg +qwkuzbfxyjmdptigv +pmgifdkjtbuzywvqx + +jvxwlqr +rqfjmsveoaw +ptbyhvjqw +qwkvjxg + +qnaxrduhpfvoyjbksgw +qjnwieaoxrsfpzdhk + +nrcmyksodhaztijuwblv +ksxrufaqhwbcnme + +sqx +sjbql +gsqnpwk +sq + +cpgkrjvqx +vgkpqcxjr +qjxckapvorg +xjvqckprg +gkqrcpvxj + +ojyziuqkbe +fvuceart + +qpgyknd +kfvyjtd + +phfmqdwxnuvgo +ouxdblhnmpgq +amxnpihkdusoqr + +run +dnx +vnc +ponklq +nur + +ixoytfqugrvjzcdwlhkbesmp +qalryztjxumhevifnobpcgdw +bothiuxqjzefcglpwymdvar +lgfjctrixhzudaqmebpvoyw +zlwfoituxvdpqbejhycgrm + +lrwvkj +jqwc + +awvyst +vtysa + +ugxys +x +x +x +x + +ismv +mfi +ihofm + +lijwuxcbrfotekpangzmsvyd +onmsdklutybrcqavegwfxijp +vnyarmslcetoxjkwuqgdipfb +jtrsdmfcnwiveyxlobhukgpa +msatlerkovjnfgdicuywpxb + +xmyen +enymx +myxen +xyemn +xymen + +oaustqdifyxepkrwh +kbcvmrjn + +uqv +qrvw +qv +vqtmu +qv + +lo +l +l +t +l + +aoqujemitxrszgnywvlc +lauzwhvr +akulrbdzwv +lrwdpvhauz + +jhwycgso +trshda +hs +sh + +oydxjrhetainw +nbwdxloetyiar +entcioxrwadyh +tonyexrpdawi + +bkdrqlnjwshi +nkidbwshrqlj +hrqvfldjinsbkw +khdbsnwrjilq +wjnipadhqkrlbs + +iusqovtzgajpndcwl +icstgzpurhbwqnvjoka + +hvwcue +chwnejv +cxwvath + +yroksb +tbs +swb +sb +sb + +vgixnfosrpetb +rwpndfevylg + +alytpjgxn +styjnkmegil +npfyakjgxlt +vzdhtlonwygbjq + +dp +dp +pd +dp +pd + +cav +i +ac +chzu + +kdv +fld +dwq +qds + +x +wanxl + +cfborlazjq +pfcloajrwqbz +btonaqzidlfrgjc +lcfjzqsroba + +o +n +kwl +s +f + +oylasgwtbnu +wstxylzug +ikjvuqwltyhgs +ultbomgwnsyax + +iotqspcwuhr +uplinrgcvhews +tduspchwrim +sihrcbquotwp + +qjdnkl +ldnqa +qdiknl +qdmnlv +sltxwbqnyd + +rnzmybp +zfnwc +nkazdqg +uzesvmjn +vzn + +emp +epm +pem +mep +mpe + +zxhde +demhz +jadu +ckrpvglsw + +pegn +gnep +pgne +engp + +hjkeoyrglpcitbva +ubtzsmvakoly + +u +b + +ksanb +sbk +sbk +skvxdb +bkfs + +z +z +zo +wuqmz +gz + +jwbyaugknetqrmoxh +axwnmobetrjqkdyuhg +omvjbyhngureqxkatw + +lqdiban +ifbazln +bafzinl +ifsbanl + +dovkxjylabqmtizw +pawvoxdmbyizqtj +vwubiayopgxcjzqdtm +qbjtvowdnzsixamy + +ykpusjaqclowb +kjsclynwqapobu + +zasypunbwitorjvmeglqxhkdcf +bvlirhqwgskftxedonymuapcjz + +ezxghwr +rzgxnewh +erwxzhgv + +nkfvplstgaybmhorewzu +lakohrfuznjdsqvgmywp +tuyshcfwkpabzomglrnv +clnsrgvowhufamykzp + +gbrln +pb +b +bsw + +ugcnskomzepjvxifrtwq +vpmkutefjzgwrbsoncxiq +cmkesufoxvqprwidzgntj + +rpsheibkg +bokwgjeh + +sfwgbm +jmfgbws +sgfumwb +bfmgws + +qfxderyt +ikwyln + +nsrjpbtxuvcfgl +putvcjfrdlsonxegb +vgbjtrlsfxcpun +lnbgctvmsjrxiufp + +cnawzexsdlubpm +bufnvdiaxptlcmse +lbyugexmdncspa + +xtvpcfsdzewmgaqb +felcxvdpiqnuymow + +xoqt +tqxp +gtfqjkvbu +tqa +qta + +jplacdti +apfliojtcb +ilcapjtk +atcjilp +tuipnjleyasc + +by +by +yob +by + +m +mp + +kenjrtgyvxiqwmazchfbup +dezplgiwyxrq + +ra +wa +aw + +qldpihtceyfoksa +cfsopeatkilynqrdv +xctlfjsoapiguyqdke +syiupwbjlacefokqdt + +sc +twsq + +ewc +ce +ce +ceiaf + +wnqfklygehirdxazup +vqgepxnsziakrw +eznxgqwpriak +irnqvzwkpaxbeg + +gu +au + +ujvidwoe +jekiubdov +idunjveo +eidvunjo +evinoyduj + +irytzs +jhnr +r +mnrjdb +rnv + +ug +gu +ug +ug +ug + +ifndua +rafyduin +ufhvnadi +dyguamifn + +aihwljuqkezp +wzaiqlp +iplagzwq +qwizmpla + +pvedlxntwjf +veldpnftwj + +xvglbzusemwqihn +vkdbefxrtimp + +spcwi +pjewi +idpyfb +ivp +pwzioj + +e +v +za +z +g + +mjvxyaguoc +qlhypbgw +qegylr +gklyrniw + +tv +l +l + +tmrzoldvsiu +owzpglsidvtmu +hmtjvlodxsubyzi +tuvilzdoksma + +yenvdmsagq +nihfbxaymg + +hcylanqdjmwrpixbo +qmwxybpcdalohn +mxwoazyphndcblq +wzbydamnoqxhcpl +mnlcadybwxpqoh + +miupnhbvj +uwpnbhxjqiv + +rqgta +awkxo +hzjsdb +awfu + +gskncrox +npulc + +iugzcseolh +gshioluezc + +jqbi +pjqi +bqj +njoqv + +eitjbcr +lpskbhyfrgxuzoiawv + +fejdyanx +cyfjekxdon + +gqzniubejkx +zjingbqhuexk +gknzxqcuijeb +uxjnzvergikybq + +wub +w +tarx + +ghpi +hiasg +ahip +yicd + +brysq +hkgfbnmacr +wprtbyqls + +lzfqot +qolfz +lqfzkor +qopmzdeflcx +toqflz + +vhremdpywtabokuilx +oryhfcztaixlvmdwup + +mwvqzngluxpcoeidk +ufcgnxjvmdzqikhlpw +lwvkxmciuepndgqz +glmzpqknieudvxcws + +ibrduwhlcxtsnpyvamekzjf +zmuevtynhpfskralcwjxibd + +rvdpebnwsiugmaqzxj +sidlbyakwrhvgmjoef + +q +q +q + +jofkmbcunaxet +elqngabhskmy +wkmxacenib + +ezfpogadrbulys +sbamgenyopfzu + +utagkdzvwoqemchb +zthluvqinacgb +qcjhvutilznabgy + +gduwcpj +bcxgdswpurj +pujdwmcg + +zxcagirye +uzrljgq +gwtzhfrb +dxrgze + +m +m +m + +mzf +zfm +zfm +mfz +zfmo + +ovdqzm +dmqvoz +zmdqvo + +bisprlndef +abvltrnkxd +rndbyl + +zmglywve +lyvegwz + +gtmrhpujzfqskoxavydie +typwiahqfnkdumvgoxresz +qzevtxauogipcksyrhfdml + +rcova +pjcab +upacjb +alc + +kzp +kpz +yz + +aivymnlux +myuxvlias +lmyauixv +viumlxay +iyavulrdexm + +smgjbqifah +bixgqsfmha +gsfqpnmhbilae + +yb +fy + +hfvcgd +hfkxcugdo +fhemcdgo +hgqfxdcy +begthcfrdqi + +gcwtjyluzvbsnrkopmeai +uzbtyinrqmofsjdkcvwega + +s +s +s + +dsvpg +gdp +ndegr +digp + +jiylzgcomkurtvqpa +yvmjtapingcruo + +auijcbwfqkxyshl +xwhcyqukbislfaj +yiqcljkxfasruhbw +cjlfkxyqwuhiasb +iayklqhucsjwxbf + +z +s +s +si + +brayc +cykwbra +rxbcva +ckdabrh + +rlfvawcqemhub +ctuqfsbaehm + +wbrzpyacqhi +bmpalyhzgrc +vbazpnyshk +hzyijfacbp + +wgjohx +sxhjgwo + +alhkqy +dahfmjlcy + +g +g +g +g + +lpsbynokvrudcgzqmtijhx +snuhqjlokypfrbvcmidxg +yhwbjmxopvirguqscnldk + +mwzsclu +yuwslzm +alsumwz + +maj +mjxal + +asgryznlwqjdfcpkehbm +knehsopgjdrqa +dnapshekjgvqr +ajendtksguqphr + +puznxmqsrtfdckvyijbalg +kcgytbmsxvrunqjzlfaip +yuikxpqtafvbnszgjmcrl +qkvagxcjslbytnifpumzr + +pglvfdihqa +pntwkbzeco +ep + +fpjmzitnlkvbd +qdbknvtjfilrzm +bijznpmlkdtfv +otbjfznlmvdhsik + +x +x +gx +xk + +b +qge +kycnzjw +pixlb + +cpzgaufikyltmbqvesoj +fusibtgoayvjqkpe +ovtfbasiekjugryqp +iubyfkjqvsoepgat +akofugibyqetpdsjv + +yirboahn +ozvha +oah +hoav +aehco + +hspqcxmjrbfyktngi +sptqigfklmadncxrvybh + +wdksztumeroaplhxqbyvjfin +tadflskombxyhqewjrvipzn +afrejdkobnhstqyilpmxvwz +vzynhwtafpdqlkjoirxmebs +kqjpwxrdvtizfmlhenysbao + +wonxesaihurqkymd +sxyqkmwdbnljrgueiao +whenxordaumqksyi +krouemnawsidyqx +rmsukxeyqonwida + +ckywportslfhdaqixvmjn +gkvlapqwfscjzruoy + +dtevjz +feqndzgxlvrtboc +zteuvkd +dszvuheti +tvdewz + +ehaqfwylskdbzvmpgt +vagbfeqwptszykhmld +arpzbsvmweytfugjdchqlk +gpmvqkawhdstzlyebf +btaesiwkvpfdhzymlqg + +hozuack +yuaznf + +ozvmpady +paydovmz + +gtmbeikr +breigtmk +gebkritm +kmibgert + +jm +m +ml + +frexcnogyv +nrvgyzilodxufeh + +btvzjpu +zjvtubap +btzujpv +jdeptzvub +bvzpjqut + +fkdcirhqt +cidhrkvfq +icqdhrfvk +vktrchidfq +ldqascokxrhfig + +tlgjdsoapmciey +gitdwojaeslmynpc +dtycalegpmosji +mydoitvespcjlga +gladijvyoctfsemp + +hwieujqgsxc +sgxebjhnuqwc +kqgcxwuhtvesj +qgecmsjxwhu +cwjqmugeshx + +qjwldfsri +iqgbedvlsfrh +ujnldiksfqmpyrw + +a +a +a + +spotgrheckwqan +shwvnatgpkqcyoerz +hcgasrpewnoktq +tkewponscaqhrg + +bjrsxkeiucnpoz +xrkczspbfeu +kqcuytdsrhvgplbxa + +at +ae + +x +x +v +x + +ds +dr +xemdno + +bvpdiocu +pzvhuyxci + +a +u + +d +d + +rplowaxqj +rqvowa +yrombawnsteq +acujvqowr +wrxloaupq + +s +k +k +k + +zmn +pfgseobimq +mdkza +mzyvd +kwhmr + +uqmtreg +twleuoqm + +hm +mh +whm +hm + +ydegnjfmkr +kvglzrfs + +kovgzemjf +kfyighomzelj +fkzxtueogjm +fxkjozgmue +zofbvejmgk + +zatrhwfjiopulke +satohknewfuipjlzrv +ekioxurwfljpztah +lgqzopirjkhwaufte + +xgbozwltnevidfrjuhcysk +gwsmtbkroyfinadpjhevcxq + +x +dx +mxzr +x + +kaof +kodf +ofk +fko + +rkuoazney +azyrqhtdo +yalobrzcw +xioayfrze + +cusyzmjhqloftdpakegin +lmnjipdyogkfahuqstcze +mneocjwgilpfxzthsayqudk + +m +hwyug +ymna +drptzijlc +wm + +pg +pg + +lrobg +orqfnsv +nqao +ojmwdecz + +jmxlkan +mlauxtj +olcwmeaxqjnk +jxbpmltar +mljxdiszyagfv + +sgriuf +ugmpoxvyq +dgzcuqwnh + +m +e +m +y + +dqkh +qdhk +hkdq + +znfwuiodcryqsmbpvejg +xnqwcjrdebpzmgovysi +pihmyewrcgnjzqvdabsuo +tqdsnjwzovrbcgeiamfyp + +meztpcwrsnojquxkg +mekurwxtncojsqg +ktjwqocsnugxerm + +eplzc +ezpcl +lzypec + +jmlrkseozxdunqf +dknseojuqzmlx +nsxqljdeukbmiz +sqmvnxubokizlejd +ctqsjmlkpwxzdunghe + +klqgxyrdt +toykrdqgl + +fwkzcuvmogxjrbelthi +zfhtgbqnomvwxku +fuozbthvwkqgmx + +s +x +x + +pefqgwzlimyjncouh +qaduwhmysxjopieftrl +ojfphequiwmnykl + +ksfb +sbkf +sfbk +fbqvks + +eomabw +wemarv + +ghldr +iw +yj +po + +lpihfvqersujkzyb +vjlfrebkiq +jblqifrevk + +zgr +zg +zg +zg +gz + +hfvydluaxgipsq +otqcbfurygsvempk +ljnqdswvgpufy + +gdxbjivufyolq +usmbflyxiqdv + +kpfy +yrfpk +fpyk + +oencuyp +uceypoi +cypueo + +orcfsjhvxaqynibuk +cbixuyokaqvrnhsjf +qcoyfjxukrsnhavbi +fkyuhbvojnsxaqrci +vrcshuqxyfniakojb + +mvgbupxhfesodnzwjcq +dcjxzqyuepnvhfbsmgo +kpmzrsfebgaovnhcxu +npxgivuohmwsjefcbz + +xaujvbesdqgnz +augndvqbcjfzs + +eoyhpnrcldjbqfvtiua +laoyrgqzbuhndxwpvf + +pxfnblvuzijhdq +hdkljpbz + +jphqxmkwgsycurietbadzfv +vweygbzashxqcdji +wcbjdniysvhqeaxgz +dqxwhvbozjaiysgce +zwxghisaqbycjevd + +bzqgcuerktfsavwhnoydi +rbvyqdsiokcuganewhtzm + +tom +to +to +to +to + +rkfmtd +vkcunbq +rk +kf + +pkmifxjtwnz +kmsfanxteihjp +nmaftdji +ybqimuvojntf + +ns +r +r +cvhm +wnias + +mfsxucvboyj +cxomsbyvfj +fsbvomjyxc +mjhcvysbofx +xmfjcybovs + +quxomeysk +uqtokyxsm +yqohxbkm +uyoqkaxm + +br +rbi +brj + +paqhkzmcwfrsiubtvjnx +zktiqbucarpwnxmyhj +aikmgtyucrjnpqwhxzb +jkabpxztcrwhuqnmi +mnxzwbaitqrkujhpc + +szbanq +oegiflu +as +qpt +t + +qsu +faqiu +qsui +uroqckjv + +ufkcrahgitoyj +xknlcfujagd +gjcklauf +jkwafgcu + +gdmxn +boiygrca +hgs + +ybwclvjfkumxso +nvmkyowedlijuxcfsb +lzmqscybvxfukro + +fiprvjsgcenhtmalxzqo +phcgntoqmeviajfxlszr +zsxqctnevliohrpagmjf +sqgipcuanmtxlrvjehozf +vlczqjgoipafetmrnhxs + +ypwbf +pfwytb +pyfbw +btfwpy +ybpgwf + +wrzhafdpmx +tzspfhxnd +dkfhzwst +bgelqjdcyfizvhou + +peubvwgaqiclkfdxmsyjtr +kuwpsvlxbjrditgmqeacyf +btxejuiqcrpgslmadvfywk +gwalifqpdusrvmtjybcekx + +qvmhulrt +wcpzdsifex + +pohq +hqop +opqh +oqhp + +en +iws +tpr +qs + +lvfinmpcbzx +hkcsblgz +tcgzbkl +cblzw + +rsjie +ewjribms +ijers + +knizwxycoqe +dnqocbk +pkgsanof + +hravnysejobwi +nlfusgdxtpqmaki + +kuvboax +kjvohxa + +qwm +mwq + +xowbafsitjz +lawm +aylmw +wanur + +qcdsao +dqaos +opaksqd + +p +p +p +p +p + +wl +d +l +n +rwa + +rdi +dri +dir +ird +rdi + +ei +e +e +e +e + +favclpbni +icbfalnpv + +uokmvxgafizceprnydsht +pkeaonhzruqxgvdfmscytil +fpxhsgcrutovzykaenimd +aszthkimoyxdufvcregpn + +fgibsklo +dsokalnriegjzbf +kvwlocuys + +icnortpmfwy +vnqrofpmycit + +yaiempzjbvkgnrfco +tozadmejkbgqfcsiw + +crgtkhbajzdmlp +epnsvfhib +pvbhn + +fglxtqrb +uigxvbft +wxflbyg +xbpzndhfegj + +jiolrqxfapuwdngybhktzcv +bnerupsdkflaqjzvitcmxo + +znjus +qzsjna +znjs +uzjsn +zjxnks + +snwj +w +w +pw +w + +i +p +cd +qs + +f +ofm +f +f + +dv +av +cxkuo + +rbxieoyczljtuqvm +gnphsrckqifzeljw + +h +h +h +h +h + +exghrdkbivqsmcwal +vhicaqdmlbrywxsgek +mrvcbskheadwliqxg +yrmckldaqeghisvwxb +algoshwxzmbrqjdevcik + +omtswbxujpvfzd +yntcbxwl +aqtxyewb +tiybhgrkxw + +srkxfjlgtpedai +digtrkjsxyapq +djxrgapiktse + +fzlagmcnjwbd +chlzbgunwfj + +qszghewkntxaomu +xekowrasunz +xnksoeawzu +wjxaoduensbzfk + +oacfnvhugekystwp +ftncaykejwhbomz + +abrcsi +xctrvokbsg +yaescfbr + +vjwbpsleug +ghlwjekpbusv +jpuelswvfbg +yjwpvbeslgu +uwjegbpsvl + +jkvqesnto +kjot +jkot +jotk +otjk + +elf +nlg +vzl +yl +yl + +rgbf +yrzmhbn +rbv +btrp +fzrb + +uyetaqw +wheyaut +ateuyw +awyeut + +swuaon +usnwao + +udcyfksltzeqb +bkuycfstdqzel + +gjmbfxieklohpc +oglhiuyxjekcmfpr +okelfixjpgmch + +zixq +ziq +qgiz +iezq + +sdbjl +vyjsdb +glkdnjb +hdefnbj +opjbmd + +id +d + +l +l + +dsnze +senzd +dzesn + +cegqnbzyhtm +ovaksmjwrdbpicxul + +fzjxbck +ndjp +heyrsgaqm +tzof +xvdn + +kxtimcjayh +syavicktmxh +mpxcfatihky +kyxitmcah +taxhmyickv + +xlwjibshfgontek +njeixkslbogfhwt +hiwlbojxnktgfes + +udsygjltikqrmv +tulkrgijvm +teumkjvlgir +vgjkulrimt +rghkmlvpejtiu + +oegptdlksbixhcwqavjun +jacqedxslunipgh +enjgslzcmxupaqdih +zcndhlaqsepxugij +nqajehxpilcdgsu + +shdieqwxflurjzby +wmtajifoqcupgnkb + +xwck +ao + +zkpfgvda +kdgya +qwnbiheos +jr +muxfjcl + +wamxpysnl +qpydmrnj +nmypsl + +k +xtvweuplk +aykc +kyf + +uryfiabjvelptkmnsxow +pfcaoerluxdtnwjqbskm + +wqenhkxgypc +dnltwxzaofs + +srxmeabuodzq +oaeqdrubmzk +kdeaurobzqm + +rfungq +gfunqr +rqgufn +nftougqr + +jqthdmlfacp +liqumfdcj +qtjmglcskaf +lrbzwqyxoenmfjc + +dgz +fj +x +g + +qnhwlzjoac +wlzoajhcqn +jwqzcanohl +mwlzqonhjac + +asqtlpwnrm +nparsmd +sarnmpf +nspamxr + +ot +ozt + +cuokwgjmhxzidteslq +ytfqwpieraosbjn + +czoxdyvhasnit +zaxiovcynhts +juoyhvxatbnsiz + +owsjger +oerwgjs +rwsojeg +ojswgre +ewjsocrgv + +cmexibr +yxbir +irbx + +nbgpodvsxmzfqiteuj +mnvtqbpxuszjod +jtsqpovbxndmzu +spxbzqmodvjtun +oumjnpsvztdbqx + +vrwytk +kglvfrw +zxwusdonikph +mwgkj +warykt + +rkdijofslupwqgtvaxhy +jzdsuprykoiwfvlxaq +wfboijqpurvslkxdya +skylwcmauoexpijdvqfr + +pe +ep +e +eb +e + +uzrmjehfktblxsivqpo +rovklpubzdsfiheqxmt +ekzuprvbtisxoflhqm +imuhkftvbrepzslqxo +fmrtxblpzeosuvikhq + +oauifsgwqbtvkzxjycpml +kqmgzxjbwcoyiuvlatfps +pwjmqczoytaxgksvbiful +yqwsazxilvutcmbjopkfg +qtfdpxkmbzwacsgoiluyjv + +ykcjafmxlbehuqtiwvs +zqxudnmysc +ngrpcymsqxu + +qlyp +plqy +pqly +lyqp +yqlp + +dtszxekb +sxrgbztedm +wsdnyxobqtl + +oqmxabwknfy +mxyofkbqwaj + +xfqrjeh +hfqrjex +qbfxrhje +xhjeqfr +oqhrixfjcse + +pjaoerbtkqslx +fxkelnithrspa + +tdrpcbksa +daksbcptr +abskdptrc + +clidq +fqkmil +bioje + +wjetbyvxhoumkp +bfyenwakpvotxm + +adlqkrzvg +vlzaqgdr +zqdvryagl +lzarqgvd +arvlfqgdz + +xfsb +xbfs +xgbzsjf + +pbtrqilmkfwv +mkwflp +pkwflm +wfklsmup +wpkflm + +qkjhnsczmueftdpbrgvixw +kdejtqhfswnbmupcgxvzri +ghxwkqupdtbvscrmnzfeij +fbmrgtkxjqevhywsdzcnupi +enskiwxgdtpbquchvrjfzm + +u +u +u +u + +fitcw +dfvzabyu + +saewhufodzlxbjcrqivygmpk +jqxiopdmyluwkctsfzegbavr + +zsdfpajrnvqk +bkaxzpsrndvqj +danpsvrqjykz +ujspgrndaovkzq +tljnarpzvekwqsdmhi + +wyuemtvkdixl +direvlmytpnowauk +eigvlkwumyctd + +jcrpnzalft +jacrutndpeixz +jczvantrepk +ergcajnptzv + +iagonws +awings +wgiasn +anwsig +sngaiw + +qogitsbfzmxk +kefoxbiqtzs +tisfzvxobqk +castjxbqpifozk +okbfsnidqtzxe + +gocwh +otmhge +ogsh +ogh +sgho + +e +y +ixmds + +rtkcgwfx +tjxzckfhgbiw +aenyvmcfg + +ngspdqwv +hziq +qx +yqtf +qjz + +exgirhuwyjt +rxtuepwhgjisy +xtwyghrjeui +getuyijwcxrh +ughtwyxiejr + +vdh +devh + +y +y + +m +m +mpv + +ptvlsonebiqjwraxckumhzgf +lqtvbihsowmgeunckzjfapxr +xglbifczovtwrpqnmajeuksh +eoivpuqfcbhtnagjwkrzsxml +nubpeofjwmqvxgircahksztl + +uyltcxrzjegmfwbkio +tgpxmuvsobicfej +esvgjxcfmuotib +xifognqmbtdujeca +bxhfmiejcgout + +djaz +dajn +edja +tawdh + +hyp +yhvp +ydph + +z +z +z +z + +jeixykzcrfd +zexmdjk +xkzdje + +auih +uial +uia + +ucwkeiadhgsr +ihswgkrudea +gwezhskryadnuoi + +lvhmuranicfqpbt +bqhrlotfnzgacmu +fhdcslqwymbrutan + +u +bj +pkb +pj +i + +yg +mlyxo + +q +p +u + +yibeaxjpkcwsfm +ixpekjcaswmyrfbl +ecmbikjptafwyzsxq +sxfacbmiekjwyp + +vyzhmwginr +scjl + +s +c +h +s + +qxhngcyijptvazme +gdiwlszqfbtvcpxnejhy +eghzaniykvpqotmjuxc + +yasrbcwju +rzbacjug +abuzkxjcr + +yjdgutwfreslm +jlutewfdgsmry +tglyjcefrswmud + +cf +m +mn + +zbwlnqrc +zwrpc \ No newline at end of file diff --git a/2020/07/input.txt b/2020/07/input.txt new file mode 100644 index 0000000..7552fcc --- /dev/null +++ b/2020/07/input.txt @@ -0,0 +1,594 @@ +pale cyan bags contain 2 posh black bags, 4 wavy gold bags, 2 vibrant brown bags. +dull lavender bags contain 3 pale tomato bags. +light red bags contain 3 wavy teal bags, 3 plaid aqua bags, 4 drab lavender bags, 2 bright coral bags. +wavy green bags contain 3 wavy indigo bags. +bright blue bags contain 5 vibrant tan bags. +dotted fuchsia bags contain 5 dark orange bags, 1 shiny coral bag. +pale tomato bags contain 2 bright magenta bags, 5 dull lime bags. +light black bags contain 1 posh lavender bag, 5 dotted gold bags, 4 faded bronze bags. +wavy turquoise bags contain 4 pale teal bags, 2 dim brown bags, 5 muted lime bags. +striped red bags contain 4 faded brown bags, 4 dotted purple bags. +wavy silver bags contain 5 muted chartreuse bags, 1 light silver bag, 3 striped silver bags. +posh lavender bags contain 5 striped silver bags, 3 wavy beige bags, 3 dim brown bags, 5 clear indigo bags. +pale maroon bags contain 1 striped white bag, 4 light blue bags. +drab turquoise bags contain 2 shiny tomato bags. +dark aqua bags contain 2 plaid silver bags. +vibrant coral bags contain 3 wavy lime bags, 2 shiny gold bags, 1 dotted orange bag, 3 muted indigo bags. +clear green bags contain 1 clear olive bag. +striped indigo bags contain 3 striped turquoise bags. +clear lime bags contain 3 mirrored green bags, 2 light tan bags. +drab bronze bags contain 5 plaid lavender bags, 1 muted yellow bag, 5 vibrant coral bags. +drab lavender bags contain 1 posh tomato bag, 4 muted salmon bags, 4 dull lime bags. +striped aqua bags contain 1 pale maroon bag. +wavy gray bags contain 3 light tan bags, 2 pale white bags, 2 bright magenta bags, 5 muted salmon bags. +faded aqua bags contain 1 plaid salmon bag, 4 dotted yellow bags. +drab cyan bags contain 1 posh tomato bag, 4 shiny turquoise bags. +vibrant blue bags contain no other bags. +light lime bags contain 3 vibrant purple bags. +clear gray bags contain 3 mirrored olive bags, 3 clear crimson bags, 5 dark orange bags, 2 dim gold bags. +bright magenta bags contain no other bags. +wavy purple bags contain 4 dim gold bags, 5 light green bags. +muted bronze bags contain 2 pale beige bags, 2 clear turquoise bags, 5 posh white bags, 1 wavy gray bag. +striped violet bags contain 1 light gold bag. +dull salmon bags contain 2 posh gray bags, 2 dotted blue bags. +striped orange bags contain 3 faded coral bags, 3 dotted lavender bags. +drab coral bags contain 1 wavy indigo bag, 1 dull black bag, 3 mirrored chartreuse bags. +plaid yellow bags contain 5 faded cyan bags. +dark maroon bags contain 2 mirrored silver bags, 5 muted salmon bags, 1 dull tomato bag. +dark yellow bags contain 1 drab maroon bag, 5 faded cyan bags, 4 clear indigo bags. +posh teal bags contain 3 vibrant maroon bags, 3 posh salmon bags. +mirrored black bags contain 1 drab fuchsia bag, 2 posh red bags. +drab salmon bags contain 2 dull plum bags. +muted green bags contain 4 plaid gray bags, 2 dim turquoise bags, 2 dull coral bags, 4 dim white bags. +bright indigo bags contain 1 bright turquoise bag, 4 dark beige bags. +wavy fuchsia bags contain 1 clear violet bag, 4 striped bronze bags, 1 mirrored indigo bag, 1 shiny cyan bag. +bright brown bags contain 5 dark purple bags. +dull turquoise bags contain 3 dim yellow bags, 2 dim indigo bags. +pale coral bags contain 4 posh indigo bags. +striped green bags contain 4 dull green bags, 5 dotted turquoise bags, 3 pale red bags, 2 dark gold bags. +faded maroon bags contain 3 dim green bags, 4 wavy purple bags. +vibrant lime bags contain 3 shiny fuchsia bags, 1 pale red bag, 1 vibrant bronze bag. +shiny plum bags contain 2 bright maroon bags, 5 dull tomato bags, 2 plaid salmon bags, 3 bright lime bags. +faded silver bags contain 1 posh turquoise bag, 5 posh white bags, 5 wavy lime bags, 3 shiny coral bags. +mirrored tomato bags contain 3 dotted tomato bags, 4 vibrant blue bags, 4 dull yellow bags, 5 clear chartreuse bags. +pale red bags contain 5 vibrant indigo bags, 4 vibrant red bags, 3 bright magenta bags, 3 dim indigo bags. +drab blue bags contain 2 bright magenta bags. +dim purple bags contain 4 drab lavender bags, 4 plaid yellow bags, 5 dull white bags, 3 clear white bags. +dim red bags contain 5 striped silver bags, 1 shiny red bag. +dim lime bags contain 5 plaid bronze bags, 5 drab salmon bags. +mirrored beige bags contain 3 bright tomato bags, 2 dull lime bags. +bright lime bags contain 5 clear chartreuse bags. +clear chartreuse bags contain 1 muted white bag, 1 vibrant bronze bag, 2 vibrant maroon bags, 4 clear lime bags. +dotted indigo bags contain 4 pale olive bags, 1 bright violet bag, 3 drab gray bags. +striped crimson bags contain 3 muted salmon bags. +plaid green bags contain 3 posh tomato bags. +dim brown bags contain 3 striped teal bags, 3 vibrant aqua bags, 3 plaid yellow bags. +faded turquoise bags contain 2 dim blue bags, 3 clear green bags, 3 striped bronze bags, 2 dim beige bags. +dotted coral bags contain 2 vibrant silver bags, 3 plaid crimson bags, 4 dull silver bags, 1 muted blue bag. +mirrored magenta bags contain 3 striped teal bags, 1 mirrored black bag, 4 shiny black bags. +shiny gray bags contain 3 bright magenta bags. +mirrored violet bags contain 5 drab blue bags, 5 dark brown bags. +dark beige bags contain 2 vibrant blue bags, 2 bright magenta bags, 1 dim indigo bag. +dark bronze bags contain 3 vibrant chartreuse bags, 2 posh turquoise bags, 4 faded aqua bags. +clear turquoise bags contain 1 mirrored green bag, 1 faded indigo bag, 4 shiny aqua bags, 4 dim tomato bags. +dark silver bags contain 5 posh purple bags, 4 dull silver bags. +dull tan bags contain 2 striped brown bags, 3 vibrant salmon bags, 1 drab gold bag. +mirrored gray bags contain 2 dim white bags, 4 muted white bags, 1 muted orange bag, 3 muted magenta bags. +faded black bags contain 3 faded aqua bags, 4 drab white bags, 2 dull lavender bags, 1 bright purple bag. +light fuchsia bags contain 3 pale magenta bags. +wavy lavender bags contain no other bags. +dull black bags contain 1 mirrored teal bag. +vibrant chartreuse bags contain 1 dull violet bag, 4 posh turquoise bags. +posh yellow bags contain 5 wavy gold bags. +shiny teal bags contain 2 drab salmon bags, 5 striped crimson bags. +plaid fuchsia bags contain 3 dim brown bags, 2 posh bronze bags, 1 striped aqua bag, 1 shiny chartreuse bag. +faded yellow bags contain 1 dotted tan bag, 3 dark coral bags. +mirrored orange bags contain 3 pale coral bags. +wavy indigo bags contain 5 shiny coral bags, 2 shiny yellow bags, 2 striped brown bags. +dotted salmon bags contain 1 drab turquoise bag, 1 vibrant lime bag, 3 dull chartreuse bags, 1 vibrant maroon bag. +dull magenta bags contain 3 shiny coral bags, 5 dull violet bags, 5 mirrored violet bags. +shiny tomato bags contain 1 dim salmon bag, 1 dim olive bag. +drab gold bags contain 3 drab maroon bags, 1 dotted black bag, 4 plaid orange bags. +bright yellow bags contain 4 muted teal bags, 1 faded maroon bag, 5 posh chartreuse bags, 5 plaid indigo bags. +dull plum bags contain 1 shiny salmon bag, 3 light tan bags. +posh gray bags contain 3 muted lime bags, 2 dotted green bags. +clear violet bags contain 5 vibrant maroon bags. +dotted bronze bags contain 3 light tan bags, 4 shiny yellow bags, 3 mirrored brown bags, 1 plaid yellow bag. +mirrored lime bags contain 2 bright teal bags, 2 dim gold bags, 2 dull tomato bags, 3 wavy green bags. +shiny indigo bags contain 3 dull silver bags, 2 dim cyan bags, 2 striped magenta bags. +vibrant crimson bags contain 2 light chartreuse bags. +dim magenta bags contain 5 plaid olive bags, 2 muted green bags, 4 bright crimson bags. +dim blue bags contain 1 bright silver bag, 2 shiny gray bags. +plaid teal bags contain 4 shiny aqua bags, 1 dull fuchsia bag, 4 bright lime bags. +dull teal bags contain 2 dotted black bags. +plaid gray bags contain 5 muted brown bags. +pale teal bags contain 5 striped olive bags, 1 dotted fuchsia bag, 3 dark teal bags, 2 dim purple bags. +clear beige bags contain 3 pale lime bags, 4 striped aqua bags, 3 mirrored red bags. +mirrored green bags contain 4 mirrored olive bags, 5 dim salmon bags, 4 vibrant bronze bags. +plaid aqua bags contain 2 pale white bags, 1 dull plum bag, 4 mirrored olive bags, 3 dim maroon bags. +pale aqua bags contain 5 bright salmon bags, 4 vibrant silver bags, 2 light orange bags. +plaid crimson bags contain 3 striped magenta bags. +mirrored red bags contain 5 dull coral bags, 5 pale yellow bags, 5 drab maroon bags, 2 dim gray bags. +pale black bags contain 1 light red bag, 4 faded teal bags. +dim turquoise bags contain 5 faded purple bags, 4 wavy fuchsia bags, 3 vibrant purple bags, 2 pale beige bags. +dim lavender bags contain 1 light blue bag. +pale gray bags contain 3 mirrored red bags, 5 light indigo bags. +clear magenta bags contain 5 bright gold bags, 5 dim lavender bags, 1 wavy lavender bag. +dull gold bags contain 4 dull fuchsia bags, 3 vibrant tan bags. +dim salmon bags contain 5 dull yellow bags, 4 pale beige bags. +drab magenta bags contain 2 vibrant salmon bags. +vibrant green bags contain 3 bright purple bags, 5 wavy brown bags, 5 dotted gray bags, 1 posh bronze bag. +dull brown bags contain 1 wavy tan bag, 1 shiny salmon bag. +clear white bags contain 5 bright lime bags, 3 light tan bags. +dotted lavender bags contain 5 wavy cyan bags, 2 dark indigo bags, 4 shiny gold bags. +dotted purple bags contain 5 dull teal bags, 3 shiny plum bags. +drab yellow bags contain 3 faded beige bags, 3 light silver bags. +dark orange bags contain 5 bright lime bags. +dotted cyan bags contain 1 vibrant lime bag, 1 wavy maroon bag, 2 dull tan bags, 5 shiny salmon bags. +posh indigo bags contain 5 dull yellow bags, 1 vibrant bronze bag. +dull chartreuse bags contain 2 wavy lavender bags, 5 vibrant blue bags. +posh blue bags contain 3 wavy maroon bags. +dim teal bags contain 3 muted turquoise bags, 1 vibrant black bag, 5 dotted tomato bags. +pale purple bags contain 1 striped olive bag. +drab chartreuse bags contain 1 clear orange bag, 2 plaid turquoise bags, 2 drab maroon bags. +plaid white bags contain 4 plaid indigo bags, 5 vibrant lime bags. +vibrant bronze bags contain 5 vibrant blue bags, 1 drab blue bag, 1 dull lime bag. +bright bronze bags contain 3 muted magenta bags, 3 dotted black bags, 1 pale lime bag, 2 dull violet bags. +dark indigo bags contain 3 bright maroon bags. +muted lavender bags contain 1 light white bag, 2 clear white bags, 2 posh white bags, 3 dim purple bags. +vibrant violet bags contain 5 dull magenta bags, 4 posh coral bags. +drab beige bags contain 2 plaid magenta bags, 2 muted bronze bags, 2 muted purple bags. +drab plum bags contain 4 mirrored tomato bags, 3 light lavender bags, 3 mirrored green bags, 5 muted salmon bags. +mirrored fuchsia bags contain 1 mirrored tomato bag, 5 dotted black bags, 2 posh white bags. +pale crimson bags contain 4 light plum bags. +dotted black bags contain 3 bright maroon bags. +wavy tomato bags contain 1 dim black bag, 5 vibrant coral bags, 1 mirrored purple bag. +bright aqua bags contain 5 pale lime bags, 3 striped teal bags. +vibrant purple bags contain 2 clear turquoise bags, 4 vibrant bronze bags, 1 dark lime bag, 3 clear crimson bags. +vibrant tan bags contain 4 posh black bags. +plaid turquoise bags contain 2 dotted violet bags, 5 mirrored plum bags. +dim violet bags contain 3 dotted orange bags. +bright tan bags contain 2 dark indigo bags, 4 faded purple bags, 4 dim blue bags. +muted chartreuse bags contain 4 dotted black bags, 5 mirrored tomato bags. +muted gold bags contain 2 wavy gray bags, 4 clear gold bags, 1 shiny gold bag. +dull indigo bags contain 3 mirrored maroon bags. +clear aqua bags contain 4 dim plum bags, 5 bright bronze bags. +muted maroon bags contain 1 striped crimson bag, 3 vibrant aqua bags. +muted blue bags contain 4 clear magenta bags, 4 pale bronze bags, 2 dull black bags, 4 striped olive bags. +drab aqua bags contain 3 faded crimson bags. +shiny olive bags contain 4 shiny salmon bags, 2 wavy plum bags, 4 pale bronze bags, 3 posh gold bags. +striped bronze bags contain 4 plaid olive bags, 4 plaid indigo bags, 1 pale white bag, 3 striped magenta bags. +mirrored gold bags contain 2 faded lavender bags. +faded blue bags contain 1 plaid bronze bag, 3 dim olive bags, 2 wavy crimson bags, 4 plaid silver bags. +plaid lime bags contain 2 dim yellow bags. +mirrored brown bags contain 4 light crimson bags. +plaid red bags contain 5 shiny aqua bags, 5 wavy lavender bags, 1 posh beige bag. +mirrored coral bags contain 4 mirrored lime bags, 5 muted orange bags, 5 dotted salmon bags, 1 faded purple bag. +mirrored olive bags contain 2 vibrant blue bags. +pale orange bags contain 4 wavy lime bags. +drab maroon bags contain 1 shiny yellow bag, 3 dull yellow bags, 1 wavy lavender bag, 2 dim salmon bags. +drab purple bags contain 5 bright tomato bags, 4 striped bronze bags, 2 bright chartreuse bags, 2 dark violet bags. +striped lime bags contain 5 posh turquoise bags, 1 dim purple bag. +wavy beige bags contain 5 shiny tomato bags, 3 drab lavender bags, 1 shiny orange bag. +bright gold bags contain 5 vibrant red bags, 1 shiny orange bag, 3 striped bronze bags. +muted magenta bags contain 4 light olive bags, 3 dotted tan bags. +dark lime bags contain 5 wavy lavender bags, 4 clear maroon bags, 2 striped beige bags, 4 plaid salmon bags. +pale silver bags contain 3 faded lavender bags, 2 dotted purple bags, 3 wavy crimson bags. +posh turquoise bags contain 5 dim yellow bags, 4 posh lime bags, 5 shiny orange bags. +shiny coral bags contain 2 dull tomato bags. +dim tomato bags contain 3 shiny aqua bags, 3 light cyan bags. +plaid tomato bags contain 3 faded indigo bags. +clear tan bags contain 3 mirrored indigo bags. +wavy maroon bags contain 1 dark silver bag. +drab teal bags contain 5 muted salmon bags, 4 plaid yellow bags, 4 bright red bags, 2 posh teal bags. +dim plum bags contain 5 posh salmon bags, 5 faded purple bags, 2 posh brown bags. +bright fuchsia bags contain 2 dark beige bags, 3 faded yellow bags. +clear silver bags contain 2 plaid tomato bags, 4 muted chartreuse bags. +shiny purple bags contain 5 muted lavender bags, 2 clear turquoise bags, 4 muted teal bags. +dark red bags contain 3 plaid plum bags, 2 dim indigo bags, 2 wavy gray bags. +dark white bags contain 4 muted bronze bags, 5 mirrored gold bags, 3 plaid lavender bags. +drab silver bags contain 1 dark gold bag, 3 muted white bags. +dark green bags contain 3 posh turquoise bags. +striped white bags contain 1 vibrant maroon bag, 1 shiny salmon bag. +striped lavender bags contain 1 light tomato bag, 5 light lime bags, 1 posh gold bag. +mirrored tan bags contain 2 posh fuchsia bags. +pale salmon bags contain 4 shiny blue bags. +dark black bags contain 1 dotted coral bag, 1 faded crimson bag, 4 drab violet bags, 5 clear chartreuse bags. +vibrant red bags contain 1 dim gold bag, 2 dull yellow bags, 1 faded brown bag, 4 light cyan bags. +pale turquoise bags contain 5 clear cyan bags. +bright olive bags contain 1 clear turquoise bag, 4 bright teal bags, 3 striped maroon bags, 1 striped gold bag. +shiny green bags contain 5 dim lime bags, 3 wavy brown bags, 2 faded magenta bags, 5 drab maroon bags. +vibrant tomato bags contain 3 striped plum bags, 2 vibrant maroon bags, 4 muted silver bags, 3 striped chartreuse bags. +vibrant yellow bags contain 3 pale beige bags, 4 dim orange bags, 4 dotted cyan bags. +muted aqua bags contain 3 vibrant purple bags. +dull orange bags contain 2 striped gray bags, 3 vibrant bronze bags, 2 bright turquoise bags. +wavy cyan bags contain 2 drab maroon bags, 4 shiny aqua bags, 5 clear lime bags. +faded tan bags contain 3 muted turquoise bags, 2 plaid purple bags, 3 clear crimson bags. +light maroon bags contain 5 wavy chartreuse bags, 3 mirrored silver bags, 5 muted plum bags, 2 mirrored blue bags. +shiny lavender bags contain 1 dark silver bag, 5 clear teal bags, 5 dark red bags, 4 faded red bags. +striped fuchsia bags contain 4 clear gold bags, 3 bright magenta bags, 3 bright aqua bags. +striped plum bags contain 4 bright lime bags, 5 dotted black bags, 5 drab beige bags. +dotted red bags contain 4 dim gold bags, 3 dim indigo bags, 4 striped olive bags, 5 dim white bags. +mirrored chartreuse bags contain 5 posh tomato bags. +dim white bags contain 5 clear maroon bags. +muted black bags contain 2 posh turquoise bags, 3 clear lavender bags, 2 shiny aqua bags, 2 pale red bags. +muted silver bags contain 4 striped white bags, 5 dotted tomato bags, 4 mirrored fuchsia bags, 2 clear maroon bags. +dotted lime bags contain 1 muted aqua bag, 3 mirrored tan bags. +faded chartreuse bags contain 4 vibrant violet bags, 5 faded magenta bags, 5 dim teal bags, 2 dim green bags. +light turquoise bags contain 1 dotted purple bag. +plaid cyan bags contain 1 bright magenta bag, 2 wavy chartreuse bags, 5 vibrant silver bags, 3 pale crimson bags. +dull maroon bags contain 5 dim black bags. +wavy violet bags contain 1 faded yellow bag. +vibrant teal bags contain 5 dim lime bags, 2 vibrant gold bags, 2 dim beige bags. +pale fuchsia bags contain 3 striped olive bags. +light brown bags contain 3 shiny chartreuse bags, 2 wavy purple bags. +dull green bags contain 3 striped orange bags, 2 posh indigo bags, 3 faded blue bags. +dark blue bags contain 5 striped magenta bags, 3 striped gray bags, 4 pale coral bags. +mirrored lavender bags contain 3 posh black bags. +shiny brown bags contain 5 dotted magenta bags, 4 dim chartreuse bags, 1 posh cyan bag. +muted brown bags contain 3 dull black bags, 3 pale maroon bags, 5 posh brown bags, 2 striped gray bags. +faded orange bags contain 1 dark orange bag. +muted fuchsia bags contain 3 plaid salmon bags. +clear plum bags contain 3 shiny red bags, 4 dim silver bags. +bright coral bags contain 4 pale yellow bags, 2 muted magenta bags, 2 bright chartreuse bags, 3 light olive bags. +muted coral bags contain 4 striped green bags. +drab olive bags contain 3 shiny salmon bags, 4 clear cyan bags. +dim silver bags contain 2 shiny plum bags. +wavy plum bags contain 3 mirrored fuchsia bags, 5 pale maroon bags, 5 posh salmon bags. +plaid coral bags contain 1 mirrored gold bag. +posh beige bags contain 3 mirrored maroon bags, 3 drab chartreuse bags, 3 dark salmon bags, 1 clear green bag. +drab green bags contain 1 bright teal bag, 3 muted chartreuse bags. +bright crimson bags contain 3 striped orange bags, 4 wavy plum bags. +posh chartreuse bags contain 5 clear white bags, 3 light red bags. +dim gray bags contain 1 mirrored fuchsia bag, 3 muted teal bags, 4 clear maroon bags, 5 striped white bags. +striped brown bags contain 2 muted orange bags. +dim tan bags contain 3 clear gold bags, 5 clear salmon bags, 2 dark chartreuse bags. +striped magenta bags contain 2 plaid indigo bags, 5 drab lavender bags, 2 dotted fuchsia bags, 4 shiny aqua bags. +dotted violet bags contain 3 dull tomato bags. +dotted tan bags contain 1 dark orange bag, 2 drab blue bags. +shiny beige bags contain 1 drab gold bag. +light plum bags contain 5 plaid tomato bags, 5 wavy gray bags, 1 dull tomato bag. +muted indigo bags contain 3 dim salmon bags. +clear red bags contain 3 mirrored beige bags. +mirrored silver bags contain 2 wavy plum bags, 4 vibrant magenta bags. +dark lavender bags contain 2 wavy violet bags, 5 muted green bags, 2 dim purple bags. +clear teal bags contain 4 wavy crimson bags. +light purple bags contain 5 faded black bags. +light salmon bags contain 3 vibrant beige bags, 3 striped white bags, 5 pale magenta bags, 5 muted blue bags. +dull gray bags contain 5 dim lavender bags. +posh aqua bags contain 1 light olive bag, 4 mirrored purple bags, 4 vibrant gold bags, 1 shiny aqua bag. +pale chartreuse bags contain 5 faded indigo bags. +striped cyan bags contain 1 shiny olive bag, 3 bright tomato bags, 1 faded beige bag. +clear coral bags contain 5 clear violet bags, 1 plaid tomato bag. +bright cyan bags contain 3 mirrored violet bags, 5 plaid magenta bags, 4 vibrant bronze bags. +posh tomato bags contain 3 shiny aqua bags, 1 pale beige bag. +bright lavender bags contain 4 clear beige bags, 2 faded lavender bags, 3 faded aqua bags, 5 pale purple bags. +dotted teal bags contain 5 plaid salmon bags, 1 posh turquoise bag, 2 muted silver bags. +clear tomato bags contain 5 bright indigo bags. +dotted silver bags contain 2 mirrored indigo bags. +plaid plum bags contain 4 light crimson bags. +wavy magenta bags contain 2 posh indigo bags, 2 vibrant indigo bags. +dull tomato bags contain 4 dull lime bags, 4 faded brown bags. +vibrant black bags contain 5 light crimson bags, 5 pale lavender bags, 3 dull blue bags, 2 pale coral bags. +pale bronze bags contain 3 vibrant violet bags. +wavy lime bags contain 5 shiny yellow bags, 2 pale white bags, 1 clear gold bag, 5 mirrored chartreuse bags. +striped gray bags contain 3 shiny tomato bags, 3 dull coral bags, 1 shiny aqua bag, 2 dark orange bags. +faded crimson bags contain 4 pale white bags, 3 muted bronze bags, 2 posh blue bags, 3 bright coral bags. +wavy orange bags contain 2 shiny indigo bags. +dotted white bags contain 1 striped tan bag, 4 bright silver bags, 1 shiny fuchsia bag, 3 posh gray bags. +posh bronze bags contain 4 muted silver bags, 1 light lavender bag. +dotted magenta bags contain 5 clear fuchsia bags, 4 faded indigo bags, 3 dull turquoise bags, 4 muted orange bags. +dull cyan bags contain 3 clear teal bags, 3 dim white bags, 3 dull tomato bags, 5 vibrant purple bags. +clear gold bags contain 4 dim gold bags, 3 dull lime bags, 4 faded brown bags, 4 wavy gray bags. +bright beige bags contain 3 dull cyan bags, 4 bright indigo bags, 2 dull lime bags. +clear orange bags contain 5 shiny salmon bags. +plaid silver bags contain 5 dotted purple bags, 1 dim maroon bag, 3 muted gold bags. +shiny white bags contain 1 light brown bag, 1 mirrored lime bag. +dark gray bags contain 5 shiny cyan bags, 2 drab tomato bags. +drab white bags contain 4 shiny tomato bags, 3 shiny gold bags, 3 dull lime bags, 3 plaid orange bags. +vibrant cyan bags contain 2 wavy purple bags, 4 light gold bags, 1 pale indigo bag, 2 striped fuchsia bags. +shiny yellow bags contain 4 shiny aqua bags, 2 dim salmon bags, 3 posh tomato bags, 5 muted salmon bags. +posh coral bags contain 2 striped gray bags, 4 dark orange bags, 5 posh magenta bags. +clear salmon bags contain 4 posh yellow bags, 2 pale violet bags, 3 mirrored violet bags. +posh olive bags contain 2 mirrored red bags, 3 faded gold bags. +faded fuchsia bags contain 5 bright gold bags, 3 pale tomato bags, 2 dotted bronze bags, 1 mirrored green bag. +striped maroon bags contain 4 posh maroon bags, 4 dim indigo bags, 5 shiny aqua bags, 4 posh lime bags. +dark violet bags contain 5 plaid tomato bags, 3 bright lime bags, 4 light lavender bags, 4 dark brown bags. +dim maroon bags contain 1 dark beige bag, 4 wavy gray bags, 5 shiny coral bags, 1 pale white bag. +wavy crimson bags contain 1 light tan bag, 5 dark beige bags. +plaid magenta bags contain 1 shiny turquoise bag, 1 dark lime bag, 5 dim salmon bags. +clear indigo bags contain 4 muted maroon bags. +clear olive bags contain 5 mirrored teal bags, 1 plaid lime bag, 3 dull magenta bags, 5 wavy gray bags. +mirrored white bags contain 3 pale gold bags. +wavy blue bags contain 1 dotted aqua bag, 5 dark green bags. +faded cyan bags contain 4 wavy gray bags, 5 vibrant bronze bags, 1 mirrored olive bag, 3 drab blue bags. +faded gray bags contain 2 drab brown bags, 4 dotted coral bags, 5 dim turquoise bags, 1 mirrored maroon bag. +dim coral bags contain 5 shiny olive bags, 3 light plum bags. +vibrant fuchsia bags contain 5 shiny chartreuse bags, 5 wavy bronze bags, 2 bright red bags. +dotted tomato bags contain 5 faded indigo bags, 3 vibrant maroon bags, 4 shiny coral bags. +faded salmon bags contain 3 dull silver bags, 2 wavy bronze bags, 2 drab teal bags. +vibrant orange bags contain 1 dotted beige bag. +muted violet bags contain 5 posh lime bags. +striped tan bags contain 3 muted lime bags. +drab violet bags contain 3 vibrant chartreuse bags, 5 posh turquoise bags, 1 bright cyan bag. +bright purple bags contain 2 vibrant bronze bags, 3 wavy beige bags, 2 plaid bronze bags. +vibrant maroon bags contain no other bags. +muted teal bags contain 2 bright turquoise bags. +bright plum bags contain 5 dark gold bags, 2 shiny turquoise bags, 1 dull yellow bag. +shiny crimson bags contain 3 wavy magenta bags. +wavy teal bags contain 5 faded indigo bags, 4 dotted gray bags, 3 pale chartreuse bags, 3 vibrant coral bags. +shiny blue bags contain 2 shiny salmon bags, 4 light tan bags, 1 dim salmon bag. +mirrored maroon bags contain 1 drab fuchsia bag, 3 dotted green bags, 3 muted white bags. +clear maroon bags contain 2 vibrant red bags, 5 bright maroon bags, 4 light olive bags. +bright salmon bags contain 1 dotted red bag, 4 vibrant beige bags, 3 dark maroon bags, 3 clear lavender bags. +pale gold bags contain 3 plaid olive bags. +faded lime bags contain 3 faded maroon bags, 5 mirrored aqua bags. +faded magenta bags contain 4 plaid orange bags, 5 vibrant violet bags, 1 dotted green bag, 3 wavy crimson bags. +wavy aqua bags contain 5 drab yellow bags, 5 posh bronze bags. +faded brown bags contain 3 mirrored green bags, 5 dim salmon bags, 4 vibrant blue bags, 1 wavy gray bag. +dark purple bags contain 4 pale beige bags, 3 drab lavender bags. +dull lime bags contain no other bags. +light orange bags contain 1 vibrant white bag, 1 striped magenta bag. +mirrored plum bags contain 1 clear green bag, 4 faded blue bags. +vibrant brown bags contain 4 dark crimson bags, 5 light plum bags. +shiny turquoise bags contain 1 dark lime bag. +dark plum bags contain 2 wavy coral bags, 2 striped gray bags, 4 muted blue bags, 2 dull aqua bags. +shiny red bags contain 1 plaid gray bag, 4 wavy beige bags, 5 dark red bags. +posh violet bags contain 5 striped chartreuse bags, 2 pale maroon bags, 1 dull lime bag. +light silver bags contain 2 clear silver bags, 1 dark indigo bag, 2 dim salmon bags, 2 drab salmon bags. +plaid orange bags contain 4 dim gold bags, 2 bright magenta bags, 4 drab lavender bags. +vibrant silver bags contain 5 posh plum bags, 3 vibrant aqua bags, 2 light lavender bags. +faded tomato bags contain 1 pale coral bag, 2 posh gold bags. +shiny silver bags contain 4 faded orange bags, 1 striped white bag, 2 faded turquoise bags, 5 striped gray bags. +plaid purple bags contain 2 posh olive bags, 3 pale maroon bags, 3 pale gold bags, 1 faded white bag. +light tomato bags contain 2 vibrant indigo bags, 4 dark orange bags, 5 muted bronze bags, 4 plaid tomato bags. +dull aqua bags contain 5 bright lime bags. +drab red bags contain 5 posh teal bags. +dotted gray bags contain 2 vibrant salmon bags, 4 mirrored chartreuse bags, 1 dotted tomato bag, 4 posh magenta bags. +dull bronze bags contain 3 mirrored brown bags. +shiny aqua bags contain no other bags. +dim gold bags contain no other bags. +pale blue bags contain 4 posh gray bags. +faded purple bags contain 5 shiny blue bags, 5 plaid salmon bags, 4 pale tomato bags, 2 dark gold bags. +striped teal bags contain 4 mirrored green bags. +shiny orange bags contain 4 faded lavender bags, 2 muted salmon bags, 2 dim indigo bags. +wavy yellow bags contain 5 clear silver bags, 2 shiny brown bags. +vibrant turquoise bags contain 1 vibrant magenta bag, 4 dull fuchsia bags, 5 mirrored green bags. +dark teal bags contain 5 dim tomato bags. +posh brown bags contain 3 dark orange bags. +vibrant gray bags contain 2 dark beige bags, 2 wavy teal bags, 3 light purple bags. +drab black bags contain 1 mirrored maroon bag, 3 pale silver bags, 3 dark brown bags, 1 shiny gray bag. +light blue bags contain 2 dim olive bags, 2 striped magenta bags. +muted turquoise bags contain 3 dim lime bags, 3 shiny coral bags. +faded red bags contain 5 clear gray bags. +bright chartreuse bags contain 4 plaid teal bags, 5 drab salmon bags, 5 wavy cyan bags. +light magenta bags contain 5 light aqua bags, 4 light crimson bags, 3 dark yellow bags, 1 light tomato bag. +striped coral bags contain 3 mirrored white bags. +shiny maroon bags contain 1 vibrant red bag, 3 bright red bags. +striped yellow bags contain 1 bright orange bag, 2 faded plum bags, 3 light olive bags, 3 shiny aqua bags. +dull olive bags contain 2 posh fuchsia bags, 2 dull coral bags, 2 faded red bags. +dotted yellow bags contain 1 drab salmon bag, 3 pale fuchsia bags. +light bronze bags contain 3 drab cyan bags, 5 mirrored orange bags, 4 plaid crimson bags. +shiny chartreuse bags contain 1 wavy cyan bag, 4 shiny tomato bags. +dull yellow bags contain no other bags. +faded plum bags contain 5 vibrant blue bags, 5 clear indigo bags, 5 posh teal bags, 4 posh plum bags. +wavy salmon bags contain 4 striped teal bags, 3 wavy tan bags, 1 clear white bag. +posh salmon bags contain 4 dull chartreuse bags, 4 shiny yellow bags, 2 dotted black bags, 3 clear lime bags. +dull white bags contain 2 dim olive bags, 4 vibrant bronze bags, 4 faded cyan bags. +shiny gold bags contain 5 bright maroon bags, 5 shiny aqua bags, 2 clear lime bags, 2 muted white bags. +posh plum bags contain 4 posh purple bags, 2 wavy beige bags, 5 plaid plum bags. +shiny magenta bags contain 4 shiny tan bags, 2 dull green bags, 3 mirrored purple bags. +wavy olive bags contain 4 vibrant olive bags, 2 clear fuchsia bags, 1 light plum bag, 2 dark violet bags. +muted lime bags contain 4 posh white bags, 4 shiny tomato bags. +light indigo bags contain 2 clear turquoise bags, 3 vibrant black bags, 3 striped lime bags. +muted yellow bags contain 3 mirrored tomato bags. +faded beige bags contain 5 clear red bags, 3 dull brown bags, 4 dark red bags, 1 vibrant magenta bag. +striped turquoise bags contain 2 bright aqua bags, 5 dim cyan bags, 1 pale lavender bag. +pale beige bags contain no other bags. +dull silver bags contain 3 bright lime bags, 2 pale tomato bags, 3 mirrored green bags. +clear cyan bags contain 1 vibrant blue bag, 2 faded cyan bags, 1 faded brown bag. +posh green bags contain 2 vibrant gray bags, 1 pale magenta bag. +muted beige bags contain 2 drab blue bags, 3 vibrant magenta bags, 5 pale tomato bags. +bright silver bags contain 4 dull brown bags, 4 vibrant violet bags, 4 dim violet bags. +mirrored bronze bags contain 2 bright indigo bags, 3 shiny coral bags. +dull red bags contain 4 dull plum bags, 1 striped black bag, 1 dim teal bag, 4 dim white bags. +dim chartreuse bags contain 3 drab maroon bags. +drab crimson bags contain 5 dull turquoise bags, 3 posh gold bags, 4 bright gold bags, 2 muted indigo bags. +wavy brown bags contain 1 muted white bag. +plaid violet bags contain 2 faded tomato bags. +muted salmon bags contain 1 light cyan bag, 1 vibrant blue bag. +mirrored salmon bags contain 1 dotted green bag, 2 plaid salmon bags. +posh lime bags contain 1 vibrant blue bag. +shiny tan bags contain 2 bright red bags, 1 dim maroon bag, 3 vibrant salmon bags. +vibrant aqua bags contain 5 shiny orange bags, 2 dull coral bags, 4 vibrant bronze bags, 5 dark indigo bags. +posh magenta bags contain 5 dim maroon bags, 2 wavy indigo bags. +posh red bags contain 4 dull black bags, 2 shiny tomato bags, 4 faded beige bags. +mirrored indigo bags contain 4 faded magenta bags, 1 light red bag, 3 muted gray bags, 2 plaid lavender bags. +drab indigo bags contain 4 dull tan bags, 2 dark coral bags. +vibrant lavender bags contain 5 posh turquoise bags, 4 posh bronze bags, 5 light tomato bags. +mirrored blue bags contain 1 striped bronze bag, 4 plaid salmon bags, 3 posh lime bags, 4 mirrored green bags. +plaid blue bags contain 4 bright violet bags, 5 clear red bags. +dark tan bags contain 3 faded chartreuse bags, 1 posh gold bag, 5 light chartreuse bags. +bright teal bags contain 3 pale yellow bags, 1 vibrant white bag, 3 shiny salmon bags, 1 plaid indigo bag. +dark gold bags contain 1 mirrored green bag. +plaid beige bags contain 5 dim cyan bags. +pale plum bags contain 4 striped olive bags, 1 mirrored violet bag. +drab orange bags contain 1 plaid cyan bag, 2 vibrant green bags, 4 striped crimson bags, 2 posh teal bags. +faded teal bags contain 4 muted salmon bags, 1 dim tomato bag, 5 clear white bags. +posh cyan bags contain 3 shiny gray bags, 2 posh indigo bags. +plaid tan bags contain 4 plaid silver bags, 2 dark beige bags, 3 plaid salmon bags, 5 light beige bags. +muted olive bags contain 5 vibrant salmon bags, 2 dull orange bags. +muted tan bags contain 5 wavy gold bags, 2 striped orange bags, 4 plaid lavender bags. +posh tan bags contain 3 shiny lavender bags, 5 vibrant red bags, 4 light bronze bags. +bright tomato bags contain 3 dull lime bags, 3 wavy gray bags. +dark turquoise bags contain 3 vibrant coral bags, 4 wavy beige bags. +faded indigo bags contain 4 wavy gray bags. +clear blue bags contain 2 pale yellow bags. +light gold bags contain 5 light olive bags, 4 clear white bags, 3 plaid silver bags, 2 bright maroon bags. +light lavender bags contain 2 dotted black bags, 4 plaid tomato bags, 4 dark orange bags, 5 shiny blue bags. +faded coral bags contain 5 pale gold bags, 4 dull black bags. +vibrant salmon bags contain 2 faded teal bags, 4 drab lavender bags, 5 clear teal bags, 1 dim olive bag. +muted orange bags contain 1 posh salmon bag, 2 light cyan bags, 5 shiny tomato bags, 4 dim olive bags. +clear black bags contain 3 wavy bronze bags, 4 wavy lime bags, 4 shiny black bags. +pale violet bags contain 1 faded violet bag, 3 pale chartreuse bags, 5 drab blue bags. +dotted plum bags contain 2 muted chartreuse bags, 3 vibrant turquoise bags, 5 posh brown bags. +plaid maroon bags contain 1 posh coral bag, 1 dull fuchsia bag. +dotted brown bags contain 1 posh lime bag, 5 dull turquoise bags. +pale green bags contain 3 drab magenta bags, 4 dim salmon bags, 1 vibrant chartreuse bag. +dark tomato bags contain 2 clear indigo bags, 1 light plum bag, 2 dull turquoise bags. +striped silver bags contain 5 dark red bags, 4 faded purple bags. +shiny fuchsia bags contain 2 dark gold bags, 3 dull tomato bags. +mirrored aqua bags contain 5 dark bronze bags. +dim beige bags contain 5 dull white bags. +dark chartreuse bags contain 4 light crimson bags, 3 dim salmon bags, 2 dark orange bags. +plaid chartreuse bags contain 4 drab blue bags. +dim green bags contain 4 muted bronze bags, 1 shiny indigo bag. +mirrored crimson bags contain 5 wavy fuchsia bags, 2 vibrant magenta bags. +clear yellow bags contain 3 plaid bronze bags, 1 light tan bag. +bright turquoise bags contain 3 shiny salmon bags. +drab brown bags contain 1 vibrant fuchsia bag. +dim bronze bags contain 2 dim aqua bags, 4 dim beige bags. +dim black bags contain 1 posh purple bag, 4 mirrored bronze bags, 5 posh plum bags. +plaid gold bags contain 4 posh silver bags, 5 light turquoise bags, 3 vibrant black bags. +drab lime bags contain 1 muted gold bag, 4 dotted red bags. +bright red bags contain 1 dull yellow bag, 4 mirrored gold bags. +vibrant white bags contain 2 dull lime bags, 2 faded indigo bags, 1 faded brown bag, 1 muted salmon bag. +drab fuchsia bags contain 3 pale beige bags, 3 dark orange bags. +striped tomato bags contain 1 dark lime bag, 5 dull coral bags. +faded green bags contain 2 wavy blue bags. +vibrant olive bags contain 3 bright tomato bags, 4 wavy beige bags. +dark coral bags contain 5 faded teal bags, 1 mirrored tomato bag, 3 dark orange bags, 5 plaid lime bags. +bright violet bags contain 4 dark lime bags. +wavy tan bags contain 4 light tan bags, 3 vibrant red bags, 2 mirrored olive bags. +dotted beige bags contain 5 striped gray bags, 4 posh plum bags, 1 bright turquoise bag, 4 striped fuchsia bags. +dotted turquoise bags contain 3 mirrored green bags, 4 posh gold bags, 5 drab plum bags. +striped beige bags contain 1 clear gold bag, 1 vibrant white bag, 3 faded cyan bags, 2 shiny gold bags. +posh silver bags contain 2 vibrant gold bags, 2 mirrored violet bags. +mirrored purple bags contain 2 dim yellow bags, 2 dull tomato bags. +shiny lime bags contain 4 clear olive bags, 4 mirrored silver bags, 1 muted tomato bag. +muted cyan bags contain 1 posh coral bag, 5 drab blue bags, 4 wavy lavender bags. +light aqua bags contain 1 dark orange bag. +shiny cyan bags contain 2 dark maroon bags, 5 shiny salmon bags, 5 muted salmon bags, 2 wavy bronze bags. +posh white bags contain 1 posh fuchsia bag. +vibrant plum bags contain 4 light crimson bags. +dotted blue bags contain 1 shiny tan bag, 3 light plum bags, 5 dotted gray bags. +posh maroon bags contain 5 mirrored violet bags. +dull violet bags contain 1 faded teal bag, 2 wavy cyan bags, 3 dull silver bags, 3 vibrant red bags. +posh gold bags contain 4 muted salmon bags, 4 dull plum bags, 3 muted bronze bags. +dim orange bags contain 2 dull coral bags. +dim aqua bags contain 1 drab maroon bag. +striped salmon bags contain 4 muted white bags. +dark cyan bags contain 3 plaid maroon bags. +wavy red bags contain 2 wavy maroon bags, 2 vibrant chartreuse bags, 5 wavy salmon bags. +light yellow bags contain 4 posh lime bags, 1 light white bag. +striped blue bags contain 5 plaid magenta bags, 5 vibrant gold bags. +dark olive bags contain 4 dim maroon bags, 2 shiny tan bags, 5 wavy green bags. +vibrant gold bags contain 1 dull beige bag, 4 posh turquoise bags. +muted white bags contain 1 dim indigo bag, 5 dull lime bags, 5 shiny aqua bags. +light violet bags contain 5 wavy bronze bags. +pale olive bags contain 1 dim gold bag, 2 shiny coral bags. +light gray bags contain 3 bright gold bags. +dim indigo bags contain 3 posh tomato bags, 5 pale tomato bags, 4 shiny aqua bags. +pale indigo bags contain 4 pale bronze bags, 5 light chartreuse bags. +muted red bags contain 3 clear white bags, 4 dull lavender bags, 5 muted purple bags. +plaid olive bags contain 3 dark orange bags, 3 dim gold bags. +dotted maroon bags contain 3 faded purple bags, 5 light green bags. +bright orange bags contain 1 shiny black bag, 2 dim lavender bags, 1 shiny olive bag. +wavy chartreuse bags contain 3 clear lime bags, 4 pale maroon bags. +mirrored turquoise bags contain 2 striped crimson bags, 4 vibrant bronze bags, 5 dotted lavender bags, 2 clear silver bags. +dull purple bags contain 4 posh crimson bags. +faded bronze bags contain 1 clear fuchsia bag, 2 light fuchsia bags, 2 pale chartreuse bags. +clear bronze bags contain 3 pale chartreuse bags, 5 dull tan bags, 1 vibrant tan bag. +vibrant magenta bags contain 4 shiny fuchsia bags, 2 shiny coral bags, 3 faded indigo bags, 4 pale tomato bags. +striped chartreuse bags contain 2 shiny orange bags, 3 mirrored tomato bags, 1 clear lime bag. +dotted green bags contain 1 pale beige bag, 2 mirrored bronze bags, 2 wavy crimson bags. +wavy white bags contain 3 posh magenta bags, 3 muted yellow bags, 3 wavy crimson bags, 4 vibrant olive bags. +muted plum bags contain 4 wavy gold bags. +faded violet bags contain 3 dark violet bags. +dull fuchsia bags contain 4 plaid indigo bags, 1 mirrored brown bag, 5 clear lime bags. +bright green bags contain 3 mirrored white bags, 5 dotted silver bags. +shiny violet bags contain 4 striped salmon bags. +dim fuchsia bags contain 3 striped red bags. +faded lavender bags contain 3 wavy tan bags, 2 clear lime bags. +dim cyan bags contain 4 drab white bags. +dark brown bags contain 5 clear gold bags, 3 vibrant blue bags. +clear lavender bags contain 5 striped turquoise bags, 1 light crimson bag, 5 light tan bags, 2 muted gold bags. +light green bags contain 3 striped silver bags, 4 bright silver bags, 2 light crimson bags. +pale lavender bags contain 5 clear violet bags. +dotted orange bags contain 3 dotted tomato bags, 2 dull plum bags, 5 posh purple bags, 2 drab turquoise bags. +bright black bags contain 3 posh chartreuse bags, 5 wavy indigo bags, 5 dull crimson bags, 2 clear turquoise bags. +dotted gold bags contain 5 striped white bags, 2 striped brown bags, 3 mirrored green bags, 3 dark violet bags. +plaid brown bags contain 3 striped chartreuse bags, 3 striped black bags, 2 bright chartreuse bags. +wavy coral bags contain 3 dim turquoise bags, 4 dim lime bags. +pale brown bags contain 4 dim white bags, 5 bright fuchsia bags, 2 clear orange bags. +mirrored teal bags contain 4 pale lavender bags, 5 vibrant maroon bags, 4 striped gray bags, 4 vibrant indigo bags. +posh orange bags contain 5 posh magenta bags, 4 posh violet bags, 2 plaid magenta bags, 4 muted cyan bags. +dim crimson bags contain 3 drab violet bags, 1 dotted aqua bag. +muted gray bags contain 4 vibrant lime bags, 1 dark maroon bag, 2 clear gold bags, 3 plaid gray bags. +clear brown bags contain 5 shiny tomato bags, 4 striped tan bags, 5 vibrant lavender bags, 1 pale white bag. +posh crimson bags contain 3 dim yellow bags, 4 shiny turquoise bags, 2 vibrant purple bags, 4 mirrored aqua bags. +plaid black bags contain 2 shiny tan bags, 1 pale olive bag, 2 wavy tan bags, 1 clear red bag. +dark crimson bags contain 3 drab fuchsia bags, 5 faded gold bags. +pale tan bags contain 5 posh black bags. +wavy bronze bags contain 1 clear lime bag. +wavy gold bags contain 2 dull lavender bags, 1 bright turquoise bag, 4 striped brown bags, 5 drab turquoise bags. +pale lime bags contain 2 faded cyan bags, 4 muted salmon bags, 4 shiny coral bags, 3 mirrored green bags. +dark magenta bags contain 4 faded chartreuse bags, 1 muted brown bag, 4 vibrant salmon bags, 2 dim indigo bags. +striped purple bags contain 3 mirrored olive bags. +dull crimson bags contain 2 clear orange bags. +dull beige bags contain 1 drab turquoise bag, 1 dark indigo bag, 1 dull white bag. +dotted aqua bags contain 4 dull chartreuse bags. +clear purple bags contain 2 muted beige bags, 3 dull black bags. +light crimson bags contain 1 faded brown bag, 1 vibrant red bag, 4 wavy lavender bags, 1 wavy gray bag. +clear fuchsia bags contain 1 dark maroon bag, 3 muted salmon bags. +muted crimson bags contain 5 light lime bags, 4 posh plum bags, 5 clear fuchsia bags, 1 wavy turquoise bag. +muted purple bags contain 3 dull gray bags, 5 posh gray bags. +shiny salmon bags contain 5 faded brown bags, 4 clear chartreuse bags. +plaid lavender bags contain 1 dim lime bag. +vibrant indigo bags contain 5 dim tomato bags, 2 striped beige bags, 2 mirrored olive bags. +mirrored cyan bags contain 3 plaid coral bags, 5 faded teal bags, 5 pale indigo bags, 3 bright fuchsia bags. +dim yellow bags contain 5 light crimson bags, 1 pale tomato bag. +dotted chartreuse bags contain 3 shiny blue bags. +light beige bags contain 3 bright teal bags, 1 pale tomato bag, 2 light blue bags. +dotted olive bags contain 3 bright indigo bags, 4 muted fuchsia bags. +pale white bags contain 1 vibrant maroon bag, 2 pale tomato bags, 2 bright magenta bags. +mirrored yellow bags contain 2 drab brown bags, 3 striped salmon bags, 4 clear olive bags, 1 dotted black bag. +light olive bags contain 2 bright magenta bags. +muted tomato bags contain 4 shiny lavender bags. +light chartreuse bags contain 5 light plum bags, 4 light olive bags, 3 dark indigo bags. +posh purple bags contain 2 wavy crimson bags. +bright maroon bags contain 4 faded indigo bags. +dull blue bags contain 3 dark brown bags, 3 dim indigo bags, 5 pale silver bags, 1 mirrored brown bag. +light coral bags contain 5 clear teal bags. +bright gray bags contain 3 muted black bags, 3 vibrant cyan bags. +posh fuchsia bags contain 3 clear gold bags, 1 dim salmon bag, 2 shiny salmon bags. +light white bags contain 3 dim cyan bags, 5 clear crimson bags, 3 dull fuchsia bags. +light teal bags contain 3 shiny fuchsia bags, 2 muted white bags, 3 shiny black bags. +plaid salmon bags contain 2 dotted black bags, 2 dark beige bags, 1 shiny coral bag. +wavy black bags contain 5 posh olive bags. +drab gray bags contain 3 mirrored tomato bags, 3 light crimson bags. +dim olive bags contain 5 clear chartreuse bags. +bright white bags contain 2 mirrored tan bags, 1 pale green bag, 5 dull magenta bags, 5 plaid lime bags. +striped olive bags contain 3 muted gold bags. +faded olive bags contain 1 muted indigo bag. +pale yellow bags contain 5 light olive bags, 5 plaid aqua bags, 1 clear white bag, 5 faded purple bags. +dull coral bags contain 4 light crimson bags, 5 shiny aqua bags, 5 wavy cyan bags, 3 dark beige bags. +vibrant beige bags contain 4 striped olive bags, 5 clear gold bags. +dark fuchsia bags contain 1 pale teal bag, 4 dull gray bags. +drab tomato bags contain 4 mirrored white bags. +clear crimson bags contain 4 pale tomato bags, 3 wavy gray bags, 4 drab blue bags, 1 mirrored olive bag. +dotted crimson bags contain 1 plaid crimson bag, 1 dark crimson bag, 1 striped beige bag, 4 pale fuchsia bags. +striped black bags contain 4 muted maroon bags. +shiny bronze bags contain 1 dotted tan bag, 1 vibrant beige bag, 5 faded tomato bags. +light cyan bags contain no other bags. +posh black bags contain 2 dim green bags. +striped gold bags contain 3 drab tan bags. +faded white bags contain 4 pale coral bags. +drab tan bags contain 4 clear gold bags, 5 drab silver bags. +light tan bags contain 2 dull lime bags, 1 muted salmon bag, 4 pale beige bags. +plaid indigo bags contain 3 plaid salmon bags, 1 vibrant maroon bag. +faded gold bags contain 3 dark coral bags. +dark salmon bags contain 5 bright gold bags, 1 pale white bag. +plaid bronze bags contain 3 drab gold bags, 4 dotted black bags. +shiny black bags contain 3 bright magenta bags, 2 dark indigo bags, 1 posh plum bag, 5 drab gold bags. +pale magenta bags contain 1 clear gold bag, 5 posh fuchsia bags, 2 faded cyan bags. \ No newline at end of file diff --git a/2020/08/input.txt b/2020/08/input.txt new file mode 100644 index 0000000..afe503c --- /dev/null +++ b/2020/08/input.txt @@ -0,0 +1,621 @@ +acc -9 +jmp +1 +acc +3 +acc +32 +jmp +118 +acc +8 +nop +405 +jmp +179 +acc +43 +acc +24 +acc +11 +jmp +545 +acc +26 +acc -6 +acc +24 +jmp +560 +acc +39 +acc +42 +jmp +1 +jmp +457 +acc +36 +acc +7 +jmp +190 +acc -12 +acc -10 +acc +30 +jmp +110 +acc +20 +acc +22 +acc +20 +jmp +513 +acc +7 +jmp +110 +acc +35 +acc +4 +jmp +51 +acc +42 +acc +23 +jmp +158 +acc +7 +jmp +156 +acc -15 +acc -7 +acc +27 +jmp +30 +jmp +141 +acc +33 +jmp +12 +acc +5 +acc +4 +nop +49 +jmp +296 +acc +46 +nop +358 +acc -3 +jmp +276 +acc -1 +acc +22 +jmp +220 +nop +178 +acc +34 +jmp +363 +jmp +4 +acc +2 +jmp +173 +jmp +484 +acc +26 +acc +2 +acc -10 +jmp +58 +nop +137 +acc -17 +acc +15 +jmp -14 +acc +27 +jmp +512 +jmp +415 +jmp +489 +jmp -12 +acc +34 +acc +31 +jmp +438 +acc +4 +acc +31 +acc +47 +jmp +302 +nop +446 +acc -8 +acc +42 +jmp +305 +nop +504 +jmp +89 +acc +25 +acc -2 +nop +279 +acc +5 +jmp +19 +acc +38 +jmp +121 +jmp +87 +acc +26 +acc -18 +acc -18 +acc +34 +jmp +500 +acc +0 +acc -1 +acc +38 +jmp +1 +jmp -46 +acc +39 +acc -14 +acc +48 +acc +19 +jmp +480 +acc -3 +acc -7 +nop +316 +jmp +1 +jmp +406 +acc -3 +jmp -44 +acc +21 +acc -5 +acc -3 +jmp +447 +jmp +478 +jmp +53 +acc -2 +nop +202 +jmp +264 +acc -17 +acc +16 +jmp +405 +acc +28 +jmp +393 +jmp +320 +acc +35 +acc +38 +acc -19 +acc +11 +jmp +86 +acc -8 +jmp -97 +jmp +350 +jmp +35 +nop +448 +acc +7 +acc -6 +acc +6 +jmp +444 +acc +11 +acc +42 +acc -15 +acc +44 +jmp +145 +acc +1 +jmp +46 +acc -6 +acc +1 +nop +183 +acc +20 +jmp +413 +acc +42 +acc -9 +jmp +391 +jmp +197 +acc +27 +acc +7 +jmp +68 +acc -11 +jmp -140 +acc +11 +jmp +238 +acc -11 +acc +33 +acc +41 +jmp +391 +acc +2 +jmp +389 +jmp -134 +acc +2 +acc +29 +jmp +1 +acc +34 +jmp +358 +acc +39 +acc +2 +acc -12 +acc +16 +jmp +97 +acc +25 +jmp +412 +acc +42 +jmp +129 +jmp -21 +acc +39 +acc -9 +jmp +130 +acc +21 +jmp +1 +acc +5 +jmp -97 +acc -16 +jmp -188 +acc +15 +jmp +72 +jmp -76 +acc -2 +acc +33 +acc +13 +jmp -175 +jmp +250 +acc +4 +acc +25 +jmp -163 +jmp +184 +acc -17 +jmp -195 +acc +20 +acc +45 +jmp -18 +acc +28 +acc +48 +acc +43 +nop +53 +jmp -111 +nop +51 +acc -15 +acc -16 +acc +46 +jmp +150 +nop +121 +acc +46 +acc +11 +nop -65 +jmp -62 +acc +37 +acc -7 +acc -16 +jmp +19 +jmp +1 +jmp +187 +acc +6 +acc -2 +jmp +217 +nop +32 +nop +186 +acc +5 +jmp -134 +acc -3 +acc +49 +acc +19 +jmp -34 +nop -127 +acc +0 +acc -4 +acc +43 +jmp +253 +acc -18 +nop -183 +acc +6 +acc +32 +jmp +76 +nop -37 +acc +0 +nop +65 +acc +12 +jmp +275 +jmp +263 +acc +22 +acc +38 +jmp +59 +acc -10 +acc +14 +acc -7 +jmp +141 +jmp +156 +acc +3 +acc +20 +acc -11 +jmp -74 +acc -1 +acc +0 +acc +35 +acc +48 +jmp +57 +acc -16 +acc +27 +jmp +1 +acc -2 +jmp +82 +acc +34 +acc +5 +acc +12 +nop +233 +jmp +32 +jmp +79 +acc +27 +jmp -30 +jmp +1 +nop +210 +acc -18 +jmp +84 +jmp +221 +nop -297 +acc +35 +jmp +1 +jmp +304 +jmp +266 +acc +26 +acc +2 +acc +16 +acc +14 +jmp -148 +nop -193 +acc -9 +jmp -181 +jmp -282 +acc +16 +jmp +1 +acc +18 +jmp +102 +acc -17 +nop +70 +jmp -109 +nop -83 +jmp +4 +jmp +128 +acc +34 +jmp +172 +acc +47 +acc +7 +jmp -121 +nop -107 +acc -6 +acc -12 +nop -206 +jmp +187 +acc +35 +acc +44 +jmp -68 +jmp +87 +jmp -185 +acc -6 +acc +50 +jmp -3 +acc +40 +jmp -79 +acc +14 +nop -50 +acc -5 +jmp -286 +acc +39 +jmp +44 +acc +3 +acc +40 +acc -17 +acc +41 +jmp -318 +jmp +131 +jmp +1 +jmp -220 +acc +22 +acc +11 +acc +35 +acc +48 +jmp -7 +acc +34 +acc -10 +acc +45 +nop +233 +jmp -202 +acc +38 +jmp -27 +jmp +193 +nop -345 +acc +0 +jmp -109 +acc +24 +jmp -357 +acc +15 +jmp -72 +acc -15 +nop +10 +nop -126 +jmp -309 +acc +2 +jmp -35 +acc +7 +acc +31 +jmp +1 +nop -313 +jmp +145 +acc -19 +nop +209 +jmp +98 +jmp -282 +jmp -80 +jmp -203 +jmp +41 +acc +33 +acc -1 +jmp +108 +acc +15 +jmp -306 +acc +9 +acc +8 +acc +28 +acc -3 +jmp -324 +acc -10 +jmp -242 +acc -11 +acc +14 +acc +35 +jmp -85 +acc -7 +acc +24 +acc +38 +jmp -341 +acc +21 +acc -15 +jmp -92 +acc +18 +acc -14 +jmp -148 +nop -341 +jmp +166 +jmp +82 +acc -13 +acc +36 +jmp +100 +acc +18 +acc +40 +acc +1 +jmp -384 +acc +26 +nop +87 +acc +28 +jmp -298 +acc +35 +nop -132 +acc +19 +acc +24 +jmp +57 +acc -4 +acc +17 +acc -7 +jmp +83 +acc +36 +jmp -208 +nop -429 +acc +0 +acc +19 +jmp -432 +acc +24 +acc -19 +nop -406 +jmp -209 +acc +19 +jmp -98 +acc +33 +acc +30 +nop -328 +jmp -238 +acc +41 +acc +9 +acc -14 +acc -11 +jmp -139 +jmp +145 +acc +18 +nop +102 +acc +38 +jmp -132 +acc -3 +acc +6 +jmp -386 +acc +7 +acc +3 +acc +6 +jmp -430 +acc +32 +acc +28 +acc +40 +acc +0 +jmp -83 +acc +0 +jmp +1 +jmp -283 +acc +11 +jmp -299 +jmp -224 +nop +34 +acc +21 +nop -34 +acc -10 +jmp +27 +acc -7 +acc +8 +jmp +67 +nop -436 +acc -15 +acc +3 +jmp -22 +acc -12 +nop -421 +acc -13 +acc -18 +jmp -388 +acc +30 +acc +13 +jmp -408 +acc -3 +acc -9 +acc +34 +acc +0 +jmp -137 +acc +4 +acc +22 +acc +7 +acc +48 +jmp +61 +jmp +70 +jmp -484 +acc +19 +jmp -382 +acc +45 +jmp +75 +acc +34 +jmp -144 +jmp -381 +jmp +1 +acc +48 +acc +48 +acc +0 +jmp -108 +acc +0 +jmp +1 +jmp -477 +acc +48 +jmp +62 +acc +1 +jmp +1 +jmp +49 +acc -13 +acc +20 +jmp -406 +acc +48 +acc +3 +acc -9 +acc +32 +jmp -124 +acc -16 +jmp -131 +acc +27 +acc -4 +acc +36 +acc -12 +jmp -255 +acc +0 +jmp +1 +acc +8 +acc +41 +jmp -407 +jmp -543 +jmp -73 +nop +4 +acc -6 +jmp -504 +jmp -28 +nop -450 +jmp -226 +jmp -274 +acc +1 +jmp -568 +acc +29 +jmp -570 +jmp +1 +jmp -494 +acc +29 +acc -12 +jmp -127 +acc +32 +jmp -135 +jmp -383 +nop -59 +acc -19 +acc +2 +acc +26 +jmp -446 +acc +47 +jmp +1 +acc -18 +acc -10 +acc +32 +nop -423 +jmp -476 +acc +39 +acc +27 +acc -9 +acc +28 +jmp -325 +acc +37 +acc +28 +nop -81 +jmp -310 +acc -2 +acc +8 +acc +28 +jmp -43 +jmp -141 +acc +5 +nop -2 +jmp -457 +acc +25 +acc +13 +acc +0 +jmp +1 +jmp +1 diff --git a/2020/09/input.txt b/2020/09/input.txt new file mode 100644 index 0000000..6e92037 --- /dev/null +++ b/2020/09/input.txt @@ -0,0 +1,1000 @@ +37 +1 +33 +42 +17 +34 +27 +44 +26 +39 +3 +43 +30 +22 +9 +38 +7 +28 +21 +4 +50 +14 +35 +12 +5 +6 +71 +8 +15 +10 +11 +13 +16 +53 +17 +20 +18 +19 +23 +24 +9 +22 +25 +26 +21 +27 +28 +14 +67 +29 +30 +31 +33 +59 +32 +34 +35 +37 +40 +42 +54 +41 +39 +36 +23 +51 +61 +58 +43 +44 +102 +47 +46 +52 +53 +78 +55 +56 +65 +57 +101 +66 +114 +59 +80 +64 +62 +67 +69 +79 +87 +135 +133 +89 +90 +122 +108 +223 +113 +126 +115 +124 +116 +119 +151 +125 +121 +123 +128 +191 +129 +197 +348 +156 +234 +244 +179 +202 +198 +246 +224 +221 +228 +240 +231 +478 +235 +331 +242 +248 +285 +249 +251 +257 +308 +377 +463 +354 +335 +582 +381 +400 +419 +433 +445 +449 +456 +483 +477 +473 +559 +484 +490 +491 +536 +724 +611 +508 +565 +662 +831 +689 +716 +818 +864 +845 +819 +852 +878 +894 +905 +1301 +950 +957 +963 +1197 +974 +1170 +1417 +1762 +2607 +1073 +1224 +1227 +1757 +1520 +1405 +1580 +1924 +1742 +2367 +3262 +1967 +3100 +1799 +1862 +1907 +1931 +4109 +1937 +2198 +2201 +2243 +2478 +2297 +3148 +2997 +5515 +2985 +3204 +3319 +5186 +3322 +3736 +3706 +3661 +5282 +3730 +4340 +4679 +5517 +5240 +3868 +4135 +7716 +6378 +4444 +7812 +7454 +6352 +5982 +7072 +13054 +6853 +6940 +7442 +7436 +6983 +10808 +7367 +8970 +7865 +11427 +16042 +10661 +14307 +10117 +11584 +23862 +12309 +10426 +10796 +12334 +12835 +15910 +12922 +14848 +13793 +13836 +14376 +14350 +26336 +22713 +15232 +16337 +16835 +38670 +26170 +20543 +20778 +20913 +64840 +25420 +29198 +22735 +26028 +23130 +41402 +25757 +26715 +26758 +27629 +28169 +28186 +28726 +29582 +31569 +32067 +42255 +33172 +49845 +50125 +41321 +41691 +43648 +93773 +45865 +48763 +48492 +49450 +75207 +89513 +52515 +54387 +76165 +54927 +57751 +56355 +56912 +58308 +61151 +63636 +65239 +87186 +74493 +109914 +115220 +95708 +85339 +110742 +110601 +109314 +97255 +97942 +101965 +106902 +108870 +107442 +207169 +205622 +111282 +113267 +114663 +150822 +213247 +124787 +197673 +139732 +182594 +364069 +181047 +183281 +301330 +187304 +195197 +402366 +204844 +199220 +199907 +208867 +214344 +296174 +218724 +224549 +239450 +225945 +319507 +254395 +334103 +264519 +327036 +365677 +364328 +395104 +564235 +448317 +370585 +382501 +386524 +590273 +423568 +946736 +414251 +408774 +423211 +589309 +489068 +443273 +544056 +465395 +480340 +518914 +661139 +651043 +591555 +778579 +730005 +734913 +753086 +757109 +847896 +1021628 +1538291 +1149164 +889114 +831985 +1342395 +1219073 +852047 +954463 +987329 +1941792 +908668 +945735 +984309 +999254 +1892977 +1242598 +1326468 +3834769 +1492022 +2194442 +1487999 +1910742 +1589094 +1679881 +1684032 +1721099 +1740653 +2476331 +2536079 +1797782 +1806510 +2762789 +1907922 +1854403 +1930044 +2325722 +1983563 +2226907 +2982817 +2569066 +3150520 +2814467 +3167880 +3477663 +3077093 +3285781 +3363913 +3424685 +3400980 +3405131 +3461752 +3538435 +3604292 +3837966 +3652185 +3714432 +4081310 +3762325 +3784447 +5407707 +5632038 +4552629 +4795973 +5383533 +5646159 +5891560 +5982347 +6244973 +6915059 +8267061 +7148360 +7318724 +6806111 +6862732 +6866883 +7142727 +7190620 +7366617 +7414510 +7436632 +10647179 +7546772 +10428011 +8337076 +12836779 +9348602 +13107705 +12531893 +11275093 +12754292 +11873907 +20474322 +14242743 +13668843 +18423453 +13729615 +13672994 +13948838 +14009610 +14057503 +14851142 +14557237 +18013796 +14961282 +14983404 +18821865 +15883848 +17685678 +19612169 +28519985 +20623695 +23149000 +23806986 +25284703 +25822745 +28286852 +27341837 +27398458 +27402609 +29040907 +27621832 +27682604 +28006341 +28067113 +28614740 +29408379 +29518519 +45972530 +29944686 +30867252 +38309373 +43566452 +37297847 +40235864 +43772695 +44430681 +46955986 +49091689 +52687312 +54109597 +54740295 +54801067 +65912587 +65304188 +57140351 +75607220 +56297344 +56073454 +96779839 +58023119 +50047984 +74639947 +60811938 +67242533 +69176625 +107488379 +77533711 +81728528 +84008559 +88203376 +91386667 +99139673 +104788279 +108071103 +109541362 +131780298 +104849051 +112370798 +121377642 +106121438 +117109282 +106345328 +173182736 +125265652 +110859922 +149187657 +128054471 +160563292 +151251092 +146710336 +169931904 +159262239 +165737087 +188857610 +203988724 +190526340 +208681035 +209637330 +210970489 +214390413 +285553534 +215708973 +362040346 +212466766 +216981360 +217205250 +231610980 +387573149 +236125574 +351089632 +274764807 +279305563 +297961428 +305972575 +471709662 +324999326 +348119849 +354594697 +379383950 +407507700 +595092923 +499943947 +579021706 +510428194 +426857179 +428175739 +429448126 +444077746 +429672016 +434186610 +665797590 +946182555 +732148038 +510890381 +879327897 +769671090 +604304889 +1390260301 +630971901 +679594023 +673119175 +788781307 +733978647 +807559689 +856529195 +938603933 +855032918 +954505940 +939876320 +857847755 +857623865 +863858626 +873749762 +1523645345 +1400642991 +1893109873 +1115195270 +1465396321 +1461928754 +1634099963 +1235276790 +1277424064 +1304091076 +1310565924 +1714153060 +1664088884 +1522759954 +1718891544 +2381493100 +3024718984 +2161938831 +1712656783 +1715471620 +1737608388 +4259995774 +1721482491 +1979053896 +1988945032 +2350472060 +3064731875 +2512700854 +4329525956 +2927325075 +4176789738 +3428128403 +4095646160 +4375297799 +2614657000 +2833325878 +3186848838 +4231592398 +3260368342 +4981850833 +5346026732 +4822270910 +4336139491 +4642796695 +4902320458 +3459090879 +3700536387 +7064918276 +3967998928 +5773069196 +5183797938 +5127357854 +5440025929 +8409979236 +6846249398 +8361411337 +6093694220 +6073747879 +5447982878 +7154847766 +6020174716 +6447217180 +6719459221 +6960904729 +7668535315 +13034652608 +7159627266 +7427089807 +8101887574 +8642888817 +8586448733 +9415981806 +9095356782 +12619318594 +13801437266 +12400930658 +10567383783 +10888008807 +14115752495 +11468157594 +13520784027 +11521730757 +12602830644 +11895200058 +12467391896 +12739633937 +21043819475 +13680363950 +14586717073 +15095625122 +15261514840 +15528977381 +16013538540 +25828898623 +26108447830 +17681805515 +18511338588 +19983365589 +21455392590 +37665171104 +22035541377 +22089114540 +22356166401 +28616369184 +22989888351 +31878565647 +23416930815 +24362591954 +27326351010 +25207025833 +26419997887 +28941878790 +43718364421 +29682342195 +39458217076 +36193144103 +37618091921 +33695344055 +54868453998 +59073484511 +39966731178 +62875147891 +41438758179 +43490933967 +44124655917 +44391707778 +45079002891 +45346054752 +66784568086 +67541586732 +71121100374 +47779522769 +49569617787 +51627023720 +54148904623 +83972666872 +63377686250 +96706026611 +67300434116 +69888488158 +108643102298 +106366081858 +155779511122 +115245756291 +95751679637 +81405489357 +93065781899 +84929692146 +87615589884 +159370412208 +134499309933 +99494959375 +137188922274 +97349140556 +149064577162 +99406546489 +101928427392 +103718522410 +105775928343 +144783175607 +167237628714 +130678120366 +152230126262 +233994269308 +323017139836 +166335181503 +178754629913 +187110549259 +169021079241 +262989308351 +172545282030 +253950771387 +421188400101 +196844099931 +205270887718 +265830140878 +359655831289 +460206062110 +244189722096 +250993004554 +313804254848 +357669293797 +396508261244 +528288027554 +458587430455 +336258707955 +341566361271 +318565307765 +335356260744 +777152738220 +338880463533 +347775709154 +356131628500 +365865179172 +369389381961 +590209479342 +402114987649 +516823145432 +441033822027 +449460609814 +583070185629 +661579964002 +562755029861 +579545982840 +564797259402 +894153206726 +674236724277 +653921568509 +660131669036 +654824015720 +657445771298 +666341016919 +674696936265 +683131969898 +890494431841 +910530739015 +703907337654 +721996807672 +1564731156118 +1026835153259 +851575597463 +843148809676 +1327920980921 +1003788851888 +1109592278850 +1127552289263 +1144343242242 +1819040178507 +1218718827911 +1219621275122 +1357828906163 +1308745584229 +1311367339807 +1312269787018 +1340577741196 +1323786788217 +1341037953184 +1686920821786 +1987492051918 +1952741088526 +1694724407139 +2061736243817 +1565145617348 +1846937661564 +2030624005147 +1855364449351 +3097084330768 +2640190767939 +2113381130738 +2237144568113 +3035762360323 +2438340103033 +2543408063339 +2530988614929 +2528366859351 +2623637126825 +2905723358544 +2635154128024 +3981228721123 +4737018257563 +2664824741401 +3293779041710 +3877561666711 +3259870024487 +3412083278912 +3541662068703 +3420510066699 +3595769622495 +3702302110915 +3885988454498 +8718246978686 +5288461868226 +4675484671146 +4350525698851 +4765511427464 +4966706962384 +5163520987375 +8271254293641 +5152003986176 +7306498521197 +6367126852316 +5299978869425 +7145858478985 +8614579924274 +7610395723338 +6996081152625 +6671953303399 +6680380091186 +8052827809766 +7243964179618 +11042611523462 +10717652551167 +7298071733410 +7588290565413 +8236514153349 +14302579673822 +9116037126315 +13380091351738 +9317232661235 +11132638279780 +12407485166993 +10315524973551 +10451982855601 +11519130838492 +11667105721741 +17352551279664 +23832074207339 +13352333394585 +13668034456024 +13676461243811 +13915917483017 +19833689677482 +14268670656599 +20248675406095 +17961616730785 +25969685395563 +14886362298823 +15824804718762 +16704327691728 +20635167964807 +18433269787550 +19431562099866 +19769215516836 +19632757634786 +26323402650010 +23926616005485 +23804316250186 +30950692938358 +23186236560233 +32985091029371 +34102360334081 +40267925599593 +27583951939041 +32109731031361 +27592378726828 +28184588139616 +37339495656535 +30711167017585 +31590689990551 +32529132410490 +33319632086373 +34258074506312 +59135281077974 +43559373640271 +51585860903165 +37864831887416 +42818994195019 +39401973151622 +47817345774402 +50778615287061 +69455521877967 +46990552810419 +54136929498591 +75348126605509 +55176330665869 +55768540078657 +91046540886654 +55776966866444 +82075420280714 +58303545744413 +85682177661818 +70393964297906 +85887497683454 +64119822401041 +71184463973789 \ No newline at end of file diff --git a/2020/10/input.txt b/2020/10/input.txt new file mode 100644 index 0000000..ffc1992 --- /dev/null +++ b/2020/10/input.txt @@ -0,0 +1,104 @@ +152 +18 +146 +22 +28 +133 +114 +67 +19 +37 +66 +14 +90 +163 +26 +149 +71 +106 +46 +143 +145 +12 +151 +105 +58 +130 +93 +49 +74 +83 +129 +122 +63 +134 +86 +136 +166 +169 +159 +3 +178 +88 +103 +97 +110 +53 +125 +128 +9 +15 +78 +1 +50 +87 +56 +89 +60 +139 +113 +43 +36 +118 +170 +96 +135 +23 +144 +153 +150 +142 +95 +180 +35 +179 +80 +13 +115 +2 +171 +32 +70 +6 +72 +119 +29 +79 +27 +47 +107 +73 +162 +172 +57 +40 +48 +100 +64 +59 +175 +104 +156 +94 +77 +65 \ No newline at end of file diff --git a/2020/11/input.txt b/2020/11/input.txt new file mode 100644 index 0000000..c5d15f6 --- /dev/null +++ b/2020/11/input.txt @@ -0,0 +1,93 @@ +LLLLLL.LL.LL.LLLLLL.LLL.L.LLLLLLLLLLLLLLLL.LLLLLLLLLLL.LLLL.LLLLLLL.LLLLLLLL.LLLLLLLLLLLLLLLLLLLL +LLLLLLLLLLLL.LL.LLL.LLLLL.LLLLLLLLLLLLLLLLLLLLLLLLLLLL.LLLL.LLLLLLLLLLLLLLLLLLLLLL.LLLLLLL.LLLLLL +LLLLLL.LLLLL.LLLL.L.LLLLLLLLLLLLL.LLLLL.LL.LLL.LL.LLLL.LLLLLLLLLLLL.LLLLLLLL.LLLL.L.LLLLLLLLLLLLL +LLLLLL.LLLLLLLLLLLL.LLLLL..LLLLLL.LLLLLLLL.LLLLLLLLLLL.LLLLLLLLLLLL.LLLLLLLL.LLLLLL.LLLLLLLLLLLLL +LLLLLL.LLLLL.LLLLLLLLLLLLLLLLLLLL.LLLLLLLL.LLLLLL.L.LL.LLLL.LLLLLLL.LLLLLLLL.LLLLLL.LLL.LL.LLLL.. +L....L...L...LL..LLL.....L..L..L.L.L..LL..LL......L.L.L..L...L.....LL.......L.L.L..L....L...L.... +LLLLLL.LLLLL.LLL.LL..LLLL.LLLLLLL.LLLLLLLL.LLLLLL.LLLL.LLLL.LLLLLLL.LL.LLLLL.LLLLLLLLLLLLL.L..LLL +LLLLLL.LLLLLLLLLLLLLL.L.L.LLLLLLL.LLLLLLLL.LLLLLLLLLLL.LLLL.LLLLLLL.LLLLLLLLLLLLLLL.LLLLLLLLLLLLL +LLLLLL.LLLLL.LLLLLL.L.LLL.LLLLLLL.LLLLLLLL.LLLLLL.LLLLLLLLL.LLLLL.LLLLLLLLLLLLLLLLLLLLLL.L.LLLLLL +LLLLLL.LLLLL.LLL.LLLLLLLL.LLLLLLL.LLLLLLLL.LLLLLL.LLLL.LLLL.LLLLLLLLLLLLLLLL.LLLLLLLLLLLLL.LLLLLL +LLLLLL.LLLLL.LLLLLLLL.LLL.LLLLLLLLLLLLLLLL.LLLLLL.L.LL.LLLL.LLLLLLL.LLLLLLLL.LLLLLL.LLLLLL.LLLLLL +LLLLLLLLLLLL.L.LLLL.LLLLL.LLLLLLL.LLLLLLLL.LLLLLLLLLLL.LLLL.LLLLLLL.LLLLLLLL.LLLLLL.LLLLLL.LLLLLL +LLLLLL.LLLLL.LLLLLL.LLLLL.LLLLLLLLLLLLLLLL.LLLL.L.LLLL.LLLL.LLLLLLLLLLLLLLLLLLLLLLL.LLLLLLLLLLLLL +LLLLLL.LLLLLLLLLLLL.LLLLL.LLLLLLL.LLLLLLLL.LLLLLLLLLLLLLLLL.LLLLLLL.LLLLLLLLLLLLLL.LLLLLLL.LLLLLL +LLLLLL.LLL.L.LLL.LL.LLLLL.L.LLLLL.LLLLLLLLLLLLL.L.LLLL.LLLL.LLLLLLLLLLLLLLLLLLL.LLL..LLLLL.LLLLLL +....L.L........L..L.....L.................L.LL...L......LL.L..L.....L.LL...L.L........LLL......L. +LLLLLLLLLLLL.LLLLLL.LLLLL.LLLLLLL.LL.LLLLL.LLLLLL.LLLLLLLLL.LLLLL.LLLLLLLLLLLLLLLLL.LLLLLLLLLLLLL +LLLLLLLLLLLLLL.LLLL.LLLLL.LLLLLLLLLLL.LLLL.LLLLLLLLLLL.LLLL.LLLLLLL.LLLLLLLLLLLLLLL.LLLLLLLLLLLLL +LLLLLL.LLLLL.LLLLLL.LLLLL.LLLLLLL.LLLLLLLLLLLLLLLLLLLL.LLLLLLLLL.LL.LLLLLLLL.LLL.LL.LLLLLLLLLLLLL +LLLLLLLLLLLL.LLLLLL.L.LLL.LLLLLLL.LLLLLLLL.LLLLLL.LLLL.LL.LLLLLLL.L..LLLLLLL.LLLLLL.LLLLLLLLLLLLL +LLLLLL.LLLLLLLLLLLLLLLLLLLLLLLLLL.LLLLLLLL.LLLLLL.LLLL.LLLLLLLLLL.L.LLLLLLLLLLLLLLL.LLLLLL.LLLLLL +LLLLLL.LLLL..LLLLLL.LLLLL.LLLLLLL.LLLLLLLLLLLLLLL.LLLL.LLLLLLLLLLLLLLLLLLLLL.LLLLLL.LLLLLL.LLLLLL +LLLLLLLLLLLL.LLLLLLLLLLLL.LLLLLLL.LLLLLLLLLLLLLLLLLLLL.LLLL.LLLLLLLLLLLLLLLL.LLLLLL.LLLLLLLLLLL.L +LLLLLLLLLLLLLLLLLLL.LLLLL.LLLLLLL.LLLL.LLL.LLLLLL.LLLL.LLLL.LLLLLLLLL.LLLLLL.LLLLLL.LLLLLL.LLLLLL +LLLLLL.LLLLLLLLLLLL.LLLLL.LLLLLLLLLLLLL.LLLLLLLLL.LLLL.LLLL.LLLLLLL.LLL..L.L.LLLLLL.LLLLLL.LLLLLL +L.LLL....L...L............LL.....LL..LL.L.LLLL.L..L.LL..L.....LLL..L.LLL...L..L.......LLL..L..L.. +LL.LLL.LLLLL.LLLLLL.LLLLL.LLLLLLLLLLLL.LLL.LLLLLL.LLLLLLLLL.LLLLLLLLLLLLLLLL.LLLLLLLLLLLLL.LLLLLL +LLLLLLLLLLLL.LLLLLL.LLLLL.LLLLLLL.LL.LL.LLL.LLLLL.LLLLLLLLLLLLLLLLLLLLLLLLLL.LLLLLL.LLLLLLLLLLLLL +LLLLL.LLLLLL.LLLLLL.LLLLL.LLLLLLL.LLLLLLL..LLLLLL.LLLL.LLLL.LLLLLLL.LLLLLLLL.LLLLLL.LLLLL..LLLLLL +LLLLLL.LLLLLLLLLLLL.L.LLL.LLLLLLL.LLLLLLLL.LLLLLL.LLLL.LLLL.LLL.LLL.LLLLLLLL.LLLLLL.LLLLLLLLLLLLL +LLLLL..LLLLL.LLL.LL.LLLLL.L.L.LLL.LLLLLLLLLLLLLLL.LLLL.LLLLLLLLLLLLLLLLLLLLL.LLLLLLLLLLLLL.LLLLLL +LLLLLL.LLLLL.LLLLLL.LLLLLLLLLLLLL.LLLLLLLL.LLLLLLLLLLL.LLLLL.L.LLLLLLLLLLLLL.LLLLLLLLLLLLLLLLLLLL +LLLLLL.LLLLL..LLLLLLLLLLLLLLLLLLL.LLLLLLLL.LLLLLLLLLLL.LLLLLLLLLLLL.LLLLLLLL.LLLLLLLLLLLLL.LLLLLL +...L........L..L..L.L.LLL.LL...L..L....L.L.L.L...LLLL..L...L...........LL........L....L..LL....L. +LLLLLL.LLLLLLLLLLLL.LLLLL.LLLLLLLLL.LLLLLL.L.LLLL.LLLL.LLLL.LLLLLLL.LLLLLLLL.LLLLLLLLLLLLL.LLLLLL +LLLLLLLLLLLL.LLLLLLLLLLLLLLLLLLLL.LLLLLLLL.LLLLLL.LLLL.LLLL.LLLLLLL.LLLLLLLLLLLLLLLLLLLLLL.LLLLLL +LLLLLL.LLLLL.LLLLLLLLLLLL.LLLLLLL.LLLLLLLLLLLLLLL.LLLL.LL.LLLL.LL.L.LLLLLLLL.LLLLLL.LLLLLL.LLLLLL +LLLLLL.L.LLL.LLLLLL.LLLLLLLLLLLLL.LLLLLLLLLLLLLLL..L...LLLLLLLLLLLLLLLL.LLLL.LLLLLL.LLLLLLLLLLL.L +LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL.LLLLLLLL.LLLLLLLLLLL.LLL.L.LLLLLLLLLLLL.LLLLL.LLL.LLLLLL.LLLLLL +LLLLLLLLLLLLLLL.L.LLLLLLL.LLLLLLLLLLLL.LLLLLLLLLLLLLLLLLLL...LLLLLL.LLLLLLLL.LLLLLL.LLLL.LLLLLLLL +LLLLLL.LLLLLLLLLLLL.LLLLL.LLLLLLLLLLLLLLLLLLLLLLL.LLLLLLLLL.LL.LLLL.LLLLLLLLLLLLLLL.LLLLLL.LLLLLL +..L..L..L..L..LLL....L.LL..L.L..........L.L.L..LLLL...L...LL.L.L........L......LL.L.........L.... +LLLLLL.LLLLL.LLLLLL.LLLLL.LLLLLLL.LLLLLLLLLLLLLLLLLLLL.LLLLLLLLLLLL.LLLLLLLL.LLLLLL.LLLLLL.LLLLLL +LLLLLL.LLLLL.LLLLLL.LLLLL.LLLLLLL.LLLLLLLL.LLLLLLLLL.L.LLLL.LLLLLLL.LLLLLLLL.LLLLLLLLLLLLLLLLLLLL +LLLLLLLLLLLL.LLLLLL.LLLLL.LLLLLLLLLLLLLLLL.LLLLLL.LLLL.LLLL.LLLLLLL.LLLLLLLLLLLLLLL.LLLLLLLLLLLLL +LLLLLL.LLLLL.L.LLLL.LLLLLLLL.LLLL.LLLLL.LL.LLLLLL.LLLLL.L..LLLLLLLL.LLLLLLLL.LLLLL..LLLLLLLLLLLLL +LLLLLL.LLLLLLLLLLLL..LLLL.LLLLLLL.LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL.LLLLLLLL.LLLLLL.LLLLLL.LLLLLL +LLLLLLLLLLLLLLLLLLL.LLLLL.LLLLLLL.L.LLLLLL.LLLLLL.LLLL.LLLLLLLLLLLL.LLLLLLLLLLLLLLLLLLLLLL.LLL.LL +LLLLLLLLLLLLLLLLLLLLLLLLL.LLLLLLLLLLLLLLLL.LLLLLLLLL...LLLLLLL.LLLLLLLLLLLLLLLLLLLL.LLL.LLLLLLLLL +L.L..L..L..LL.L...L...LLLLLL.L..L...LL...........L.L..L.........L.L...L.L..L...........L.....L.L. +LLLLLLLLLLLL.LLLLLL.LLLLL.LLLLLLL.LLLLLLLL.LLLLLL.LLLL.LLLLLLLLLLL..LLLLLLLL.LLLLLL.LLL.LL.LLLLLL +LLLL.LLLLLLL.LLLLLLL.LLLL.LLLLLLLLLLLLLLLL.LLLLLLLLLLL.LLL..LLLLLLL.LLLLLLLL.LLLLLL.LLLLLL.LLLLLL +LLLLL..LLLLLLLLLL.LLLLLLLL.LLLLLL.LL.LLLLL.LLLL.L.LLLL.LLLLLLLLLLLLLLL.LLLLL.LLLLLL.LLLLLLLLLLLLL +LLLLLL.LLLLL.LLLLLLLLLLLLLLLLLLLL.LLLLLLLL.LLLLLL.LLLLLLLLLLLLLLLLL.LLLLLLLLLLLLLLL.LLLL.LLLLLLLL +L..L...L..LLL...L...L.......LL.......LL.L.L.....LLL....L.L......L.L...L...L.L.L.....L.LL........L +LLLLLL.LLLLLLLLLLLL.LLLLL.LLLLLLL..LLLLLLL.LLLLLLLLLLLLLLLLLLLLLLLL.LLLLLLLL.LLLLLLLLLLLLL.L.LLLL +LLLLLL.LLLLLLLLLLLL.LLLLL.LLLLLLL.LLLLLLLLLLLLLLL.LLLL.LLLL.LLLLLLL.LLLLLLLL.LLLLLL.LLLLLL.LLLLLL +LLLLLL.LLLLL.LLLLLLLLLLLL.LLLLLLLLLLLLLLLL.LLLLLL.LLLLLLLLL.LLLLLLL.LLLLLLLLLLLLLLL.LLLLLLLLLLLLL +LLLLLL.LLLLL.LLLLLL.LLLLLLLL.LLLLLLLLLLLLL.LLLLLL.LLLLLLLLL.LLLLLLL.LLLLLLLLLLLLLLLLLLLLLLLLLLLLL +LLLLLLLLLLLLLLLLLLL.LLLLL.LLLLLLLLLLLLLLLLLLLLLLL..L.L.LLLLLLLLL.LLLLLLLLLLLLLLLLLL.LLLLL.LLLLLLL +..LLL..L.......LL.L..........L...L....LL..L.L......LLLLLLL..LLL...L.L.LL..LL...L......L...L.L...L +LLLLL..LLLLLLLLLLLLLLLLLL.LLLLLLL.LLLLLLLL.LLLLLL.LLLL.LLL.LLLL.LLL.LLLLLLLLLLLLLLLLLLLLLL.LLLLLL +LLLLLL.LLLLL.LLLLLLLLLLLLLLLLL..L.LLLLLLLL.LLLLLL..LLLLLLLLLLLLLLLLLLLLLLLLL.LLLLLLLLLLLLLLLLLLLL +.LLLLL.LLLLL.LL.L.L.LLLLLLLLLLLLLLLLLLLLLL.LLLLLLLLLLL..LLLLLLLLLLLL.LLLLLLLL.LLL.L.L.LLLLLLLLLLL +LLLLLL.LLLLLLLLLLLL.LLLLL.LLLLLLL.LLLLLLLLLLLLLLLLLLLLLLLLL.LLLL.LL.LLLLLLLLLLLLLLL.LLLLLL.LLLLLL +..L.L...L..L.....L...L..L...L.........LL......LL..L..L.L...L....LL.L....L..L.....L....L.L..L.L.LL +LLLLLLLLLLLLLLLLLLL.LLLLL.LL.L.LL.LLLLLLLLLLLLLL..LLL.LLLLL.LLLLLLL.LLLLLLLL.LLLLLLLLLLLLLLLLLLLL +L.LLLL.LLLLL.LLLLLL.LLLL..LLLLLLL.LLLLLLLLLLLLLLLLLLLL.LLLL.LLLLLLL.LLLLLLLL.L.LLLL.LLLLLL.LLLLLL +LLLLLL.LLLLL.LLLLLL.LLLLL.LLLLLLL.LLLLLLLL.LLLLLL.LLLL.LLLLLLLLLLLL.LLLLLLLLLLLLLLL.LLLLLL.LLLLLL +LLLLLLLLLLLL.LLLLLLLLLLLLLLLLLLLLLLLLLLLLL.LLLLLL.LLLL.LLLL.LLLLLLL.LL.LLLLL.LLLLLLLLLLLLL.LL.LLL +.L.....L....L.LL..L.L.......L.LL...L..L.L.LL....LL..L...L.L..L.L.........L...L..LL...LL........L. +LLLLL..LLLLL.LLLLLL.LLLLL.LLLLLLL.LLL.LLLLLLLLLLL.LLLLLLLLL.LLLLLLL.LLL.L.LL.LLLLLL.LLLLLL.LLLLLL +LLLLLL.LLL.L.LLLLLL...LLL.LLLLLLL.LLLLLLLL.LLLLLL.LLLLLLLLL.LLLLLLLLLLLLLLLL..LLLLL.LLLLLLLLLLLLL +LLLLLL.LLLLLLLLLLLL.LLLLL.LLLLLLLLLLLLLLLL.LLLLLLLLLLLLL.LLLLLLLLLL.LLLLLLLLLLLLLLL.LLLLLLLLLLLLL +LL.LLL.LLLLL.LLLLLL.LLLLL.LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL.LLLLLLL.LLLLLLLLLLLLLLL.L.LLL..LLLLLL +LLLLLL.LLLLL.LLLLLL.LLLLLLLLL.LL.LLLLLLLLLLLLLLLL.LLLL.LLLLLLLLLLLLLLLLLLLLLLLLLL.L.LLLLLL.LLLLLL +LLLLLLLLLLLLLLLLLLL.LLLLL.LLLLLLL.LLL.LLLLLLLLLLL.LLLL.LLLLLLLLLLLLLLLLLLLLLLLLLLLL.LLLLL.LLLLLLL +LLLLLL..LLLL.LL.LLLLLLLLL.LLLLLLL.LLLLLLLLLLLLLLL.LLLL.LLLL.LLLLLLL.LLLLLLLL.LLLLLL.LLLLLL.LLLLLL +LLLLLL.LLLLL.LLLLLLLLLLLL.LLLLLLL.LLLLLLLL.LLLLLLLLLLLLLLLL.LLLLLLL.LLLLLLLL.LLLLLL.LLLLLL.LLLLLL +LL.LLL.LLLLLLLLLLLL.LLLLL.LLLLLLL.LLLLLLLLLLLLLLLLLLLL.LLL.LLLLLLLL.LLLLLLLL.LLLLLL.LLLLLL.LL.LLL +L...L..L.L.........L...L....LLL.........LL...L..L.L....L..LLL...........L...L......LL.L.L..L..... +LLLLLLLLLLLL..LLLLL.LLLLL.LLLLLLLLLLLLLLLL.LLLL.L.LLLL.LLLLLLLL.LLL.LLLLLLLL.LL.LLL.LLLLLL.LLLLLL +LLLLLL.LLLLL.LLLLLLLLLLLL.LLLLLLL.LLLLLLLL.LLLLLL.LLLL.LLLL.LLLLLLL.LLLLLLLL.LLLLLL.LLLLLLLL.LLLL +LLLLLL.LLLLLLLLLLLL.LLLLL.LLLLLLL.LLLLLLLL.LLLLLL.LLLLLLLLL.LLLLLLLLLLLLLLLL.LLLLLL.LLLLLL.LLL.LL +LLLLLL.LLLLLLLLLLLL.LLLLL.LLLLLLL.LLLLLLLLLLLLLLL.LLLL.LLLLLLLLLLLLLL.LLLLLLLLLLLLL.LLLLLL.LLLLLL +LLLLLL.LLLLL.LLLLLLL.LLLL.LLLLLLL.LLLLLLLL.LLLLLL.LLLL.LLLL.LL.LLLL.LLLLLLLL.LLLLLL.LLLLLLLLLLLLL +LLLLLL.LLLLLLLLLLLL.LLLLL.LLLLLLL.LLLLLLLL.LLLLLL.LLLL.LLLL.LLLLLLLLLLLLLLLL.LLL.LLLLLL.LL.LLLLL. +LLLLLL.LLLLLLLLLLLLLLLLLL.LLLLLLL.LLLLLLLL.LLLLLL.LLLLLLLLL.LLLLLLL.LL.LLLLL.LLLLLLLLLLLLL.LLLLLL +LL.LL.LLLLLL.LLLLLL.LLLLL.LLLLLLL.LLLLLLLL.LLLLLLLLLLLLLLLL.LLLLLLLLLLLLLLLLLL.LLLL.LLLLLL.LLLLLL +L.LLLL.LLLLL.LLLLLLLLLLLL.LLLLLLL.L.LLLLLLLLLLLLLLLLLLLLLLLLLLLL.LL.LLLLLLLLLLLLLLLLLLLLLL.LLLLL. +LLLLLL.LLLLLLLLLLLLLLL.LL.LLLLLLLLLLLLLLLL.LLLLLLLLLLLLLLLL.LLLLLL.LLLLLLL.LLLLLLLL.LLLLLL.LLLLLL +LLLLL..LLLLLLLLLLLL.LLLLL.LLLLLLL.LLLLLLLL.LLLLLL.LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL.LLLLLL.LLL.LL +LLLLLL.LLLLLL.LLLLLLLLLLL.LLLLLLL.LLLLLLLLLLLLLLL.LLLLLLLLL.LLLLLLL.LLLLLLLL.LLLLLLLLLLLLL.LLLLLL \ No newline at end of file diff --git a/2020/12/input.txt b/2020/12/input.txt new file mode 100644 index 0000000..18b698e --- /dev/null +++ b/2020/12/input.txt @@ -0,0 +1,788 @@ +N1 +R90 +S5 +R180 +N3 +W1 +L180 +F92 +R270 +E4 +F4 +W4 +W4 +L180 +S2 +W2 +F90 +E1 +S5 +W3 +F78 +S5 +R180 +F100 +N1 +W3 +L90 +L90 +N1 +F94 +W2 +R90 +F49 +W2 +F26 +R180 +W1 +S5 +R180 +W4 +S3 +R90 +W3 +S4 +E5 +S1 +F13 +N5 +R270 +E2 +R270 +S5 +F3 +E3 +F4 +S3 +R270 +S1 +W4 +R90 +S4 +L180 +N4 +F81 +W2 +R90 +F61 +R90 +F13 +N3 +R180 +W1 +F98 +S5 +F50 +W5 +S3 +W5 +R90 +F17 +S5 +F70 +F7 +E2 +F87 +E1 +L270 +F59 +E2 +R180 +N5 +F59 +L90 +N5 +W5 +F10 +N3 +E1 +R90 +W1 +S2 +R90 +N5 +F25 +R90 +E2 +F57 +R180 +E1 +N3 +W2 +F85 +L90 +F50 +W2 +R90 +S3 +R90 +F27 +E1 +S1 +L90 +F32 +L90 +W3 +R90 +E1 +F39 +S5 +E4 +F50 +W4 +L90 +F63 +N2 +F67 +W3 +R90 +F4 +N2 +R90 +F90 +N5 +L180 +F24 +E5 +N3 +L180 +F67 +E3 +L90 +S3 +F49 +R90 +E5 +F89 +W5 +F62 +F39 +F33 +W1 +R90 +F18 +S3 +R90 +N4 +F47 +N5 +N3 +W2 +S5 +L90 +E4 +L90 +W2 +R90 +W5 +L90 +W5 +N4 +F64 +R90 +S2 +W4 +R90 +N3 +F18 +L90 +S4 +L90 +F31 +S4 +L90 +F79 +R90 +F69 +N3 +E4 +F64 +N2 +E4 +R90 +F20 +R180 +E1 +F85 +W1 +S5 +S2 +F21 +R90 +F43 +N1 +F18 +S5 +R180 +F52 +L180 +W4 +F5 +L90 +F70 +S4 +N3 +R180 +F64 +R90 +F17 +R90 +E5 +F85 +N1 +F74 +E5 +F21 +N1 +F35 +N1 +F65 +W2 +F67 +N1 +E5 +F79 +S4 +R90 +F20 +R180 +W5 +L180 +S4 +F56 +S4 +L90 +E5 +F13 +S5 +F38 +W1 +S2 +L90 +N4 +E3 +R180 +W3 +N1 +R90 +F52 +N5 +F23 +E5 +F82 +E5 +S2 +E3 +N3 +S2 +L90 +N1 +R90 +S5 +F60 +W1 +N2 +W1 +N3 +E4 +F2 +E2 +L90 +S1 +L90 +E4 +N1 +R180 +E2 +R180 +F93 +F94 +L90 +S4 +E5 +R90 +F5 +S2 +E2 +S3 +E4 +R180 +F56 +E2 +N2 +F3 +R90 +W2 +F94 +W5 +F47 +L180 +F68 +E5 +F63 +S3 +E4 +F93 +L90 +S5 +L180 +W5 +S5 +W3 +L180 +F34 +R90 +F87 +W4 +S1 +W3 +R270 +S1 +E1 +F78 +E4 +R90 +F91 +W4 +S3 +W1 +F41 +N4 +E1 +F66 +S1 +W5 +F62 +N2 +W2 +L90 +W1 +F23 +L270 +N2 +W2 +S3 +F9 +R90 +F2 +E4 +F61 +L90 +W5 +N4 +F97 +L90 +F93 +N5 +L270 +R90 +W1 +R90 +R90 +N4 +E1 +F72 +N4 +R270 +F24 +W1 +F79 +S1 +E3 +N4 +E3 +L90 +W2 +S1 +R270 +W5 +F24 +E5 +S4 +F22 +L180 +F57 +S5 +R90 +N4 +W3 +F18 +N2 +R90 +E3 +F55 +N2 +R90 +S5 +F4 +W3 +L90 +N2 +W3 +L270 +E4 +R90 +F46 +S5 +N1 +F16 +N1 +R90 +F8 +L180 +N2 +W3 +N4 +E1 +S3 +L90 +F4 +E5 +N5 +E3 +R90 +F35 +N2 +F68 +F33 +E5 +F38 +E4 +F27 +R180 +S5 +F47 +R90 +F43 +R90 +S1 +F84 +L180 +F47 +R90 +N4 +E4 +F77 +R180 +N1 +E2 +S4 +F45 +S1 +L90 +E5 +F40 +L90 +W5 +F25 +W4 +R90 +F80 +N5 +E2 +F74 +W3 +N3 +E4 +F48 +N3 +R90 +N2 +W1 +L90 +S2 +F35 +L90 +E5 +R180 +W5 +N2 +E1 +L90 +N2 +F78 +S5 +R270 +S5 +R90 +N5 +E3 +L90 +S5 +F13 +S5 +F52 +L90 +N2 +R180 +E1 +F41 +S1 +F20 +N4 +F34 +N2 +F45 +E5 +L90 +W3 +L270 +N5 +F52 +R90 +N5 +E5 +N2 +W2 +W5 +R270 +W5 +F10 +N3 +F63 +N4 +F53 +L90 +E5 +L270 +F17 +N1 +L90 +F26 +F93 +R90 +S5 +R270 +S5 +R180 +N4 +F58 +L180 +F40 +S2 +F54 +N5 +F70 +W1 +N4 +W1 +L90 +W5 +R90 +N2 +R90 +S5 +F95 +W4 +L180 +E3 +F68 +S1 +F56 +R90 +W1 +L180 +F66 +R90 +S2 +F57 +L90 +E1 +F42 +S4 +F44 +L90 +F42 +E4 +R90 +S4 +W5 +R90 +E4 +S4 +E5 +F27 +R90 +N1 +R90 +E5 +R90 +W4 +S1 +F81 +N5 +R180 +S4 +E4 +F68 +S3 +L90 +E4 +E4 +L180 +E3 +F8 +W2 +L90 +S4 +L180 +N2 +L180 +E1 +R90 +W5 +N4 +W4 +R90 +F1 +S5 +E2 +L90 +F49 +N4 +W3 +R90 +E5 +F33 +R180 +S4 +E5 +S2 +F79 +W4 +F38 +R90 +F1 +L90 +F56 +L270 +N2 +L90 +E2 +L90 +F25 +W1 +S4 +L270 +W3 +R90 +N2 +F68 +E1 +R180 +W3 +R90 +W3 +R90 +S3 +F4 +W3 +N3 +R90 +W3 +N1 +F54 +W2 +S5 +E4 +F76 +F47 +N1 +F32 +L180 +L90 +F19 +N2 +E5 +L90 +E1 +L90 +E3 +R90 +F48 +R270 +S3 +R180 +S4 +F53 +R90 +F90 +E4 +F100 +L90 +F49 +N1 +W1 +F56 +E2 +N5 +L90 +F39 +R90 +W2 +F26 +E4 +N4 +L90 +F9 +L90 +F41 +W5 +N4 +S1 +W4 +N3 +R90 +N5 +L270 +F82 +L90 +F75 +S5 +F25 +S4 +F67 +N4 +F57 +E4 +N4 +F73 +W5 +L90 +E2 +R180 +N5 +L270 +W3 +F95 +W2 +S4 +E1 +R180 +N3 +W2 +N1 +F28 +N2 +R90 +E3 +S1 +F41 +E4 +N1 +R90 +F12 +L90 +N2 +S2 +E3 +F31 +W1 +L90 +E5 +S1 +F12 +R180 +W5 +R90 +F26 \ No newline at end of file diff --git a/2020/13/input.txt b/2020/13/input.txt new file mode 100644 index 0000000..66803ac --- /dev/null +++ b/2020/13/input.txt @@ -0,0 +1,2 @@ +1001796 +37,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,41,x,x,x,x,x,x,x,x,x,457,x,x,x,x,x,x,x,x,x,x,x,x,13,17,x,x,x,x,x,x,x,x,23,x,x,x,x,x,29,x,431,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,19 \ No newline at end of file diff --git a/2020/14/input.txt b/2020/14/input.txt new file mode 100644 index 0000000..7ce7c9a --- /dev/null +++ b/2020/14/input.txt @@ -0,0 +1,577 @@ +mask = 00101X10011X0X111110010X010011X10101 +mem[41248] = 4595332 +mem[26450] = 60 +mem[32210] = 982366 +mem[1060] = 234632920 +mem[20694] = 38159 +mem[45046] = 58906955 +mask = 010110010X1101XX11X0100001X0000X00X1 +mem[16069] = 7758 +mem[55864] = 2473265 +mem[37095] = 103513009 +mem[4911] = 1002 +mem[63231] = 6932274 +mem[21265] = 72322159 +mem[43724] = 16591353 +mask = 01001X01X101011101010101011X1X000000 +mem[63470] = 30339812 +mem[16920] = 471738 +mem[1014] = 29735753 +mem[61061] = 6866 +mem[8437] = 9138168 +mem[46487] = 1819945 +mem[2985] = 15040783 +mask = 0X10X1101111001X1X100X1X00011100XX11 +mem[32836] = 12902 +mem[60365] = 24782 +mem[29953] = 10085 +mem[18214] = 1160 +mask = 001011X10X11100000100X0X0X0X01011001 +mem[39434] = 37383633 +mem[278] = 670174555 +mem[34062] = 20749996 +mem[2583] = 6222093 +mask = 01X111X1001101X11110100XX001X1000XX1 +mem[6075] = 49890 +mem[9363] = 2392780 +mem[24967] = 218861 +mask = X110111X1XX1010101111X01XX1000X001X1 +mem[41334] = 11836 +mem[24242] = 7263066 +mem[17289] = 64986060 +mem[2583] = 4702503 +mem[21650] = 103905 +mem[134] = 486675 +mask = 00X010100110XXXX111000XXX1000011000X +mem[45307] = 37940 +mem[16597] = 224911 +mem[17943] = 392744 +mem[55001] = 622484 +mem[35954] = 470 +mask = 11X01011X11000X1X1100X100X011101X011 +mem[1005] = 56755 +mem[16146] = 4333571 +mem[32347] = 10486693 +mem[11452] = 377363 +mem[25158] = 328161913 +mem[51956] = 250388 +mem[10044] = 34078606 +mask = 011011X1X111010111110000X001X1X00110 +mem[8773] = 10575925 +mem[33116] = 175 +mem[36101] = 14593 +mask = 0100010X110X0101010XX10X011111XX1101 +mem[21083] = 1922 +mem[3653] = 912 +mem[26768] = 7321934 +mem[49134] = 17616 +mem[62950] = 41565481 +mem[12957] = 2136786 +mem[10324] = 17788 +mask = X11X0X0X11010101110X01111010X1100X11 +mem[5462] = 18755 +mem[39408] = 2435211 +mem[49271] = 6589 +mask = X1X011XX01X100010110001X0X0X111X1100 +mem[52570] = 2166 +mem[28731] = 16573421 +mem[18265] = 1192 +mem[22435] = 10856992 +mem[19263] = 7550 +mem[30541] = 434738 +mem[36101] = 869138 +mask = 010001X001010001XX010100000010110X01 +mem[52893] = 125505223 +mem[22919] = 597 +mem[62950] = 54107 +mem[52797] = 7649588 +mem[30421] = 3968 +mem[30429] = 614720 +mask = 01X0X10001X100010X1011XX00000X111X00 +mem[44718] = 11141064 +mem[42713] = 206218234 +mem[51781] = 527553473 +mem[1967] = 27527823 +mem[6386] = 5404 +mask = 00101X10XX11X0XX1110001000001110X11X +mem[62339] = 72046594 +mem[14657] = 3243652 +mem[750] = 40239 +mem[134] = 1936539 +mem[5775] = 266384125 +mask = 011X111XXX110X01X11X000X00010100011X +mem[2956] = 438895 +mem[41520] = 7282 +mem[42192] = 34769 +mem[8837] = 2587 +mask = 01XX11100101000X0X10011XX01010011101 +mem[12515] = 450388 +mem[62175] = 649233 +mem[54743] = 129273 +mem[10284] = 159823 +mem[31311] = 16983 +mem[56137] = 852771967 +mask = 11010X1X01010101X1010X11101111X00010 +mem[47190] = 526627409 +mem[34299] = 540572 +mem[61226] = 61426238 +mem[12892] = 61446 +mem[33421] = 4192 +mask = 0110111111X10101111010100XX01XX10100 +mem[41685] = 258 +mem[26983] = 60795579 +mem[28064] = 10483 +mem[33070] = 66557269 +mem[12624] = 448724 +mem[38125] = 141175913 +mask = 010X1X00X101000X0111010101XX01011000 +mem[12957] = 7693971 +mem[45285] = 4628 +mem[48546] = 799 +mem[17857] = 7578026 +mask = 00101X100101X0010110000000XX1010X110 +mem[41841] = 234511 +mem[27387] = 2990 +mem[24636] = 1269957 +mem[15638] = 428392 +mem[22064] = 272 +mask = 0XXX10X01011X011111000000XX0X100X010 +mem[26764] = 482715793 +mem[8422] = 70439 +mem[17857] = 28381730 +mem[4524] = 750659820 +mask = 11101100010100X1011000111000XX00X010 +mem[52570] = 517468200 +mem[25263] = 11113122 +mem[33421] = 32762600 +mask = 11101X01XX1000010X10111000X1101X0X00 +mem[16577] = 910 +mem[32450] = 16924479 +mem[4421] = 24801362 +mem[46638] = 8546454 +mask = 01X11X1101110101X1X1X010000XX101X001 +mem[34209] = 24703796 +mem[30481] = 831 +mem[46487] = 147322 +mem[38619] = 11686 +mem[26615] = 1174 +mask = 010X0X00110100X1XX000010110XX100X001 +mem[53587] = 198046 +mem[38420] = 22334 +mem[20181] = 962 +mask = XX101101X01000010XX01111001111010100 +mem[33812] = 107321 +mem[8613] = 7395 +mem[1117] = 149990 +mem[22919] = 23596 +mask = 1X01110110010X01X100000001111011X010 +mem[57800] = 254591077 +mem[6633] = 60308580 +mem[8980] = 104196938 +mem[5936] = 289911936 +mem[44806] = 297364592 +mask = 11X10XX0X1010X01010110XXX01111100X00 +mem[49271] = 177794 +mem[15368] = 259266583 +mem[19327] = 590 +mem[40243] = 24245 +mem[57130] = 1201404 +mem[22545] = 1831196 +mem[59161] = 25210381 +mask = 0X101X11111X010111100X110XX11000X10X +mem[38749] = 2091454 +mem[45138] = 621877 +mem[52107] = 3430339 +mask = 0010X110X11X00101X100011XX111X000100 +mem[17228] = 252642 +mem[23892] = 13721 +mem[43787] = 2786942 +mem[55481] = 58875 +mem[513] = 892 +mem[62445] = 40312 +mask = 0010X11XXX11001011X01010X0111110X100 +mem[17415] = 7415167 +mem[9048] = 46059 +mem[2159] = 636711036 +mask = X010111X111X010X1110X10100XX1000X00X +mem[38420] = 104527 +mem[24790] = 85 +mem[58634] = 127952377 +mem[8958] = 11672057 +mask = X01X111X00X110XX0X10000000000X0X0100 +mem[283] = 241 +mem[8898] = 36719 +mem[49134] = 217820 +mem[31884] = 419937 +mask = 0XX11110X1110X0101111000000100110X00 +mem[27694] = 6848 +mem[25843] = 331711 +mem[6688] = 581239 +mem[41591] = 171 +mask = 0100X100X1010X01010X001XX01XX1010101 +mem[30429] = 1103121 +mem[42192] = 7844667 +mem[21668] = 51727200 +mask = 001X1X10001X101XX1100X1000101100X010 +mem[4322] = 157863993 +mem[49962] = 9140 +mem[16964] = 1599 +mem[14443] = 2038 +mem[3767] = 16636129 +mem[13476] = 485497191 +mem[1663] = 163345 +mask = X101110111010101X1X10011001X10110000 +mem[13172] = 195 +mem[33921] = 5684133 +mem[1337] = 51317 +mask = X1XXX101110101X1010X0100XX111X101001 +mem[63928] = 4636 +mem[56436] = 3887978 +mem[6185] = 3037 +mem[7095] = 11521156 +mem[1663] = 121401 +mem[7218] = 20750 +mask = 010001001X0101010X00001XXX100XX10100 +mem[24149] = 309519 +mem[16287] = 12731276 +mem[29772] = 65227 +mem[37172] = 2824 +mem[17508] = 59271 +mem[22133] = 3806 +mask = 01X0X101011X000X0X101000100011111101 +mem[14401] = 158547520 +mem[37172] = 16841 +mem[40439] = 461272566 +mem[60909] = 478018315 +mem[43219] = 2154608 +mem[25369] = 46117 +mem[54852] = 79656 +mask = XX10111001X100X1X1100X1X0001110001X1 +mem[4213] = 900609324 +mem[19327] = 28071 +mem[30421] = 782 +mem[4804] = 17293 +mask = 0100X1000101X0010X010101X01000011001 +mem[18139] = 1546181 +mem[14021] = 33793814 +mem[46699] = 2014 +mem[51956] = 171606030 +mem[29702] = 475302805 +mem[18265] = 198549 +mask = 0101X0110X1X0101X1X1X01101001X001XX1 +mem[38962] = 132592128 +mem[9436] = 7464578 +mem[12650] = 49333 +mem[8837] = 3234578 +mask = 011X11101011X101111000XX001110001110 +mem[61694] = 1206 +mem[32263] = 20761769 +mem[2116] = 193628 +mem[13505] = 123039 +mem[62164] = 14323289 +mask = 1X101010100X0101X1110X01000101X00100 +mem[21385] = 1022949 +mem[51318] = 5667643 +mem[17420] = 36980027 +mem[29202] = 801 +mask = 0101X01XX11X0101X10110X1010001001001 +mem[15338] = 23103863 +mem[10488] = 4521 +mem[13172] = 17055515 +mask = X10111X11X01X111X100000000111011X111 +mem[36577] = 397263 +mem[8992] = 11944917 +mem[22064] = 738796 +mem[17310] = 1562710 +mem[30068] = 4950154 +mask = 011111X10111X10X010X00X1X100X0010001 +mem[31166] = 6551 +mem[62218] = 1528 +mem[11467] = 35999360 +mem[39578] = 11530695 +mem[30855] = 27864 +mem[18369] = 1610323 +mem[58953] = 12938251 +mask = 01X111010X1111X0010X0XX010000X000111 +mem[15411] = 1096 +mem[49541] = 3181 +mem[23568] = 276408 +mem[45168] = 1721 +mem[11394] = 155136 +mask = 1111X1X011010001X101010X100XX11001X1 +mem[61945] = 26647548 +mem[63262] = 110741 +mem[33783] = 158 +mem[12753] = 200460 +mem[43229] = 7579 +mem[37084] = 26507 +mask = 0100110011X10101010X00X01X11X1X10101 +mem[65089] = 636807464 +mem[5775] = 4440830 +mem[52107] = 69328099 +mem[38420] = 859060126 +mem[21272] = 1700 +mem[12062] = 176162 +mem[12094] = 8733 +mask = X100010111XX01X1X1010100X01101001X1X +mem[44718] = 33650499 +mem[26507] = 165784650 +mem[12622] = 2023 +mem[5651] = 120398699 +mask = 110001011X010X0111X10X00011110001X00 +mem[44975] = 666498 +mem[11614] = 751 +mem[61354] = 5063 +mem[4396] = 1131 +mem[25418] = 882 +mem[49245] = 64151 +mask = 011X1X110111X1XX11X1100X01000X101001 +mem[59013] = 1141214 +mem[18016] = 95668408 +mem[30067] = 18132964 +mem[38900] = 286972459 +mem[42265] = 13529062 +mem[59369] = 6028326 +mask = 0110110X010100010XXX0X00X0011X101X1X +mem[6479] = 8816055 +mem[28451] = 29446 +mem[61417] = 59156 +mem[6694] = 15597 +mem[29264] = 115437 +mask = 11110100110101011101XX0001X1X1110101 +mem[46886] = 114630 +mem[17383] = 452299 +mask = 010X110X11X10101000X001X011010000100 +mem[19215] = 487176198 +mem[59629] = 2120284 +mem[27009] = 3064 +mem[42335] = 22072 +mem[514] = 2010 +mask = 0100X1001101010X010000X0001000X00100 +mem[37232] = 2564 +mem[20561] = 29506163 +mem[27396] = 380700410 +mem[34075] = 868 +mem[24967] = 1882926 +mask = 010X1X01XX110111111X0XX0000X010X0101 +mem[61084] = 3068852 +mem[33028] = 188720342 +mem[17375] = 62850 +mask = X10X1X0X110101010X01001001101000X000 +mem[24149] = 1815 +mem[51489] = 197928369 +mem[27694] = 231814 +mem[11813] = 1002177793 +mem[526] = 104755102 +mem[22216] = 8396 +mask = 0110111101010001X1X0X11100X010001111 +mem[21083] = 2509191 +mem[13215] = 172339241 +mem[12386] = 106305632 +mask = X1X101X11101010101000X010X11101101X1 +mem[35709] = 64980388 +mem[51838] = 62510 +mem[48641] = 1174272 +mem[42157] = 149 +mask = 0X101100010100010X0X00X1100101111111 +mem[35807] = 1100541 +mem[10044] = 69616152 +mem[3047] = 142725213 +mask = 11101X1X10X101010111X001XX10X0X00100 +mem[38049] = 110 +mem[43097] = 14955394 +mem[61810] = 3545867 +mem[61238] = 5370 +mem[20585] = 191903 +mem[26133] = 24248 +mask = 010X110X011X00010110010100X0XXX1X011 +mem[15950] = 140910 +mem[12062] = 424527462 +mem[11876] = 236 +mem[5182] = 4776 +mem[50278] = 490 +mask = 010XX011011101X1110101110111110110X0 +mem[53736] = 2314 +mem[12633] = 5053 +mem[66] = 49557761 +mask = 01X01101X10101010101000X00111110100X +mem[18849] = 911 +mem[20666] = 12891678 +mem[5609] = 10432 +mem[59720] = 22145720 +mem[17508] = 42631 +mem[8585] = 3448 +mask = 11X1X10X110101X101010X01X0011011X001 +mem[30601] = 9140827 +mem[30361] = 4166366 +mem[46057] = 16057 +mem[26983] = 251682577 +mem[63197] = 1603252 +mem[52893] = 462048575 +mask = 011011100111X00X11100X00100010001XXX +mem[17534] = 25807901 +mem[4932] = 106350673 +mem[42192] = 735653575 +mem[10874] = 59007 +mask = 01000101110001X1XX001000001X1X011111 +mem[48049] = 386 +mem[1538] = 138451275 +mem[50333] = 15707 +mask = 0101100X01110111XX1X0000001011001X01 +mem[18139] = 102960 +mem[41277] = 5837 +mem[44484] = 29937 +mask = 11101XX10X1X0001011000100X010010X00X +mem[30615] = 95201946 +mem[719] = 3697022 +mem[27391] = 150969140 +mem[62680] = 427952 +mem[7349] = 46922 +mem[17375] = 41348888 +mem[57800] = 1901 +mask = 0010X11X1X11X011111X0011001X01001111 +mem[46994] = 118757653 +mem[32947] = 23571 +mem[8653] = 1364 +mem[3767] = 6954112 +mask = 01001X0011010X000111X0X0X1X011011XXX +mem[37908] = 88438829 +mem[20630] = 618075182 +mem[21520] = 101250753 +mem[10703] = 475904 +mask = 001001101XX10010111X1X10100111XX11X1 +mem[17310] = 2889476 +mem[2725] = 463419 +mem[65001] = 910330085 +mask = X1011011X111010101X110X1X1X0010110X0 +mem[15999] = 18586203 +mem[12825] = 51333145 +mem[29966] = 596120517 +mem[26866] = 141039 +mem[24223] = 415414 +mem[24403] = 16110598 +mask = 0XX00X01111X01110X011010101X01101010 +mem[43382] = 150995 +mem[28011] = 1021785 +mem[60339] = 7805893 +mem[37197] = 268431 +mem[17792] = 253366088 +mem[21437] = 24057926 +mask = XX1011X111100X00111X1100010111010011 +mem[18006] = 265940517 +mem[55921] = 1634 +mem[27656] = 17058 +mem[4911] = 3686 +mem[33243] = 8125794 +mem[47537] = 146165365 +mask = 110111011X01X1X10100X000010110111X0X +mem[5775] = 176470 +mem[63017] = 24003454 +mask = 00011X001X11XX11111X01101010X0000010 +mem[1604] = 174349 +mem[42888] = 7159712 +mem[26615] = 1487 +mask = 01X11101100111111X000X1001110001011X +mem[5344] = 8563500 +mem[21234] = 166162105 +mem[48935] = 10849963 +mask = 01000101XX0001111000XX0000X010010X00 +mem[24149] = 127627213 +mem[27338] = 43164114 +mem[47215] = 252815 +mem[47431] = 32732410 +mask = 01011100000100011X0X0XX101X111111100 +mem[13412] = 4193068 +mem[45046] = 148 +mem[63535] = 11659 +mem[6518] = 471308933 +mask = 111X111011X1X1X101111X000100001101X1 +mem[31114] = 118512878 +mem[41334] = 1604 +mem[7338] = 571 +mem[6001] = 4126415 +mem[5215] = 4392 +mem[47836] = 1862 +mem[22064] = 30804845 +mask = 0111010X11X1010X0101X1110011101X0111 +mem[13321] = 22426593 +mem[37095] = 5357 +mem[44281] = 467020 +mem[62680] = 2721559 +mask = 010001X0010100XX10010000011000101X00 +mem[30615] = 261491 +mem[31097] = 46202501 +mem[27880] = 6002395 +mem[51385] = 2780 +mem[51435] = 43181943 +mem[42192] = 107728750 +mask = 101011100X1100110X1X00X0101X10X11101 +mem[48366] = 859523 +mem[14111] = 859 +mem[21668] = 292390073 +mem[8073] = 858 +mem[12920] = 662378 +mask = X111X10011X10101X10101XX01111011X101 +mem[20630] = 4051571 +mem[55963] = 367 +mem[379] = 10962356 +mem[33028] = 37 +mem[24035] = 9459 +mem[50949] = 2030 +mask = 001011100X110X111X10101100011X010X11 +mem[8437] = 47226 +mem[41248] = 319 +mem[9624] = 3503 +mem[6875] = 5282 +mask = 11X111XX100101010100X01XX1X1001X1000 +mem[21292] = 1673693 +mem[51132] = 10346473 +mem[7504] = 4325 +mask = 111X010X1101011101X100010XX1X0111100 +mem[35415] = 6296 +mem[19215] = 1263591 +mem[49977] = 379136185 +mem[62950] = 28156510 +mem[8265] = 28662942 +mask = 01X110X01X1X0X11X1X00110000X01000100 +mem[54672] = 131784041 +mem[11394] = 24602 +mem[24646] = 10584 +mem[44349] = 4883 +mem[54743] = 2940969 +mem[8265] = 14841530 +mask = 0X10111X11100X0011X011XX00X011011010 +mem[49374] = 45910 +mem[25923] = 368017518 +mem[25114] = 8076340 +mem[62690] = 904875563 +mask = 010X11X0X1X1010X01010X01101001110101 +mem[39408] = 3080 +mem[6918] = 125955053 +mem[27880] = 29186 +mask = 01001101X101010X0101X1001111100010X1 +mem[11813] = 153838914 +mem[20585] = 1917 +mem[21385] = 1881773 +mem[8556] = 25758757 +mem[22435] = 802061 +mem[27631] = 13285866 +mask = 01101110111X0001011X10100X0100X10101 +mem[23441] = 186656612 +mem[2186] = 189388742 +mem[12866] = 874882 +mem[12947] = 23895 +mem[20630] = 77211 +mem[42083] = 63015239 +mem[51838] = 4984972 +mask = 00101110X111001X1X10001XX0X111XXX101 +mem[14789] = 244532376 +mem[21292] = 736136092 +mem[10874] = 513949 +mem[16755] = 12361 +mem[5416] = 22987 +mem[39578] = 106587 +mask = 010X11000X010001X1XXX0110011X1X1110X +mem[43479] = 61 +mem[47199] = 15617564 +mem[18265] = 6027808 \ No newline at end of file diff --git a/2020/16/input.txt b/2020/16/input.txt new file mode 100644 index 0000000..1735b50 --- /dev/null +++ b/2020/16/input.txt @@ -0,0 +1,265 @@ +departure location: 35-796 or 811-953 +departure station: 25-224 or 248-952 +departure platform: 47-867 or 885-959 +departure track: 44-121 or 127-949 +departure date: 49-154 or 180-960 +departure time: 35-532 or 546-971 +arrival location: 41-700 or 706-953 +arrival station: 25-562 or 568-968 +arrival platform: 31-672 or 680-969 +arrival track: 43-836 or 852-961 +class: 38-291 or 304-968 +duration: 31-746 or 755-956 +price: 46-711 or 719-971 +route: 35-584 or 608-955 +row: 39-618 or 640-950 +seat: 25-308 or 334-954 +train: 26-901 or 913-957 +type: 33-130 or 142-965 +wagon: 34-395 or 405-962 +zone: 46-358 or 377-969 + +your ticket: +97,103,89,191,73,79,83,101,151,71,149,53,181,59,61,67,113,109,107,127 + +nearby tickets: +895,527,676,768,695,821,473,414,835,426,741,650,886,709,938,355,113,358,106,888 +559,796,709,661,116,680,773,857,118,304,704,578,720,339,584,914,270,196,661,861 +390,557,348,432,734,441,74,761,272,266,531,704,52,78,200,478,455,664,663,339 +400,386,926,211,100,481,358,429,450,336,943,549,933,78,274,722,571,483,144,442 +579,509,478,975,218,855,93,759,92,406,339,648,144,128,478,948,489,482,547,926 +512,946,469,183,24,694,889,198,551,947,275,857,408,943,734,382,308,80,448,119 +305,830,449,54,518,193,663,825,95,946,484,672,248,701,257,395,827,783,218,189 +128,52,773,150,561,436,483,913,526,819,903,700,530,941,757,509,386,885,554,788 +779,947,111,357,206,252,661,481,124,450,773,554,779,827,116,466,259,434,901,898 +651,143,274,523,89,53,116,71,513,108,753,858,209,282,410,436,357,57,517,743 +87,691,793,306,426,127,152,836,192,497,276,418,66,771,147,910,824,917,767,510 +180,657,454,609,60,190,705,337,941,947,835,554,546,84,546,772,389,193,531,890 +128,387,865,735,462,548,652,89,902,728,490,490,278,931,81,265,449,523,948,112 +588,892,450,651,154,583,667,835,356,497,81,405,671,480,53,259,514,896,352,734 +928,686,618,946,933,205,485,392,445,119,69,248,265,398,522,725,438,781,821,555 +73,213,183,89,210,650,349,356,722,550,341,816,986,824,250,145,890,446,690,698 +488,462,456,569,746,471,460,995,916,777,526,116,520,71,762,569,455,472,890,647 +549,351,421,477,661,335,148,530,759,207,599,283,304,208,271,609,919,574,528,708 +610,833,569,613,672,664,924,99,94,389,819,664,727,739,249,768,836,911,252,825 +923,429,814,577,109,818,571,522,714,646,815,706,898,439,216,494,495,931,898,458 +96,852,211,822,181,71,697,709,542,745,273,813,493,499,474,196,469,79,276,792 +608,219,527,665,474,755,419,700,913,644,822,393,666,412,335,402,281,618,460,771 +267,438,112,433,853,103,676,766,187,831,490,569,927,826,771,334,773,377,342,209 +258,98,457,900,83,511,612,897,220,414,119,24,734,572,147,425,72,509,118,287 +81,386,854,74,363,118,738,448,53,772,526,112,198,948,926,915,186,526,408,501 +853,553,490,194,282,756,261,939,754,448,386,522,516,83,154,65,433,780,415,451 +153,702,580,200,948,198,146,379,121,109,759,114,153,659,794,735,852,568,347,84 +856,742,770,91,270,611,693,148,450,265,506,889,680,657,130,729,75,457,455,8 +188,553,865,61,184,208,643,405,996,212,856,574,943,470,745,532,185,811,613,735 +887,381,24,68,426,640,89,85,693,757,460,109,913,689,763,358,121,655,498,424 +772,771,418,58,922,152,272,378,689,254,290,568,453,24,73,768,254,457,503,896 +695,649,924,79,209,661,775,859,575,221,858,86,269,857,836,305,274,23,659,795 +61,553,740,52,522,270,388,124,736,660,457,897,262,665,833,104,442,530,270,479 +392,893,306,252,278,336,259,560,421,103,150,409,923,460,190,711,261,503,12,924 +863,768,397,857,384,260,70,916,96,470,390,466,472,666,442,50,457,819,532,69 +861,441,900,519,383,467,809,191,72,426,720,711,380,468,505,485,546,266,743,652 +189,82,440,738,685,640,507,194,699,694,449,449,404,437,553,113,947,433,925,64 +151,768,503,66,918,129,913,474,827,823,358,115,750,833,791,783,576,790,920,276 +432,813,10,925,689,694,558,462,813,194,515,739,476,210,490,182,726,609,480,421 +148,211,56,811,945,213,550,354,465,529,463,795,58,655,677,919,282,266,812,357 +462,455,76,737,383,471,663,617,811,84,97,796,263,546,930,442,871,409,827,467 +250,724,682,652,197,512,501,861,373,220,276,899,734,777,258,467,888,287,697,441 +89,918,763,793,208,823,694,467,212,264,755,889,104,643,530,766,702,767,462,154 +146,347,79,341,791,195,858,622,648,833,796,390,189,262,192,249,719,392,67,95 +367,144,697,887,430,506,343,739,220,283,455,469,507,471,684,85,547,489,856,832 +498,65,97,187,445,427,615,583,451,198,734,513,142,454,756,713,513,612,471,789 +501,483,212,690,715,739,735,410,900,561,584,336,855,727,651,70,526,613,776,527 +654,762,519,185,350,438,584,940,831,687,378,782,278,436,716,816,502,63,217,835 +825,265,471,920,584,286,118,109,616,271,772,511,192,726,633,103,407,416,419,418 +223,263,121,56,187,654,514,737,876,942,856,286,427,768,831,740,455,281,85,854 +486,642,271,617,576,672,459,151,763,890,665,697,708,96,180,678,98,579,854,354 +78,219,92,736,143,865,268,862,658,120,356,732,704,854,147,411,214,685,117,926 +491,777,270,230,62,552,477,427,618,337,213,508,790,571,345,512,410,69,72,552 +697,149,409,661,576,615,696,142,942,353,281,736,473,452,739,452,418,367,866,583 +354,738,737,108,637,112,211,825,356,926,520,766,345,355,700,948,279,212,764,90 +203,425,771,222,279,428,583,507,277,689,687,215,188,864,467,72,674,641,381,759 +479,763,261,511,655,62,568,781,656,223,530,75,692,987,104,935,266,733,467,262 +415,111,785,308,489,111,932,648,455,512,218,55,910,285,389,355,497,520,547,724 +650,76,531,598,767,216,406,947,438,212,920,256,611,572,660,395,865,789,251,856 +498,740,14,822,82,335,522,724,932,414,284,775,722,191,699,493,421,740,475,184 +151,337,451,581,663,419,279,400,646,272,64,744,181,684,512,727,393,142,739,469 +251,649,640,621,76,858,305,440,923,264,407,642,520,687,258,827,108,947,78,932 +832,546,893,919,218,96,196,478,418,769,722,864,576,382,597,787,392,949,655,691 +83,741,429,56,289,615,546,734,127,450,638,192,343,251,498,255,852,308,671,923 +447,818,826,743,145,695,285,485,414,432,864,358,95,481,104,931,10,734,561,931 +784,502,263,204,449,94,766,941,684,464,124,776,425,86,608,380,272,467,485,282 +261,449,457,646,349,721,199,466,731,783,198,192,61,455,901,366,512,449,725,70 +449,145,579,783,501,426,111,736,277,257,433,864,455,217,289,600,128,642,573,51 +21,788,352,920,184,794,783,938,785,405,614,885,580,102,515,129,57,502,93,938 +578,664,726,192,224,484,761,452,105,436,556,240,765,671,273,249,920,663,896,858 +217,436,644,118,743,764,671,273,746,922,891,721,390,856,897,561,910,826,788,117 +507,618,859,708,149,687,922,181,119,350,671,391,457,980,727,554,786,788,386,441 +617,478,483,217,640,929,183,935,274,771,245,258,664,385,834,286,79,434,448,145 +428,946,524,413,402,51,496,115,777,682,64,378,681,493,520,609,147,77,900,692 +261,642,350,949,640,561,626,63,394,254,829,525,886,584,51,409,380,812,515,550 +282,66,827,524,274,514,830,356,703,818,721,862,532,447,405,614,901,949,334,561 +101,546,574,365,439,390,922,96,581,72,896,782,80,513,439,280,78,149,520,291 +183,854,86,307,796,500,150,103,358,725,368,937,191,211,900,644,732,742,198,142 +616,558,63,650,349,127,349,554,484,80,103,261,678,407,832,212,265,187,767,693 +441,943,943,730,689,980,471,183,348,289,948,820,641,469,569,666,914,438,575,609 +860,482,775,386,283,487,216,717,930,513,53,255,335,756,502,392,378,199,720,790 +781,656,555,584,206,284,519,490,890,463,679,272,289,776,559,408,343,206,572,486 +665,795,189,287,569,889,387,363,939,207,523,501,819,856,259,516,146,210,816,855 +857,78,94,277,821,336,715,663,760,184,934,460,424,528,511,478,780,892,214,738 +568,457,280,108,243,892,831,917,127,928,351,99,282,103,889,645,767,416,380,349 +933,760,991,736,661,127,853,682,756,180,291,216,83,825,935,651,146,113,498,813 +84,408,381,551,50,274,696,471,15,514,612,616,197,780,916,198,763,102,523,503 +584,416,85,180,931,485,900,761,674,358,915,502,103,938,946,614,728,290,471,892 +695,51,391,102,251,560,391,334,23,578,80,731,729,482,811,61,919,769,87,272 +827,143,548,613,933,986,813,513,664,283,796,860,268,933,493,568,444,391,383,855 +780,504,571,489,910,927,254,71,889,430,405,59,472,886,482,486,826,887,700,781 +60,341,248,187,998,265,128,338,506,65,698,664,741,186,284,711,277,867,550,559 +406,304,376,249,742,790,181,345,62,668,498,645,684,822,180,478,812,74,432,506 +270,381,831,187,680,283,241,608,735,496,130,724,530,892,792,81,419,772,655,351 +482,106,781,656,336,736,64,737,192,357,264,663,185,709,988,383,191,443,217,97 +267,944,254,179,82,486,290,794,86,496,617,662,762,308,450,385,180,683,479,215 +926,406,626,860,422,897,710,735,693,82,520,561,180,268,252,651,922,250,554,251 +468,475,923,562,8,289,924,914,944,392,216,51,485,60,196,927,187,815,78,290 +61,855,766,451,864,361,271,105,153,927,338,939,475,788,60,939,104,212,546,900 +704,512,570,707,831,427,571,487,429,945,217,186,344,474,50,571,493,405,708,441 +388,867,405,398,740,196,147,451,470,546,460,128,98,77,405,776,285,510,824,153 +279,438,550,654,392,979,461,852,692,560,56,931,920,69,614,642,427,930,512,116 +116,78,490,214,275,494,488,550,397,435,206,144,461,898,947,901,688,557,482,51 +579,519,554,903,552,731,59,211,729,654,823,761,154,514,65,888,494,697,348,142 +68,129,412,83,870,932,154,643,730,786,659,352,835,681,524,433,658,436,261,347 +488,814,279,774,821,105,710,483,16,105,460,520,477,786,546,206,75,554,70,699 +652,515,670,211,289,611,348,896,926,199,691,282,718,349,291,104,209,201,823,692 +355,87,455,472,934,568,832,827,340,776,261,818,1,143,933,722,482,287,698,785 +449,557,357,270,94,463,647,885,853,701,61,59,761,923,578,611,424,729,920,81 +619,826,258,520,738,779,577,90,719,757,513,658,338,683,836,918,288,463,691,340 +646,128,424,440,87,709,788,391,305,308,381,188,746,78,794,386,636,813,500,270 +191,778,659,767,346,257,95,154,393,423,609,380,107,617,857,347,122,142,223,431 +516,71,889,922,407,522,870,736,777,147,394,118,818,689,358,344,470,207,526,761 +98,97,682,814,62,20,108,828,482,711,524,764,201,771,834,186,495,409,418,434 +287,305,54,611,337,489,771,537,816,683,517,465,304,220,515,770,467,572,148,666 +215,390,287,269,284,121,727,925,305,815,347,87,808,193,121,97,577,524,820,186 +266,213,87,854,580,489,764,57,275,250,538,338,547,307,269,121,143,106,115,183 +555,893,866,888,522,195,404,557,455,647,774,494,818,109,784,571,66,822,671,440 +658,555,105,338,505,661,573,740,127,508,56,667,642,449,658,111,120,398,255,60 +277,65,550,280,640,817,900,262,490,419,791,201,266,548,881,219,350,287,260,821 +494,478,573,415,928,70,821,231,394,121,383,562,666,440,664,77,474,348,380,820 +666,260,412,534,918,655,449,283,743,463,90,727,558,76,113,711,612,824,745,941 +898,815,783,816,94,289,69,222,480,201,108,640,580,522,205,117,468,715,127,781 +942,472,648,744,925,112,903,781,410,106,897,274,306,818,781,575,896,664,450,647 +407,390,945,269,818,584,616,96,642,185,813,127,900,830,708,475,221,888,366,650 +249,407,939,915,95,265,439,436,164,71,766,943,197,110,115,75,890,63,84,268 +277,82,617,513,128,334,114,549,621,284,653,709,818,104,836,478,892,181,113,205 +443,473,198,416,918,642,646,795,900,488,1,920,728,443,824,188,695,578,522,78 +80,443,451,573,181,518,592,735,688,110,919,143,387,64,142,411,193,252,643,919 +392,492,486,95,528,252,448,934,527,579,796,902,822,305,477,270,468,923,859,889 +643,356,190,830,863,153,76,91,932,457,691,880,344,775,108,512,512,286,61,769 +146,490,417,429,687,395,525,477,930,521,61,268,444,184,64,77,235,466,110,727 +461,582,343,666,825,188,84,941,886,107,382,129,487,660,261,173,192,72,53,913 +128,935,546,419,143,787,83,779,577,431,859,658,496,475,403,52,380,357,863,548 +472,900,916,942,777,776,433,659,422,357,53,826,204,182,19,686,575,796,509,532 +908,201,268,129,858,495,916,711,697,854,224,757,308,406,484,477,426,503,687,89 +794,628,392,180,822,508,555,787,57,202,568,387,507,937,185,916,575,514,103,91 +519,348,79,82,745,708,515,99,111,416,564,411,385,652,76,409,818,758,469,473 +489,121,342,573,488,439,504,435,519,919,62,265,764,690,927,622,788,348,823,556 +660,501,588,654,478,660,725,721,653,352,581,343,88,196,286,616,787,532,830,644 +766,525,582,471,947,198,501,89,104,900,745,685,362,455,249,211,389,812,506,113 +425,506,457,255,289,492,498,468,707,766,180,386,609,742,57,564,828,782,769,515 +275,363,148,699,351,525,812,767,67,932,87,551,308,866,112,188,304,440,431,392 +424,414,510,822,223,709,419,55,73,546,203,404,759,860,279,273,927,474,347,861 +505,439,783,384,765,719,58,415,353,778,418,674,147,433,794,93,945,823,411,70 +918,250,934,436,812,385,207,675,481,383,405,345,208,618,681,84,87,785,616,215 +264,94,350,861,116,502,155,946,578,938,391,187,96,666,491,927,653,260,220,429 +391,895,497,648,495,81,256,887,348,181,216,354,213,657,501,561,743,483,824,998 +938,854,791,777,740,100,767,862,648,432,942,104,562,93,670,216,650,6,220,526 +255,110,477,344,347,887,124,552,82,895,147,58,260,77,424,813,615,444,223,928 +925,691,345,895,708,388,860,249,563,119,503,928,865,97,498,492,202,426,661,117 +472,96,280,424,480,440,348,896,73,503,718,862,730,899,260,941,469,337,186,259 +708,646,6,220,482,700,202,918,889,337,831,130,656,890,921,766,530,210,66,381 +524,508,528,346,649,77,433,939,935,793,423,304,318,97,671,932,562,736,726,253 +145,215,651,721,675,819,206,696,723,111,216,512,385,285,928,726,709,495,437,666 +118,288,95,866,435,102,353,196,335,935,145,105,125,508,306,438,818,261,854,736 +656,529,742,807,189,416,856,290,414,933,88,572,348,473,925,104,831,186,281,665 +249,198,417,714,279,936,813,814,823,357,351,89,304,60,936,503,103,377,381,505 +787,933,280,527,492,704,405,252,468,785,305,457,431,193,378,521,896,283,422,741 +814,860,216,405,129,790,490,906,465,929,181,478,667,93,497,888,423,641,866,502 +834,521,429,529,388,792,477,216,440,683,739,251,831,360,770,650,51,337,727,205 +204,401,110,794,394,682,569,95,190,287,720,515,70,524,440,191,501,442,853,644 +186,259,509,476,664,687,865,420,186,220,480,651,229,933,153,765,497,546,471,580 +405,916,150,514,702,387,741,939,385,896,576,824,487,504,866,867,356,734,889,581 +734,358,829,735,548,142,437,388,331,773,455,182,152,336,459,489,483,79,581,470 +67,656,820,264,406,739,698,51,516,547,822,128,580,191,71,0,562,857,550,103 +513,490,822,982,934,763,555,194,145,789,99,917,380,253,504,388,344,420,75,180 +101,662,492,414,147,343,818,668,490,488,69,715,406,731,552,81,357,477,945,833 +495,931,719,384,274,145,366,98,501,356,654,437,507,898,248,406,387,556,757,381 +410,423,821,395,984,521,862,260,190,611,654,709,213,145,264,84,935,496,248,385 +494,94,549,59,784,488,435,685,191,769,181,143,213,441,918,7,90,446,514,734 +886,505,744,566,855,288,441,655,487,507,417,744,901,786,278,431,211,769,778,570 +85,812,930,667,610,117,735,881,706,414,65,857,289,287,758,109,556,891,103,84 +79,476,445,211,515,707,725,557,859,80,393,792,600,470,427,478,120,390,504,930 +552,896,73,618,449,447,692,818,662,887,338,820,690,185,406,553,586,643,335,75 +745,668,406,877,551,76,756,501,785,98,459,304,519,720,57,469,416,739,668,793 +276,834,581,258,764,557,184,760,186,859,857,175,939,924,578,759,866,349,681,287 +578,153,766,489,349,406,276,380,709,55,852,304,222,859,900,878,492,347,437,925 +579,665,790,901,416,929,75,914,940,205,814,354,196,681,909,432,652,265,651,194 +58,505,344,79,528,418,731,121,604,142,270,150,780,257,88,355,789,935,83,337 +455,419,391,189,187,497,687,531,130,129,400,856,206,276,260,273,727,696,571,769 +886,920,698,784,582,611,698,856,440,248,475,392,876,463,190,443,914,70,697,222 +91,205,353,920,477,475,153,672,948,573,485,270,665,480,63,222,784,473,457,993 +738,745,212,346,653,828,50,860,379,118,921,694,540,819,214,147,657,94,55,497 +793,17,194,925,150,350,755,554,508,252,527,289,55,253,694,509,769,102,59,118 +461,250,272,394,480,248,758,890,667,128,575,217,842,700,649,792,212,693,897,96 +926,928,558,452,588,515,289,459,221,481,913,60,465,61,143,580,415,744,442,685 +267,152,772,891,153,257,448,895,115,612,520,538,710,698,885,463,195,746,86,466 +776,89,497,277,344,684,573,414,194,455,667,626,127,523,271,283,340,446,471,784 +334,641,853,473,278,452,94,763,644,690,831,738,136,256,733,922,935,462,768,776 +249,142,256,97,75,562,458,828,865,680,444,361,644,464,930,423,789,84,688,419 +706,52,714,347,510,782,286,428,708,113,505,89,901,834,770,120,511,427,204,63 +86,62,501,468,64,885,105,641,214,825,453,560,388,764,79,123,690,413,380,487 +96,885,505,689,938,511,483,189,202,97,355,792,500,689,392,336,713,740,853,788 +531,89,925,122,261,479,923,864,816,106,568,453,692,518,556,929,709,78,928,790 +456,513,395,212,757,730,729,653,724,975,429,756,457,418,489,725,929,528,437,184 +947,854,154,255,95,70,724,682,226,94,423,187,641,616,252,105,885,558,658,695 +663,386,584,556,209,277,542,732,552,106,818,819,690,415,415,478,216,219,815,218 +272,743,99,339,74,647,72,488,577,353,89,426,91,745,823,135,782,757,773,57 +81,826,492,113,562,66,430,287,830,370,284,434,547,142,899,338,765,378,732,644 +644,350,490,929,901,816,942,69,493,257,118,695,858,713,79,222,500,343,116,608 +487,412,702,771,418,722,857,475,437,450,812,830,250,490,561,553,658,709,90,462 +550,60,90,145,429,203,991,509,94,283,500,608,468,892,460,617,916,277,857,474 +524,695,889,437,582,895,901,422,761,691,107,117,476,54,818,807,269,517,928,894 +507,715,776,831,120,385,338,415,377,95,579,445,696,785,91,696,274,568,307,415 +85,90,129,78,940,774,521,468,459,101,431,348,255,205,416,24,66,434,287,755 +897,937,896,507,895,657,932,858,819,890,471,430,994,681,410,420,925,498,280,940 +50,941,470,745,458,72,271,740,288,546,549,125,504,467,248,254,184,767,91,51 +575,461,649,149,54,762,925,613,741,584,408,922,738,305,377,703,433,410,755,81 +507,269,148,886,180,659,817,71,466,476,111,336,498,782,361,707,915,576,650,478 +764,475,57,763,925,88,515,555,803,641,351,414,271,548,121,657,719,467,860,473 +484,764,910,487,191,204,721,682,113,187,926,569,441,337,761,787,142,202,353,106 +714,437,468,562,811,198,443,420,118,610,743,923,666,643,513,743,934,354,433,357 +513,578,744,574,721,739,551,488,207,574,865,145,901,103,701,508,218,818,264,777 +684,572,186,679,944,776,78,105,947,212,937,424,857,412,929,787,532,186,260,812 +423,259,558,577,648,425,306,672,307,714,550,573,348,612,249,744,253,521,427,193 +270,273,474,746,531,836,269,443,471,433,100,732,625,510,654,557,894,420,688,248 +825,522,945,833,262,507,82,601,680,945,446,946,921,89,477,513,411,276,70,151 +472,664,80,343,277,669,268,224,59,791,347,342,128,934,645,741,375,379,687,185 +668,894,212,392,95,491,791,264,573,812,894,698,728,73,767,448,794,634,116,213 +885,52,940,305,788,558,447,705,744,526,557,571,549,777,690,886,393,392,377,518 +107,344,897,693,767,468,249,560,570,289,121,341,608,435,412,860,399,778,646,470 +429,351,515,87,726,888,523,650,418,464,803,200,666,56,813,829,670,816,192,657 +279,187,280,500,382,942,52,687,853,62,491,306,934,506,699,321,796,381,934,55 +69,772,786,783,722,222,759,358,265,853,710,445,567,920,770,645,936,224,80,733 +377,795,794,438,256,813,829,852,511,919,872,662,200,188,457,889,942,467,519,503 +437,96,211,829,931,335,347,811,409,700,736,20,119,525,395,338,930,474,734,486 +502,199,287,285,471,551,488,252,895,466,104,415,156,945,512,51,358,830,340,859 +129,340,461,772,670,686,812,386,438,744,662,590,532,811,577,143,641,888,308,934 +85,815,948,571,117,949,516,980,822,58,258,737,856,573,212,819,923,531,914,949 +945,531,934,344,917,692,343,281,291,288,164,811,697,899,897,187,928,266,285,852 +377,420,283,655,127,421,221,740,550,611,50,306,417,80,610,392,429,705,477,852 +116,211,852,422,484,933,215,215,760,202,349,789,440,685,615,536,149,616,729,568 +497,393,743,867,60,863,150,13,939,149,56,527,783,111,782,493,671,280,260,923 +742,284,811,708,148,710,925,265,734,413,384,731,992,689,467,784,103,886,259,73 +484,349,479,705,188,188,933,465,221,722,72,571,274,735,456,866,192,818,76,393 +942,998,248,914,272,380,380,924,461,61,291,392,154,709,420,574,813,493,786,511 +55,50,353,792,84,721,865,223,205,833,997,930,579,761,583,98,727,744,647,780 +766,82,280,201,943,695,516,898,68,143,682,205,387,780,433,230,744,200,690,936 +205,558,687,475,90,337,920,665,529,196,456,445,283,55,120,749,60,304,553,389 \ No newline at end of file diff --git a/2020/17/input.txt b/2020/17/input.txt new file mode 100644 index 0000000..e0779e1 --- /dev/null +++ b/2020/17/input.txt @@ -0,0 +1,8 @@ +##.#...# +#..##... +....#..# +....#### +#.#....# +###.#.#. +.#.#.#.. +.#.....# \ No newline at end of file diff --git a/2020/18/input.txt b/2020/18/input.txt new file mode 100644 index 0000000..dd473c0 --- /dev/null +++ b/2020/18/input.txt @@ -0,0 +1,370 @@ +2 * (8 + 3 * 3 + (4 + 5)) + 7 * 2 +2 * (5 * 7 + (2 * 2 + 7) + (5 + 2 * 8 + 4 * 4) + 9) * (9 * (7 * 2) * (7 + 3 * 3 * 2 + 4) * 9 + (2 * 4 * 9) + 8) + 6 * (8 + 2 * 8) +5 * 3 * 7 * 2 * (5 * 9 + (3 * 5 * 2 + 6 + 7) + (6 + 2 + 9 * 7) + 4) +(9 + (7 * 5 + 9 + 2) * 7 * 7 * (7 * 9)) * (7 + 4 + (2 + 9 + 7 + 5 * 9) * 7) + 5 + 6 + 6 + 5 +4 * 2 + 4 + 9 * (4 * 4 * 7 + 9 * 7 * (4 * 2 * 2 + 2 * 4 + 4)) * 8 +6 * (6 + 6 * (2 + 2 + 6 * 9 + 4 * 3) + 4 * 4 * (3 * 2 * 8 * 2)) * 7 * 2 +5 * 7 * ((7 * 2 * 2 * 2) * 5) +5 * (4 + 9) + 3 +4 + (7 + 7 + 3 + 5) + (7 * 8) +8 + 9 + (9 + (6 + 2) * (6 + 9) * (6 + 5 * 2 + 7 + 3) * 8 + 9) * 8 * 3 +8 + (5 + (2 + 7 + 9) + 2 * 9 * 5) + 4 + 2 + 7 +(3 * 6 + 3 + 6) * 9 * 7 + 2 + 7 +9 * 4 + 3 + 3 + 2 + 5 +8 + (3 + 8 + 6 + 2) * (9 * 6 * 5) * 3 + 2 + 4 +6 * ((7 * 7) * 7 + 9) +5 + 7 + (2 * 5 + (8 + 2 * 5 * 3 * 6)) + 8 * 8 +(8 + 5) + 3 * (3 * 5 * 9 * (9 + 3)) * ((5 * 2 + 9 + 3 * 3) + 3) * 9 +5 + 4 + 5 + 3 * (5 + 9) +9 + 5 + 5 + 3 * (3 + 5 + 7 * 5 * (4 + 3 + 6)) + 2 +2 * ((3 * 7 + 9 + 3 + 6) + 7) * 5 + (7 + 9) * ((8 + 6) + 9 + (8 + 7 * 3 + 2)) + 6 +9 + 7 +6 * (9 * (6 * 4 * 9 * 4 * 2) + 9 * 5) +3 + 5 + 2 + (6 + 6 * 2 + 7 * 3) * 7 * 6 +8 + 3 + 8 * (7 + 4 * 8 + 6 * (6 + 8 * 4 * 7 * 9)) +6 * 6 * (3 * 5 * 8 * 6 + 3 * (7 + 6 * 3 + 5)) * 7 + 2 * (4 + (4 + 2 * 6 * 4 * 4 * 8) + 6) +(5 * 7 * (9 * 3 + 2 * 6)) + 5 * 5 +3 + 4 * 7 + 8 + 4 +2 + 9 + 8 + 8 + (3 + (6 + 7 + 5 * 5 + 9 * 3) * 2 * (8 + 3 * 9 + 6 * 2) * (7 * 8) + 9) + (8 * (5 + 6 * 4 * 6 * 5) + 2 + (4 * 5 + 9)) +(9 * 8) + 7 + ((3 + 9 + 5 + 3 * 2) * 4 + (7 * 8 + 5 + 8) * 3 + 6 + 6) +4 * 6 * 7 * 2 +(6 * 6 + 7 + 3 + (2 * 3 * 8 + 6 + 4) + 2) * 6 * 4 + 4 +((7 + 4) * (9 * 4) * 2 * 3) + (3 * 2 + 4 * (2 + 7 * 9 + 7 * 6) + 6 + 9) * (8 + 9 * 5 + 8 * 3) * 5 * 8 +(3 + 7 * 9 + 3 * 7 * 8) * 4 * 4 +4 * ((3 + 4) + 5 + 9 + 9 * (7 + 8 * 7)) * (5 + 2 * 6 + 7 * 3) + 9 +5 + 8 * 5 + 4 * ((4 * 6) * 5 * 5) + 6 +4 + (4 + 8 * 6 + 3 * (7 * 8 * 6 + 6) * 6) + (3 + 9 + (3 + 8) * (3 * 6 * 2 + 6 * 7) + 7) + 4 + 2 +3 * 8 + (6 * (6 + 6 * 3 * 8 + 5 + 2) * (3 + 4 + 4 + 3 * 4) * 9 * (7 + 3 * 3 + 5)) + (2 + (7 * 6) + 2 * 3 * 4 * 8) +2 * 3 + ((9 * 3 * 7 * 5 * 5) * (3 + 5 + 9 + 6 + 5 + 2) * 6 + 6) + 5 +((3 + 8 * 6 * 5) * 7 * 4 + 5 + 2 * (6 * 8 * 5 + 5 * 8)) + (7 + 7 + 9 * 3 * 4 * (6 + 7)) +2 + (8 + 9) + (9 + 6 + (2 + 5 * 3) * 9) + 6 +8 + (8 * 2) + 3 + 3 + 7 * 8 +8 + ((3 * 7 * 7 * 3 + 2) + 6 + 5 * 4) + 2 * 4 +(4 + 5) * (8 * 6 * (3 + 6) * (7 + 5 * 5 + 7 * 7 * 7) + 8) * 8 +8 * 3 * 9 + (9 + 9 + 9) * 3 * 7 +(9 * 7 * 8 + 8 * 9) * 4 + 9 +7 * (7 * 9 * 9 + (6 + 4 + 3 * 9)) * 8 + 8 + 2 +6 * 7 + 7 * (4 * (2 * 8 * 8) * 5) + 6 + ((7 * 7 * 7 + 6 + 4 + 5) + (2 + 4 + 5 * 7 * 6) + 3) +(5 + (7 + 7 + 8) * 2 + (7 + 6 + 6 + 3 + 9 + 7) * 4) + 2 * 8 * 2 + 4 +(3 * (5 * 3 + 2 + 9 + 8 * 4) + 4 + (3 + 2 * 7 * 8 + 9 * 7)) + 9 + 9 * 4 + 2 * (7 + (5 + 7 * 4) * (9 * 2 * 4 * 9 + 3) + 8 * 7 * 3) +(5 * 2) + (3 * 6) + 5 + 2 + (9 * (9 + 6 + 8 + 5 + 4 + 9) * 2 * 7 * 4 + (3 + 4 * 7)) +5 + (8 + 9 + (9 + 7 * 4 * 4) * (7 * 2 + 2)) +((8 * 5) * 4 + 5 * 4 * 4 * 2) * 8 +6 * (3 + (3 * 3 * 6) * (3 + 7 * 2) * 7) + 6 * 9 +3 * 2 * 4 + (6 + 9 * 4 + 7 + (4 * 5) + 6) + (7 + (6 + 5 + 4) + 6 * 9 + (6 + 9 * 5 + 6) * 3) + 5 +(3 * 4 * 2 + 2) * (2 + 5 * 4 * 9) * 6 * (2 + 5 * 9 * 6 + 9 * 4) + (4 + 4 * 8 + 8) * 6 +7 + (4 * (8 + 2)) * 3 + (4 + 3) + 8 * 2 +2 + 6 + 8 + (4 * (6 + 7) + 6 * 5 * 8) + 9 +(4 * 9 + 3 * (2 + 4 * 2 * 8) + 3) * (3 * 9) + 7 * 3 +4 + 7 + (8 * 5) +3 * 7 * 7 + 4 +7 + 5 + (8 + 3 * 7 * 3 * 4 * 8) + 4 * 3 * 2 +(9 + 8 * (2 * 8)) * ((8 + 4 * 5 * 3 * 6) + (8 * 7) + 6 * 2) +(3 * (6 + 2 * 2 + 6 + 2 * 8)) * (9 + 2 + 6 * 6 + 3) +(7 + 8 + 7 + 7) + 9 + 2 + 3 + 8 * (7 + (8 + 2) + 2 * 8 * (2 + 8 + 8 + 8 * 8 * 5) + 7) +2 * (2 + 3 * 9 + 8 + 7 + (4 * 4 * 2)) * (7 * 6 * 7 * 6 + 4 * 4) * (3 * 6 * 5 * 8) + 2 + 7 +9 + (9 + 5 * (2 + 9 * 7) * 2) * 8 * 9 +4 + 7 * 5 + 3 + 9 + (8 * 3 + 9 + 5 + 2 + 7) +(2 * 6 + 2 * 3 + 4) + 6 +7 + (9 * 2 + 4) +(4 + 6 + 3 * 2 * 9) * 8 * 6 * 5 +(5 * 7 * (3 * 6 * 4)) * (7 + (4 + 9)) + 7 * 2 + 8 +4 + ((6 + 4) * 6 * (2 + 3 + 5 + 7 * 6) * 2) + 6 + (3 * 9) * 6 +((6 + 4 + 9 * 6 + 8 * 2) + (4 * 4 * 2 * 9 + 3 + 3) * 7 * 2 + 6) + (2 * 9) + 6 * 6 * 8 +(9 * 7 * 2 * 3 * 3) + (4 * 5 * 5 * 4 + 9 * 3) + ((3 * 2 + 8 * 5) * 8) + 4 * 7 +4 + 7 + 9 * 7 * (9 * (4 * 8 + 8 * 9 * 5) + (6 * 2 + 6 + 2 + 4) + 8 * 6 + 9) +9 + 6 * 6 * ((2 * 3 * 5) * 5 + (6 + 4 * 4 * 8 * 3 * 6)) + 8 * 9 +9 * ((6 * 9 * 5 * 6) * (3 + 5 * 4 + 3 * 3) * 8 * 3) + (9 * 7 + 6 + (2 + 8 + 6 * 2 + 5 * 8) + 9 * 3) + 2 * 5 +3 + 4 * 4 +(4 * 6 + (6 + 9) * 3) + 8 * (3 * 6 + 8 + 3) * 7 +4 * 3 + 3 + 8 + (2 * 9 * 4) +8 + 6 * ((2 + 2 * 6 + 9 * 8) + 9) +9 + (7 + (8 + 3 + 2 + 2 * 6) + 7 * 3 * 5 + (4 * 7)) * 9 + (8 + (3 * 6 + 8) * 7) + (7 * 9 * 2) +7 + 5 * 7 + 8 + (9 * 8 * 4 + 2) +3 + 6 + (2 * 9) * 7 * 6 + 7 +((4 + 5 * 4 * 8 + 4) + (8 + 2) * 5) * 7 * 7 + 7 + 9 +(4 + 8 + 6 + 9) * 4 +(3 + 3) + 8 +3 + (3 * 8 + (4 + 2 * 4) * 5 + 7) +2 * 3 * 3 + 9 +7 * 6 + 9 * (5 + 4 + 2 * (5 + 5) + 5 * 8) +2 + 5 * 6 * (2 * 8 + 7 + 3) + 7 +(4 + 4 + (5 * 5 * 7) * 6) + 2 * 9 + 3 + 3 + 6 +5 + (7 * 6 + (3 + 9 * 5 + 2) * 9 * (7 * 9 + 8 + 9)) + 5 +5 * 5 * (8 + 9 + (2 + 5 * 3 + 5 + 8)) * 4 +3 * 9 * (8 * 6 + 8 + 8 * 4) * ((2 + 2) * 2 + 8 + 5) +(2 + 8 * (6 * 5 * 4 * 8 + 8 * 2)) + 2 * 2 * 6 + 7 +(2 + 6) * 4 + 2 * 4 * 7 * 7 +((9 + 6 + 2 * 3 * 4 + 6) * 2) + 5 + 3 +2 * (8 * 6 + 8 + 9 * 5) + (5 + 5 * 7 + 4 * 7) +((3 + 7 + 6 + 5) * (7 * 5 * 6 + 9) * (8 * 5 * 4 * 5) * 9 * 3) + ((9 * 7 * 5 + 8) * 6 + 7 + 6) + 5 + 6 * 6 +6 * (7 * 6 * 2 * (8 * 8)) * 4 +((5 * 9 * 6 * 8 + 9) + 4 + (5 * 4 + 2 * 7 + 4 * 9) + 4) * 6 * 6 + 5 + 3 * 2 +5 + (7 * 7 * (9 * 8)) + (8 + 6 + (3 + 5 + 7 + 6) + (7 * 6 + 2) + 8 + 2) +8 + 2 + (9 + (4 * 5 * 4 * 9 * 8)) * 7 * (8 * 9 + (2 * 7 * 4 * 7 * 3 * 4) + (4 * 8 * 4) + 3) +(4 + (9 + 7)) * (8 + 4 * 9 * 7 * 6) * (6 * 9) +4 * 8 * (6 * 3 * 8 + 8) * 8 +6 * 9 + 8 + 6 * 3 + 7 +4 + (7 * 5 + 8 * 2) * 2 * 6 + 3 +(9 + 8) * 7 * (9 * (2 * 7 * 6 + 4 * 4) + (9 * 5) * 2 * 5 + 8) * (2 + 2 * 2) +8 + (5 * (7 + 6) * 3 + 7 + (2 + 7 + 9 + 4 * 6)) + 7 + 8 + 4 +8 + 5 * ((5 + 3 + 7 + 3 * 7 + 7) * 4) +6 + (4 * 6 + 5 * 4 * 3 * 2) + 6 +(4 + (4 + 8) + 9 + 6 + (7 + 2) + (7 * 5 + 5 + 2 + 9 + 5)) + ((7 * 6 + 8 * 2 * 2 * 3) + 4 * 7 + 3 * 4 * 4) + 2 +2 * 4 * 7 + (2 + 9 + (7 + 9 + 7 * 5) * 9 + 9) * 8 * (3 + 8) +3 * (8 + 5 + (6 + 2 * 3 + 7)) * (7 * 5 * 5) * 3 +9 + ((9 * 7 + 7 * 3 + 9) * 4) * ((6 * 8 + 9 + 6 * 6 + 6) + 8 * (2 * 9 + 7 * 9)) +(4 + 6) * 2 + 2 +9 + 5 * (2 * 7) + 7 * 8 +(2 + 7 * 4) * 4 + 5 * 5 +8 + (3 * 3 * 9 * 5) * 4 + 2 +2 * (3 + 3) + (8 + 6 + 8 + 7 * 6 + 4) * 3 +9 * (2 * 3 + 2) + 3 * 9 + 5 * 5 +8 + 3 + 7 + (3 * 5) +3 + (3 + 9 * 9 * 5 + 3 * 8) +5 + (6 * 4 * 8 + 8 + 5 + 4) * 8 + 6 * (6 * 4 * 9) +(4 + 3 * 2 + 4 * 9 + 8) + 4 +(4 + 4 + 3 + 8 + 6) + 7 + (3 * 7 * 6) + 7 * 9 * 6 +5 + 5 + 6 * (3 + 9 * (2 + 5 * 2 + 3) * 4 * (5 * 7)) +((8 * 6 * 3) * 5 + (9 * 5 * 8 * 9 + 5) + 8 + 3) * 3 + 3 +7 + 4 * (7 * 6 * 3 * (6 * 6 + 8) * 5 * 8) +6 + ((8 + 6 + 2 * 6) * (2 + 4 + 7 * 4 + 5) * 5 * (7 + 5 * 3)) * ((2 * 6 * 7) * 2) +((7 * 3 * 2 + 2 + 7) * (8 * 4 + 4 + 3 * 5) + (5 * 4 + 3 + 3) + 9 * 5 * (4 + 9 * 3 * 7 + 2 * 6)) * 5 * 9 + 3 * (4 * 5) +2 + 7 * (6 * (9 + 4 + 7 * 7) * 8) + 3 * 8 * 7 +(8 + (6 + 8 * 9 + 8) * (7 * 8)) + 9 +(3 + 8 * 4 + (8 + 7 + 5 * 9 + 9) + 7 + 3) + 7 * (4 + (7 * 7)) +8 + 2 + 7 * (8 * 4 + 4 * (3 * 8 + 3 * 4 * 9 + 2) + 4) * 7 * 6 +(9 + 2 + 5 + 4 + 3 + 8) * 2 + 5 * 6 + ((6 * 9 * 6 * 7) * 5 + 6 + 5 * 3 * 4) +3 + (4 + 7 + 4 * 6 + 9) * 9 + 5 + 4 +(2 + 2 + 3 + 4) * 4 * 9 + ((2 + 2 * 6 + 5) + (6 * 8 + 7 + 6 * 3 * 6) + 2 + 5 * (9 * 2 + 6 + 9 * 2 + 3) + 3) +5 + (7 + 6 * (3 + 4 * 7 * 9 * 5 * 5)) * 5 + 4 + 6 +3 + (4 * (2 + 8 * 9) + 8 * 3) * 9 * 5 + 5 + ((5 * 2 * 7 + 9 + 9 * 5) * 5 * 6 * 4 + 3) +2 * 5 + 8 * 6 + 4 * (3 + 4) +8 + 6 * 7 + (4 * 5 * 5) + (7 + 4) * (7 + 7) +7 * (3 + 8 + 3 + (2 + 8) * 8) * (6 * (3 * 9 * 6) + 7 + 9 * 3) * 7 +6 + (6 * 5 * 7 + 5) + 3 * 6 * 7 + 8 +(7 * 6 + 9) + 8 * 6 +9 + 4 + 5 * 4 * 7 + (6 + 9 * 3 + 4 * 8) +(4 + 3 + (8 + 6 + 4) + 7) * 9 * 6 +(2 + 3 * 6 * 4 * 2 + 2) * 3 + 9 + 6 * 6 + 4 +((9 * 5 + 4 * 4 + 9) * 8 + 5 * 8 + 9) * 8 + ((3 + 5 + 3 * 7) + 8 * 2) * 8 +7 * ((2 + 2 + 7 + 7) + 4 * 8 * 7 + 3 + 9) * 2 + 2 * 8 +((7 * 2 * 3 + 3 * 3 * 5) * 3 + (7 * 6 * 9 * 8 * 2 * 2) * 8 * 3) * 6 * 6 * 8 +8 * 6 * (6 * 6 * 2 + (8 * 2) * 3) * 5 + (9 * 5 + (8 * 8 * 9)) +7 + ((2 * 7 * 4 * 3 * 7 + 8) + 8 + 5 + (4 * 8 * 3 * 3) + 7) + (5 + 6 * 7 * 3 + (2 + 6)) + 2 + 7 +(7 * (6 * 5 * 8 * 4 + 8) * 4 * 6) * 2 * (4 * 9 * 5) + 4 * 6 * 7 +8 * (7 * 6 * 9 * 2 * 6 + 7) + (9 + 4 * 9 + 7 + 5 * 5) * ((5 * 5 + 2) + 6 * (5 + 5 + 6 + 3 * 2 + 3) + 6 * 4) * 9 +2 + 8 * 9 * 6 +5 + 9 * (6 * 8 * (9 * 3) * 2 + 4 * 3) +6 * 9 + 7 + 3 * ((8 * 9 + 9) + 4) +(3 * 5 + 7 * 2) * 2 + 7 * (4 * (3 + 9 + 5 * 3 * 9) + 8 * 9 + (7 + 8 + 5 + 7 + 7 + 6) * 6) * 7 * ((4 * 6 * 4 + 4) + 8 * 9) +7 + 7 * (4 * 6 + 4 + 2 + 9) * (2 * 3 + 7 + 2) +((3 + 4 * 3 * 8 * 6) + 4 + 6 * 4) * 5 * ((4 * 4 + 8 * 8) * 9 * 8 + 5) +5 + 4 * (3 * (7 + 7) + (5 * 7 + 9 + 6 * 3) * 8 * 8 * (9 * 6 + 6)) + 4 + 5 + 9 +6 * 2 * (3 + 3 + 6) * 4 + 3 + 6 +7 * (9 * 7) + 4 + 4 * (9 + 8 + (4 * 5 * 2 + 6 * 8 * 6) + 7 * (8 * 8 + 6 + 7)) * (8 * (2 * 5 * 7 * 5 + 8)) +8 + (9 + 2 + 4 + 6) + ((7 * 8 * 4 * 8 + 8) + 2) + (5 * 7 + 4 + 8 + 5 * 2) +(7 * 7 + 8 + (8 + 9 + 9 * 8 * 9 * 8)) * 9 + 2 + 7 + 6 +(7 * 3 * (6 + 5 + 3 * 7 * 4) + 8 * (3 + 4) + 5) * 3 + 3 + 9 + (4 * 7 + 6 * 9 * 4 * (3 * 6 * 8 * 7 + 7 * 5)) +(5 + (2 + 5 + 5 * 3 * 3)) + (5 + 7 + 8) * (8 + 9 + 3 * 9) +8 + 7 + (5 * (2 + 8 * 4 + 7 + 3) + 7 * (9 + 5 + 5)) +2 * 4 + (7 + 5 + 5 * 8 * 3) * 6 +3 + 9 + 7 * 5 * (8 + 4 + 3 * (9 + 2 * 8 * 7 + 9)) + 8 +2 * 3 + (8 + 2 * 9 * 9 + 7) +((9 + 5 + 4) * 7 + 3) * 8 +7 * 6 * (6 + 3 * 5 + (2 * 9) + 9) + 3 * 7 +2 + 7 * 9 +(4 + 7 * (6 * 3) * 9) * ((6 + 6 + 8 + 8 + 3) + 4 + 5) + 9 +(5 * 7 * 2 + 6 + 6) * 3 + (9 + 2) * 6 +4 + 3 * ((6 * 2 + 5 * 2) * (5 + 7 * 5 + 9) + 3) + 6 + 3 * 8 +(9 + 2 * 2) * 6 + (6 * (4 + 7 * 7 * 9 * 2 * 3) + 3 + 5 + 9 * (6 * 7 * 2)) +(6 * 4) * 4 + 2 + 9 +(5 * 8 + 3 * (3 * 6 + 7 + 7 * 8)) * (9 + 6 * 9 * 7 * (8 * 6 + 5 + 8) + 2) * 2 + (3 + 5 * 4) * 5 * 9 +6 + 2 + 7 + (6 * (3 * 2)) +6 * (3 + (3 + 5 * 8 + 3 * 4) * 6 * (4 * 8 * 2 * 3 * 7)) * 2 +7 + 5 + ((9 + 6 + 7) + 2 + 8 * 8) * 5 +5 * 6 +7 * 8 + ((8 * 6 * 5 + 9 * 8) + 6 * 3 * 8) * 4 +(9 * 8 + 3 + 6 * (2 * 4 + 9 + 6 * 7) + 6) + 4 + 3 + 3 + (8 + 8 * 8) * 8 +5 * 7 + (6 * 3 * (9 * 5) * 6 + 4) +6 * 2 * 3 * 4 * 6 + (3 * 8 * (8 * 9)) +5 + 7 + 3 +5 + 2 * 5 + 2 + 6 * (3 + (3 + 6 + 6 + 5 + 3 * 9) * (9 * 3 * 3 * 9 * 6) + 7 * 9 * 7) +9 + 8 + (5 + 9 * 3) * (8 + (3 + 3 * 7 + 9 + 5) * 5) + 5 * 3 +5 * 5 + (7 * 6 + 6 * 8 + (3 * 2 + 6 * 6) + 7) * 9 * 9 +8 + 3 + 4 + (6 * 4 + 7 * 9 * (2 * 4 + 5 + 8) * 5) * (7 * 9) + 3 +(2 * 4 * 6 * 2 + (7 + 9 * 2 * 8) * 9) + 4 + 9 * (9 * 9 + 7 * 6 + 5 * 7) +(5 + 3 * 9 * 3 * 6) + 6 * 6 + 3 * 2 + (6 + 3) +9 * (7 * 6 + 4 + 8 * 5 + 6) * 7 + 3 + (5 * 7) +6 * (7 + 3 * 2 * 8) +7 * (7 + 8 + (7 + 6 * 4 + 7) * 2 * 9) * 9 + 9 + 2 + 9 +8 + (6 + 5 * 8 * 3 + 5 + 9) * (6 + 3 * 8 * 4 * 8 + 9) +(3 * (3 + 9 + 6) + (9 + 7 * 5 + 2 + 7 * 8) * (6 + 6 * 7)) + 5 * 2 * 4 +3 + 7 + 6 * ((4 * 9) * 2) * 5 + 9 +5 * (2 + (5 * 6 + 7 + 9)) + ((2 * 6 + 5 * 6 + 3) + (8 * 4)) * 8 +(2 + 9 + 6) * 3 + 9 * 9 + 2 * 6 +(4 * 3) * (3 * 8 + 3) * 2 + 6 + 6 +(5 + 4) + (6 * (8 + 5 + 7 + 9) * (5 + 6 * 3) + (5 + 2 + 7 * 6)) +9 + (2 + (5 + 2 + 6 + 4) + (7 * 4)) * (8 * 9) +6 * (6 * 2) + 5 * 8 + 8 +3 + (5 * 8 + (2 * 4 + 2) * 2) +2 * 7 + (2 * 5 * 2 * 5 + 9 * (4 * 7 * 7 * 3 * 3 * 8)) + 6 + (6 * (9 * 8 * 6 + 3 * 2 * 2) + (2 * 4) * 3 + 8 + 5) +9 * 4 * (4 * (8 + 8 * 9)) + (8 * 4 * 6 * 6 * 2) + 7 + 6 +(9 * 6 + 7) * ((9 * 5 + 8 + 4) + (9 * 8 + 2 + 3) * 7) +(8 * 9 + 7) * (7 * 4 + 6 * 2) + 7 * 4 * 9 + 4 +(5 * 4 * (4 + 9 + 7) + (6 + 8 * 6 + 3 * 2) + 7) * 8 * 2 + 8 + (3 * 4 * 3 * 7) +6 + 7 + ((4 * 9 * 2) + 6) + 9 + 5 +9 + 7 * (5 + 6 * 2 * (7 * 4 + 2) + 2) + ((2 * 8 + 9) + 4 * 5 + 4 + (5 * 3 * 6)) * 7 +4 * 6 + 8 * 4 + 8 * 2 +3 * ((8 * 5 + 2 * 8) * (4 + 3 + 3) * (7 * 4 * 9 * 4 * 3) + 9) +9 * 9 * 9 * ((9 + 2) + 4 + 6 + 4 + 5) +3 * 2 * 7 + 4 * 5 * ((2 + 9 * 5) + 8 + 4 + 5 * (5 + 3 + 6 + 4 + 8 * 4) + 4) +5 + 5 + (2 * 8 + (5 * 2) * 7) + 9 +((9 * 7 + 9 * 7 * 9 * 5) + 8 + 5 + 7) + 3 * 5 * 4 +7 * ((5 + 8 + 6) + 9 * 9 * (6 + 9 * 8)) + 4 +9 * ((6 + 9) * 5 * (2 + 8 + 2 + 3 * 9) + 5) + 5 + 5 + 4 +((2 * 9 * 2 + 3 * 5) * (4 + 5 * 6)) * 9 + 4 + (3 + 8 * 4 * 8) +8 + (6 + 9 + (4 * 4 + 7 * 5 + 8) + 7 * 7) + 2 + (5 + 6 + 6) +2 + ((8 * 5 + 2 + 6 + 4 + 5) * 9 + 5 + 3 + 4) +6 + (5 + 9 + 5 * 6 + 2) * 6 + (6 * (7 * 4 * 3 + 4 * 6)) + 4 +4 + (4 + 9 * 7 * (6 * 6 + 4) + (4 * 2 + 5 * 2 * 3 + 8)) * 6 * 2 +4 * 6 + 3 * 6 + (9 + 5 * 3 * 7) * 6 +2 + 6 +8 + 7 + (6 * 8 * 8) * (7 * 3 + 9) * 7 * (2 + 3 * 3 * 7 + 7) +5 + (9 + 7 + 4) + (5 + (9 * 8 + 9 * 7 * 8) * 5) + (2 * 2) * 2 +8 + 7 * 7 * 9 + ((5 * 4 + 8 + 3 + 7) + 4 + 9 * 8 * 4) * 6 +(5 + 2 * 6) * 9 +3 + 8 + 9 + (4 + (5 * 9 * 5 * 4 + 3) * 5) * (5 + 9 + (4 + 5)) +(9 * (7 + 3 + 7 * 2 * 6) * 8) + 5 * 3 + 8 + 7 + 7 +2 * 8 +4 * 3 * 9 + (4 + 8) + (3 * 7) * 7 +(7 + 4 * 2) * (5 * 7) + 6 +2 * (9 * (5 * 6) * 6 + 7 * 3 + 9) * (4 + 3) + 6 +6 * (6 * (5 * 8 * 2 + 7 * 7) + 3) * (4 + 6) + 9 + 6 +5 * (9 * 4) + 5 * 7 +5 * 9 + 8 * (4 + 2 * 2 * 2 * (5 + 3 * 8 * 5 + 7) + 3) + 8 * 9 +5 * 8 + ((6 * 7 * 4 * 2 * 5) + 2 * (8 + 3 * 3 + 9 + 6) * 3 * 9 + 9) * 9 * 7 +((4 * 7 + 7) + 5 + 7 * 6 + 4) + ((8 * 8 * 3 * 2 * 3 + 8) + 9 * 2 * 3) * 2 * 9 * 4 +5 + 8 + 9 * 6 * 4 +8 + 6 * 3 * 8 + 5 * 3 +7 + 3 + 9 + 9 * ((7 + 3 * 9 + 6 + 9 * 6) * 6 + 2 * 7 + 5 + (9 * 2 + 4 * 2 * 9)) +5 + (7 + 9 + 7) * 3 + (6 * 6) * 8 + 3 +4 + (4 + (5 + 3 + 5)) * (4 * 3) + (4 + 2 * 9 + 9) + 5 +6 + 3 * 8 + 9 * (2 + 9 * 7 + 5) + (2 * 9 + (7 * 4 * 9 * 2 * 5 + 8) + (3 + 6 * 7 + 5) * 9 + 5) +(4 + (9 * 8 * 6 + 2 + 2) * 4 + 3) + 5 + (6 * 6 * (9 * 3 * 4 * 2 + 6)) * 4 +4 * 6 * (9 * (5 * 2) + (8 * 6 + 3 * 8)) * (7 + 4 * (2 + 7 * 9 * 2 * 7 + 4) * 8 + (3 + 7) + 2) * 8 +5 + 3 + 7 + 5 + 6 +((2 + 2 * 8 + 8 * 2 + 8) * 2 + 3) * 4 +9 * 9 +3 * (2 * 2 * 3 * 3 * 6 * 5) * 6 * 5 * 9 +8 + 2 * (5 * 7 * 8 * 9 + 3 * 3) +7 + 3 + 6 * 6 +5 * 4 * 4 +7 * 7 * 5 * (3 + 7 + 6 + 6) * 9 * 2 +(6 + (4 * 2 + 4 + 9 * 9) * 4 * 8 * 8) + 7 * 9 * (4 * 5 * 6 * 5 * 4) * (3 + 3 + 7 + 4 * 7) + 6 +8 + 8 + 8 + 7 * 4 +7 + (4 + 8 + 7 + (2 * 8 + 5 + 9)) + (7 * 2 * 2) * 5 +2 * 3 * 8 * (4 + 4 * (5 * 3 * 6) + (3 + 8) * 6) +((7 * 4 * 4) * 8 + 8 + 9 * 5) * (9 * 2 * 9 + 4 * 5) * 5 + 7 * 8 +(9 * 5 + 8 + 3 * 7) + (9 + 9 * 7 * 9) * (6 * 2 * 8) +9 + 3 + ((9 + 9 * 4 + 7 + 9 + 7) * 8 * 8 + 4) * 3 + (5 + 5 * 8 + 8 * 9) +3 * (7 * 6 * (5 * 2 * 7) + 6 * 6 + (4 * 6 + 8 * 5 * 4 + 3)) * 9 +5 + 9 + ((6 * 9 + 7 * 7 * 3) + (7 + 2 + 7 + 3)) +6 + 7 + 2 * ((9 * 7 * 7 * 6 * 8 + 9) + 7 * 9 * 8 + 5 * (5 * 9 + 7 * 8)) +(3 * 8 + 8 + 9 + (5 + 2 * 5 * 2)) * 9 * 5 + 2 * (9 + (2 * 9 + 7 + 5)) +9 + 8 * 8 + 6 * 8 + (3 + (9 * 9) * 5 * 9) +7 + 5 + (6 * 5 + 9 * 3 * 4 * 9) * 3 +5 + ((5 * 5 + 5 + 2) * 5 + 3) +4 * 2 + 3 * (4 + 2 + 5 * (4 * 3 * 8 * 7) + 6) * 2 * 8 +2 * 3 + (3 * 5 + (4 + 6 * 5) * 5 * 4) * 2 + 2 + 4 +(6 * 6 + 5) * (5 * 3 + (6 * 2 + 8 * 2 * 9 * 2)) +9 + 2 * 7 * 5 + 9 + 5 +5 * (4 * 4 * 5 * 5 * (4 * 2 * 7 * 4 * 6) * 9) * 9 * 9 * 9 +(2 + 4 + 8 * (4 + 8 + 2 * 9 * 5) + 3) * 5 + 8 +6 * (7 * 6 + 8 * (3 * 5 * 5 + 8 * 4 * 7)) + 9 * 7 * 8 +3 * 6 * 5 * (2 * 5 * 8 + 3 + 2 + 7) * 9 +5 + (6 * 6 + 9) + 4 + 8 +9 + ((2 + 6 + 2) + 9 * (7 * 4 + 2 + 7) + 9) + 6 +6 + (2 + (9 + 9 * 5 + 9 + 8 + 3)) + 7 + (2 + (3 + 8) + 8) * 6 +8 + (5 + 7 + (9 * 5 + 3 + 7 + 3) + 2 * 2 * (2 + 8)) +6 * 2 * 3 * (6 + (9 * 9) + 3 + (7 * 8 + 4 * 9 * 2 + 8) * (6 * 7)) +7 * (8 * (7 * 6 + 3 * 4 * 3) * 5) * (9 * 6 * 8) + 8 + 4 +4 * 6 * (2 * (6 + 9) * 6) * (3 + 9 + 6 + (4 * 4 * 5)) * 9 +2 + 8 + ((4 * 5 * 3 + 6 + 3) + (4 * 8 + 4 + 4) * (6 * 5 + 9 * 7) * 6) * (8 + (7 + 7 + 5 * 7)) +2 * (6 + (4 * 7 + 7 + 7 + 8 * 6)) + 4 * 5 +5 * (6 + 4 * 9 + (3 + 7) + (2 * 2 * 4 * 8) + 6) + 7 +6 * 7 * 3 + (8 * 5) + 9 +((3 + 3) * (6 * 8 * 2 * 4)) + 2 +(3 * 7 + (5 * 4 * 9 * 5 + 9) * 9 * 4) + 6 + 3 * (4 + 5 + 6) +3 * (5 + 9 + 6) * 5 * 7 + 3 +2 + (2 + (5 * 8) * 2) +9 + (8 * 7 + 8 * 5) * 6 +5 * 5 + 2 * 3 * 9 * ((3 * 9) + (7 * 7 + 5 + 7 * 7) + (4 + 6 + 3 + 4) + 8 + 4) +4 + 6 * 6 + (5 + 9 * 4 * 5 + 4 * 2) +((8 + 5 * 2 + 7 + 4 + 8) * 5 * 8) * 7 + (3 * (4 + 6 + 4) * (9 + 5)) +9 * 5 + (7 + 8 * 8 * 6 * (8 + 3 + 6)) + (3 * 8 + 8) + 8 + 9 +((5 * 7 + 2 + 7) * 5 * (6 + 5 + 9)) + (2 + 7) * 5 +(5 + 6 * (4 * 8 * 5 + 9 + 4)) * 7 * 6 +((6 * 7 + 8 + 8 + 4 * 8) + (7 + 2 + 5 * 5)) + 3 * 6 * 4 +2 + ((6 * 2 + 2) * 7 + 2 * 4 * (5 * 7 + 7 * 7)) * 4 + (2 + 8) * 7 + 2 +((3 * 4 * 7 + 8 * 5) * 8 * 7 + 6) + 3 +5 + ((6 * 3 + 2 + 5) * (9 + 9 + 4 * 6) * 9 + 2 * 6) * 6 * ((6 * 7 * 9 * 5 + 9) * 3) +7 + (9 * 7 * 2) * 2 * (7 + (5 + 8 + 6 + 2)) * 3 + 5 +5 + (7 + 5 * 4) + (2 + 7 + 7) + 7 * 9 +(2 * 2 + 9 + 7 + (7 + 7 * 7 + 9)) * 7 * 6 +(6 * 3 * 9 * (9 + 8 * 9 + 5 * 6)) * (2 + 6 + 9 * 9) * 7 * 3 +4 + 5 + 9 * (5 * 3 + 7 + 6 * 4) +6 + ((5 + 5 * 4 * 8 + 5) + 8 + 6) * 3 +(7 * 4 * (3 * 8 * 5 * 8 * 7 * 7) * 6) * 6 + (3 * (3 * 2 + 2 * 2)) + 7 * 2 + 5 +4 * 2 * 7 + (7 + 2 + (2 + 3 * 6 * 7)) * 4 +8 * (9 * 8 + (9 * 7 * 2 * 8 + 8) + 7 * 2 + (5 * 8 * 9 + 5 + 2 * 8)) +2 * 9 * ((5 * 2 * 5 * 2 * 9 + 3) + 7 * 2 + 8 + 7 + 3) + 9 + 3 + 5 +(2 + (9 * 6) + 8 + 4 * 6 * 4) * 8 * (8 + 6 + (3 * 5 * 8 + 3 + 7)) + 5 +7 + 2 + (7 + 3 + 9) +4 + 4 * 8 * 7 * 4 +((3 + 2 + 9 + 3) + 4 * 9 + 2) + 4 + 4 + 3 +4 + 2 * 6 * ((5 * 4) * 6 + (5 * 8 * 4 * 4) + (7 * 5 + 6 + 3) * 5) * 5 +3 + 6 + (4 * 8) + 2 +(5 * 6 * 6 + 3) * 3 * 8 +(4 + 7 * 2 * 8 + 3) * 8 * (6 * 2) * 9 * 4 * 4 +6 + 3 + 9 +((2 + 8 * 7) * 6) * 9 * 7 + 6 * 4 * 3 +7 * 4 + (8 + 7 * 9) + 2 + 2 * (6 + (9 * 5) * 6 + 9 + (5 + 3 * 7 + 5 * 2) + 3) +3 + 4 + 3 * (2 + 8 + 3 + 7 * 8 * (8 + 4 * 3 + 3 * 8 * 3)) + (7 + 4 + 3 * (6 * 4) + 2 + 9) * 6 +2 + 6 * (2 * 6) + 4 + (2 + 7 + 8 * 7 + 5) +6 + (3 * 3 * (6 * 7)) + ((4 + 9 + 9) + (8 + 2 * 5 * 2 * 8 * 2) + 2 + 4 + 8 * (7 * 8 * 3)) + 6 + 5 +3 * ((8 + 8) * 2 * (3 * 5 + 6 * 7 + 2) * 9) + 3 +3 + 6 * 5 * (6 + 4 * 8 * (4 + 3 * 8 + 3 + 7 * 9) * 4 + (8 + 6 + 3 + 9 * 5 + 8)) * 4 + 2 +(3 + 9 * 4 * 8 + 7) + 9 + 4 + 5 + 9 +3 + 4 + ((5 + 4 * 7 + 2) + 2 + 8 + 2 * 8 * (2 + 5 * 4 + 4 + 9)) * 5 * 2 +9 + (2 * 5 + 9 * 9) * 3 + (6 + 3 + 6) +6 * 4 + 7 + (8 + 9) * 3 + (8 + 5 + 3 * 8 * 8 + 4) +5 * 9 * 5 * ((6 + 8 * 7 * 3 + 2) * 9 * 6 * 8) +7 + 2 + (9 * 8 * 7 * (5 * 9 + 6 + 2 + 4 * 2) + 7 + 9) + 8 * (3 + 6) +4 * (4 + 2 + (8 * 8 + 8 + 9 + 6) * 5 + (9 + 4 + 7 + 7 + 3)) * 6 * (3 * 8 + 9 + 9 + 7) * 3 +3 + 5 * 8 * (4 + 7 * 3 * 5) +5 + ((4 * 9 * 8 * 5) * (9 * 9 * 7)) +3 + (2 + 3 * 4) + 7 +(4 + 3 + 7) + 9 * 7 * (6 + (8 * 3 + 6 + 6 + 4 * 8) * 4 + 9 + 4 * 7) * 2 +3 + (4 + 7 * 3 * 7 * 9 + 2) * (2 * 6) * 9 +(6 + 6 * 9 * 6) * 3 + 3 + 6 + 7 * 8 +9 * 9 + 7 * (6 * 5 + 9) +(9 * 7 * 9) + 7 * ((4 * 9 + 7 * 5) * 7 * 6 * 2 * 6 * 4) * 4 + 4 +2 + ((6 + 3) + 9 + 7 * 7 * (8 + 5) * (6 + 7 + 7 * 4 + 2 + 3)) + 3 +(2 + 2 * (2 * 2) * 2) + 2 * 6 * 6 + (7 * (8 + 3 + 2 * 8) * 5 + 7 * 3 * 8) +(8 * 8 * 5 * 4) * (9 * 8) + 3 * (2 + 7 * (5 * 6 * 2 + 3 * 4 + 6) + 2) +8 + 6 + (4 * 3 + 2) * 3 + 3 + (3 + 7 + (6 + 4 * 6)) +(6 + (8 * 7) + 4 * 5) * 5 + 9 +8 + 9 + 3 + (7 + 6 + (7 * 2 * 6 + 2 * 2) * (5 + 6 * 9) + (3 + 3) + 4) * (2 + 9 + 3 * 7 * 8 + (8 + 5 * 9 + 2)) * 9 +7 * ((7 * 3 * 4) * 3 * 4) * 7 * 4 + 8 + 7 +(7 + 9 + 7) * 7 + 5 + 9 * (3 + 7 * 3) * 5 +(8 * 8 + 8) + 8 + 2 * (3 + (2 + 7 + 6 + 3) * 4 + 4 * 8 + 5) +((9 + 6 * 9 * 5 + 4) + (4 * 5 * 3 + 6 * 6 + 8) + (6 + 3 * 7 + 3 + 8 + 3)) * (2 + 6 * 8 + 8) + (5 * 3) * 2 +3 + ((4 * 9 * 6 + 6 * 9) * 7 * 5 * 8) +3 * 3 + (2 + (8 + 9 * 4 + 2)) + 5 * 3 * (7 + 2 * 4 * 9 + 5) +4 * 4 * (2 * 9 + 3 + 4) * 4 + (5 + 4 * 6 * 6) +8 + (6 * 6 * 5) * (3 * 8 + 4 * 7 + 8) * 2 +9 + 4 + (9 + 3 * 7 + 9) * 7 + 7 +2 + 4 + (9 + 3 * 2 * (5 * 7) + (5 + 6 * 4)) +(3 + 9 * 8 * 7 * 9) + 4 + 4 * 4 * (9 * 6 + (2 * 7 + 3 + 6 * 5 * 5) + 8 + 7) * (2 * (2 * 6) + 9 + (8 * 6 + 6 + 8)) +(2 + 3 * (5 + 8 * 3) * (8 + 3) + 9 * 8) + 5 \ No newline at end of file diff --git a/2020/20/input.txt b/2020/20/input.txt new file mode 100644 index 0000000..bede187 --- /dev/null +++ b/2020/20/input.txt @@ -0,0 +1,1727 @@ +Tile 3583: +.##..#..#. +....##.... +##..#..#.. +.....#.... +.#..#..... +#.#....... +#.....#..# +....#....# +...#.##.#. +.#....##.# + +Tile 3967: +..###..#.. +#......... +.........# +#...#....# +....#....# +#...#....# +#..#...#.# +##....##.. +#....#.... +##.###.#.. + +Tile 3307: +.#.#...#.. +......#..# +.........# +##.....##. +..#.....#. +.#...####. +#....#.#.# +......##.# +#.##.#..## +.....#.##. + +Tile 1741: +.##..#.#.. +#..##.#... +.#.....#.. +...####.## +#.#..###.. +####.#.... +..#.##.#.. +#.....#.#. +#.###..... +####...### + +Tile 3821: +.#######.# +...#...... +#.##.#...# +.#...##### +....#.##.. +#.#.#..... +##......## +#..#.....# +##..#..#.# +###..#.#.. + +Tile 1787: +..##.#.### +...##..#.# +#..#.###.# +..#.##..#. +#.#.....## +...#...#.# +#..##..#.# +##.#.##..# +...#..#... +..#..##... + +Tile 2281: +..#.#.##.# +.......##. +..#..#..#. +....#.#..# +#...#.##.# +#..#.##.#. +#.#....#.# +#....##... +.....#..## +...#.#...# + +Tile 3593: +...#..#..# +.........# +.........# +#.#..#...# +##......## +##........ +...#.#...# +#...#...## +...#.#.#.. +#..#...... + +Tile 3259: +.####..... +....#.#.## +#....#..## +#........# +.....#.... +.#.....#.# +...##....# +#.....#.#. +#.#..#.... +#.#..##.#. + +Tile 2663: +.####..### +#.#..##... +#..#...#.. +#..#....#. +..#.##...# +.#....#.#. +#..#....#. +#.#....... +.#.#...... +..#..##### + +Tile 3833: +####....#. +.......#.# +.#........ +#...#.##.# +#.##.#.#.# +...#.....# +##...#...# +#.#.##...# +##.#.#.##. +.##.###.## + +Tile 3373: +#.....##.# +#...###..# +..#.#..#.. +####..#.## +#...#.##.# +#..##.#... +#..##...## +#.####.... +##..#...#. +##.##.#.## + +Tile 1511: +.#.###...# +#....#...# +.##.#..... +...##.###. +#.##.##..# +####.#..## +#..#.#.... +#.......#. +#......#.# +###...#... + +Tile 1723: +...##..#.# +..#..#...# +.##.....#. +#..#...... +.#..#.#..# +.#........ +...#.#..## +##.......# +..#..###.. +#####...## + +Tile 1543: +#..#.##.## +#.....#..# +.....#.#.# +###....... +...##....# +..#..#...# +#.....##.# +#.#..##.## +...###.... +###.#...#. + +Tile 1433: +##.##..##. +###....#.# +..#.....## +.#.##..#.. +.#.#...### +#.#.....#. +..##.....# +#....#.... +..#.#...#. +.#...##### + +Tile 1949: +#.#..##..# +.........# +.#.......# +#..##..### +........## +#........# +.....#...# +...####.#. +.#...##... +###.#.#..# + +Tile 3889: +###...#### +#....##..# +.#.###...# +##..#..... +.....#.... +....#.#.#. +.........# +#....##..# +##.##..##. +#.###.#### + +Tile 2477: +.....#..## +#.##.###.. +###..#...# +.#....#.#. +#..#...... +...#.....# +##.....#.. +..##.....# +.##.#....# +#####.#### + +Tile 2137: +..######## +#..#...... +...#.##..# +#.#..#...# +.#..#...## +##.....#.# +.#....##.. +.##....... +.#..####.. +#..###...# + +Tile 3313: +..####.#.# +#..#.....# +#....#.... +..##..##.. +#....##... +.......... +#......... +.......### +##........ +.###...### + +Tile 1493: +#..####.## +##.#..#... +#.#.....## +.##......# +.##...#..# +#..##....# +#.#.#.#.#. +#.#...#..# +#.#.#....# +#.####...# + +Tile 1579: +.##..##.## +#.#....... +.......#.. +..#...##.. +#..####... +.#.#.##.## +###.#..... +#....##.## +....#...## +##....#.#. + +Tile 2221: +.#.#...... +.......##. +#..#.#...# +..###.###. +....#...## +##.#..##.. +..##.#.#.. +......#### +..##.#.#.. +.###..#.## + +Tile 3643: +..###...#. +#..#..#..# +.##....... +#..###.... +##...##.## +#...#...#. +###......# +....#..#.# +.#.#.....# +..#..#.#.. + +Tile 3881: +###.##.##. +.####..### +#.###..##. +....#...#. +##...#..#. +#........# +....#...#. +...#.....# +.#.....##. +.####..#.# + +Tile 3823: +..#.##..## +#...#....# +..#...#... +#.#.##...# +.####....# +.#...#...# +.......... +.........# +...#..#... +....#..#.# + +Tile 3181: +####..##.# +#.....##.# +#.......## +.......#.# +..#..##.#. +##..#..#.. +...##..... +.........# +....#.##.. +.##.###.#. + +Tile 2837: +.###.#.### +#.##..#.## +.....##... +###......# +##.......# +........## +##.##..#.. +....###... +.......... +#......#.# + +Tile 2063: +..#####... +.......... +........#. +..##.....# +###...#.#. +#.#.....#. +.....#..## +#.......#. +##....##.. +#.##.###.# + +Tile 1187: +#...##..## +#........# +#.#....... +...#.#.... +.....#.#.# +#....#.... +..###..... +.#........ +..#...###. +####.#.#.# + +Tile 3137: +...###..#. +#.##.....# +..#...#..# +#..#.....# +......#... +#.....##.# +...#...... +#.#.#.#### +..#....#.. +.#..#.#.## + +Tile 2411: +#.....##.. +.......#.# +.....##... +#.#....... +#..##....# +.##.##.... +.##...##.. +#.#....... +##.....#.# +.##.###... + +Tile 2713: +..#.#.#### +...####.#. +##..#...#. +#..##..... +#...#..... +.#...#.### +.......... +#.#.##..#. +#.#..#..#. +.#..##.#.# + +Tile 1103: +##.#...##. +#.....##.. +...###..#. +..##.....# +.####..#.. +..#.###.#. +##.....#.. +.#..#....# +#........# +####...##. + +Tile 3943: +.###...... +#...#.#... +..##..#..# +.##..#.#.# +.......... +##...#.... +#..#...#.. +#..###...# +###....### +#.#....### + +Tile 1871: +##.#...##. +#......#.. +.#.##..... +.#####.#.. +#.#....#.. +#..#....## +#..####.#. +#....#.... +...#.....# +...#.##.#. + +Tile 3407: +#.#.#####. +##.#..#..# +.###.#.#.# +..#....... +##.###.#.. +.....#.### +#.#....... +##..#.#..# +#.#.##.#.# +#..#..###. + +Tile 2441: +#####.#..# +...#.#.... +..#...#..# +.##....#.. +#.##..#... +.##.#..#.# +##.......# +.##..#.... +.......#.. +.#..#.###. + +Tile 3637: +.#..##.#.# +...##..#.. +#.#.###... +#....#...# +..#.....## +#....#...# +#..#.#.#.. +....#..#.# +....#.#..# +.#.###.##. + +Tile 1549: +....##.##. +.#....#... +..####.#.. +....#.#..# +#........# +..#....... +.#.#....## +...######. +#...##.... +.#...##... + +Tile 1481: +...##.##.. +#...#.##.. +#..#..#.#. +#.#.#...#. +#...#.##.. +.##....#.. +#........# +....#.#... +#.#.....## +#.....#### + +Tile 1559: +#..#....#. +..#.##.#.# +#.....#.## +.###.#...# +..####..## +#..#.#..#. +#.#...###. +#.....#.#. +.#.....#.. +#..####.#. + +Tile 2251: +#..#.....# +.#..#..... +#.#....#.. +#....##..# +##....#..# +..#..#.... +#.#.#.#... +#...#....# +###..#.##. +##..#.#### + +Tile 2897: +...###.... +##..#....# +.........# +.#.......# +...#.....# +..#..#...# +.#...#...# +#....#.... +.#......## +..##...##. + +Tile 2239: +#..###..#. +.#.......# +.#..#..#.. +#.##....## +#....#.#.# +##..#..... +#........# +...##.#..# +#...###..# +...#.#.### + +Tile 2593: +.#....##.# +##......## +..#..##... +.#..#..... +...#.#...# +#.#..#.#.. +......#.#. +#...##...# +###..##..# +#.#####.## + +Tile 3697: +##.######. +###....#.. +#.....##.# +##...#..## +#.....#..# +.#.#..#... +#......##. +#.#.#.#.#. +.........# +....####.. + +Tile 3739: +##.#...... +.#.....#.# +..#.....## +#....##... +##.#...#.. +###.#...## +.#...#.### +.#..#.##.# +..#..#..#. +...#.##... + +Tile 2459: +.#.####... +#..#...#.. +.....#.##. +..#....##. +#......##. +##...#..## +#....#.... +###...#..# +###.##.### +.....##... + +Tile 2939: +##.#.#.... +#..#.##### +#...###.#. +..#...#.## +.#.....##. +###....#.. +.##...#..# +.....#.#.. +..#..#.... +..##..#.## + +Tile 2347: +.###..#..# +##......#. +#......#.. +#...#....# +#......#.. +##.......# +..#....... +#.##..#... +#..#..###. +#....##..# + +Tile 2381: +######.... +##.......# +.#....###. +#.##.##.#. +#.#..#.... +.........# +....#..#.# +#####..... +..##....## +#..###...# + +Tile 2503: +#.#...###. +#...#..#.. +.##.#.#.## +.#.....#.. +#...##.... +##.#.....# +...#..#..# +..#.##...# +......#... +##..#..##. + +Tile 3023: +.#...#.... +#.##...#.. +##....#... +.#..#..... +.#.#.....# +#.#....... +##..#.#.#. +#...#.#... +...#..#.## +#...##.### + +Tile 3851: +#..##.#.#. +#...#....# +###..#.... +#.#.#...## +..#.#..#.# +#.......#. +..#.....## +.......... +#.#.#.#..# +..#.##..#. + +Tile 1009: +.####.##.. +#......... +.#.#...... +..#.#..... +#......##. +###....... +#.#....... +.......#.# +.#....#.## +#.####.#.# + +Tile 1151: +.#.##..#.. +..#......# +##....##.# +#......### +##.....#.. +##..#.#..# +...#...... +.##...##.. +##..###..# +######.### + +Tile 2683: +#..#.#..## +.#....#.#. +#...##.... +....###... +...#..#... +..#....... +...#...#.. +....#.#... +..#..#...# +..#.#.##.. + +Tile 3323: +#.#..##.## +#.#....### +#.##.###.# +##....#... +##..#..... +###.#.#.## +#......#.# +..#....##. +#......#.# +.##...#..# + +Tile 2333: +##.#..#..# +#..##..... +.........# +.#.#.#.... +#...##...# +#.#.#....# +..#.###..# +....###.#. +#...#....# +..#.....#. + +Tile 2543: +#..###.#.. +....#..#.# +..#...#.#. +#...##...# +.#.....### +.......... +#..#....#. +#....#..#. +#.#..##..# +##...#..## + +Tile 1483: +###..##..# +.#......#. +.......#.# +#........# +...#...#.# +#.#.#..... +#......#.# +#...#.#... +#...####.. +#.##..#..# + +Tile 2027: +.#..#....# +....##.... +....#...## +#.#..#.... +#.#.....## +.......#.# +#...#..... +.##....#.# +###.#.##.# +.###.#.### + +Tile 1699: +#.###..##. +..#.###... +.........# +.#.#..#..# +...##.##.. +#........# +.......#.# +##..#...## +.....#.... +#########. + +Tile 2843: +#...#.#### +....#.##.. +...#....#. +.....#.... +#..##..... +.....#.... +###.#..... +......#..# +#.#.#...## +#...##.##. + +Tile 1597: +#..####### +.......... +.#........ +#..##.#... +##.....#.. +##.###...# +.....###.# +...##.#..# +#....#...# +##.#.##### + +Tile 2311: +.#.#.#.### +.#.......# +..#...#.## +#..#....## +#...#..... +.........# +.#.#...##. +.#.##....# +..#..#...# +...##.#.#. + +Tile 1889: +#.###.###. +.#...#...# +#........# +#......#.# +..#......# +#......### +.....#.##. +#.....#..# +........## +####...#.# + +Tile 3581: +........## +.#...#...# +###.....#. +.......... +#.#......# +......#..# +##........ +..#...#### +#..#...... +.##.###.## + +Tile 1499: +##.#.#.... +.##...##.. +##.....##. +###.#...## +..##....#. +.#....#... +#..#...##. +..#....##. +.#.....#.. +..#.####.# + +Tile 2999: +.#.###..#. +#.#...#... +##.#...... +...#..#... +..###..### +...#.#..#. +#..##.#..# +.........# +..#....##. +..#.###.#. + +Tile 1487: +#....#.... +.#.....#.. +.#.#.....# +#.#......# +#.#.##.... +#.....#... +.....#.... +##........ +##..##...# +#.#..#...# + +Tile 2969: +#..#.#..## +###..#...# +.#..#..... +...####.#. +#.#.##..#. +...###...# +#...#..... +..#...##.. +##..#.#..# +#..#.###.# + +Tile 1873: +..###.#.#. +..#.###.#. +#.#.##...# +.#...#...# +....#..... +##.....##. +.....#.#.. +..#..#..#. +..##..#..# +##...#.... + +Tile 2029: +#.#...#### +#....##... +.#.#...##. +#####.#.#. +#..#...... +#...#..#.. +#.#.#..#.# +#......#.# +...####.#. +..##.#.### + +Tile 3517: +.##...##.. +.#......#. +....##.... +#.##..#..# +.......##. +#..#...... +...##...#. +........## +#...#....# +..######.# + +Tile 2803: +#.##.###.. +.#..##...# +...##..... +.#.#.#.#.. +#.......#. +.##.#.#..# +.#.###.#.. +.#..#...## +#...###... +.###..#.## + +Tile 1237: +.######.## +#.#....... +....#....# +.....#...# +#.###.#.## +#...####.. +#.#......# +#.#.##.#.# +#..#..#... +.#..#....# + +Tile 3877: +..#.#.#.## +..##...#.. +#..#...#.. +#.......#. +#.......#. +#...#.##.. +.#.......# +....#..### +##.......# +.#.##.#.#. + +Tile 2081: +####.##### +....#..##. +........## +....#..##. +#..#....#. +.##...##.. +......#... +.#....#..# +#.#.#...## +.##...##.# + +Tile 2789: +.#.##..#.# +.......#.. +##.......# +..#..#..## +..#....... +.#........ +#..##.#.#. +###.#..### +##..#...## +..#..#.... + +Tile 3989: +##.##...## +#....#..#. +.#....#.## +#......#.# +#.#..#.... +#....#.#.# +...#...#.. +#........# +.......#.# +##.##.##.. + +Tile 1933: +.....###.# +#...#.#..# +.#....#..# +.#........ +#####.##.. +#..#.#...# +#..#.#...# +....##.... +#....#..#. +##..#..##. + +Tile 1601: +##.#..##.. +.#.###.#.# +..#.###..# +##.#.#.... +.....###.# +##.##.#### +#.#...#..# +#...##.... +...#...... +.####..### + +Tile 1117: +#..##..##. +......##.# +....##.#.. +#....#.... +.#.#.....# +.....#.##. +#....##... +#.....#... +..#..##.#. +.#.###.#.. + +Tile 1409: +#...###... +#......#.. +........#. +.#........ +##....#... +#.......## +#......#.. +......##.# +#..###.#.. +.####.##.. + +Tile 3359: +##.##....# +#..#...#.# +#....##### +...##..#.. +..#..#...# +........## +...#...#.# +.........# +...#.#.#.# +##.#....## + +Tile 2539: +...##.##.# +#.##.#...# +...##.#... +..#.#..#.. +#.#..#.### +......##.# +#.......#. +.#.......# +#...####.. +..#...###. + +Tile 1607: +##..###.#. +#...#....# +#.#.#..#.. +#..#....## +#.#......# +....##.... +#..###...# +..#.##..## +##....##.# +...##..### + +Tile 2971: +#....#..## +.##......# +#..##..... +#...##.##. +#...#.##.. +....##...# +..#.###... +##.#.#..## +#..#..###. +#...###.## + +Tile 2447: +#..#..##.# +#....##..# +.....##... +..#.###..# +#..#.##... +#.#.#...## +#.#..###.# +####..#... +#.#...###. +#..###..## + +Tile 1709: +.....#..## +##....#... +.........# +...###..#. +###......# +..#..#...# +#.###.#..# +###....##. +...#..##.# +##.#...#.. + +Tile 3109: +.#..###.## +....#.#.## +..#...#..# +#...#..... +####.#.... +.#.#...### +###....#.. +#..###.... +.......... +##.##...## + +Tile 2089: +..####..#. +.###.....# +....#..### +.#.......# +..##.....# +#.###....# +#.#.##.#.# +#.......#. +...#.##.#. +...#..#.## + +Tile 1619: +#...#.#.#. +#......... +#....##.## +##....#... +#####..... +##.#..#..# +###...#..# +...#...... +##..#....# +.##.##...# + +Tile 3319: +###.#.#.#. +.#....#..# +#.#.#...## +...#.....# +.......... +........#. +.......... +...#.##..# +#.#.#....# +##......#. + +Tile 1621: +#.###.###. +.#...#...# +#.#......# +#....#.... +#..#.....# +##..#..#.. +.###..#.#. +#.#.#.#### +#.......## +##.##...#. + +Tile 2857: +##.#.#.#.. +...#...##. +#......#.. +......#... +.#.#..#... +.##..#...# +..###....# +#.##...... +#.###...## +..#..##.#. + +Tile 2143: +#.#....... +#...#.##.. +#..#.....# +...#.....# +#...#....# +........## +##....#.## +##..##..#. +#..#.....# +#..##....# + +Tile 3037: +........## +#....#..#. +......#... +....#.#... +...###.### +...###...# +.......... +#.....#..# +##..#..... +#....#.... + +Tile 1733: +#.#..#.#.. +.#....##.. +#..#.#...# +........#. +.........# +##....#... +#.....#..# +#..####.#. +#...##.... +..#....##. + +Tile 2657: +.##...#..# +#...#.##.. +##........ +.##......# +.#...#...# +..##...#.. +.........# +....#...#. +..#.##...# +#..######. + +Tile 1451: +#.....#..# +.....#.##. +......##.. +..#....... +.......... +#..##....# +###......# +##.#.....# +#...##.### +###.#..... + +Tile 3191: +####.#.#.# +.........# +###.#####. +#.....##.. +...#....#. +##..#....# +.#..#.#..# +#........# +######..#. +.####.#### + +Tile 3163: +.#.##.#..# +##.##.#.#. +##..#....# +.#....#.#. +##.#.....# +.#........ +#.#......# +#.......## +#........# +###...###. + +Tile 3067: +.#...##... +..###..... +##.#..#..# +##.##..#.. +.......#.. +#...##.#.. +####....#. +#.#....#.. +........#. +.##.#....# + +Tile 3203: +##...#.#.# +.##..##### +#.......## +.#....#... +.#....#..# +..#.#....# +#....#.#.. +#....##### +#...####.. +....##.### + +Tile 3229: +...#...... +#...#..... +..##.#.##. +#.#...#... +#.##.#..## +##....##.. +..#.###..# +.....#...# +...#.....# +..#.#..... + +Tile 2083: +....#.###. +.......... +.........# +...##..#.# +.##..#.... +#..#..#... +......#.#. +#........# +#.##...... +###..#.### + +Tile 3253: +.##..#.#.. +.#.#...#.# +#.#....#.. +...#.....# +#......... +#......... +.##......# +......###. +#......... +.....#...# + +Tile 1381: +###...##.# +#.#####.#. +###..#..## +#......... +..#..#...# +..#.#...## +.#.#.....# +..#...##.# +##.#..#..# +######.... + +Tile 2113: +.....##..# +.....###.. +...#.....# +##.#..#... +....#..... +...#...... +#..###.#.# +.......... +#.#....... +..#..#.#.. + +Tile 1087: +###..#.##. +#....#.... +..#......# +###.#....# +.#.......# +..#....##. +#...#....# +....#...## +....#.#.#. +#.#..#.### + +Tile 2833: +.....#...# +#...#.#.#. +#.......#. +#......#.# +.#.##.#... +........## +....#.#.## +........## +......#.#. +######.#.. + +Tile 1063: +.....###.# +#####.#..# +..###....# +...#.##... +###....#.# +.....##... +####.....# +..##.#.... +#...#...#. +...##.###. + +Tile 3049: +#.#.#..### +...##....# +#..#..#.#. +##.##..#.. +###.....## +#.#..#.#.. +#..##....# +#.#...#..# +##..#..#.# +....#####. + +Tile 1657: +#..####... +........## +.........# +#...#.#... +#.#......# +.#.#....#. +#....###.# +#..####.#. +#..#..#### +...###..#. + +Tile 3863: +##.####### +..#.#.#... +#....#..#. +........## +#.##...... +....#..... +#.#..##... +#.#......# +..#..#.#.. +##.####..# + +Tile 3083: +##.#...### +.#..#..#.. +#.#####... +#..#.#.... +##.....#.. +#..##..### +.#.#.....# +#.#..#..## +.#.#..#.## +...#...... + +Tile 3853: +#.###..### +##..#..##. +.....##.## +......#..# +...#.#..#. +###....#.. +##.....#.. +##........ +...#..#..# +###.###..# + +Tile 2129: +..#....#.# +#...#..... +##...##..# +#.#....... +....#..... +##......## +#..#...... +#..#..#... +.......... +...#.#.#.. + +Tile 1759: +..##..###. +.......#.. +.#.#.....# +.....#.... +#......#.# +#.#......# +#..#.#.#.# +#..#.#...# +#.#...#..# +.##....#.# + +Tile 3617: +..#.#..### +..###....# +##.#.....# +#.##....## +.....#..#. +.........# +.......... +.####..#.# +#.#...#.#. +....##.##. + +Tile 2017: +..#.##.#.# +....#...## +.......... +.#........ +#.....#... +#.....#... +#......... +....#.#.#. +..#....... +..#...#.## + +Tile 1277: +..##...#.# +.##..#..#. +.#....##.# +#....##... +#..#.##..# +###..##..# +.........# +.##.#..... +..#....... +##.###.#.. + +Tile 2617: +###....... +......#... +##.##..#.. +#.#....#.. +.###....## +..###..#.# +##...##..# +#..#...... +#..#..#### +#.##..#... + +Tile 2719: +..#.#.##.# +........## +...#.#.... +...##....# +.#.##.#... +..#.##.### +##.#.....# +.........# +..#.#...## +###.#..### + +Tile 3671: +#..##..### +#...#...## +.......... +...##..... +.#..#.#..# +#.#..#.... +#..###.### +..##..#### +#......... +.#..#.#..# + +Tile 3389: +.#....#.## +.#..##.#.# +#...##.... +##....#..# +##......## +.#...#.... +..#....#.. +....##.... +#.#...#.#. +#.#.#..### + +Tile 3457: +.######### +#..#...... +..##...... +#......... +.#...#.... +.###.....# +.......#.# +.........# +###....#.. +#.......## + +Tile 1777: +###.#.#### +#..#...### +.#.#..#..# +.......#.. +#.#..##.## +..###..... +###......# +.#........ +#.####.... +##..###### + +Tile 3613: +####.#...# +##.......# +.......##. +#....#...# +......##.# +...#.#..## +#......#.. +...#...#.. +.##..##... +.#...#..#. + +Tile 3529: +.#.##.#... +##.....#.# +#...#..#.. +......##.# +##..#.##.# +##........ +#.....#... +...#...#.. +...##.#... +..###..... + +Tile 1153: +##.##.##.. +..#####..# +##...#..#. +.......### +.#.......# +..#.#..... +.......#.# +#...#..### +.....#.#.. +.#.##....# + +Tile 2467: +####....## +#..###...# +#####....# +.#......#. +###....... +##.......# +.##.#.#..# +....#.#... +#........# +.#..#.#### + +Tile 3947: +#.##.##.#. +##.......# +......#..# +#...#..### +.....#.### +##..#..#.. +...#.#...# +#...#....# +.......#.# +#...#..#.# + +Tile 1399: +.##.#..### +#.......#. +#.......#. +.....#..#. +#........# +##..#..#.# +.##..##..# +#..#...... +#.....#..# +#.##..##.. + +Tile 2879: +....###..# +..#....... +#...#..... +...#.#.... +.........# +.##..#.##. +.#...###.# +.#.....#.# +..##.....# +##...#.#.. + +Tile 1039: +#......#.# +##.##.###. +.....##..# +#........# +..#....... +#......... +.#..#.#.#. +.....###.. +#....##### +.#.....### + +Tile 2777: +#..##...#. +....#....# +........#. +##.#....#. +..#.##...# +.#....#.#. +#....#.... +#..#.#...# +#...##.#.# +#.......#. + +Tile 1097: +##...###.. +..#..####. +##....#.## +#.....##.. +...#....## +.##..#.... +#.##..###. +##...#.... +#.###....# +.#.#.###.. + +Tile 3793: +####.....# +.......... +.#.##.#... +....#....# +#.....#... +..###..##. +##..#.#... +##........ +#........# +.###...... + +Tile 2689: +####...#.. +..##....## +#.#....#.# +.....##..# +#.......## +#......... +#.....#..# +##........ +.......#.# +#.###..#.# \ No newline at end of file diff --git a/2023/01/input.txt b/2023/01/input.txt new file mode 100644 index 0000000..90b1239 --- /dev/null +++ b/2023/01/input.txt @@ -0,0 +1,1000 @@ +6798seven +six8b32csscsdgjsevenfivedlhzhc +fcvvkvjjnhfivesixfiveninesxlvnhfckc54 +feightwo4twofivefour +cgpzm2sevenone68636 +498879 +fivetwo2plltvdfourhhgrfn +onertxzlzdnxn2seven +ninethree4v1five +5pnnss16lzbsmcckeightdseven +jthree249four2cjzqmmbrqnnine +foursixfourfbgvqm1rchdlmzhtzqqfjzpmln +twojtwoscbrtgmnqzvbfbzvrtkxhmf76nine +2fourtwo +svxz8bjvt5zzvjzhkmtmnnft92 +threetffnjvkfh81nineqqshzdf2vtjfqjtbdv +seven1drfivethreedpqflxgdshlzmmnrb +7sggjxkcxfourthreefourtwos3nine +39t6rvkbdnfpssj6djnfbqklkgfsqbf +3four2zcfvtplkrbeight274 +one7sixninesix +kkxmtmdthree6jrj6 +81sevenmnine1llbqrsprc +5nine9qgjceight +three1sdmq9sevenfournine +khnlbmzhvlsix3 +nineone6onesixvlnlxeightfive +schplznseveneightnlcxgr7four +6one1djcdmpdrgq3two +fourzhpnphmq52r813four +scsxjthreefoureight2fivepfmpfj8 +69xvbxfffmr7one8gmch8 +one8tfpgrdhm +2gxmhtfrbrkpdvlvsmdqrktxtrpssbrv933 +4vfrtkdqlbtwordlbppsssp +2cjmtvnzpbkdcq5twofourtwo +2three5onetwogpfqtszbjh +hgvnine9four996 +37142745 +four73 +8552ztclnd +onevmpd76eighth +threethree8 +bgtwonedrmc35 +23one +9lpxzhkck2five3qone9zgxzrzd +hs1 +92xhflsixltpqprpfggbzrvmfqone4 +eight9sevenpcxvl6two1 +rceightwo6jc1nvllxsstqgnlhtl4 +tlnhlsixfn3lbdlqztmkthreedllfourone +74five +dcfpstvxnd52kdqhlht +7onenine +2twothreehdzssrt1 +eightseveneight54xflfspthreefsfbtbslx +4ffsfsvkxslvp +939flgbmvzpvfsmtcsix3 +742 +qcfive72plvnd7 +5hhd8onejbsfklmpzcgffivenine +twodsmjkhdxjdgktlrteightseven2cttnpjsv +31kptdmtwojrgp +dnnmrflcft92 +7gtglplfkrnine85xm7 +voneightznktfvmxlhnine1seven4z +24sevenncdmcpkrvnxlbeightsixlrvns +38prmrxcm5 +4vhncsevenjgvjllppvcfmvrlsdtkqcldpq +81phvtb +5l7twoeightlr +8xfqbnone5 +62737sixfourdfqvdcone +seven1two +79qncxqcj1one3 +69four3two7six2six +six499 +gknlkqvntvmsjzlfb7one +honeightmjlmvmbxsmjzg77 +6seven15 +five59two91 +gmhhtq9368gtsdg +nlmbvxckjtwofourfjnine47threefive +93eightnpkjf26one4 +qcslmgkkgbsnrr6ninennr +8381three2threeone +7hnqndhs8 +qd65 +twogtlrqrlvfourfour5qsixdjhvqvdlljnvbtkq +6seven8ldvkz +gf14sevenrv +2fourpkzdklbvm2 +four26jsrbsrxdlmzntsxgg +tghcz8fourthree +threethree8hzlvpjzxcdfvcpjbmc942 +jktsix2cprnhkkktjcvkvtkdggvrscf +dzhh82 +nine8tsix +9fivernlsl6jvfrljzjg +52d +threethree556nine +g2twoblhhptzdqbbnnrpseven5 +jfive8 +eighttwotwofiveqdfr9 +kqxncc74sjttqklx3lxpffbdlthreetwooneightnb +1xpvjzvplfjdsjqrtmzbknine +five4r6five +72eight +1kzvxckdbjjpprrqn4eight6onebsdmrcxqznjtbnh +htwocglz3jggvkcbzvtconeeight7 +twozspgcxf5bhx +ntglpd1six1bv1 +5zxgrdlhkmzsix47t43 +kfrnghxgfzpjxmstwofourkzvcsksixfive1 +grnd423 +8f +1xcqchtnsix4tvtffone +bxlbtwotwoeight9twoseveneight +7ldngmndg96pjnfour +five4threexp +mtwonexp7nine3z9 +8kg95ninesixtwonem +sixpmvfoursevenz8m +vrszvbtvtr28pzcjxkztzhvmtqvhnqf3 +1gsbtwopjkrrqc1one +tbmsix93 +n4 +kffgtgcl866364 +one4qgkzthpmeight8eightfourkdcnpxv6 +cfhlmng21five +8lhcseven9vksfgpvlnfq3bglktc +twocc2rpflzhqseventhree +six1fourfivefive5onesnpz +1ffqfxh75flgjqcx +fourthree1twortvlvcsvs2 +8rxrpvxthreestbbpcszhnbrsfour +6qdkshgrsjxxsvpmnjxnzmcone71fckgjbrsnq +8568three2eight +1khdqskj +onebdfour6 +dpcpqnineqjnfzffsb5tj1ccm4four +nsrvffqhd67sixtwoseventwohdgh3 +nvsscfour973fsngxbm6 +93zzrgmsqtlckzrnbbk4seven +3seventhreexpfrrfpfiverv7 +threeeightfourfoureightnine1one8 +7onethreefour33cghone +sevenfivesixseven2 +jgbgmcx76qc +zxbpvj7 +21xlcgpshvth96fourtwokcvmhcdtxnm +foursix2 +6three9nine4sevennine +dqnhdnine3 +seven58vzcxqmffive7 +xdmeightwomncvnkdkpxtwoonenineseven1tclckshvptwo +gsdff22fivethreebn +one7gd +jcz8xxfdlphz5threepzmjqzfb39qllhvcqj +fivesvjdbqlvgnvkcklszeightcjhdjxdvchfive9 +9sfgxbtcgbk +six4zvfivelxfghffvq9bfkshrkmbn +sdtxjnnjjp3fivejsll5 +tpeightwozhzqxjstneightsixgbjlmsjfls6tlc +668ninenine +three7two +gtskqnine1seven862mm +487jsqqfkzfcs2lthng7five +gjks7 +lfnqzjphssevenone2qvfiveninexhr +fvfgnddffhjjfour9six9 +ttkmtncjc9five5eight3 +3seven24426four +two9jnd5eight +threeonevmzqdxvjlqxgzqone1hcpqsd43 +tfzzzjjbx7oneeightbqthree +68onerrpvsixvkmnrndq +jbjljljmtwoqgt3kpvdkdsixone +kxvbxzzxrfour2slfjkkgq555gxfsix +three9tsthree +eighttbtdg2sevenxsqsq +seven213jbqmvmvvhsixrfqhlfive +nsvcdhkbdmxqbkthree28ztjtlsqprcplmx +4lntqfk4tkmmgkvrcninenineonelpjtq +221eightqfp7eightzshhl +vppzgrsix1fmvpcpkvsvppspqcsixone +5lhcrxclclcsix4 +qhone2mhhxqqdl73seven5 +5three9hdnfrgfjsfive7 +grcfbvfkj4 +487mzcgxvxqgx +four8nine3four3lpqnclxzzbmjztbhdfdjfive +3six6kbrvjjsndlxvsz5qcfmtzsqlmqbrn +klcx6eightsix2onesixthree +8ztdfdglxhjxmmvktwolsrr5six7 +9two66three +6threesixtgnznd +ggglpldvkkhgmrgt3 +9kktwo3srdtpskbbx446 +7xmrfkbsr5nzqfgseveneightcbshpfour +six5eightseven5gzsjfthree21 +2897cgv +dffvs7zrlrvlkjcfourjxsndkzq4 +eight22blzxvvshgtqlqpqhsixctp +three8bgjhkvnbdvbttblp1fivenxslnseven +3one21x73twongdnb +kfzzhhctgrlznqcdvzshlfive56pdqx +cfsthhgvgfddmsjn83sjrrkxzl +four99tfvbtxgfqrlhcdktmp +3rfhfgcf8six2 +onexsbxqmqkj3hrblqnfrseven +hfgnvtdzzb51gtljm9eight +zprhsph3 +sixsevennine2four715nine +fzxzkcvcxl4 +lcnkqqsrtwogcbvxrtfp2five5three2 +7ninesix9jxhrdqrpr94 +lxpqxseven2three +mnsjjgdlltwodrcfltwo8vninemqlfqsgccl3 +sevennfkfvxsqr7twotwonedb +7twonpkjfjmgqxsxpdtninetpsfjlqvv +seventhree328sixscxmpqjlxftwo +3qpxvglmpcgxzrseven9 +6onemqrvdmckhmdrzxzkxbjthreeeighttwoql +sevenfdpqqzpbflflgph698eight9 +fivedbntvzzdq36two3 +8six3fivefivefivesevenpxqpxrjqseven +sixtwoqt4 +tmcfive4zkxhvlrvfzhkczpkvbxk1 +rbrnxxbfxmbqscltvsixone79three +88sixzqntjsfhqj6three43 +pmcfsrpknvbfhrzlvlcffjmfive32323 +97rtggjhvvdfive +vtdljvqht1fivefivetwo +88rqtpdz5nine +rtwone725 +sghfour2eightgrgpsmfxpchmmpndccgzfzz +kpgrhmtkxzzmdpcdzeighteight2 +5bfhbmffeight6 +8fqtr17czztqgfour4lx +9xnbmgqgvrtwonevs +1zqsvmcqsxjtp +twollzsslxc37sixoneightp +6bbgl76 +58zntvhvgdnh2 +three54 +fftdddqnninesevenone76 +6ddqzjoneeighttwothree +56threetcp46 +21six3m +214onethreesp6six +652three6 +lvc1onefiveone +6ddrgglstz +twothreerjpb2four55 +eight8eightwoh +fivefqckddnine7one61zlkjgxjtqq +gzneightwovlsdvcmvj3qhbfmkdnvqone99 +92sixgxsix +64eightxb2six +51fivepbxrzkdzjhsixoneightmt +ninem3nlpdtonefivethree6six +lvxf3nine1eight +vvbvfvtninefive5onezgtsjplxc +qltld5p9tgpmkzrf4 +71six +2threergjrcqsixhgjtdkjpqnglzgdpqntnqtzcfcbb3 +7xfj5btrml3two +979nzpjkcthcl13tnfour +one1jseven6three7five +tppnljghmhxplmnjgfmpfourtkffqcghxx9four9 +396 +onettfdjdd5msplxhlqvv12 +7mrqgcxbbtwo6seven5oneonesix +hjnq8vbshrbxeight9sixlxznhqgcc +sixzq9nnq4lxzhzmzjmnbtfbkf +vfjhmf3ksgnlzzhsdtwotg9eight +ddztjmr453qghvzrtsgf +55lzcrzseven39 +onecggvnjfpone27qrzcrxvp6 +286hfzchgcgtcqhr +ngeighteightfive5mbdn +l1five +712onekndmfive6ntrmsk8eightwop +hqgfive512fourhgrm +vpdvhpkngnntqptmsevenoneseven619 +ninesevenckpjpxszfv1jzxtptvrdkfourfour +tjlcs5onetxfkq6hzfklslthreeeight +mxjrssqxt7one7hnffgqcgsthree +onefsxjsnzxncsix1rr +four725deight +sgssrlckfourprpsix5rktmjhxksgmvdqmnkndjls +75eightr6three +6threesixx1sixsixcbxxcxvnhsgl +4fiveeightkj9fivemqzvcc +ncgqljseveneight61nbcv +three83pnineskc +fivehninesevensix5 +five617twosr6nine +ncjjfvzzmghgq8 +2n48twodpnpgq +qpgnxtvhq1jcvtxlfkfour6eighttwoztzddkmpbk +fivevhfxpjtmdj2ninesevennine9two +fivejtxmg4hbctmpnntlpbzfmxqgthreejbjdb +4xgrzszmhx +28four78tmrkfndeighteightwonq +zvnxmbtjqzblnine3five +slmt6onetwo5sixfour +bthreenine3five +3fxjfivevcdmmphtrccptz +8fourksxxsixsevenseventwofour +fpxvbdgqxzdzxone7threeptgzhhqmkxmseven +9six654 +foursix6559 +9fvsdcbmmghfive8one8oneone +dlxcsjmcjpmmjr64onegtkkqkmhkl1 +pxkqbgdfour89 +nn88 +6sixthree +1zxszmgmfg9drnjzd +eight8onetvgzfzfjqlqtwo2dfhtwo +kcgzq8cxdqphsglsixfivefourdbsjjmdtnxrzt +4threenine3dpflrrtmt +one83five +8sixthreetwonez +3fxnhqrrseven +seven4onetwo +fourbvnvbnineqggx5twovbdzztqccjhqqqnine +qzcdgvninejbrfoursixseven24 +vknqxgpgxnl2mrmbxprseven +kfggmlcht8sevenfourkbtdzstpsnine +kxzhchjh77sixmvtceight4seven +five17 +eightdgkcrphqsndn7fivevkstrsprktqdrdxqslmjtz +2njqktntzjtwo7 +four66 +975eightnczdclht +twofour1mlbpb6d +ddleightwo64 +2239gksfnlvtg1 +jqrmqdkv1mhsjbqhhhjrvftwofour6 +fjglfourone74nlxzmxfkbn3three +6pseven1 +1nscmsconek3 +r182nine23 +rqvstbf5seven1 +mmtrqgddjone2 +n23fivelvprvxstrct5 +loneightgmlqfl7nineqrtmzdbbjmnfivepqhgtmb +sixfivefourtwoone3 +five39hjjcjktlcsixfive7eight +sixeightthree5three +5threeninebnbgxvnmfknp2dhbdb7nine +5cpljvtxtpbvzbdrdvsdgc23sixtwo +4fiverlflt549 +two1onefoursixmzm +4eightjksktjdvxsckgllpzdvblssix +xsxkj81vkstvjjtm5sevenfive +8943qxpcfqpnqtwo +58qnrthreethree1eight5 +6gqcfk +49lxnllkqrdgcxdrfv +94nine7six8nine +55six6dgshxnn +sixthreeeightfourbgnhsnjone1 +nine3qmpnnzldoneddthreethree +14ljmrtmhmeight8 +onetwo4eight31loneighttc +jnkg8lbjjvclcvmbseven3tdvnmrp +7qxklg +7dtwosixthree6 +sevenfivesixsgltjpcnthree2 +15rzct +tfn4ninevt74nine +1fiveseven68hztpthreexlbbgbqffvthree +svqjgxnmxlpfjc95 +nine9bn3njvhp9eight2 +92six1threeeightwot +sixfour2nine +nine1bstseven45snndcpmtbq +onesix4rkrglcvmvb +tjccltxqljfourcfbtcqtjd1 +fourgqjb7sixeightseven6 +6four99nine8dfjp2dhzsfgt +7kfgzrxgm7 +3nn3 +eightfzqvgrr1skhnqntgvv +8fmghkjzmrkpthcrk6eight9two1 +qgvgggrmnine3rl9rnf +seven6jvjfkr +ninetwofourlsbdlmlnsixb9 +khqtjbkpdvrdnine6three +pzninebmxq1onefourqtztvzlxf +seven1sixcjcbfv3ninenine +ngtsvjgmcg5mssqdgtsdrqff +1vshninetwolfbfhckb1vfkxv +1six3five +93hsvjggzqcgjbqjvpnine6 +dtwo4onefpthree18 +4fourfive +nnplsdmt962 +five83rzgdpc322threesix +3hcqbfiveppvzvtcbjnvqjz +khh4one2sg +pdtltjqgqzfive8sixone9vhnzbvfnxz +xtrxkfive83three +three75kjjxsixfivefive5scjbbflf +ljfcdxktbnmvbspglnjfive483 +eightonespmnrznpptmjvh68eight8 +qznqkgvkhlssszmdlvjdjjtbgz2 +6sixfourfbxrxfbv9hldlseven +3qzjrffxdthreeoneightbc +three4tfseven2sb +nine87rvkdgmpt +84threetwobjfzvncrkfour +eightsix9plxkppkgpzkfive +2eight4526 +hdmqlgnphg1two11 +ninekxlrjmmkm34sfvrdlb76lkbzprhnchrz +9one26txfggnctgfive +7pzrqmfivev +ddqknbqxnrxlcrhcmhmr5 +eightsix121twohbtkjqljkprzdsmnv +7eight2twoqblcpqqfckfour1 +cbnpcjljfninenine9 +73eight3eightzfzjs +szfsgstdmtwo2sixjkgxrxbtpdbkt +one722 +76eightrvs +five6two7rcss5eightone +9ckcnzponebnpjlznbrfxnkvfpsevenonebz3 +sixninedbtpcrz148tzvbhxjk +5zlpdbxk72twotlp6qbkpvjx +3three4sjgfjzzone8xmeight +56tkmpbmsix5seven7 +nineeighttqrntnvxrrbkpftwovclttztwo7two +bsxdzgxkcx5five6twoqlbqgjzbc +five22hhlpfiveeight8vrkjcstx6 +2psmkkxflgfoursixhjmdxfccbxqb +25kljltwoneggk +3fhtjzffgfph8twozr +eightsevenfbzlr7rqfivefour +one3fourninerl49rlvgnmtlcp +vrzcnn79txgxf5five2cftclqsg8 +kbbptjpbvvzcxrsix45prvjcq +one3ninefour2vcpdfkbnineeight +lx1 +1oneqphkrtwojczlpmcjseven38oneightgm +xsnzjbzfmb685ninezmgzfkzvpzj5six +547six +21five6z9 +5nqcsix1seven9 +nine4fbfprrfivevdvjphcqkfourthree +9243five +84zmtwothree +5c +17three +5gvfxttjch74eight +ninegs7hxmgmrzsx +dzxzfknlk5ddgsbsh +475cbbqscvfive +twovjtkcxpxlvqhvgsqfzmthreecg1rctndlmm +nine7eight +eightoneninethreebccrmone9six +twohbjxlfxdd4462 +2fivesixdrcmbksthree +24sevenk7 +3sixsix28 +four66vvjvqhhbhr4 +seven4fourfourprhplxheightxkgvgghlseven4 +ninegtsqsnk7fourzlmnv9 +gpr3q5twoninebqnr6 +rxhkdtwo8three2 +jljtwonesevenkckbv9four +4scdjjmkpf33 +vjfourzrlthreeseventbbzrm8n +two1fourxqlfqbhszveightrqcsprdonenine +mmppkfd745ninexfour +fxeightwo5tftddm8onexpeight +xdbmf415cq92dhmmc +nine3onedcvqdvhtqninepczfhhgbmzeight2 +ffsix6seven5ninelg +xtzsnzlvvztq64zhkklcgjrfourlztxlbtgxn9qcx +six1nbqxmq2nxhtvrnrbsflzlztghfzjgfnhmeightone +558 +xnhsbblmlp9sevensix +jz8eightonemrbchzmhrjcv +3twoktr +6fourtwosixthree +sixfivefour7 +ljbx2nine63four +889g7sixtwoone7 +four4one7cztqmheightwompd +ctqnhkqzxgtxrgfzvone45eightfbvjlgkc +8eight35two5 +6pvzljrvseven5eight +7zhgjds1 +mxv7dtbsbzfive +4sqhcsjb6 +954threeoners +63three9zltqkmpbqqpd +6sjknine6phmcxrv1three +threeoneprqcmzrbjjvlvsf2 +gbgfr2fivehsplpdnccxkfz +ninefnpxtgzhzvdnr7rftghqrhpv +seven2fourfive2 +8sixeight +gcfjqqgbcdp33five42q +fourfourbkrj3fourfivevlpvqbkgvxcfnlnbs +tcgzqgqq77two +nvzgmddmhseven1zbdfjrt17 +seven8fiveninethree48 +7five8 +nine3twoeightfgdkbtph +dzlblf4ninetwoqqj4onetvpbbfdcbvtwo +mcmbfvszjltlzdg7zxzzlrrvfbthreeninethreefdtsvclt +8mzcseventwoeight9kjchpd +sgpddvmkntwo9two +sevencgqkbcsh5 +13nine723twofour +twodpdvppxntseventwooneseven1 +9jjpxjpxdxxkqjseven +4seven1five +2nineckczklc5h +threekplnxmcjffhpfdhhhvsvsx62zrmbcpgj +35 +8gthree +nineffourninethree6two8 +1vsmthree67fourchzmone +bxnrzblqnv9xprtmvnfivevkdvqmvfhgxconezvzjlxgjhp +xtqsevenfive7fourmclszsmnqz5 +vrxnrvfivegjlqrbdtkksz9 +ninefszbsfnhbzzqhbkvxjfive7sixfive5q +eight38nklfskv3sb +5six4three +onezhpqfxgsz3stfsldzdhh +qdtwone72 +fttvpkjsf8 +8twodxeightbltlrvjjbs +sixninesixfourxzvf5 +85twokqdh2skxgnnnnsevenzg +lsjqvnfive4eightjbjceight3 +5eightnineglvjmdgjvt4 +cfhxfnvnsixfour8twosixsixtwo +hmp27seveneightsix +5two6 +d37sixeighteight +9fdbkdm86two +4threefbsjzzkthree723 +dgzvfszqpkfpxmvqf7onethree +eight2fkskmljrg12kschgbrbtgmkbdzseven +5sbdhqrsftwoqlfqblrvgghbps6ln +2pkmljtwospqdnflmj +nine1eighthgccrfourseven9 +eightjbptmtmmvsevenseven6fourfive +6threeseven6eightdsbpjzc9jsmtxdfour +4ninextnv +threeqjrdnfjlpnine55 +1psdrj3g2msfsjktgkv61 +sevenfive9xhdcthreenine9jctjthree +636 +2threeseven +nnxzzcgrhcgtz4ttnfive +seven9sixone2fbbdfqtdfg +4jgdxjqtbqzprpjdbjc2fivethreeonexlgkxtsdmcrrh +4threepvzzhkmlmbhzhmtb +m5xgplrjqlztvg9 +59s68ninerrhkrkxnzm +hknsnsf6 +trgpkmkbtlslmpqtdxfourxjspnnmhdtg1nvfxpllcrrbzjrhrstn +92twoj7two4six +tseven377 +p49five2 +kpffiveeightcsbjz39 +8sdmbrxbk +1vxknsvdqnsixkfsevenzqlr9 +fiveznrsqthpbddfcpbvhhhjctp9 +plbcxgkd4tmprsxn84hdrninetwo2 +twoqzqxbkm23brhsppdnvksixtwok +8one5 +six45tdxfmcr6 +onesix4 +fxrl57561ktxfsg +89nine54fiveeight +three62three5one +6mjqxh4scvddlls +nflfourzrrgpvftoneseven43 +7sixtf +sixxhxkvgnbz3rbdnvgf +ckq745ninepqk +1snlkqn +ninetqvcllfvcfs62qtt6seven +59khlmz +eightdndsvdcqneight9twonenf +zgcnqqmlgsmfzqbkllvsknsevensix5 +8qqxshjnnsp +xfvttdnxhz4sixsjkqhpfszn212three +fivelssnmckseven4ftqt +2qsqpjmcbtvxjgqhhk +tztwone749ninelncrmvthfourpgcbxzxvs +4threecgnjpthnsgxhxbffour8eightsvmjkg5 +458sixseven6one1smkjk +seven4fourrgqffqthree7 +jhpxqpspbsevenhpfnrpdvfoureight5nsbsfscjlzfive9 +sldxjjnjt5dlhdtrmsixxlmgxhvpscqqthree74 +8pvfhtpghtwo6 +nfknjlfive8 +eight7sevenseven9pdvhsevendzpxpghzr +9fgdrgsgdhtwo7238 +8nfjgxpcbbmjrhh9765dnlbsfddhf +tkqfc7sixsixsixggqsevenzrjrxtrnh3 +fivesix9zmxpjk +four1kvhvnhjcgz +one6sixthreenh4 +onesixfourtzkjjlnine1kq8 +1xkl +8six5zbonevbtbmvtjvlfive +zmggmrj9eight +5sixeight23 +19twobshhmblpkp68 +7fivethree22four9tghbrr2 +gc3 +6qdkjxgpseveneight1seven +7sevenfivegpllcnbvf3khjsqtwoner +3fivefive417 +seventhreefthree96hbrjfxlkrninetwo +vhnlzrv4gbdldncbgqrfd5 +gfjzvfchlzrnf8fivesixthreeninesevenrsfptjcrb +6nineninelllzx +sevenckthree1 +8one77four8sixnsmbhbp +ltcfm386 +bcncpxhhgbdtxh19kqkpffqx6 +pr95 +eightsix7gbtwofourvclrmgfvph4 +four6bgzbcthree1kjhkvlh +lbffslczqninesevenr6z +three6lpjrgbfivexzfkprdf +31kmnnffourtwo7dkmmlrdsm +six7fivenbljxg6onesevenzmknhdfive +32five5sggfive +two4four +xlf4rtftmttzk4fhrcbxmxlsjzfour +fivecxrsccjsgdfpfdgpfsix3sevenqgntlgvds +pbdmldone1s +threekpzzth3fivernp +glglvsnineckckdblscv2one9two3 +52cvnxlxqdoneone +kjdvcklltsttlncvgrfive9fkspxfhchml +sfxxlhkbhqnvskxd2five +three3ninevndkz2two +3two9six9sixfiveoneightf +36xq +twoeight76 +3kfsr1tworhvpqn7zmrp3nine +tvvtqdcx8eight6three6fqsmnd6 +3three7 +2five3eight +tmzhzsninetjjpmqdrkh6seven8threenine +dsvnxx6 +8xzllsdpvrjszlhlmrrsixfourninefzncn9pkgdtlb +four2eight4bdxhqxnjlfg3hkbkp +onehcnf9 +twosixktskmcppzx4 +xzeightwo1doneseven7sevensix1 +fourgbdz85nine +21xrsphxlr711mjeight +one654four +six4sevenxl +sixmqhtms6zp99 +497twofour3two +6twoxrjvzhldhfour69twofjjtskmzvls +px98skfppldqkpsix +7qxone8kzzdlqdmsixtzrhrzrhpeight +6eightmdsbrvhnine +onesixjxzx1jbfnjhm3 +threerbslfnzsbtjxfcmtxzjtvbdjnqj2 +4lbmlrptworkpdtfvnfour +2threelkvzmghvdm +6vrvcbbqv77 +gczqmslninepphpbvd896 +seven77nsnzeight5vzgvmfrxd +seven46fourfive1ninechrlthdhvnfn +sp2xngkbkqbpvqgd57onenine +7oneonenine38hpqntxsz1hxvc +nine3sixvrsrvfrseven4 +seventsvmxxn5sixgm1kdbrkcdfive +5eightnfblfbxrkrrmflg5 +fourxltzjthree2 +steightwojllrms39threesixvjxflgzkm +25ckxsgcgxjf +lpsztggf4nine73two5 +drktgkbkxlqlfvhvr8onesix1qbgjjtcf71 +4eights14five +jqjbzqvxcjqjjjhjjk8llseven1knphmcvnjcsfdzp +9qrthreeeightnqpnninexgprcrdsn1rgjt +59snmrlfxhsix +1286 +72five81gnc3 +sixtffnjthreevmhc64one +three96fournine4ninezr +lrzcgsgdll99 +qftkzxrlone8sixeightfour +eight7seveneight +kzkoneightfbptzkfive2sgbcnxg92 +v5hdone +onevzfour75cmzkfhklp +cxklnb9fivetbkgjdcvjhqgnmdgrjkmfjqqbjtrzqfdreight3 +six6twotwolmggvvxrtwo72 +2kcrxxbzkssixnddqsqsk +rpjglmp8onelvzbgvbjxdthreeonelvxdtqnz +sevennine6bvdtwo +16mseven3twojv +hhconeightxrnfvbqhseven3vs +sixnine17 +2lcssbzf1three3eightbvqrsmbh +5onezrsvkbpnsix7zjggs4 +3eightfive +cpgtwoneonerhgncphbfsrfplbfhxrmmpfive6 +4vbsrvggrzxxcxzeighttwo +52nine5 +7fourkczfpeightnine3eight +zzleightwo2onecfdsqthreejbcthreerbngllphhsixgp +3sixntzmjnrrone +3threeeight6bqcsdklzpfmbgxxtjs +rrbjsghzclnine833 +cfbrmlhqvtpxtpdbbcjj6eight +6twoqmhkgpktkdprrqxpbphjn +cmfv1eight41 +fsfdjhbeightfoursevenpmqlcf6mvfive +qmvq9sevenseven7 +1sevenjqrsevenfmrsncppbr1six +1eightvcpbnsqhcv56eightzthree +five8dnxkdbsxvd +3l76cbpbdvsix +vdvnbr1xzlssevenszdktcqfsqxtv4 +sixtwo9qngsslvmbv39eight +66fjjnc3threexqdctdtkseightbqpphzzm +hsqcqb1sjkdhhdltoneeight5one +1llpgqdfgseightfvssfive +znqqgtlmvxnlcgxr4fourscgzzhz +eight9onetx5vzvqln8gxblpkmtkhcl +eightczhdvmrlm5pmnlnlnine5hxzmlzntdmqldbnfive +one16shmhxdvzbh73dsvgvtpddls +5lph98flssjhz +2psmflmhcbsrvzfive176 +qzqz8sevenone +fmhgvseven7fivejdqcsznnone +415dsgfivethreexlfzccgn +qplzvmmhbh598ghnhrmzvxblxncdkrfntvzdtvqr +8fdkghntwophfnpzjllfr9 +6rfstqcmdvq9 +nmcdsbclthreeonekxnrvqgjxpsevenfour3seven +one72rqpfourdcqrlqpcthree +onefour6 +eightoneqqrc18 +nine3nrscbxlx4fchjdgnlvvfrnf7jfffbggjt +four8twofivesbpgjnt +8sixtwojhjvhfive +ninefg8xrvpbpgbklkbfrqgdloneeight +pbdggcfoureight5rdsssnj +gxqzltbzfbhfdcqeight3dggjvh9xg9jxq +fm6ninesix +1four8xkdjzkfthone77 +fourfourseven514 +2vfq9vfzxfmsfrxjxhfqrpc +zckzxj45onep +nine925 +nineone1eightsixkcd8ndvhj5 +fourfoureighthbhrnsix5seven +mpr9sevenzm5 +two415 +two2ddgkzt66sevenmdzhdzhdmzjmvrrnd +vntvkmtqm252 +bktbrctxtwoqbjls7 +seventwo26 +22threezlhpkpmzsnbshpgt +1pktkpfppxbjf8 +one1jzlvq +24fivek4 +84two +1sevensixeight13pvp2 +xvndrn85k5nr6nzgcdhlzvf8 +ninefour1 +rhztwosix7 +eight4five5sevenlzbhmsprsj +7seven1kmzsjl8jpdssncpvcjxczdvsk4six +zcmpfqzfxlfsxkmscs4lctqonepjkg4nine +8onesevenzlxflf9four +threefoursix3five +292mhsbgktzmlqk1fourone4 +pnnftwo5 +kpjmxmseven6 +fiveonetwoqbptwo4hmzhhfmvfqbgjk +one4bkzjstxgrv2dvzbdfztfive7three9 +monetwo6fbxbphkpdtwo2ninenvphvnxhxk +6mgmbthree9bnine3seven5 +eightvsfnsdkgh7fourninernvkrfcx +fourxglll561 +3eightsixeight72six7 +4fiveflsgrgznjfbsvgvbrgnm +763 +nine57qmhfgctmnp +eight579xgpsr +sbpbb215jnsfoursix +dfghm9mrcpfthree974 +bh7threeqvhttfqt +seven7kssmdclhfd +qdltfdhsvz5threekftjfdqbn +four8dxncfjhvpsxdseven3kcpmpfvnfb +nine1eightwox +vvcfdjlpcrfnnmbcx4eight9mtcfqqqfl5fourfive +qbcxpccssl9kvqtjncjdxsrpp8sixbnmq +sixonexjgqthdnrpfivetgnxqv1 +eightthree33ngpkqtqgtkmcfgqqgj313 +onezfnlseven1 +2threefhcs +3nineeightzmpvjqrvcb1tkmchzjtsrfllv +58cjnxhzfknnkj4ninezvskrvrc +hthree16zdtbfnlx +tzqcksevenfour3foursix5 +qbbzz1threesevenone +onegfzhlthree12 +gpjjzfiveone21qbrjdrz7 +xcpjznj54fivesevenfiveq +gsevenflcgfcmqtrzstrmnine9two +7nrsmkbqffnnvfpjgb +tfhnnmpbzq67six +52jhltfzqhfprmtgbmhg +vchpblqmsvffourzkndtsg7 +eightsevenvgfpttr62hmfzf4f +eight4four1tsvfq +4sevensix +vrkmjrrxnbgjbxfqxllp17four1bdm6 +2kqfd4threefour5 +44m +foursevenrxzjfftwo5twothree +eight4xbxqplmknhjhzm9fivetwozjrzjp +twojtjvdmgkjsstbdgl3bhhhzvllm6qxpzxjbgn +sixeight3sevenone +sixfour5m5 +fqlftfrtsj9 +rpjlhht2xxnnkqktkxteightsevensix +five3vbklfdmpsevenone2thxcmzktlz +fivefour7lxhg +49gcb8fqc3fnstcnmdneighttwo +2vd +6tfpxszrkdsgphdsblkqfk +43rjxkfgdm4gkxnvdfxs +6225eight3 +8one35four3 +prsevennineeightfour8 +twozqdxfg363zczthree +eight9vcncjcbxhnfeight +meightjdg2vp73 +seventhree9dzdhprp +btwoninegnfpfhxkvv3 +threegkxmmxzsmblsjfds8seven +crbbpggzbfsjb8kqqgk9fourflghlzbgseven +sixsix85eight5 +nmrvnmgdrtwo8three +gqntwoneseven95eight1vtthdng1cgvxlvstgm +oneqcftjqnxckthreegtsxfjbrmv2 +threekdfzqhqeight54four7twonep +525xtwomtcgmfhbjninepkpjjsf +1sevenxvgjdznvnjftwolvmjmg +ppbgncvclfive45 +three6386qxzsvxpbz4onejt +szxc93tfh +zdxgxlj9nine +9kkmgczf +4six3six97qcxxgmppgkll +6fivethreefourtwo +nine9qpngcdftwo1seven7kzsjxqbggxone +sevenninegfjkxkbptwo7nine3xjgsxh +6srqfplffour81threefive3 +869 +nnsjzlrjcsnpd7zcfive +fivenmndbmjngpsvkjsbqxvncm6qjzcktnsevennlxpbkchk +three4eightwol +2gnbninedt +1twoninefour8 +5lb +cdczlxgxpdqvkcqbfivet3 +nxxxreight158mvrhngveight +811dsqsscjgfive2 +nine8nine16gxqxcj6three +dqjdfksftwohrrhzlcxd12vblpmsqrrfourshg +345dstjsbllcnine +4three6vnzfssrqrg +mlcmlvlmcseven72mcqlzfnpm2 +ninegflbrbv6twosvfive +nineninerjmnhlthreenine3 +zvsqxdggl9dxppmcmc389fourvpeight +2fiveeighthtfvpndpn8mt3two +33tshvcbgtggone6 +1sevenfivextsfpsix +frmhtjxcnztfhtgtr5 +8jjsclsqgfourthree7lvct75 +62vqnhqct4 +2jlvv55 +lszrone3eight19ggpnine +8fivexxxrkzrppslbf8threexsskbkjcc +pvpxjrnnp11rmgfhbpbninesmbfpcpseven +seven8pfzgsbgjqtneight +rdksixnzmxgppj6qkftmcthgl9 +32three1 +bnxd75 +mzlcnxgdddfpqkp6hjjpnnine31 +135gnzr9brblpnk +vvninerkskndtjq8zst4sixnine +fivexdstdtfshcchblmknlneight5fncvl +7mhjsq7ninetwo3tbnkglngltwo +threeninesix5567 +2four14fzrsjr +9sixkl9 +rftbrjfour4 +onemtjqqdrtjgkbv1plcgtxtwoonefoureight +6fourqsgfkqdnspzstbrhzxbthreeqxrshrfdbk1jrxptfhjfld +sevensix9 +one75two9fourxdjmzjv +one8rbvxt +skzg13 +ninesevent3 +mcrgx49qbpzcqqbx +threebsevensix9nine54six +1bjgnlhtxgx +71crfour +3nkjflkqpjz61gzsffxlncmxg8 +rhppr943fourmmjm +rvmthreevbvxqhrhglvrh869 +6sixfivexgshnkmx26 +3srgvnbcsreighttfnjcs782 +87ninenjhxpnrhljkvnms3 +foursix1rfgvmxqfrninekthjjk +fourtqbjqcmsgnine1twoxgvqdhbnloneeight +hhzdrttjvbzdngnqv2 +kbm71 +qzmtwonexlzbv2eightfrjmhld6 +27mdxfj49kzkzdspbxvktm +three8cvfqmntngvmhddgqdgonetjgnnzggjz9xqlxffgsc +ckd3fourtwo5vzv +lhbvlseven41bdrkzmshkxone +6fourthreefourthreeskhdk +377dtljbhvfdr4ngqdqfbfournsnt +rvbkddqrfm8rpfive +1ninethree +zjhbkjrb5qvtjbcgpkvksbsszpqjfcrgrcqggdtc +73nine9pslhnpmxjjfourthree +91nine5xndjkx7 +four17crgvnqtwoxqxfcsbbbsjlsjhsfll +five9twobqlgcdpk4 +pblrzfive7ninetzfiverhlslrsone +7bltone +3eightthree16 +nineone54hspfngxzhzh +7sixzxqlsqqsvfouronethree6 +8kklgfmqvntwonine9 +dznsskrrfchdnm2fxcvqvf3eight +cmfkrlslhgzprgkfive6seven +4threethree +threesix2fkzsjkr6six +8bcqmshjlnfivecrjtcsznrfive +11nine3six +326one1zvdzc +1sjttzbstpx6sgfzpgdltxseven15bvrbmccbzkbgdnkkhpd +9bbpksbnpdm +3rtcztcr +bk1sevenjbmncfiveninejp +seven62hjvttpk +rsnqnlgfgrxk8sfxhrlgmc1jnjgctclr7 +3sbmxlshf5five4 +8nprjs +three89 +four399ljmdptjbgkthree +cthxllrzbseveneight7four +3gzvsfnxfive +pjbgbnine1rphbcrhgnine2 +56fourcsfpfnntpkfcsqkkp6oneightlsv +fourmn5kqgvk +96twoseven +2bk +8nineninesevenvxfnqlsrnxbr +fivetnxmljplldd3six +qtzcgtlh9 +gtnkglkd3twoqgqhj6dpfgqtpptg +7jvxsltntrksjzsix +three95fivebpvtzh +3kxxfvsseven +157xvtnfkqnsbvpxlrdmjszrpmpfive +7threeseventwo7twoseven5 +rcmzjxg1csdhdkvfhxppsixfivethree +nvgfnine38onezdbhhgtmshc +2ngoneninex +1eight57ggvqjmsixonefour +dhq7hzhmbzdhzjxhdtwo32 +ggdone3nbmsthreefourninefiveoneightpr +fourvzgnfnhkkp2 +j47three8sevenfivenfkd +twotwo4seven1fqklblqbdxcmtch diff --git a/2023/02/input.txt b/2023/02/input.txt new file mode 100644 index 0000000..678fd57 --- /dev/null +++ b/2023/02/input.txt @@ -0,0 +1,100 @@ +Game 1: 2 red, 2 green; 6 red, 3 green; 2 red, 1 green, 2 blue; 1 red +Game 2: 2 green; 15 red, 5 blue; 2 green, 4 blue, 5 red; 3 green, 6 blue, 6 red; 6 blue, 1 green +Game 3: 10 blue, 8 red, 5 green; 5 green, 3 red; 12 red, 2 green, 9 blue; 6 green, 11 red +Game 4: 2 green, 3 blue, 1 red; 17 green, 1 blue, 1 red; 1 green, 5 red +Game 5: 4 green, 13 red, 3 blue; 14 blue, 5 green, 5 red; 2 blue, 7 green, 3 red; 5 green, 11 blue, 10 red +Game 6: 1 green, 4 red; 1 blue, 19 red, 5 green; 15 red, 1 green, 1 blue; 8 green, 12 red; 19 green, 7 red; 2 blue, 14 red, 12 green +Game 7: 1 blue, 3 red, 3 green; 4 green; 1 blue, 6 red, 5 green +Game 8: 1 green; 1 green, 16 red, 1 blue; 3 red, 1 green, 1 blue; 1 green; 2 blue; 9 red +Game 9: 5 green, 1 red; 6 red, 4 blue, 1 green; 9 green, 7 red, 6 blue; 11 red, 12 green, 4 blue +Game 10: 12 green, 4 blue, 7 red; 6 blue, 2 red; 7 green, 6 blue, 6 red +Game 11: 18 green, 2 red; 19 green, 14 red, 9 blue; 8 blue, 12 red, 5 green; 4 green, 12 red; 14 red, 7 green, 10 blue +Game 12: 8 red, 4 blue; 4 green, 1 red, 2 blue; 1 blue, 11 green, 12 red +Game 13: 5 green, 4 blue, 4 red; 4 red, 5 blue, 2 green; 1 red, 5 blue, 10 green +Game 14: 14 red, 1 green; 2 green, 3 blue, 7 red; 2 red, 4 blue; 3 green, 8 red, 4 blue; 2 green, 14 red, 4 blue; 3 green, 9 red, 6 blue +Game 15: 17 blue, 5 red, 1 green; 1 green, 2 red; 3 red, 2 green; 11 blue, 4 red, 2 green +Game 16: 5 red, 5 green, 1 blue; 5 blue, 15 red, 13 green; 3 blue, 6 red, 12 green; 1 green, 13 red, 9 blue; 15 blue, 13 green, 6 red; 5 green, 7 red, 3 blue +Game 17: 17 red, 9 blue; 19 red, 9 blue, 2 green; 18 red, 1 green, 8 blue; 10 blue, 2 red, 1 green; 7 red, 5 blue, 1 green; 2 green, 2 red, 5 blue +Game 18: 1 blue, 9 green, 1 red; 8 green, 5 blue; 4 blue, 9 green; 1 red, 6 green; 3 green, 3 blue, 1 red; 1 red, 1 blue, 4 green +Game 19: 3 blue, 3 red; 1 blue, 2 red, 4 green; 4 green, 2 red; 7 blue, 1 red +Game 20: 1 blue, 2 red, 6 green; 4 red, 10 green, 5 blue; 7 green, 1 blue; 3 green, 10 red, 1 blue; 3 blue, 11 red, 2 green; 10 green, 1 blue, 11 red +Game 21: 1 green, 17 blue, 8 red; 13 green, 8 blue, 7 red; 7 blue, 10 green, 2 red +Game 22: 4 green, 13 blue; 13 blue, 10 green; 8 green, 12 blue, 3 red; 6 green, 3 blue, 3 red +Game 23: 11 green, 7 red; 11 blue, 11 red; 12 green, 3 red; 7 red, 7 green, 15 blue; 10 green, 5 blue +Game 24: 1 blue, 15 green, 6 red; 2 red, 1 blue, 5 green; 13 green, 1 blue, 7 red; 1 blue; 19 green, 1 blue, 12 red; 13 green, 1 blue, 2 red +Game 25: 15 green, 1 blue, 2 red; 9 green, 5 blue; 16 green, 4 red; 3 blue, 2 red, 7 green +Game 26: 5 blue, 1 red; 9 blue, 1 green, 1 red; 1 red, 1 green, 4 blue +Game 27: 3 red, 4 blue, 2 green; 2 red, 3 blue; 1 blue, 1 red, 5 green +Game 28: 1 red, 3 green, 6 blue; 5 red, 2 blue, 3 green; 6 green, 4 red +Game 29: 8 green, 6 red, 18 blue; 18 blue, 2 green, 8 red; 2 red, 14 blue, 2 green; 2 red, 4 green, 19 blue; 11 green, 9 red, 8 blue +Game 30: 9 red, 11 blue, 6 green; 4 red, 6 green, 1 blue; 13 blue, 1 red, 1 green; 7 red, 1 green, 1 blue +Game 31: 11 red, 3 green; 3 green, 2 red; 6 red, 4 green; 4 blue, 9 red; 4 green, 2 red, 3 blue; 2 red, 1 blue, 6 green +Game 32: 4 red, 16 blue, 12 green; 10 blue, 7 green, 3 red; 7 blue, 4 green; 1 green, 8 blue, 3 red +Game 33: 6 green, 2 blue, 2 red; 1 red, 3 green, 7 blue; 9 blue, 1 green; 10 blue, 1 green, 1 red; 8 blue, 4 red, 6 green; 1 green, 2 red, 7 blue +Game 34: 4 blue, 6 red; 7 red, 5 green, 3 blue; 2 blue, 1 red; 5 blue, 2 green +Game 35: 8 green, 1 blue; 12 blue; 6 green, 13 blue; 9 blue, 4 green; 5 green, 1 red, 7 blue; 5 blue, 1 red, 6 green +Game 36: 10 red, 4 blue, 6 green; 15 blue, 1 green, 2 red; 16 red, 14 blue, 2 green +Game 37: 3 green, 1 red, 2 blue; 5 blue, 2 green, 4 red; 2 red, 3 green; 4 blue, 4 red, 1 green; 3 red, 4 blue, 3 green +Game 38: 9 red, 1 green, 16 blue; 1 green, 4 blue, 1 red; 10 blue, 1 red, 1 green; 3 red, 17 blue; 7 blue, 5 red +Game 39: 9 red, 16 blue, 3 green; 8 green, 3 red, 3 blue; 8 blue, 13 red, 1 green; 3 red, 17 blue, 3 green; 11 blue, 9 red, 3 green +Game 40: 4 blue, 2 green, 8 red; 3 blue; 7 blue +Game 41: 3 blue, 10 green, 7 red; 1 blue; 8 green, 4 blue, 1 red; 8 green, 7 red, 4 blue +Game 42: 6 green, 5 blue, 1 red; 5 blue, 2 red, 6 green; 1 green, 3 red, 3 blue; 1 red, 1 blue, 8 green; 2 red, 10 green; 4 red, 6 green +Game 43: 12 blue, 9 green, 9 red; 8 blue, 6 red, 2 green; 1 green, 8 blue, 12 red; 15 blue, 5 green, 13 red; 15 blue, 7 green, 8 red; 16 blue, 11 red, 8 green +Game 44: 4 green, 16 blue, 1 red; 5 green, 1 blue; 1 blue, 1 green; 11 blue, 1 red, 3 green; 10 blue, 1 red; 15 blue, 1 red, 3 green +Game 45: 12 blue, 6 green, 9 red; 5 red, 6 blue, 2 green; 4 blue, 5 green, 5 red; 2 green, 6 blue, 8 red; 9 red, 7 green, 7 blue +Game 46: 7 blue, 1 red; 1 green, 2 blue, 2 red; 3 red +Game 47: 10 blue, 11 green, 1 red; 10 green; 4 red, 6 blue, 16 green; 20 green, 2 blue; 1 green, 3 red, 6 blue; 4 red, 5 blue, 13 green +Game 48: 1 red, 4 blue, 3 green; 20 blue, 1 red, 8 green; 1 red, 12 green, 12 blue +Game 49: 5 green, 8 red, 2 blue; 2 blue, 2 red, 1 green; 3 red, 3 blue; 3 blue, 12 green +Game 50: 7 green, 8 red; 2 blue, 6 green; 1 green, 1 blue, 7 red +Game 51: 19 red, 13 blue, 4 green; 9 green, 10 red, 2 blue; 2 green, 20 red; 20 red, 2 green; 6 green, 10 blue, 5 red +Game 52: 1 red, 13 green; 11 green; 15 green; 1 red, 9 green, 1 blue +Game 53: 7 blue, 3 green; 1 red, 6 blue, 6 green; 7 blue, 1 red, 6 green +Game 54: 12 red, 1 green; 14 red, 10 green; 1 green, 7 red, 4 blue +Game 55: 1 blue, 5 green, 3 red; 3 green, 4 red; 6 red, 1 blue, 4 green +Game 56: 5 red, 1 blue, 2 green; 6 green; 4 red, 6 green; 6 green, 2 blue, 2 red; 4 red, 2 green, 2 blue; 4 red, 2 blue +Game 57: 6 green, 3 blue; 8 blue, 6 green, 5 red; 5 red, 2 green, 12 blue; 5 red, 7 green, 5 blue +Game 58: 2 blue, 1 red, 4 green; 1 red, 14 green; 2 green, 2 blue, 1 red +Game 59: 10 red, 11 blue, 6 green; 2 blue, 8 green; 1 green, 5 blue, 15 red; 3 red, 7 blue, 9 green; 9 green, 9 blue, 14 red; 8 green, 13 blue, 15 red +Game 60: 1 blue, 11 red, 7 green; 7 red, 3 blue; 16 red, 3 blue, 2 green; 2 red, 9 green, 2 blue; 2 blue, 8 red, 9 green; 15 red, 1 blue, 9 green +Game 61: 8 green, 15 blue; 16 blue, 1 green; 1 green, 11 blue; 1 green, 9 blue, 1 red; 8 green, 9 blue; 8 blue, 15 green +Game 62: 5 green, 4 blue; 1 blue, 2 green; 1 red, 16 green, 2 blue; 1 blue, 16 green, 1 red; 13 green, 2 blue +Game 63: 1 red, 1 blue; 1 green, 1 red; 1 green; 1 green, 2 red; 1 blue; 2 red +Game 64: 5 red, 1 blue, 5 green; 10 red, 4 green, 2 blue; 8 red, 1 blue +Game 65: 1 red, 8 green, 10 blue; 11 blue, 5 green, 1 red; 2 red, 5 blue, 1 green; 8 green, 7 blue +Game 66: 5 red, 1 green; 1 blue, 7 red; 4 red, 15 green, 1 blue; 8 red, 4 green; 1 blue, 15 green, 3 red +Game 67: 15 green, 7 blue, 1 red; 8 green, 7 blue; 5 blue, 1 red, 4 green; 2 green, 9 blue; 1 red, 6 blue +Game 68: 14 green, 17 red; 1 red, 2 blue, 17 green; 10 green; 3 red, 7 green, 2 blue +Game 69: 8 green, 12 red, 11 blue; 8 red, 2 blue, 10 green; 2 green, 6 blue, 2 red; 10 red, 12 green, 3 blue +Game 70: 2 blue, 8 green; 9 green; 2 red; 2 red, 5 green; 3 green, 2 blue, 3 red; 4 red, 1 blue +Game 71: 3 green, 4 blue; 13 red, 13 blue; 4 green, 3 red, 1 blue; 1 green, 7 blue, 3 red; 3 green, 9 blue, 13 red; 10 red, 12 blue, 5 green +Game 72: 4 green, 17 red, 4 blue; 4 green, 2 blue; 1 red, 10 blue, 1 green; 3 green; 2 blue, 15 red, 3 green; 6 red, 10 blue +Game 73: 14 green, 9 red, 6 blue; 10 red, 4 green, 7 blue; 9 green, 5 red, 6 blue; 6 red, 2 blue; 5 blue, 7 red, 14 green; 4 green, 6 blue, 5 red +Game 74: 19 blue, 7 green, 1 red; 12 blue, 11 green, 1 red; 2 red, 5 blue, 14 green; 5 green, 5 blue, 7 red +Game 75: 12 green, 5 blue, 12 red; 17 green, 10 red, 7 blue; 1 blue, 8 red, 1 green; 11 red, 10 green, 4 blue; 1 blue, 10 green; 1 green, 5 blue, 7 red +Game 76: 9 green, 2 red, 3 blue; 6 red, 13 green, 5 blue; 14 green, 9 red, 2 blue; 1 blue, 6 red, 2 green; 8 red, 10 green, 1 blue; 2 red, 15 green, 7 blue +Game 77: 5 blue, 2 green, 1 red; 4 blue, 14 red; 3 blue, 1 green, 8 red; 13 red, 8 blue; 17 blue, 2 green, 9 red; 11 blue, 1 green +Game 78: 5 blue, 4 green, 4 red; 1 red, 9 green, 4 blue; 8 green +Game 79: 5 blue, 6 red; 2 blue, 1 green, 9 red; 3 green; 8 red, 1 green, 5 blue; 2 green, 5 red +Game 80: 1 green, 2 blue, 8 red; 9 green, 12 red; 17 green, 8 red, 11 blue +Game 81: 8 red, 11 green, 13 blue; 9 red, 14 blue, 14 green; 14 blue, 11 green, 1 red; 5 red, 13 green, 3 blue; 4 green, 9 red, 2 blue; 11 red, 5 blue, 2 green +Game 82: 13 green, 2 red, 1 blue; 10 green, 2 blue; 2 blue, 11 green; 4 red, 1 green, 3 blue; 14 green, 1 blue, 2 red +Game 83: 6 blue, 2 red; 3 blue, 11 red, 1 green; 12 red, 1 green, 1 blue; 2 red; 10 red, 6 blue +Game 84: 1 green, 13 blue, 2 red; 4 red, 17 blue, 18 green; 17 green, 13 blue, 4 red; 4 blue, 15 green, 3 red; 3 red; 15 blue, 1 red, 12 green +Game 85: 11 green, 7 red; 7 green, 4 blue, 6 red; 8 red, 7 blue, 2 green; 11 green, 10 red, 3 blue +Game 86: 10 green, 5 blue; 4 blue, 7 red, 16 green; 8 red, 1 blue, 12 green +Game 87: 7 red, 3 green; 1 blue, 5 red, 14 green; 13 red, 4 green; 19 green, 9 red; 12 green, 1 red +Game 88: 5 red, 16 blue; 2 green, 14 blue, 1 red; 14 blue, 1 green +Game 89: 1 green, 2 blue, 1 red; 10 blue; 4 blue; 2 green, 14 blue; 14 blue, 1 red, 2 green +Game 90: 1 blue, 13 green, 1 red; 4 blue, 1 red, 17 green; 9 green, 7 blue, 5 red; 1 blue, 3 red, 15 green; 3 red, 4 blue, 15 green +Game 91: 1 green; 9 green, 2 red, 2 blue; 3 blue, 12 green, 1 red; 2 red, 1 blue, 6 green +Game 92: 1 green, 4 blue, 10 red; 12 blue, 9 red, 3 green; 10 blue, 8 red, 2 green +Game 93: 7 blue, 5 red; 2 green, 1 blue, 6 red; 1 blue, 6 red +Game 94: 8 red, 3 green, 8 blue; 3 red, 1 green, 4 blue; 4 green, 17 blue, 2 red; 2 green, 9 red, 7 blue; 13 red, 4 green, 18 blue +Game 95: 9 blue, 11 green; 14 green, 10 blue, 11 red; 13 blue, 10 green, 1 red; 6 red, 4 green, 1 blue; 9 blue, 13 green +Game 96: 3 red, 3 green; 16 green, 2 blue; 7 blue, 3 red, 16 green; 10 green, 1 red +Game 97: 4 red, 6 blue; 2 red; 13 red, 6 blue, 3 green; 1 green, 12 red; 3 green, 2 blue, 16 red +Game 98: 1 red, 6 green, 7 blue; 14 red, 3 green, 2 blue; 16 blue, 14 red, 11 green; 5 blue; 9 red, 1 green, 15 blue +Game 99: 3 blue, 8 green, 1 red; 4 green, 1 blue, 2 red; 1 red, 4 green; 2 blue, 4 green +Game 100: 8 red, 2 blue, 1 green; 2 blue, 4 red, 2 green; 9 red, 1 green; 2 green, 2 red; 3 red, 5 blue; 5 blue, 8 red diff --git a/2023/03/input.txt b/2023/03/input.txt new file mode 100644 index 0000000..08ecfbe --- /dev/null +++ b/2023/03/input.txt @@ -0,0 +1,140 @@ +..172..............................454..46.......507..........809......923.778..................793..............137.............238........ +............*.........712........=.......*................515.*...........*.......690.........../..........658.........=.........*.......... +.........823.835........%.........710.....749........134..%............................#812...&.....925.../..........276.......386.......... +519..................13......341.................481....=.....$............-.......211.......92.......*..................................... +............832*105..@........$..................*.........797.....535..932.........*....152...........123.........678.540...........-...6.. +....&..948..........................271....-....228..79.26.........................733...=...715............27.586........*.......883...*... +..172.......=..+.............88&....%....340.55.....+.............465..398......=..................585.......*....*812...347................ +...........374.462.......166..................*...........786........*....*910..675.................*.....149................653*....+80.... +.......*............680.....*......876.........864..................259.................124.169....799............608..*.........98......951 +....615.......*....%.....151.........*....#802........$.......680......................../...............857........-.901...............*... +..............3.................637..493...........926....636..*.....350........881.........699......886.../.458...........#..474*409...246. +...&...336......922............*..........370..............$..581....*.....335.*.......608$..*..11.......$....-..........928................ +...50..*.........*...........978...453.....*.......-..22..........298.......*...711.........794...*...267............44*.......460....*..... +...................................*........534..797....-.............61....272.....@874..........892.....707.............230....*..72.537.. +....................405............309..........................221./..*....................872%.......75..*......237.....*................. +..208.176..239.........*172.............795.............670.......*..9..504......*.717..641........908*....975.....*......130............... +.....*....*.......711$....................*..54.....494..../.333.882...........282....@.......927*....../.......555..983*...........479..... +.915......670.524................866...862..@.........*../....*...................................72.901..................995..........&.... +...*..%.......*.....71.............*..................33.350.796.....612.............#..463..............*399.....=.......*......309........ +....8..951.886......@......41*......606.680...787................605*.....892.......219.*........972..846.........377....644................ +..............................718........*.......*.......355*688............*.145...................*.......576............................. +..........867.*.....................+...974...148..........................87.#........500&...534..986..269...*.....576....302....+......... +........@......504.......-........652.........................104....@502......................*...............691.*.........*.423..706..402 +.286..218.882........-....579......................320.....=...-..........48.393.....202......758.....242..951.............................. +....*.....*.....$..943.............928.....*......*......310......&........*....*...*......=..............*......295*133.................... +..698...331...859.......91.........#....815....822..............39..........833....749...591...........455....*..........&30....*........... +............*............+..............................117............................%........727........256.439...19.......478........... +......67.595...599.........442...997..187.................@.596..276..141.597*792...780.........*......*.............@..............#....... +266@.............-..713.....*....*.......=..783...564*.......*.......@.........................839......255.............636......749..%..... +........+............*.....963.926.39../......&.......274...228..../.....812.........487@.24.............................*..*..........348.. +...618...364.936.....708...........*....63..&.......................212....-..191..............798................*....591..906............. +......./.....@...............591...127.......491...141..*.....+...............*......339.@483........204*......871.465..................%... +....890..................997*............723........$..675..465..............372.875*.........%..........534.............209.......*.....648 +..............+................139*..........273..................../7.....-..............854.920...968%..........384......%.......830...... +......+632...273.......132*........793.........................207..........952..../..66..*........................#...........@............ +.......................................162..................35.*.................22..*....234..........468...................#.750.......... +.....15...161.....................93....@...818..-580........*.449...................125...........129....*................723......365..... +.....-....*.......678.........&21...=....../..............547.......$.........701....................#.....845.........................#.... +743........634...*.................................................679...........*176......979....................928.......$..848.......... +...............107....296....845.....*..........@...........................69..............$..442.........960/...........311.*............. +.........................*............519.....58..............248.......582*........403.......*........929..............-......486.......151 +....-390....396.........279.......718............449.....794..#..............+......*......251...980....../.../...328..476.................. +.............*.....................-......../...*...........*...292.........188...&..112............*315.....529............................ +713..........860......114.743&.......368.776...195.........850.=................943............543...................483*625................ +......889........=.../.................*.............916.............201............-...............426&....627..............284............ +.452...........579...........786.961.15.......488.......*373.....830*......947.645.189........367.................$..../551................. +....*.....99*........388.793...*...*....578..../...........................*...%.......-497.........@221..720...885.........588....692...... +....................*........903..81.......*.......*........=./....615.....202...355........997-..........*................$.........*...... +...........780.@....259.439.................483....596...490..415....*............-........................683........*371...&644..964...... +.......796......161.......*..#884....................................458.247.500........145.895.62.742.267..........16...................... +......+............../.998...........173..511............552*847...%.....&.........+651..*.....*........*.....108........+..............*975 +.444.....560.297...149..............*....*......*...................173...................365............986.$............271...182...26.... +....*84....*......................#..471.696.736.107....974...-614............................../...%930..........................+......364 +............800...-155..235......446...................*....................286.......822../...199............670-....................%..... +....882.................*.................521....*20.282.............641.......*..703*.....887......513*271....................+819..100.... +.99..*........933*...649.......407............922...............-......*....681.............................*....#426...204................. +.....112................../.....*...819.94......................689...652...........182.933.858.............711...............610.....*437.. +.540..........#.........740...500....*...$....184.......................................*....#.......386...........................668...... +....$..........719..695...........824............&...882...........@......811........771.........142*.........867.667.*299.....143.......... +425....120.............*....401........................*....75..2..551.....*...719....................44..141...+..............+............ +...%..*..........963....209..&.....913.................871..=............%.904.........365.244.495....*....*........19...................... +.....971.........=.............883*.........225.967.............#......44.................*.....*..182......830.....@..190............487... +...................................../........*.%........93....577..%......541.....*456.....370.52......................%.............@..... +..82......396....................927..887...268...........&..........517...................%...............753................+............. +.........*..........................*.........................................607..493.479.........521......*.....680*58..&....879.......... +......951.................136.&....585.........69....933.........25......265......*............923...&......5.............624........109.... +...........826..............$..407..............*...............*...+...........772.=...........*.............................628........... +.......293..*...420...................................140.......728..815.196.-.......470.....403.................807..........*...99.....443 +......-.....732...*.........795....35........18.........*................*....789................931................-.52....727....*....*... +.................477..@682..*.......*...118.........539.................844......................*...481.....%..........*..........863...773 +...479&......................585..817...@...........*...16*244...826*..........427...............694.......834.......949.................... +....................336....................-.....205..............................&............................................899.......... +....49...971...............331..289.......661.........400...57...-...................711......./873.........-...668...94......*.....42...... +.../.......#...........68...&...#...557.*.....425.......*...-..267.+.................*......#........@....993..=.......-....49......../.65.. +.............647..569.....*...........@..1...*......+...823.........579.............153...65...263....320..........243...........626........ +.......128...+.......*..215...%..684.........519..247.....................+.....................*...........320...*.................*....... +........*..........827.......954...*.....378..........553..............434..........644....................*.......208............88..387... +.907..402..............-..........16....*....%.........*...507..403.........*.................272...496....750.12.......................*... +.............555.610.454.............322....954..529..25...*.....*../....651.43...534...........*......+.......$.........=...-121.442..709.. +.269*410......*...................................+.......163.608...451.........................999.....................292................. +...........867....595*88.....#990...473.................................406.285.825......464...............378-..835&........%.......570*484 +.....550.............................-......162....812*37..................*.....*......+.................................693....%.......... +........*385...............*934..810.......*...................758..313........413..+.......265.691...559............807@.......824.608..... +....373..................................580.....506..........*............852.......786....*.....*......*.........&...................*.... +.......%...932....194*688...713..................&.....333..410..817.524.....*...438.......410.129......312.....452......202..........146... +.........=....+..............*....................................#..........626.*.....745.........974.....................+................ +580...212........485.........511.....495.768.361.....323-..............*176......595......*........*.......+.......147.........227....491... +...*........%....*........85........*......*..*.............@..329$.623........*.......=..161.%...680...104.........$..452....*.........=... +854..*489....33...992.......*......15...418..890...%......362............603.224.....431......701.............929.=....../.....408.......... +............................980..................428......................*......615..............%343............827..............686-..... +48.213..................353.....%902......616.........583..%674.....361....711.........821&...31%.............................285........... +...&...614.....@52.207#....*228............*..........*.............*..............................624.............734..........%.411*876... +......*............................358...807.....280..174...232..715...$..............804..522........=........717..*..=.................... +434....262.655.822.358.&709...........*..........*..........=.........876.....952.............*................$...81.412.160....751........ +..................*.................976.......739..490*913.....@...........+....#.374..625..236..539........$............................... +..743...................737@.............766....................197........878.....*....*...........*...861..32...............16...975...... +................972..@.....................&...293..85/.....561.......919..........156.............435....*..........835........*3.......... +........823.690.*....747...............799....*..........=....*........&...................241.........558...............459................ +....552*.....*...701.........................579.......187...691...#.*......694*980...........*.#...........244.............*....842........ +.57.......687.....................110*873........................469.217....................573..324.308*......%...........855....*..553.... +......551..................................................................142.......771*................902...................606.......... +.....*....990........869........8.......#477............330-....................37*......408.-751......-......239..........362.............. +...994...*..............=.984..*...194...............................972*967.......150...............433..517...*...........*........947.... +.........189..501*334...........56...#...............531...846...562..........477...............................19........396...570.*....... +......................761..............243.....692......*.....*.....*.#985.......*...991-......=.320/.................%...........*.585..... +....590.....&....$...$....993.554.....*.........%....132...623....429........549..31........643...................134.237........50......... +.............385.538.....*....*.....826...........@....................................644......151*919......733.............73.....848..... +.477...871..............5....68.841......80*.......405.70*898..............+25............*787..........368...*................/.......*.... +...*....*.....6....................*..=.....370......................................186.........146.......*...447.......287............611. +443...893.....$.......%20.......108...43..........637......396...596............64......#.505...*.........141..............*......543....... +.................197......244.................530.=...334.......*....335..745...../.......*......99..182..............645.963............... +...........%....*........*.......593..704&..............-...@...211.....*......./.......571..178...............#.................+476....... +.....*812..17.617.......249..327..-........527..15........238............926.564..............................260...........715*......../793 +....................826.........*............*.......................................@.........685.....@................954.....423......... +.............796*..............260..946.....848...902.............285......136....211............*.....258.874.....332.*.................... +....&829.........348....539.........*............*....623....*.....&.........*..........252.%253..86......../..599.*...592.......672-.232... +............752.........-.........375............859....*.926.182....733......241......=..............276..........762................*..... +.............................482...........346........374...........&............................493.....*322..........................175.. +...*../........793..&532.........530..........*...........509.861.......134........353............*....................*94.................. +480....761........+.....................=..768..790..@......&.*....296.................311........340...344.....989.142..........411........ +.............208.......300.............506......*.....267.....918....*.......204..........%.606.........*....+...=.......*397.......*...257. +............+.........*......-...............636..476................109......*.............*......-....115...91......823........929....@... +...595........313.....849.452......568...............%..802....................915...730....138.30..455.....................589............. +..............*................290....%.......147..........#....492..83....12*........=.........*.............................@.......17.... +970.....+.-...701....#264....%....$.......113.......916........*..............620............809........$788....@.....446........904..*..... +...*..221.112..............610............@.....799............713........657.......325..........................551..*.............=..615.. +.295...............852..........*....986.........*..........................................-............620..........665.....930........... +.....785.......542.*............732...=........583...+....................424....$....702.367..993.......*....386..#.............*.......... +........*...........114....704..........377...........633...........=730...#..241.......%.....*.....-.396...........372......135..806....... +.......122......963........$............*.....................509$........................50.....280.........672.........538..$........619.. +.....................957.....542...731..941.......*....59..........571*554....214....108.@...............104*............=.............*.... +.....=...............*.......*....../.............337./...........................=..%..........................................873..563.... +....771..500........868.......213......902....456........../.........255.....377.781......=348................133..@...367*696.....*........ +........*....$..25........784..................$...........735..413.....*108./............................645...*..8............185......... +..603.389..956.*...........*.......636...866.....338...+25......*...+..........................................667........#..........+..296. +...*............544.....510..418.=....=....*....................379.478.....961.............410&...........413......*912..469..758.733..-... +798....*565.793.............*....98.....447.....@......291...$...............*..244................%..491.../...................*........... +....546......*....454...120..683.............923.....@...*...865.574......276........56......57.659..*................-...-...512........... +............329...*.................................606.599...................*927..*.........-.......674..*........723..974................ +................378..911........987.....606......................899.73....489......848.....................664...............388......589.. diff --git a/2023/04/input.txt b/2023/04/input.txt new file mode 100644 index 0000000..66672be --- /dev/null +++ b/2023/04/input.txt @@ -0,0 +1,213 @@ +Card 1: 58 6 71 93 96 38 25 29 17 8 | 79 33 93 58 53 96 71 8 67 90 17 6 46 85 64 25 73 32 18 52 77 16 63 2 38 +Card 2: 34 79 17 22 15 73 61 58 46 32 | 36 53 22 32 56 15 71 7 17 19 79 81 44 59 46 34 52 61 24 73 54 28 88 50 58 +Card 3: 20 71 73 21 96 61 4 66 19 47 | 55 31 54 72 47 2 61 19 36 4 92 64 68 20 96 21 75 49 73 67 66 26 12 71 98 +Card 4: 6 34 71 49 82 67 22 9 72 96 | 49 32 84 82 2 72 60 67 14 99 22 9 38 6 7 34 91 83 43 96 74 40 71 53 58 +Card 5: 76 99 87 97 16 61 73 20 22 19 | 83 27 89 80 1 84 23 21 35 12 60 17 63 26 88 3 70 49 6 34 30 77 59 82 66 +Card 6: 26 46 80 73 50 3 44 27 87 96 | 92 46 76 87 50 27 58 68 3 47 93 80 41 64 26 9 96 43 63 73 91 74 22 53 7 +Card 7: 6 7 4 44 94 90 19 42 70 53 | 44 2 59 94 99 28 34 48 39 72 96 27 14 92 87 84 74 85 47 69 6 67 17 31 33 +Card 8: 17 88 30 94 59 60 79 90 18 9 | 88 94 96 59 18 34 30 86 62 16 2 79 9 70 60 17 95 91 73 40 90 4 93 15 39 +Card 9: 44 38 8 48 5 84 6 53 7 86 | 77 36 97 84 91 34 6 13 86 52 38 45 27 16 5 56 72 8 7 99 53 44 31 57 48 +Card 10: 89 97 85 41 94 37 36 79 8 64 | 83 34 66 32 49 80 86 84 52 43 5 25 73 7 74 55 72 78 63 14 28 48 16 75 30 +Card 11: 33 18 46 65 44 14 99 56 38 80 | 5 48 85 25 70 52 97 99 56 45 26 92 49 24 81 96 65 42 72 16 78 46 54 10 13 +Card 12: 43 48 2 90 99 20 69 51 6 88 | 88 99 52 79 80 29 43 51 19 62 66 18 23 32 55 60 7 85 90 16 2 46 27 69 9 +Card 13: 67 73 47 37 96 88 65 52 19 10 | 49 28 84 78 11 54 17 86 74 56 89 95 91 98 4 67 61 60 50 94 12 48 77 62 66 +Card 14: 22 49 71 37 92 30 54 47 26 68 | 35 67 76 96 27 89 43 58 82 11 17 8 94 77 69 3 9 29 39 55 6 87 84 7 46 +Card 15: 28 5 65 51 76 96 35 98 2 62 | 76 5 24 14 81 26 32 2 6 50 65 71 96 90 70 7 39 49 66 79 19 85 44 3 61 +Card 16: 13 93 1 50 51 28 73 67 56 4 | 12 81 20 82 9 48 21 78 36 17 76 35 57 91 18 27 11 16 49 23 5 65 58 29 62 +Card 17: 68 53 93 91 64 77 41 32 86 19 | 60 92 44 54 71 94 52 82 66 11 97 89 10 35 86 99 79 3 20 25 70 56 91 62 74 +Card 18: 24 60 95 5 52 71 82 55 31 45 | 59 87 7 49 77 80 27 62 78 53 14 90 3 96 44 54 91 30 17 51 73 12 66 84 20 +Card 19: 49 84 1 12 28 56 55 19 57 59 | 44 50 5 99 38 63 20 84 31 66 73 36 53 10 7 21 15 67 77 76 19 25 52 61 98 +Card 20: 43 12 26 91 27 66 49 95 14 18 | 47 73 40 85 89 1 17 48 52 39 88 50 58 19 16 68 65 38 32 97 4 34 75 91 54 +Card 21: 46 50 63 61 32 33 47 86 68 35 | 81 91 38 11 76 37 77 75 49 78 33 66 30 72 57 59 15 52 5 50 13 47 71 69 35 +Card 22: 45 7 69 50 42 94 19 64 26 96 | 22 89 37 56 72 3 80 11 70 42 61 52 87 65 86 90 31 39 53 91 23 81 62 9 4 +Card 23: 23 43 20 98 69 73 31 27 67 97 | 88 26 62 10 42 4 85 74 66 59 90 6 89 54 68 87 18 23 40 15 93 29 55 47 70 +Card 24: 35 70 13 23 19 50 58 91 69 99 | 38 94 91 60 63 92 55 74 62 15 26 4 52 28 78 10 46 89 87 53 37 32 85 18 2 +Card 25: 13 22 42 58 15 55 47 50 63 32 | 25 45 78 98 65 44 12 43 89 72 11 14 82 59 28 3 76 57 66 20 18 35 39 77 64 +Card 26: 33 62 41 81 19 10 99 64 63 85 | 11 81 85 2 52 19 64 15 33 59 99 54 1 10 43 96 56 84 58 53 12 41 63 62 94 +Card 27: 79 65 92 3 84 89 34 15 87 45 | 19 23 35 4 99 7 78 27 11 83 69 56 42 76 8 49 28 3 74 92 63 38 1 34 44 +Card 28: 64 4 50 16 29 87 18 34 61 11 | 29 61 50 87 16 94 51 47 37 41 11 49 9 93 4 80 57 99 64 54 53 33 32 18 84 +Card 29: 3 32 57 88 4 78 10 9 90 46 | 46 80 57 10 93 38 22 74 3 90 27 64 19 14 4 65 96 40 13 88 89 9 47 78 32 +Card 30: 68 71 42 36 14 87 63 28 47 39 | 55 37 48 34 52 35 3 67 68 47 98 62 22 27 18 87 29 38 80 14 65 82 31 92 50 +Card 31: 17 78 64 30 60 53 82 7 65 72 | 80 99 55 49 65 32 7 54 72 90 30 26 95 82 88 48 17 60 64 53 20 78 27 61 86 +Card 32: 54 20 29 6 14 24 25 18 38 97 | 31 99 20 39 59 28 12 16 30 76 10 69 48 56 8 15 72 13 62 42 3 51 9 40 83 +Card 33: 25 27 63 97 95 6 8 42 41 96 | 95 75 50 49 77 13 22 21 16 97 46 64 27 37 32 18 76 41 8 20 11 40 33 25 6 +Card 34: 73 43 53 1 87 52 56 9 26 83 | 55 56 82 28 5 74 14 25 53 87 86 70 52 83 77 90 57 31 9 19 3 26 1 8 60 +Card 35: 76 73 77 43 83 52 24 44 18 26 | 91 54 18 36 47 17 63 50 59 6 15 11 74 48 33 83 67 97 73 16 24 44 60 26 46 +Card 36: 93 29 51 71 43 41 73 91 89 58 | 87 7 41 21 89 25 91 20 99 3 13 58 95 30 51 31 98 53 15 22 29 81 45 47 73 +Card 37: 36 68 86 66 61 81 76 79 20 64 | 92 66 53 73 88 48 29 81 82 36 89 79 72 9 10 99 84 64 24 51 15 68 61 76 20 +Card 38: 46 68 48 82 27 94 79 10 41 14 | 57 94 11 10 14 40 9 72 36 41 79 65 99 66 82 46 43 22 49 24 48 2 90 47 89 +Card 39: 3 9 91 15 86 68 28 89 67 29 | 14 63 8 58 15 91 59 28 29 12 80 62 53 86 89 51 68 72 69 66 11 90 9 18 78 +Card 40: 40 51 46 81 7 35 94 96 23 16 | 18 94 61 51 50 27 46 9 99 85 29 36 84 43 81 71 56 38 23 96 40 16 28 1 88 +Card 41: 87 20 88 12 65 4 18 52 74 10 | 9 10 78 81 11 20 98 52 4 14 77 45 80 1 18 65 49 79 91 8 53 6 88 12 92 +Card 42: 44 94 36 68 31 26 76 89 16 1 | 76 52 28 68 43 17 74 44 87 94 63 20 36 51 1 83 42 56 67 49 57 8 31 72 93 +Card 43: 68 65 53 58 78 28 46 10 91 80 | 21 65 99 85 60 35 26 39 68 64 30 58 91 59 54 93 76 67 78 19 74 82 71 50 80 +Card 44: 71 59 82 37 51 19 57 24 52 80 | 97 74 98 13 91 70 85 61 36 43 90 12 6 75 93 7 89 84 15 73 11 41 34 86 47 +Card 45: 25 40 3 51 19 69 68 27 7 62 | 55 59 45 78 87 48 13 50 94 46 65 1 66 21 70 28 8 81 42 2 23 36 54 26 10 +Card 46: 39 51 95 90 80 83 19 73 41 54 | 81 78 62 18 58 84 83 71 31 88 43 86 28 70 5 4 24 34 85 33 72 53 23 94 61 +Card 47: 14 66 55 61 88 12 96 67 75 28 | 42 93 33 19 18 96 48 26 11 89 68 99 49 78 38 10 67 23 62 3 97 53 52 83 35 +Card 48: 8 88 37 27 45 30 87 79 46 75 | 57 60 56 40 67 51 59 35 93 77 41 95 14 82 96 11 87 34 52 62 94 78 92 98 20 +Card 49: 94 76 65 30 99 20 32 90 51 87 | 36 29 68 97 48 38 57 10 3 43 24 86 9 6 54 92 67 75 15 98 81 7 60 14 58 +Card 50: 88 12 95 13 44 80 51 76 66 42 | 76 2 51 28 37 55 30 19 83 12 44 82 34 39 33 70 13 80 66 32 42 71 27 72 88 +Card 51: 16 5 28 7 22 50 71 32 18 61 | 33 71 65 61 75 5 41 44 7 27 50 51 32 3 22 8 42 34 18 1 16 70 28 6 58 +Card 52: 45 25 80 42 79 37 70 88 59 97 | 62 45 83 8 59 27 97 30 61 85 69 67 70 28 65 87 41 43 42 37 80 25 79 88 18 +Card 53: 95 69 14 72 76 77 21 74 54 96 | 12 22 14 8 23 26 76 68 95 86 27 84 50 21 69 96 74 54 71 82 56 77 1 6 72 +Card 54: 5 45 68 98 6 14 9 50 85 42 | 22 99 92 36 93 17 27 51 53 71 12 54 52 50 35 40 5 76 28 66 63 85 74 65 44 +Card 55: 63 20 6 57 60 77 80 5 12 66 | 4 95 35 10 13 11 1 69 51 5 23 31 80 24 87 22 63 46 60 79 68 90 77 47 74 +Card 56: 83 62 93 85 15 30 53 31 96 2 | 98 66 27 91 36 89 41 74 12 21 23 76 57 24 15 55 88 47 3 19 60 30 83 85 92 +Card 57: 32 35 33 46 44 76 2 26 87 50 | 12 84 25 8 3 87 76 33 7 44 18 19 47 32 35 2 30 46 70 50 1 78 10 65 26 +Card 58: 19 64 82 63 11 24 68 77 91 20 | 64 1 85 30 20 52 16 8 19 10 11 56 4 82 15 68 63 77 24 2 83 6 91 76 5 +Card 59: 57 97 98 91 30 21 59 84 93 53 | 73 68 3 98 77 78 86 30 31 89 74 7 1 38 90 53 50 91 84 46 57 93 97 59 21 +Card 60: 49 43 92 57 25 60 26 85 69 88 | 25 69 71 3 49 41 89 96 52 12 92 97 26 83 57 66 62 24 23 28 98 43 82 80 85 +Card 61: 60 18 69 89 45 21 41 30 95 55 | 75 41 44 60 36 97 3 45 33 17 20 62 98 89 59 72 39 80 47 85 42 90 82 23 69 +Card 62: 67 25 34 10 49 41 45 80 65 33 | 65 53 11 21 67 90 45 96 80 19 81 7 30 64 33 34 10 39 29 98 57 68 89 54 41 +Card 63: 16 94 89 92 17 86 69 3 66 96 | 41 79 64 61 59 76 33 81 31 26 80 16 52 14 98 9 3 47 89 66 63 92 86 84 56 +Card 64: 59 94 14 65 69 22 36 27 91 3 | 21 45 23 11 15 56 36 32 40 69 92 78 83 25 94 80 33 9 90 63 81 24 96 7 35 +Card 65: 73 42 88 31 97 92 50 15 77 35 | 83 42 60 34 33 4 82 47 70 23 81 36 52 97 17 30 59 49 9 85 93 22 43 7 50 +Card 66: 24 40 81 73 60 14 20 31 28 88 | 15 49 73 72 23 36 50 16 14 2 61 44 57 96 27 93 60 24 6 94 91 92 18 8 74 +Card 67: 9 18 16 28 86 23 65 81 52 59 | 77 87 31 1 20 89 93 15 32 62 75 68 5 39 11 55 38 95 40 96 78 19 37 74 4 +Card 68: 73 4 5 13 92 85 20 24 75 55 | 42 87 30 72 95 17 28 66 61 15 96 93 97 27 43 76 63 81 70 68 64 32 25 53 33 +Card 69: 62 89 91 68 44 21 1 19 33 30 | 35 98 83 66 43 61 26 15 2 12 76 72 42 79 74 28 16 63 77 7 56 64 78 65 47 +Card 70: 43 27 74 56 26 77 59 72 33 20 | 25 89 86 85 96 82 69 16 60 55 99 95 31 73 5 8 9 92 83 53 21 32 23 71 78 +Card 71: 45 35 27 62 58 94 90 28 99 75 | 19 61 39 74 72 47 37 71 40 79 63 26 23 48 36 59 77 21 92 17 38 4 8 20 42 +Card 72: 36 43 39 45 58 2 38 12 69 74 | 14 2 81 80 85 12 38 43 49 4 88 69 74 40 39 28 67 58 89 13 68 45 36 87 79 +Card 73: 77 30 36 41 31 9 70 22 66 88 | 66 32 35 20 47 37 36 25 13 9 41 54 2 77 84 5 63 21 99 59 31 67 88 22 70 +Card 74: 82 10 5 28 32 30 73 9 55 53 | 27 43 28 22 64 36 55 5 53 90 29 73 44 49 32 69 14 52 45 23 70 3 2 15 66 +Card 75: 95 12 69 24 85 10 84 71 64 98 | 71 19 66 9 25 37 77 29 15 62 38 10 72 2 50 54 97 14 17 26 1 48 89 55 95 +Card 76: 50 77 72 64 93 82 28 65 57 43 | 39 89 70 54 86 49 83 5 56 57 12 32 28 3 7 38 51 34 22 66 84 19 73 50 71 +Card 77: 63 96 47 98 32 37 4 30 71 65 | 65 71 88 46 59 98 45 90 37 47 68 8 23 32 57 4 96 93 41 63 51 64 70 30 40 +Card 78: 16 63 74 26 24 61 99 41 91 85 | 73 50 67 14 57 93 91 63 7 75 99 85 66 62 95 88 77 53 64 94 1 96 15 16 36 +Card 79: 36 89 1 72 14 7 9 60 77 38 | 72 87 77 96 2 9 60 89 95 38 19 35 27 54 18 56 14 99 7 74 62 61 80 53 84 +Card 80: 74 14 52 76 87 19 36 57 37 67 | 51 65 26 11 5 87 22 21 94 9 41 79 93 67 52 74 36 75 76 96 8 81 14 60 1 +Card 81: 93 11 67 3 25 68 63 62 24 37 | 19 26 2 93 90 69 42 10 89 80 4 1 45 61 67 36 34 68 94 35 50 38 3 6 53 +Card 82: 37 23 20 54 2 76 87 9 8 31 | 31 62 37 13 32 43 40 72 87 44 20 42 1 29 93 51 69 8 53 76 91 34 23 2 54 +Card 83: 91 30 31 27 81 85 9 75 22 44 | 85 23 84 59 81 90 75 70 52 88 44 86 31 15 9 68 30 93 91 6 12 65 27 57 22 +Card 84: 23 19 67 74 60 95 37 90 6 45 | 36 62 26 71 94 67 96 21 18 99 84 23 19 95 82 60 30 45 4 29 75 80 90 43 74 +Card 85: 8 76 86 35 99 57 5 15 7 49 | 8 49 79 69 43 46 76 84 22 1 68 52 99 5 53 93 27 15 63 95 57 3 13 61 24 +Card 86: 97 17 85 58 9 44 99 73 27 57 | 96 85 57 60 64 68 18 36 79 97 45 43 55 1 26 31 73 44 14 39 78 27 76 99 63 +Card 87: 69 82 19 43 22 6 80 5 99 88 | 8 91 86 13 57 63 9 52 37 96 81 3 90 17 60 44 41 89 39 29 1 70 55 21 4 +Card 88: 44 8 41 84 38 91 70 31 1 50 | 60 83 4 51 49 88 90 14 34 45 70 25 56 23 91 11 38 41 48 7 2 19 28 9 27 +Card 89: 28 35 54 91 33 5 21 60 16 4 | 93 15 81 77 5 53 26 19 25 66 97 59 14 95 16 1 22 38 31 48 37 88 3 12 54 +Card 90: 10 34 24 28 91 5 29 69 93 17 | 58 82 43 79 78 51 48 66 2 76 37 70 52 94 15 53 88 16 32 23 38 59 83 44 31 +Card 91: 92 62 95 29 58 9 21 4 19 26 | 80 84 51 76 97 52 87 38 27 25 53 42 19 39 13 66 79 63 7 59 73 72 85 50 37 +Card 92: 81 89 79 75 73 76 74 2 91 53 | 48 63 70 58 65 37 60 86 64 36 16 15 32 66 35 76 78 54 25 94 45 30 71 21 83 +Card 93: 73 98 81 39 9 80 26 71 95 60 | 3 79 34 16 30 68 21 31 18 52 62 89 69 58 59 93 48 17 41 40 22 2 91 6 86 +Card 94: 47 67 80 63 87 90 55 95 91 82 | 55 10 91 39 63 95 50 82 83 43 87 67 69 31 78 94 71 28 8 32 47 5 80 56 90 +Card 95: 8 7 32 67 13 17 27 48 79 21 | 95 96 92 88 53 27 4 21 13 32 40 48 11 61 17 67 79 45 43 59 7 8 89 57 86 +Card 96: 30 23 1 77 92 31 27 67 39 55 | 77 87 3 92 31 90 58 67 71 60 1 30 8 27 23 17 86 64 55 39 82 43 44 33 99 +Card 97: 63 41 31 38 34 23 2 48 88 89 | 28 35 15 11 17 69 97 87 45 55 44 53 23 57 9 80 48 60 12 88 64 13 54 31 7 +Card 98: 1 90 5 6 10 60 23 21 43 53 | 6 10 60 80 5 50 69 39 76 23 21 66 70 44 53 81 34 65 90 1 43 85 31 98 59 +Card 99: 55 82 70 51 75 40 87 9 47 69 | 42 4 25 70 51 94 88 40 49 32 6 77 65 1 71 83 39 64 55 47 79 45 12 24 17 +Card 100: 28 69 65 17 11 29 93 21 83 23 | 9 42 55 49 62 20 95 56 30 43 54 71 32 3 58 19 16 82 41 21 51 59 80 23 63 +Card 101: 45 90 87 94 6 97 5 68 42 41 | 1 36 14 83 59 26 54 76 94 42 80 27 66 17 93 11 68 67 47 10 39 45 75 89 34 +Card 102: 65 25 7 97 66 83 57 1 61 51 | 17 74 50 84 54 69 18 2 30 86 25 16 5 48 58 34 78 97 12 66 53 61 46 44 8 +Card 103: 82 13 35 92 39 89 91 77 94 29 | 50 30 37 52 59 21 58 29 77 51 1 6 35 42 45 26 90 83 55 4 65 39 79 89 9 +Card 104: 17 40 30 48 90 87 16 97 14 79 | 44 39 22 99 49 50 71 23 45 38 97 61 86 35 20 12 67 59 28 47 72 81 34 83 25 +Card 105: 40 92 69 84 33 10 55 99 75 98 | 99 46 59 18 70 80 42 24 17 92 77 65 35 51 11 40 34 16 90 15 88 69 37 87 84 +Card 106: 83 86 9 38 42 96 32 8 98 40 | 24 35 65 56 93 37 91 31 57 15 76 42 19 12 67 83 29 30 81 66 87 94 80 18 92 +Card 107: 91 42 90 28 34 32 83 98 35 84 | 30 72 31 3 97 35 53 11 10 80 69 73 23 26 81 74 42 36 77 61 39 56 71 65 62 +Card 108: 45 53 47 86 13 25 5 66 68 71 | 38 35 56 11 82 80 94 31 10 74 93 29 65 90 27 75 60 39 99 97 55 92 37 57 17 +Card 109: 14 53 91 5 61 97 35 77 85 96 | 29 40 83 55 25 66 67 44 26 2 69 11 64 94 32 45 3 33 6 98 13 22 27 71 81 +Card 110: 81 83 71 72 44 46 59 10 47 18 | 64 76 97 93 52 38 94 28 51 48 17 22 69 79 98 30 14 31 20 66 89 2 9 55 21 +Card 111: 16 59 24 35 39 41 28 5 54 10 | 9 60 72 89 43 41 68 52 59 87 54 93 90 23 32 35 94 28 5 24 16 42 99 10 39 +Card 112: 31 76 81 11 50 62 40 13 57 66 | 40 21 77 95 56 76 66 22 12 46 52 1 57 64 63 83 25 49 62 3 81 94 87 11 98 +Card 113: 16 69 20 92 59 2 38 54 10 90 | 24 22 37 30 57 82 59 51 81 38 1 79 15 62 74 84 2 20 92 96 16 90 95 29 69 +Card 114: 9 66 93 18 40 58 25 36 72 50 | 55 33 82 40 96 68 95 58 43 18 93 50 8 9 94 47 36 23 7 38 75 24 66 72 25 +Card 115: 22 37 56 62 21 64 98 43 61 80 | 22 41 3 71 98 1 51 15 72 10 54 32 61 13 84 78 52 57 80 53 26 40 2 25 86 +Card 116: 61 62 48 15 90 76 18 11 97 89 | 33 12 69 15 82 24 38 6 61 28 40 1 54 50 81 76 68 59 26 94 43 20 51 4 58 +Card 117: 48 42 9 20 61 95 88 30 74 92 | 44 23 9 18 98 14 34 95 37 42 92 74 5 20 83 3 2 48 89 78 72 30 81 97 90 +Card 118: 35 19 87 33 11 86 16 79 90 50 | 41 64 61 83 53 30 94 86 98 68 44 1 32 34 35 79 58 21 19 84 85 25 73 67 24 +Card 119: 72 99 25 49 16 68 6 89 31 81 | 80 97 11 62 41 96 27 89 49 3 25 6 99 94 26 34 55 81 48 75 53 72 68 16 28 +Card 120: 78 77 54 70 9 6 22 43 40 16 | 48 20 54 25 75 91 33 67 3 5 95 37 29 90 1 24 32 39 12 51 71 16 36 76 63 +Card 121: 76 19 51 52 4 18 32 43 34 55 | 4 52 51 1 32 37 80 6 76 73 88 43 82 19 89 34 55 18 25 58 85 23 9 5 60 +Card 122: 62 13 36 6 12 87 37 89 71 61 | 61 96 35 57 41 27 52 82 22 26 6 87 14 72 73 84 68 29 39 15 16 75 12 62 37 +Card 123: 94 85 49 16 75 95 74 50 47 56 | 88 8 26 90 49 17 50 75 97 99 9 16 31 95 74 94 71 91 38 85 51 86 47 77 53 +Card 124: 42 47 86 68 46 12 76 11 92 28 | 8 87 93 61 58 91 53 34 4 51 50 17 73 84 6 60 3 31 65 22 90 95 85 19 49 +Card 125: 17 90 29 11 62 72 8 80 86 9 | 1 86 3 9 56 29 52 46 21 30 62 11 75 89 20 97 80 53 19 99 23 90 7 8 15 +Card 126: 83 45 41 89 78 37 17 19 68 75 | 65 50 14 67 75 31 88 87 64 36 44 17 37 19 63 40 89 78 43 85 7 10 72 13 41 +Card 127: 69 31 24 29 32 70 5 34 96 46 | 5 68 54 12 42 75 84 23 18 79 82 50 40 36 87 77 73 53 57 88 32 33 39 71 22 +Card 128: 25 31 17 76 94 82 77 44 68 62 | 64 81 29 78 68 80 38 93 27 90 69 9 88 15 47 11 73 28 42 57 51 70 13 5 26 +Card 129: 84 92 55 44 86 23 18 57 15 40 | 88 94 32 19 26 39 28 25 52 49 51 81 72 27 50 62 31 29 87 66 67 14 20 12 73 +Card 130: 97 57 99 82 46 73 48 25 47 12 | 30 5 77 75 35 67 18 37 52 64 74 38 11 59 41 68 80 73 83 46 71 36 33 84 47 +Card 131: 84 17 4 1 23 73 32 15 35 62 | 7 65 66 27 18 47 21 83 31 99 96 88 78 42 8 80 68 97 59 30 13 72 10 41 22 +Card 132: 17 45 87 44 13 68 85 3 99 21 | 64 53 78 93 49 57 79 60 90 10 63 27 68 55 4 91 73 92 83 26 70 35 8 41 97 +Card 133: 5 80 43 78 74 47 32 20 58 85 | 35 82 68 63 3 59 14 99 45 55 98 23 71 44 9 97 18 75 66 56 29 24 13 25 79 +Card 134: 84 91 50 6 28 57 78 74 44 14 | 3 78 32 35 31 59 45 5 89 23 11 38 49 40 82 65 4 19 17 33 60 77 7 71 62 +Card 135: 6 8 19 28 38 13 40 47 41 94 | 91 98 56 94 57 45 41 47 97 93 58 32 37 21 15 73 76 62 90 55 18 88 79 87 6 +Card 136: 15 94 90 19 71 20 62 46 47 9 | 47 19 84 83 53 28 71 91 61 77 43 38 27 15 42 23 97 48 7 52 46 76 81 9 57 +Card 137: 39 63 44 23 98 65 35 24 72 50 | 81 88 3 67 50 23 78 79 70 39 8 95 19 83 35 59 63 44 72 45 98 18 24 25 65 +Card 138: 33 56 23 48 32 7 83 52 39 63 | 38 33 34 84 70 74 56 13 95 52 59 22 77 75 20 58 72 16 7 28 61 14 50 83 55 +Card 139: 27 70 34 76 48 1 40 43 32 78 | 16 96 11 72 55 34 99 17 48 94 38 64 92 40 87 43 80 10 32 1 49 86 77 57 78 +Card 140: 80 40 91 86 71 81 41 54 72 53 | 40 64 71 38 22 60 92 14 72 90 81 62 23 86 29 52 73 17 95 67 91 6 19 44 26 +Card 141: 56 2 30 33 6 79 77 71 69 85 | 13 11 65 30 74 40 37 6 79 61 56 44 90 69 19 27 2 35 33 59 76 4 85 45 77 +Card 142: 9 23 40 75 53 63 48 3 27 22 | 71 96 7 94 28 55 64 91 56 8 84 88 38 21 51 17 72 46 76 30 14 1 39 85 58 +Card 143: 84 9 6 14 90 71 60 8 86 59 | 81 55 12 27 44 88 49 51 15 20 79 16 75 25 89 33 56 66 34 65 46 77 98 58 73 +Card 144: 13 95 62 75 80 30 4 5 97 38 | 81 39 67 8 28 59 35 38 92 84 73 23 48 13 16 64 30 52 88 41 15 99 18 86 11 +Card 145: 98 14 62 40 99 86 80 95 25 48 | 99 14 98 4 87 8 80 67 20 61 69 55 56 95 48 79 38 29 12 25 77 39 1 70 78 +Card 146: 56 60 7 64 40 95 76 28 72 14 | 45 34 63 69 72 21 97 84 22 94 7 96 77 23 47 98 64 42 76 87 95 12 55 14 75 +Card 147: 32 94 15 70 38 73 91 1 9 10 | 87 6 73 33 95 27 11 21 56 7 57 62 26 89 41 75 22 44 71 42 90 85 8 14 98 +Card 148: 46 59 96 7 79 82 26 44 55 37 | 31 69 32 61 43 11 66 42 5 21 29 98 3 16 94 62 95 26 17 88 7 86 54 24 91 +Card 149: 63 37 31 6 84 53 5 88 23 27 | 58 9 3 46 42 66 68 77 74 21 76 10 79 25 39 70 33 35 90 51 88 40 96 86 49 +Card 150: 70 53 20 30 92 11 2 8 64 69 | 63 60 58 96 31 75 35 61 74 67 50 45 78 69 81 26 88 24 9 8 43 20 19 95 91 +Card 151: 59 66 9 52 37 63 47 86 8 97 | 31 10 87 13 90 9 12 71 45 7 56 93 58 67 49 35 1 24 27 29 94 40 74 26 79 +Card 152: 8 15 20 57 56 78 34 98 46 92 | 94 38 33 99 63 62 95 5 85 81 80 13 28 48 96 36 51 4 25 22 90 40 9 39 47 +Card 153: 91 39 26 11 12 90 63 73 98 19 | 43 93 76 97 82 75 71 80 92 55 61 54 51 49 94 37 21 42 74 87 31 44 9 70 33 +Card 154: 96 52 59 41 86 90 63 3 77 23 | 8 66 89 65 74 34 73 20 21 47 77 85 91 87 51 28 97 24 69 2 82 60 50 15 19 +Card 155: 48 69 13 68 5 29 28 12 22 37 | 73 52 43 37 5 44 28 69 29 76 68 26 51 35 17 90 48 55 60 83 46 13 22 39 34 +Card 156: 32 26 55 22 93 14 30 33 9 84 | 24 82 83 40 22 79 52 23 11 3 9 78 70 37 26 44 54 1 20 65 6 2 67 61 77 +Card 157: 53 23 58 5 22 11 46 77 47 43 | 35 92 73 96 46 41 11 5 74 95 66 22 9 19 63 58 48 4 80 31 53 91 77 1 14 +Card 158: 90 13 3 4 94 85 8 83 60 14 | 30 67 46 60 43 23 73 51 50 29 97 92 57 52 14 59 90 63 33 69 77 21 70 66 3 +Card 159: 14 86 9 87 80 21 41 72 17 32 | 51 68 57 84 20 21 34 44 6 67 26 38 46 2 16 37 1 69 77 81 73 10 33 62 52 +Card 160: 45 51 83 25 31 63 26 94 56 40 | 91 72 31 84 22 1 51 52 25 83 40 5 2 41 17 63 45 56 54 86 97 94 67 19 26 +Card 161: 27 43 80 23 67 45 68 4 5 3 | 35 83 36 69 92 20 6 49 87 27 60 11 32 71 91 53 66 47 3 23 88 74 68 50 67 +Card 162: 81 73 42 3 39 37 9 23 59 94 | 75 17 11 93 30 16 70 29 27 47 1 4 12 73 79 96 5 85 39 13 6 56 44 92 3 +Card 163: 87 97 59 11 71 25 46 86 54 48 | 21 25 12 72 55 34 11 1 70 22 59 26 86 20 9 56 84 19 14 58 2 77 50 91 13 +Card 164: 40 23 99 8 80 75 30 52 92 88 | 37 66 5 68 62 84 73 99 92 26 28 15 67 14 54 51 30 69 75 39 23 34 27 72 3 +Card 165: 34 30 43 14 61 33 73 56 15 93 | 89 5 65 25 93 28 69 81 22 1 78 39 62 85 95 75 18 98 57 50 35 30 70 36 51 +Card 166: 16 74 94 44 71 60 7 90 84 40 | 5 12 70 45 49 71 61 91 48 75 53 30 65 55 11 89 88 67 76 25 77 24 15 16 81 +Card 167: 37 65 12 71 39 64 75 58 3 60 | 13 81 69 59 99 29 87 22 91 2 16 70 39 44 1 46 67 60 54 90 96 5 86 58 75 +Card 168: 76 44 60 13 10 42 87 34 58 93 | 88 73 48 2 99 35 37 4 69 82 15 81 43 21 64 30 5 14 87 19 7 55 51 53 90 +Card 169: 71 12 82 98 36 48 21 26 6 69 | 53 33 15 17 2 25 20 69 27 99 86 44 72 54 88 65 18 62 16 9 96 68 95 39 13 +Card 170: 79 98 45 46 68 49 34 17 91 13 | 6 78 25 41 15 72 87 59 73 9 94 37 34 93 92 27 81 30 60 70 11 50 10 1 36 +Card 171: 6 12 87 66 97 65 74 75 9 88 | 5 26 49 14 34 81 64 46 55 72 39 30 98 82 76 31 23 95 96 68 54 56 86 15 69 +Card 172: 54 13 27 98 1 9 53 71 17 11 | 92 62 55 54 1 17 24 40 39 98 11 5 80 75 71 99 53 20 50 81 9 89 27 13 86 +Card 173: 84 40 4 48 94 41 27 81 57 72 | 31 22 78 87 1 48 52 68 3 99 72 65 84 94 27 33 70 81 12 77 36 4 40 2 10 +Card 174: 86 4 71 29 27 36 42 56 77 19 | 56 3 93 27 76 86 77 10 60 89 53 71 4 52 74 19 96 36 29 88 94 39 24 42 49 +Card 175: 58 17 42 69 68 99 20 25 45 97 | 17 25 55 53 58 20 11 69 12 73 40 4 59 45 26 76 50 99 36 68 97 42 62 60 31 +Card 176: 16 88 74 2 77 24 89 56 80 58 | 83 28 44 77 16 5 17 27 23 47 38 14 20 39 88 60 80 2 79 58 24 78 64 34 69 +Card 177: 51 37 28 89 68 53 46 10 69 38 | 94 70 49 57 86 34 38 66 68 87 89 4 60 64 39 28 77 52 54 99 16 13 19 33 51 +Card 178: 76 31 77 22 92 72 74 15 61 29 | 9 50 77 58 90 1 89 83 67 71 76 22 31 5 12 27 20 29 30 96 92 95 42 80 93 +Card 179: 29 75 5 6 71 1 53 82 41 74 | 93 45 76 41 10 58 74 6 1 82 71 77 94 27 14 31 5 59 46 29 53 8 61 62 18 +Card 180: 41 23 21 18 11 87 68 35 80 7 | 34 95 14 80 67 24 11 7 21 75 13 9 18 71 50 68 53 91 78 27 88 16 81 23 25 +Card 181: 58 43 4 38 99 45 94 25 69 97 | 33 10 77 17 39 61 12 24 68 35 11 87 52 19 25 44 72 81 36 48 22 38 98 34 55 +Card 182: 31 79 39 50 78 66 16 4 91 41 | 25 80 85 81 12 98 11 13 65 30 87 60 24 94 70 36 99 92 14 10 53 51 2 8 76 +Card 183: 60 37 31 23 29 77 57 34 76 94 | 94 7 57 41 70 52 53 14 8 96 80 51 69 19 81 6 47 54 67 17 3 56 22 2 76 +Card 184: 19 78 23 11 26 79 37 42 83 66 | 54 99 50 68 65 89 7 86 92 18 41 96 71 44 67 48 59 37 93 64 91 75 16 11 29 +Card 185: 45 85 65 6 17 27 82 35 74 13 | 79 56 63 87 5 32 75 15 69 84 16 42 12 88 60 33 92 77 35 28 66 48 21 95 97 +Card 186: 10 45 16 1 46 27 50 59 83 65 | 82 14 4 49 57 59 95 7 68 78 98 2 52 9 44 39 23 24 27 97 58 93 50 26 54 +Card 187: 69 86 61 71 65 42 40 27 25 59 | 11 67 62 26 39 87 51 9 38 41 19 6 48 75 18 99 27 24 33 73 95 81 83 64 50 +Card 188: 79 28 69 4 93 38 31 62 18 67 | 12 68 83 3 76 41 23 61 11 73 94 74 30 32 90 20 58 46 7 98 65 82 88 49 48 +Card 189: 48 76 43 18 98 50 36 6 90 20 | 22 9 44 45 69 51 47 55 42 52 57 46 77 65 85 37 73 31 14 83 41 92 32 27 23 +Card 190: 6 8 77 28 62 2 30 76 94 90 | 5 20 94 96 43 55 41 75 76 38 45 78 33 77 90 68 62 63 23 6 30 8 12 28 2 +Card 191: 74 95 81 19 30 18 84 67 41 4 | 67 19 27 93 46 30 81 20 41 57 17 74 4 11 35 5 43 37 95 18 58 28 83 84 42 +Card 192: 88 95 72 25 27 10 19 15 63 5 | 72 49 73 95 5 19 85 7 88 25 40 51 61 52 76 15 29 27 35 91 96 63 98 70 10 +Card 193: 60 5 92 22 73 76 64 83 30 89 | 42 34 19 83 89 72 32 11 64 2 60 63 73 92 67 17 30 87 41 5 69 22 29 76 85 +Card 194: 58 66 59 28 55 35 61 20 22 89 | 63 37 49 68 89 59 19 4 28 92 24 26 87 62 97 66 60 61 6 99 58 53 57 47 45 +Card 195: 85 35 2 7 77 71 21 32 25 70 | 35 63 77 7 64 46 61 71 22 2 66 32 85 12 90 70 84 43 40 21 30 1 50 25 17 +Card 196: 31 61 66 19 79 35 85 68 15 54 | 74 85 35 20 75 40 44 14 69 54 33 31 61 51 43 68 56 16 37 46 15 77 79 66 19 +Card 197: 64 3 29 40 63 46 95 66 8 96 | 3 40 95 85 7 67 29 74 64 96 37 9 2 46 98 86 66 63 6 71 78 8 36 39 4 +Card 198: 27 26 20 24 50 96 81 76 68 19 | 66 59 40 67 9 55 69 8 75 65 18 82 73 41 70 21 23 52 83 11 89 58 60 97 22 +Card 199: 28 94 90 41 60 57 93 8 51 48 | 14 5 3 31 15 79 87 55 39 75 29 44 27 46 22 61 18 36 59 68 52 48 34 81 95 +Card 200: 22 27 9 45 65 86 67 41 46 66 | 98 43 46 41 55 56 15 73 71 89 84 86 77 51 17 3 34 65 18 67 76 22 26 74 38 +Card 201: 43 60 39 89 35 24 11 52 21 4 | 10 60 89 39 18 40 85 29 30 21 35 8 31 52 96 99 59 49 7 88 25 78 4 47 58 +Card 202: 47 76 20 50 3 10 53 6 15 78 | 2 86 20 4 78 10 9 53 1 72 58 65 3 6 76 51 71 80 47 77 90 39 5 15 61 +Card 203: 55 10 36 49 22 76 50 52 86 79 | 31 21 70 7 47 38 17 84 97 75 86 90 55 50 64 77 18 24 69 82 71 5 34 23 65 +Card 204: 32 79 4 51 24 36 52 16 95 47 | 69 72 25 70 6 20 37 82 29 3 61 75 13 34 54 49 76 67 7 15 40 64 97 9 74 +Card 205: 46 89 30 18 15 24 1 73 34 50 | 65 6 3 69 21 52 94 29 25 54 37 49 44 26 15 79 32 31 67 56 9 47 41 57 10 +Card 206: 51 80 60 54 95 50 76 14 2 92 | 20 84 9 60 14 74 10 94 90 47 58 64 7 4 15 89 79 36 80 70 68 81 69 93 19 +Card 207: 27 94 17 47 12 3 73 26 52 32 | 38 4 2 52 59 8 75 10 39 17 89 34 93 85 27 96 7 11 84 24 62 26 80 49 6 +Card 208: 65 9 31 99 98 59 96 46 63 12 | 68 48 61 38 94 1 23 71 66 35 21 30 20 58 14 12 93 19 52 45 92 25 49 80 65 +Card 209: 11 98 57 87 82 50 16 45 46 25 | 54 11 82 73 13 24 55 65 51 66 6 70 60 44 18 36 12 16 84 27 74 22 71 29 49 +Card 210: 77 36 67 31 25 58 28 8 16 29 | 98 85 14 50 99 58 37 31 2 39 84 24 65 80 41 62 97 78 20 74 40 30 83 38 47 +Card 211: 18 77 49 70 59 85 16 74 57 35 | 71 43 27 78 18 61 15 77 20 37 65 96 67 97 29 55 7 23 25 94 76 33 88 75 30 +Card 212: 40 48 44 77 98 29 21 99 82 79 | 81 52 56 6 2 11 94 62 22 65 43 47 83 69 42 17 70 92 36 77 87 15 71 27 66 +Card 213: 8 24 48 5 27 13 71 26 17 21 | 63 11 89 35 69 98 91 60 51 70 12 62 39 43 38 19 55 20 57 32 6 79 95 76 73 diff --git a/2023/05/input.txt b/2023/05/input.txt new file mode 100644 index 0000000..7289e4e --- /dev/null +++ b/2023/05/input.txt @@ -0,0 +1,188 @@ +seeds: 2494933545 159314859 4045092792 172620202 928898138 554061882 2740120981 81327018 2031777983 63513119 2871914181 270575980 2200250633 216481794 3289604059 25147787 3472625834 10030240 260990830 232636388 + +seed-to-soil map: +3272284283 2724782980 1022683013 +138187491 4195038636 99928660 +2359623759 797621236 127984779 +662451929 2224466386 266466256 +928918185 714355413 83265823 +1012184008 3891516474 303522162 +3063776460 1098322140 208507823 +2194238166 1306829963 50525692 +357106588 2091837170 132629216 +2244763858 2490932642 114859901 +2050187685 3747465993 144050481 +489735804 925606015 172716125 +2487608538 138187491 576167922 +238116151 2605792543 118990437 +1315706170 1357355655 734481515 + +soil-to-fertilizer map: +4265669768 2142212766 29297528 +2030756625 2171510294 69737894 +3038084234 3411621093 262803613 +2410534622 3266307064 145314029 +2667304792 2241248188 370779442 +2100494519 3921619167 310040103 +3611390334 2612027630 654279434 +2555848651 2030756625 111456141 +733063720 869238953 195075492 +3300887847 4231659270 63308026 +3364195873 3674424706 247194461 +928139212 733063720 136175233 + +fertilizer-to-water map: +0 772139976 154052576 +909628165 428370542 51644443 +3172969725 4109584032 185383264 +1116931128 1046566515 14194115 +223777814 10055892 255169216 +2512535520 1229983026 60386000 +3109777744 3899207072 16374329 +4030761870 3829858282 12540292 +828135093 718323602 53816374 +2358450176 2554590817 154085344 +3126152073 3152512175 46817652 +4043302162 3842398574 56808498 +3694349069 3493296400 336412801 +770911368 661099877 57223725 +3574254366 3032417472 120094703 +2689829955 2124052738 139986329 +3358352989 1925653441 3542661 +154052576 1060760630 69725238 +3460616091 3829709201 149081 +881951467 480014985 9494517 +1777535488 3915581401 135358522 +2829816284 1290369026 84715328 +478947030 489509502 171590375 +2686813330 1226966401 3016625 +3361895650 3199329827 98720441 +1226966401 1375084354 550569087 +3515610257 4050939923 58644109 +650537405 926192552 120373963 +4100110660 1929196102 194856636 +1912894010 2708676161 323741311 +3460765172 2264039067 54845085 +898932898 0 10055892 +891445984 265225108 7486914 +2914531612 3298050268 195246132 +2572921520 2318884152 113891810 +961272608 272712022 155658520 +908988790 1130485868 639375 +2236635321 2432775962 121814855 + +water-to-light map: +2821176146 2286693663 106119314 +3822234587 2463633329 180779736 +1725724347 2842879211 104224606 +3308097155 4172728180 122239116 +3299768179 2834550235 8328976 +525232540 357109336 38255672 +751267412 803626289 867213460 +2181067610 2392812977 70820352 +2251887962 2644413065 134698828 +3430336271 3994876090 163182805 +357109336 395365008 62712446 +3646455511 2158365540 128328123 +3084834769 2947103817 214933410 +1618480872 3954660777 40215313 +1673365470 751267412 52358877 +2927295460 3797121468 157539309 +2386586790 1723776184 434589356 +3774783634 2779111893 47450953 +4003014323 3162037227 291952973 +419821782 458077454 105410758 +3593519076 1670839749 52936435 +1658696185 4158058895 14669285 +2173080221 2826562846 7987389 +1829948953 3453990200 343131268 + +light-to-temperature map: +457330729 4090205185 204762111 +2982196520 3401667644 30193953 +2238727594 3778270640 263367024 +2540710222 1921368253 380651678 +2224576409 4041637664 14151185 +1803946096 1170025919 125923944 +947791690 3069412788 65888847 +3354708582 3597834895 180435745 +1173448701 516297801 630497395 +4079424710 2899828022 88028778 +1929870040 1295949863 294706369 +928458849 495946333 19332841 +3145865299 515279174 1018627 +3071616223 2825578946 74249076 +3012390473 3431861597 52676537 +0 156654134 174053721 +1013680537 1590656232 159768164 +2502094618 457330729 38615604 +4167453488 3484538134 113296761 +4058703342 3048691420 20721368 +3146883926 1750424396 164394644 +662092840 3135301635 266366009 +174053721 0 156654134 +4280750249 4055788849 14217047 +3311278570 1146795196 23230723 +3334509293 4070005896 20199289 +3535144327 2302019931 523559015 +3065067010 1914819040 6549213 +2921361900 2987856800 60834620 + +temperature-to-humidity map: +19014508 1616728169 261978440 +479364011 879054632 183139707 +3422279791 4197415651 97551645 +2947838505 2859883311 474441286 +3922771609 3441941550 130194267 +1538347549 1285663854 77335299 +4074125861 3334324597 17231539 +2692139672 3923798143 165313419 +3867887507 3572135817 45827004 +4091357400 2695950683 148956394 +280992948 874337342 4717290 +3585981058 4137845928 59569723 +1194193608 267159640 344153941 +3645550781 2226309992 39998882 +2606341883 3617962821 85797789 +2452453972 3769910232 153887911 +4279991062 2844907077 14976234 +4240313794 4089111562 39677268 +285710238 0 193653773 +662503718 1585706204 31021965 +4052965876 2266308874 21159985 +2226309992 2287468859 226143980 +0 248145132 19014508 +3685549663 2513612839 182337844 +2857453091 3351556136 90385414 +1139702249 193653773 54491359 +3913714511 4128788830 9057098 +916232734 1062194339 223469515 +1615682848 611313581 263023761 +693525683 1362999153 222707051 +3519831436 3703760610 66149622 + +humidity-to-location map: +3722067319 3568864729 46052123 +761939125 1263883488 182519766 +3952597071 3400791743 168072986 +1928058 204065059 218803536 +1797120632 863951513 248903371 +3409129274 3614916852 109595510 +0 1261955430 1928058 +3854871689 2940386871 97725382 +3518724784 3898809601 159455982 +220731594 1446403254 100124613 +944458891 1813379640 207908225 +3194065032 4058265583 117770911 +3059317673 3222157831 134747359 +3678180766 3356905190 43886553 +3375153977 3124864500 33975297 +2940386871 4176036494 118930802 +1152367116 2021287865 24736138 +3311835943 3158839797 63318034 +320856207 422868595 441082918 +1593055573 0 204065059 +4120670057 3724512362 174297239 +1177103254 1112854884 149100546 +1326203800 1546527867 266851773 +3768119442 3038112253 86752247 diff --git a/2023/07/input.txt b/2023/07/input.txt new file mode 100644 index 0000000..3883d56 --- /dev/null +++ b/2023/07/input.txt @@ -0,0 +1,1000 @@ +A833A 309 +Q33J3 205 +55KK5 590 +K4457 924 +Q3QT3 11 +QJK32 349 +96659 162 +955A9 851 +33888 311 +57JJ7 721 +67A7A 978 +T44T4 557 +46446 802 +72757 471 +23J5J 148 +44944 660 +T89JJ 938 +55J55 141 +58858 555 +2Q22J 542 +4734Q 454 +22522 249 +Q2486 814 +KK3KK 577 +6J6KA 250 +9A4JJ 168 +72AQ7 308 +TJ486 320 +97397 121 +48334 748 +2J5J2 964 +4836J 588 +Q6565 943 +JAJAJ 562 +KK3KA 620 +99229 395 +T9T99 684 +22838 638 +7QQQ3 149 +6K58A 783 +Q3T45 675 +7TQ78 214 +A2AA5 549 +98944 375 +Q3QAA 999 +A8JAT 456 +TT9T9 196 +42T92 732 +K7JKK 262 +Q5QT5 169 +K22K2 318 +72777 519 +33Q3Q 641 +Q355Q 69 +6T5JK 419 +Q5Q3Q 264 +44229 848 +87778 695 +223K8 181 +QQQ8Q 711 +2QQQ8 548 +637AT 109 +77AAA 969 +4AAQ4 532 +Q4K4K 826 +Q2TA7 513 +9J55K 772 +J4AA7 996 +4J252 954 +99669 336 +99T89 176 +A99J9 771 +588A5 483 +Q3A3Q 373 +22344 201 +J6K8Q 329 +445T4 865 +T25K6 106 +JQ8Q3 78 +88482 877 +JQKQJ 976 +922TA 495 +38666 867 +65T69 370 +JT4QA 409 +39T33 744 +7QQ77 177 +KJ785 668 +36J58 935 +5376K 671 +62222 188 +63333 231 +TKK82 658 +88877 322 +3JJ7J 984 +93333 408 +J39T6 669 +5QQ88 956 +K8A4Q 659 +44J77 38 +QQ969 93 +T28AK 706 +KTKTK 810 +Q5QQQ 585 +86688 623 +JJQ23 651 +J2227 863 +5TT99 337 +458KK 350 +8534K 693 +864A8 405 +77Q38 269 +28682 332 +2Q28K 361 +4J86Q 540 +T3K95 614 +QQ2QQ 844 +5KAJJ 707 +TT7TT 110 +86JK6 431 +KA89J 754 +23A62 266 +J2QK6 433 +444A6 813 +TKQQQ 716 +KKTT7 758 +46J74 380 +K4A4A 958 +37777 159 +2T43Q 45 +K8888 7 +32237 164 +552Q4 246 +343K8 624 +KKTTT 832 +A8ATT 514 +KKTKK 166 +KTKAJ 220 +7J927 904 +899QQ 531 +682AJ 765 +TJKKJ 579 +87524 98 +AAT9T 809 +KJQKK 57 +T3K48 288 +86T68 77 +8J798 191 +5J866 132 +4K44K 424 +AJQQQ 533 +JA884 411 +T6668 445 +77646 155 +Q23A3 27 +K642A 16 +T3JT4 494 +67AJ4 281 +88388 782 +Q7394 517 +23K47 759 +88A8A 629 +98386 791 +2Q644 232 +JK833 600 +4K43A 455 +Q664J 17 +7777A 135 +QKTT3 718 +54TJ4 479 +7Q5JJ 209 +A2AQA 267 +QQ4Q4 857 +T658J 414 +72727 538 +K2458 22 +93599 703 +322T2 340 +42222 722 +A84A8 610 +9TJTA 738 +AK484 953 +KKJK2 64 +395KQ 1 +T5J55 49 +249K8 612 +35353 618 +65268 225 +K8884 34 +94T44 805 +66226 543 +5KK7K 116 +599J9 998 +6K96J 418 +6T26Q 795 +99833 881 +TAT66 251 +9J46Q 786 +4736K 59 +67Q25 374 +65K5K 734 +5456J 87 +7QJ3T 319 +7JQ9J 62 +A4JA6 460 +7KQ8T 888 +QA3JT 974 +T88J7 480 +K9Q34 292 +JJ32A 222 +TAJ7K 68 +564KJ 158 +66996 13 +J444T 401 +33TQ5 934 +8778A 280 +K956A 223 +96TJ6 130 +27267 644 +J39Q5 544 +A5ATT 670 +44994 567 +555TT 968 +2T522 563 +666J9 298 +574T8 811 +2K24Q 301 +T2Q2Q 153 +8988K 696 +62622 784 +444K4 962 +AJA42 980 +A2A72 951 +K8K8K 61 +J55AJ 363 +9T78J 355 +86A74 723 +TT478 138 +4AQ9T 522 +TTQJT 515 +63J2A 647 +JA5Q5 986 +9J969 529 +Q5AA9 428 +2K6Q8 793 +5Q6JQ 330 +Q89AA 105 +2J233 430 +7A75A 192 +89595 334 +4Q4Q4 126 +34744 931 +6966A 699 +44QTT 73 +J9568 735 +24484 278 +55955 422 +Q5K22 20 +445K3 945 +K8228 449 +36AKT 616 +63Q63 909 +3J822 134 +333J9 871 +86999 545 +Q5553 564 +JA3T5 781 +KKK55 665 +69353 581 +9A425 952 +2Q83T 963 +K989K 345 +T4444 595 +TAK5A 827 +A5AK5 539 +99KTT 736 +QQ3K7 742 +5Q8JQ 833 +57AQ4 880 +352Q4 640 +655A3 536 +4QJ24 331 +QTQQT 930 +8A8T7 14 +AA538 252 +AK72Q 42 +88QQQ 866 +KJ95J 849 +28282 31 +77979 524 +697A4 438 +2JJ22 932 +68365 76 +94J34 929 +4A44A 685 +A63Q7 287 +9J99J 303 +AKKKK 70 +5T5TT 979 +T77T7 55 +A9AA9 676 +T8888 608 +T5TJJ 944 +TTT4J 389 +QJ63Q 895 +T5KQ8 745 +584K4 896 +26223 677 +TT97T 32 +4K942 652 +TJ888 525 +22T2T 97 +AT382 749 +J898Q 26 +A28AA 137 +99525 779 +2AAAA 19 +A3QQQ 885 +687J8 637 +Q44QT 102 +KTTQT 949 +K6AKA 712 +A233T 633 +QAQQQ 556 +KA2J2 534 +88884 385 +6376J 576 +922QQ 324 +K653J 728 +JJ56J 948 +78777 719 +7KAQ5 724 +6T6AK 589 +3452K 452 +77Q69 740 +55585 936 +KKKAA 473 +54554 440 +2QKQ2 108 +J6655 399 +8A244 828 +KAK3A 273 +TQ623 427 +9536K 630 +8585Q 916 +5KK68 234 +8986Q 905 +K2229 285 +A7JQ9 925 +83T38 987 +K478Q 917 +KQ436 263 +T4T4T 507 +496TJ 571 +6644K 485 +Q9AAQ 617 +737T7 458 +4KK76 358 +4QAT3 655 +44Q34 957 +T346T 920 +44442 566 +T7742 967 +78888 290 +A6K32 926 +8778Q 244 +QT888 501 +2TJ2A 92 +79554 767 +4T8J3 907 +52665 798 +58888 875 +66668 919 +T25TT 461 +A6A6A 125 +6QKA6 635 +8949J 462 +83335 690 +T3A89 625 +333AA 167 +QKKKK 747 +6JK22 889 +Q77AA 995 +2999K 484 +27TQ8 5 +KKQK5 599 +6T666 9 +J4667 829 +677A7 35 +AA48A 56 +QAJT9 606 +A8A8A 342 +53755 982 +T6T6J 465 +94998 33 +Q3379 113 +68J68 151 +J49AA 709 +22922 755 +6666A 476 +J259T 927 +7TJTT 207 +JQKQQ 299 +7696K 882 +26578 10 +TJTTJ 609 +47J56 258 +888J8 101 +JKK73 855 +9Q58A 366 +K7KKK 906 +595J3 180 +47886 580 +96333 915 +TQT25 85 +JKJJ7 636 +2J822 663 +39427 694 +JAA7A 528 +72899 193 +54KK5 621 +Q66TQ 37 +64766 837 +J29TJ 147 +59628 777 +7T772 657 +7Q773 673 +5JKK9 816 +T8A2T 65 +999KK 413 +23333 475 +969J2 787 +6QK6Q 284 +QJ927 154 +J89J8 451 +K94QJ 505 +J6666 239 +22K2A 426 +464Q6 268 +63582 511 +65568 238 +82827 139 +79236 830 +77757 415 +2K272 717 +QQ277 739 +8355T 378 +J77JJ 30 +39399 928 +9AT9T 392 +3A878 762 +Q255Q 259 +393J9 74 +T9346 356 +2A7A5 807 +7856A 186 +53J2Q 25 +66968 757 +9K97K 605 +28K55 270 +29922 412 +67324 643 +9J994 883 +37329 295 +TA3J3 601 +66626 900 +TKQJ7 678 +49898 746 +8QQQ3 508 +64466 942 +74774 79 +73A63 994 +22228 492 +AA5AA 565 +95395 891 +35K38 763 +36566 774 +K44K9 18 +Q5624 41 +QTQ6Q 204 +885KK 115 +83A64 653 +25522 770 +74T48 248 +649KQ 702 +6J9A6 661 +Q846Q 441 +33636 310 +AQ746 371 +QQ22Q 91 +33799 71 +Q2922 773 +7377J 856 +22779 913 +66TT7 634 +Q3343 99 +39866 434 +5A555 439 +3AJA3 687 +K56AA 323 +366J6 1000 +Q635A 561 +QJTQJ 446 +2TTTT 265 +A2637 503 +8AT6K 382 +3A2AA 170 +97999 604 +A444J 950 +7KK55 582 +6743A 376 +55JK5 150 +J77J2 686 +9484J 212 +QQJQJ 131 +KQKQK 845 +84A84 946 +8KT98 868 +T5575 541 +7777J 404 +29Q92 788 +KAAAA 731 +222K2 3 +6KT75 474 +53462 46 +88T8T 679 +T378Q 156 +JQK2Q 546 +QQJ88 257 +A65KT 410 +4J7A3 884 +J4455 850 +7JA73 221 +22AA9 959 +7929T 317 +TJTT8 58 +J3892 550 +Q3648 36 +598K2 277 +J9999 400 +55779 302 +A9Q92 697 +3TT6Q 107 +65556 835 +2QJAK 124 +TQ2TQ 960 +384T4 294 +2Q2JK 874 +5T78K 129 +J6T66 364 +AAJQQ 666 +66QJQ 547 +A33KQ 119 +2K72A 468 +98889 834 +92399 381 +6TTT6 642 +99959 146 +AAAA3 145 +89979 842 +955QQ 206 +3434K 216 +9J9TT 729 +T7Q85 862 +69963 86 +Q2626 554 +KKJKT 339 +55T56 235 +7877J 469 +A2A26 315 +2693A 800 +3694A 523 +T9299 914 +AAJ55 2 +AAKK9 481 +97J8Q 593 +74444 683 +AATTT 603 +423Q2 769 +4T777 592 +J7Q77 260 +KK393 190 +KKT72 890 +J5353 836 +6QAQQ 794 +A295J 700 +33TTT 353 +J4444 444 +J3353 178 +Q9685 80 +3339K 490 +77JAT 215 +3857Q 520 +76K4T 360 +59A55 103 +J3A63 819 +4Q43Q 48 +5KJK5 226 +9A5J5 843 +T29Q8 753 +T3343 918 +A2797 383 +3J786 521 +K4J99 63 +55545 143 +J9TK2 737 +67777 437 +AAJ68 379 +9AJAA 88 +4J557 975 +JQ64J 806 +KTK6T 760 +6KK66 362 +76Q39 698 +QQ668 841 +332A6 423 +8J88Q 498 +Q2QT5 24 +883J8 940 +A3QJ9 688 +J2442 575 +82885 820 +48543 743 +5J5J5 785 +9JQ7Q 403 +A9Q47 352 +9T2JT 489 +T232T 53 +TQQTT 518 +333J3 672 +TTQ77 256 +32Q3J 300 +TQA6T 293 +854J9 348 +KKK6T 682 +KT97K 708 +7777K 254 +26269 902 +JT757 596 +KK8KK 572 +99969 163 +23277 733 +8A3QK 812 +79947 869 +34433 39 +A333J 463 +82J28 710 +29A49 486 +T82J9 291 +6J86J 472 +Q6QQQ 133 +57A73 861 +657T9 797 +9363K 988 +33334 351 +8JAAA 626 +T96TT 725 +8J9K8 459 +AQT54 972 +3465T 377 +QT3QT 622 +69JQ6 328 +Q8888 274 +K9999 112 +63954 496 +KJTK7 648 +37A85 142 +264A7 341 +94469 859 +2TT77 464 +237AQ 157 +K2T54 229 +K3K92 457 +44433 922 +9799J 705 +6QQ62 656 +KKK22 432 +8473A 627 +AK76K 255 +7A882 111 +A5T5K 6 +QQ64Q 40 +75577 488 +5588J 632 +44T29 892 +3A39A 587 +T2666 530 +J766K 887 +92629 893 +9A624 611 +728JQ 236 +JK8K8 527 +787K2 436 +Q3592 649 +QQQJQ 831 +36663 815 +2AQ2A 628 +TQ94K 991 +75275 304 +63833 470 +AA22A 955 +K63K6 397 +TTT75 443 +4KK4J 96 +KJ3K3 977 +3232T 912 +899J8 467 +93366 326 +7692Q 516 +J6JJ6 247 +4Q835 50 +44JQ4 72 +88Q74 854 +89998 321 +39233 242 +2Q222 104 +436AJ 639 +JJ8JJ 359 +9739A 689 +AQAAA 824 +4J44J 245 +JAJAA 407 +7JQQ6 664 +K33K3 387 +JTTTT 305 +QQ33Q 778 +AA88Q 338 +J2222 187 +QQQ72 165 +25T52 450 +5JJKQ 390 +8K9J6 160 +J868K 804 +K3T75 368 +T666T 52 +A7A72 714 +T743K 417 +9636K 560 +Q2QJ2 796 +44K4J 357 +AAKJK 597 +AATTA 28 +24244 992 +4J686 421 +TTTK3 90 +3KQJ3 482 +98QTA 184 +QJ7Q2 789 +67228 453 +Q7555 899 +A284J 713 +75555 613 +29TA7 347 +997J7 727 +88578 840 +TT4J4 198 +98628 619 +4TT2Q 646 +KJ582 551 +827T9 583 +25J22 233 +2Q729 591 +8J6JT 21 +8T468 203 +44888 898 +Q6666 372 +75K7J 393 +7A727 821 +5KT69 447 +A4ATA 971 +QT4QT 586 +333K8 199 +AQA33 44 +8Q8QK 878 +5AA55 312 +QAKAA 228 +72543 487 +7T775 680 +4AA4A 578 +33KAK 645 +47377 200 +5K4Q9 43 +J4324 175 +56TKK 343 +958AK 230 +2A2A2 171 +6ATTA 279 +22884 316 +6KKKJ 60 +QAK45 365 +KT89A 271 +723A3 509 +3558J 908 +J77J9 448 +JQQQT 965 +8Q8Q8 243 +54J55 500 +K5445 261 +2QJ39 15 +3T7Q4 240 +55565 283 +AA33A 195 +TK6Q9 801 +A4A8K 83 +6T36J 983 +Q4JQK 123 +868KK 325 +7T426 127 +333JJ 997 +K333Q 681 +42AJJ 873 +A88J9 552 +9Q969 202 +Q3232 941 +QQ3QQ 117 +8T9TJ 602 +46666 276 +AJJ96 398 +669TT 208 +KK66K 189 +TTTTQ 384 +4KA6T 526 +6A93Q 901 +QQ788 870 +KT67K 989 +K7A3J 825 +75477 94 +67366 327 +4AA74 860 +J2AQJ 100 +Q6767 838 +22223 227 +KTK95 307 +774AA 388 +77KJ7 425 +55TJT 985 +AAA5K 466 +484J8 750 +49QK8 853 +52454 211 +59KK5 817 +3Q64T 615 +A4452 420 +TAJK4 852 +83362 872 +K9599 174 +T45Q8 306 +KTKK5 140 +9922J 808 +AAATA 704 +A6A66 569 +9TJT5 335 +J5925 650 +89763 823 +J2TJQ 84 +A67TQ 990 +4T9QJ 876 +KK6KA 568 +99925 691 +A82J9 775 +897J4 730 +727TJ 75 +3383J 726 +677K5 879 +97345 947 +Q7QQJ 23 +76767 173 +J6676 289 +T555Q 558 +636J3 47 +JQQKK 715 +2TT37 344 +QA5Q6 429 +6QQK5 993 +8555J 241 +77J88 29 +7K7KA 4 +55577 182 +A2TJ4 846 +99399 790 +AQQQ4 766 +Q838Q 631 +56TT6 478 +7QQ97 910 +95595 333 +35TQA 81 +T397K 217 +JQ92Q 152 +88J8J 297 +KK726 839 +939J9 570 +4456Q 911 +A66J6 213 +67666 51 +8KTK6 396 +54387 939 +55353 981 +4KKKK 144 +JJAA7 654 +2A2J2 314 +3T87T 218 +KA772 701 +AAA26 598 +969J6 970 +96694 402 +777T7 136 +K7K4K 961 +9TJ3K 386 +8J828 973 +J8AK3 161 +79777 122 +9573K 674 +922A2 442 +5Q5QQ 858 +AT895 369 +44477 559 +7AT9J 354 +J79J9 966 +ATAA8 120 +5655J 584 +J777J 67 +45544 282 +4T49T 756 +29998 197 +KJ2AK 493 +JJJJJ 219 +9A99A 720 +T777K 921 +73766 799 +J7KAA 394 +893K7 253 +2J72Q 847 +JATTT 391 +Q9999 179 +8K4J4 780 +555K9 477 +T6789 886 +5T555 512 +6T4TT 818 +JJKKK 937 +J8669 504 +3A883 346 +33733 313 +JJ992 185 +94349 54 +2T5T7 286 +KA9K9 497 +KKKJK 183 +3Q63J 224 +K7J84 128 +75J3J 923 +K8584 803 +Q9QAQ 491 +2J88J 275 +Q96JJ 12 +K3T7J 741 +48285 172 +QA36Q 502 +AAAAJ 594 +99929 864 +57A75 194 +AK562 510 +A33TA 406 +22A22 416 +J888A 89 +92888 296 +J66JK 667 +72JAQ 573 +Q44JQ 894 +2TQA5 535 +23242 751 +QJ83A 897 +66282 272 +56T28 752 +JT3J8 692 +J3JJ3 66 +33939 822 +8A883 764 +88QJ3 237 +9QJ5Q 768 +888A8 933 +A53K4 506 +525J5 499 +9999T 761 +KAATJ 118 +76J67 95 +KQJ43 792 +QA873 435 +K5665 8 +26A5A 662 +94445 776 +TJJ62 82 +77747 553 +65T2J 607 +KKKK6 574 +KQJ53 367 +57866 537 +Q94A9 210 +J448A 903 +6J66J 114 diff --git a/2023/08/input.txt b/2023/08/input.txt new file mode 100644 index 0000000..2cf69b2 --- /dev/null +++ b/2023/08/input.txt @@ -0,0 +1,736 @@ +LRLRRRLRRLRRRLRRRLLLLLRRRLRLRRLRLRLRRLRRLRRRLRLRLRRLLRLRRLRRLRRLRRRLLRRRLRRRLRRLRLLLRRLRRRLRLRRLRRRLRRLRLLLRRRLRRLRRLRRRLRRRLRRRLRLRLRLRRRLRRRLLLRRLLRRRLRLRLRRRLRRRLRRLRRRLRLRLLRRRLRLRRLRLRLRRLLLRRRLRRRLRRLRRLRLRRLLRRLRRRLRRRLLRRRLRRLRLLRRLRLRRLLRRRLLLLRRLRRRLRLRRLLRLLRRRLLRRLLRRRLRRRLRRLLRLRLLRRLLRLLLRRRR + +FCG = (PLG, GXC) +PQT = (SQK, GHP) +NVS = (TPQ, PPB) +CTR = (SXS, KCV) +FNM = (KHG, FLD) +TFH = (CLD, CLD) +MLQ = (QQL, JVK) +LQR = (TFH, RRM) +QKX = (VPR, BHD) +QQL = (VBD, CPM) +QST = (HPC, DFJ) +QBX = (HPH, BTM) +TVB = (SHJ, GMF) +HJN = (CGJ, QXT) +PGV = (RXT, DQP) +TPN = (TQR, LJR) +BHV = (TGL, GJH) +DDF = (XLH, TDQ) +XMK = (XVN, RJP) +HXH = (JVM, CVB) +SFX = (VNH, BFS) +TRF = (HVJ, DKF) +GGQ = (NNP, PBL) +KQX = (VXK, FSF) +KGL = (QSJ, CBM) +CLC = (MCJ, JGQ) +GFF = (JBG, TVR) +FQT = (CMR, CKG) +HVJ = (FXB, GBP) +KTF = (PKG, JCL) +BLF = (QQL, JVK) +TVN = (QNN, DPQ) +KVX = (XNV, CJF) +GDK = (DVX, RKS) +CHS = (VCL, PSG) +LFS = (SNS, NTG) +NCR = (LFV, DRN) +NLJ = (RCR, XCF) +SRD = (LGT, PRS) +FQC = (GBX, RGQ) +SJH = (CKG, CMR) +BQP = (PPP, HGT) +LJR = (FPV, FQD) +XTP = (PDT, MTX) +RDG = (JRL, MFF) +TFF = (MJQ, MVB) +NGS = (BDG, KHS) +GXT = (QSJ, CBM) +VVD = (HJJ, RNK) +FRL = (CHS, JNV) +RQS = (CFM, SKM) +PRS = (VTG, PRR) +FCD = (VTN, DJQ) +PDT = (DST, DST) +MND = (MFV, GDR) +GJG = (TMJ, HPJ) +JSL = (DDN, JPZ) +DNX = (RHD, LKM) +BGM = (GFC, JTD) +BPC = (BMN, BKQ) +PPB = (BFT, PVH) +VRK = (TCL, JDS) +MBT = (CBB, JMM) +JGQ = (GGQ, DFH) +BGP = (MGH, VHG) +GGR = (TCX, QLG) +NCD = (XDT, SSK) +TDQ = (VPK, HCF) +PND = (BKV, THD) +RJP = (KRV, FQN) +MFZ = (MRL, MFK) +TCM = (RMM, CLB) +SDF = (LTS, RVQ) +KGS = (CTR, SJQ) +SFK = (SDF, HPF) +DJC = (MKF, PNR) +DPF = (KBH, QQX) +VQJ = (FVB, XPK) +CGX = (MLQ, BLF) +GBS = (DJC, XXQ) +JSV = (RMR, QFK) +KHS = (HSQ, PTD) +MKG = (NLJ, MHQ) +CXQ = (BDG, KHS) +RRQ = (FCT, CDT) +JSK = (LBC, CPT) +VSM = (RGM, VMR) +NNP = (SRD, VNQ) +PRR = (GMX, KQX) +HNP = (GQJ, DGS) +PKB = (KBL, HXJ) +MFS = (RMK, JBX) +RMM = (MFG, BPS) +PJM = (SFK, HLG) +BCH = (SRK, LSG) +VNQ = (LGT, PRS) +LTC = (TJX, DQD) +CKG = (NJG, GMJ) +RPS = (RXT, DQP) +CCV = (DPB, JQT) +JDF = (CFF, XFB) +LQX = (KBD, TVD) +VLL = (FMK, LCD) +RTB = (NTG, SNS) +FBF = (QTH, QFV) +CBB = (VJK, BHB) +BCL = (LJR, TQR) +JDS = (SPS, HRL) +HHB = (RHD, LKM) +PLG = (RBV, NJD) +RNB = (VMR, RGM) +CJT = (HJJ, RNK) +JVK = (VBD, CPM) +HXJ = (JTL, PFD) +JGX = (XMV, RHF) +FGT = (LFR, JSK) +MJQ = (BVP, BXM) +DFJ = (MRS, LTC) +GNG = (DPB, JQT) +VCA = (XFL, JSV) +KLR = (LTN, BXH) +VGN = (DGS, GQJ) +DVX = (JXX, XSH) +BTN = (PFP, FRL) +DTM = (DVD, FCF) +SVN = (PBF, GXR) +RCC = (BTB, CBD) +GMJ = (FCH, CSP) +DVS = (FSV, TVP) +RLG = (QML, XGD) +CVV = (HHB, DNX) +NRG = (NFG, DNL) +PQC = (RNG, KTF) +KGG = (DMD, HQG) +JNV = (PSG, VCL) +SNS = (CGX, MBK) +FRA = (MFK, MRL) +BPN = (QQX, KBH) +HCQ = (XMK, JDV) +RDD = (JGB, VHQ) +HTF = (VLX, RQV) +XFH = (DPH, RGG) +LBC = (JTV, DTK) +RBP = (LLL, MND) +GDV = (SHJ, GMF) +MJV = (JGV, JGV) +BQR = (FPK, HSS) +XDT = (BTN, FXF) +NGM = (NTF, BDN) +HPP = (FQX, FGT) +JPC = (JHC, PPH) +GCV = (CCS, TCM) +VHQ = (PBR, GVP) +MDD = (GGR, LXC) +HSQ = (CKV, KGS) +PPP = (DLP, HPP) +SNA = (BKK, FNM) +VLS = (DPH, RGG) +JGB = (PBR, GVP) +FPK = (RGS, XKQ) +LVB = (XMC, MNX) +FDP = (PFR, GFP) +NKS = (PCH, TJR) +VLX = (TLH, KFD) +DLT = (HGV, XJR) +MBK = (MLQ, BLF) +RNG = (PKG, PKG) +BKV = (DXB, GDQ) +LLL = (GDR, MFV) +LNN = (MVG, CKJ) +FXH = (TCM, CCS) +TPQ = (BFT, PVH) +MRH = (CJR, TFF) +MVG = (BQP, DXC) +LLN = (VTN, DJQ) +MLS = (THD, BKV) +HFR = (HNP, VGN) +XNF = (PVL, TPD) +JQT = (DVS, PST) +LNH = (FHQ, SPG) +MBR = (LQR, VPM) +KNV = (SKG, CKF) +JCV = (XMV, RHF) +JQJ = (TCQ, BGM) +SQF = (NRG, HDK) +FHF = (NNQ, PKB) +BDG = (HSQ, PTD) +PBT = (JRL, MFF) +LNS = (TCQ, BGM) +PTD = (CKV, KGS) +LHX = (GRM, XJQ) +NXN = (SFX, NQC) +VSZ = (XFS, DHL) +DPG = (JTS, VBG) +QTH = (DLT, JNS) +PMG = (TCL, JDS) +CCD = (FCG, GPJ) +SSP = (HTF, MNV) +STX = (HPC, DFJ) +KSR = (GKB, TSX) +KDP = (XGR, LLK) +NNQ = (HXJ, KBL) +TPM = (PDT, PDT) +SJQ = (KCV, SXS) +PJH = (BPN, DPF) +JBG = (FPN, XBP) +XQQ = (TLR, TLR) +XJL = (FTX, DXR) +RXT = (RMD, KVX) +CLD = (NTK, NTK) +SDM = (MRH, TGC) +RQV = (TLH, KFD) +NDL = (VDT, VDT) +CCT = (QFV, QTH) +LXL = (VGH, FRM) +TJR = (KGL, GXT) +VBD = (RSG, NCR) +XBG = (BHV, NPX) +JTS = (QDH, CST) +BFT = (JDF, MXT) +XLH = (HCF, VPK) +XBP = (GCV, FXH) +JPF = (RNG, KTF) +HHN = (TMJ, HPJ) +FSV = (GMC, HJN) +XFB = (JRN, RDD) +JPZ = (FNM, BKK) +BBP = (KDP, KKM) +TGL = (TGX, XRF) +JCL = (JDT, JDP) +RRS = (XPK, FVB) +NSB = (MCJ, JGQ) +DMD = (GFG, FDP) +FFX = (VBG, JTS) +XRF = (XFH, VLS) +LSG = (MFX, CVC) +BJZ = (FNK, QKX) +DLP = (FGT, FQX) +JDV = (RJP, XVN) +HDK = (DNL, NFG) +GQP = (NQC, SFX) +NFG = (PMG, VRK) +CSP = (GDP, NDV) +BKK = (FLD, KHG) +SCK = (KKM, KDP) +DXR = (SCK, BBP) +JVG = (PBT, RDG) +GSV = (QTK, JNT) +QXT = (BPC, NXQ) +GDQ = (LFJ, KSF) +NHG = (VVD, CJT) +DHL = (LNH, RPP) +NFS = (JGV, MFZ) +FCS = (BTB, CBD) +JGH = (VHP, RMG) +VQC = (GDC, VKQ) +PCH = (KGL, GXT) +LGT = (PRR, VTG) +PFV = (QCC, VSZ) +QQX = (FTV, LBD) +QFV = (JNS, DLT) +SCN = (RVX, RBP) +QRH = (BCL, TPN) +GBX = (VRH, CPG) +NTF = (RBK, RRN) +NDQ = (MBR, RDL) +KCP = (GFF, DDG) +JBX = (JPF, PQC) +GMF = (KLR, VTD) +JVM = (TXL, XTR) +BLC = (MNJ, VFF) +VTH = (TGC, MRH) +JHB = (BPN, DPF) +TMJ = (PND, MLS) +PFH = (HSS, FPK) +TDG = (KJV, QTR) +TGC = (TFF, CJR) +TVD = (CCT, FBF) +TKX = (FCT, CDT) +BKS = (HLG, SFK) +CGJ = (NXQ, BPC) +QHN = (SKG, CKF) +CVJ = (DMD, HQG) +BMN = (JLD, NHG) +GRP = (NDL, NDL) +FTX = (BBP, SCK) +DXC = (PPP, HGT) +NJD = (XSP, KSC) +CST = (RRQ, TKX) +SVH = (JHC, PPH) +JTV = (GCM, RLG) +BXJ = (DVD, FCF) +HCV = (XDT, SSK) +RDL = (LQR, VPM) +PSG = (MFS, MFC) +MVQ = (DRH, QBX) +XCF = (FVM, VVS) +DXB = (KSF, LFJ) +GHN = (JGH, FGR) +KLJ = (LSL, QJJ) +DFH = (NNP, PBL) +CDL = (XBG, FGD) +VFF = (KGR, FCJ) +KBD = (FBF, CCT) +NJL = (JGH, FGR) +VHG = (MBT, XPT) +GKB = (GJB, JKK) +KQP = (CXQ, NGS) +VSX = (GDC, VKQ) +RHX = (CDL, RGD) +NTK = (QCC, QCC) +KFD = (SKK, HGC) +ZZZ = (VFF, MNJ) +JLK = (HPL, MDF) +BTB = (PFT, CCD) +HQG = (GFG, FDP) +FVM = (VHC, NGC) +CVD = (NQP, FXM) +VGH = (CCV, GNG) +LSV = (NLJ, MHQ) +PVX = (KGG, CVJ) +THL = (NJL, GHN) +KKM = (XGR, LLK) +XGR = (LRT, DFP) +RRN = (TPM, XTP) +GBP = (GTD, QSL) +KJV = (MDD, QKK) +TBN = (TLV, JLK) +LDG = (TPN, BCL) +JLD = (CJT, VVD) +DKN = (CXQ, NGS) +DGV = (HCV, NCD) +HRL = (QHN, KNV) +RRM = (CLD, TQC) +RJS = (MGH, VHG) +MFF = (QTV, GJF) +PNR = (BTT, TVN) +JKK = (RVV, XPG) +XKQ = (PQT, FJD) +RMK = (JPF, PQC) +LCD = (RJS, BGP) +QTK = (GJG, HHN) +TBK = (CVB, JVM) +VTG = (GMX, KQX) +GFG = (PFR, GFP) +RSG = (LFV, LFV) +VCS = (PCH, TJR) +LJC = (QXF, XQR) +QHD = (XFM, LQM) +TSD = (PPB, TPQ) +RHP = (MXX, MTC) +GLZ = (JSV, XFL) +NXD = (VQJ, RRS) +MTJ = (QJJ, LSL) +XQH = (NQP, FXM) +GLK = (XCX, NDQ) +LSL = (NVS, TSD) +QGC = (LHX, LHT) +RHF = (GHM, TBT) +TQR = (FQD, FPV) +QSC = (XCX, NDQ) +RKS = (JXX, XSH) +HGC = (DCG, GDD) +XNV = (VQG, PVR) +CCS = (RMM, CLB) +RVR = (SJH, FQT) +JCM = (BKS, PJM) +GHM = (FCS, RCC) +PFT = (FCG, GPJ) +XDJ = (DTS, JVG) +RVQ = (FQC, PLV) +LQM = (RMH, XDJ) +CKV = (SJQ, CTR) +HPH = (TLX, RQG) +MTC = (FFX, DPG) +CKJ = (BQP, DXC) +MXT = (CFF, XFB) +VHT = (MQG, GTH) +QJJ = (TSD, NVS) +HNA = (DHL, XFS) +PVS = (TDG, SLR) +FPV = (GMD, GTK) +DDG = (TVR, JBG) +BHD = (LLN, FCD) +LDF = (NNQ, PKB) +CKF = (XXD, MJL) +TJF = (NRG, HDK) +JDT = (BLC, BLC) +GXR = (MGP, FNX) +BPS = (XNF, MXR) +FXB = (QSL, GTD) +TLH = (HGC, SKK) +PKV = (NCD, HCV) +CBM = (NXD, GTR) +JNT = (GJG, HHN) +TCQ = (JTD, GFC) +MRS = (TJX, DQD) +FBP = (VGN, HNP) +HPC = (MRS, LTC) +TJX = (PKV, DGV) +LFV = (MJV, MJV) +XVM = (SQF, TJF) +VVF = (PGV, RPS) +XPG = (DGF, DJK) +RGD = (XBG, FGD) +GMC = (QXT, CGJ) +CFM = (VVF, QPN) +SPS = (QHN, KNV) +JTL = (MNM, PTS) +MNM = (SXH, BDT) +RGG = (LNS, JQJ) +FPN = (GCV, FXH) +XJR = (KCP, HJS) +FQN = (LQX, MVF) +CFF = (JRN, RDD) +KSC = (QGH, LPG) +BHB = (DMR, JTX) +TBT = (RCC, FCS) +SKM = (VVF, QPN) +PVR = (PVS, PQQ) +QDN = (XMK, JDV) +JXX = (STX, QST) +TXL = (LKK, NSD) +XTR = (NSD, LKK) +VKQ = (HXH, TBK) +FQX = (JSK, LFR) +FRM = (CCV, GNG) +AAA = (MNJ, VFF) +BKQ = (NHG, JLD) +DPQ = (MGT, LXL) +KXL = (VQC, VSX) +RVV = (DGF, DGF) +TQC = (NTK, PFV) +NPX = (GJH, TGL) +MGH = (XPT, MBT) +VMR = (HGG, RHX) +DCG = (CLF, GBS) +CVB = (TXL, XTR) +HPJ = (MLS, PND) +NNR = (GDV, TVB) +RVX = (MND, LLL) +BVL = (SKM, CFM) +RFS = (XQR, QXF) +TVR = (XBP, FPN) +VTD = (LTN, BXH) +GPC = (XHK, BMP) +QGH = (RNB, VSM) +GDR = (PJH, JHB) +RMG = (KXL, TBV) +PST = (TVP, FSV) +GPJ = (GXC, PLG) +LBD = (KTN, GVD) +LLK = (LRT, DFP) +KGR = (MVQ, LKQ) +MQG = (XJL, NHN) +QXF = (NSH, STD) +GMD = (PFH, BQR) +BFS = (KGN, QHD) +RCR = (FVM, VVS) +RPP = (SPG, FHQ) +FMK = (BGP, RJS) +FGR = (RMG, VHP) +SXH = (RTB, LFS) +GVD = (GRP, TCF) +TGX = (XFH, VLS) +JTD = (NCJ, TBN) +MFV = (PJH, JHB) +HGV = (KCP, HJS) +HSS = (XKQ, RGS) +PTS = (BDT, SXH) +XSP = (LPG, QGH) +TCX = (PVX, XVF) +LKQ = (QBX, DRH) +FSF = (LSV, MKG) +XJQ = (RHP, NXM) +NHN = (FTX, DXR) +GQJ = (KQP, DKN) +TLX = (XQH, CVD) +HJJ = (VCS, NKS) +GTR = (VQJ, RRS) +RHD = (FJR, RVR) +VXK = (LSV, MKG) +MNX = (HBT, CLM) +PPH = (LVB, MRB) +GDP = (LCB, GDK) +DJQ = (BVL, RQS) +FCJ = (MVQ, LKQ) +VHC = (VHT, BSP) +PVL = (PPR, SSP) +LCB = (DVX, RKS) +PFD = (MNM, PTS) +MVF = (KBD, TVD) +DJK = (XQQ, TVF) +QSL = (GSV, KCF) +NXM = (MXX, MTC) +TJT = (CKJ, MVG) +GTH = (NHN, XJL) +SQK = (SPP, JCM) +DPH = (LNS, JQJ) +QPN = (RPS, PGV) +SRK = (MFX, CVC) +RFJ = (GKB, TSX) +QLG = (XVF, PVX) +QTV = (HLR, VLL) +PLV = (GBX, RGQ) +GHR = (SVH, JPC) +XMV = (GHM, TBT) +PKG = (JDT, JDT) +MGP = (RPG, QGC) +QDH = (TKX, RRQ) +HJR = (RBP, RVX) +NDV = (LCB, GDK) +KRV = (MVF, LQX) +NTM = (TJF, SQF) +NXQ = (BKQ, BMN) +HFF = (VDT, JSL) +SLR = (QTR, KJV) +DDN = (BKK, FNM) +LHT = (XJQ, GRM) +DST = (QKX, FNK) +PPR = (MNV, HTF) +JHC = (LVB, MRB) +MXX = (DPG, FFX) +VDT = (DDN, DDN) +XMC = (HBT, CLM) +TPD = (SSP, PPR) +BSP = (GTH, MQG) +NJG = (FCH, CSP) +MGT = (VGH, FRM) +NCJ = (TLV, JLK) +VCN = (NSB, CLC) +CBD = (CCD, PFT) +NQB = (XHK, BMP) +MFG = (XNF, MXR) +XFL = (RMR, QFK) +KCF = (JNT, QTK) +JTX = (MKB, NGM) +NTG = (MBK, CGX) +XCX = (MBR, RDL) +HGT = (HPP, DLP) +FJD = (GHP, SQK) +FXF = (PFP, FRL) +GFC = (TBN, NCJ) +NSD = (HFR, FBP) +HJS = (DDG, GFF) +MNV = (RQV, VLX) +VRH = (MTJ, KLJ) +GJH = (XRF, TGX) +JMM = (BHB, VJK) +BDN = (RBK, RRN) +JDP = (BLC, ZZZ) +GJK = (HHB, DNX) +TCF = (NDL, HFF) +JGV = (MFK, MRL) +LPG = (VSM, RNB) +KBH = (FTV, LBD) +CDT = (NXN, GQP) +QKK = (GGR, LXC) +RMD = (CJF, XNV) +MKF = (TVN, BTT) +RBV = (XSP, KSC) +RMH = (JVG, DTS) +RPG = (LHT, LHX) +FCH = (NDV, GDP) +HPF = (LTS, RVQ) +DRH = (BTM, HPH) +PFR = (RJR, DBR) +RJR = (SVN, VXJ) +MFK = (HCQ, QDN) +RGQ = (VRH, CPG) +BSX = (GHN, NJL) +TLR = (XFL, JSV) +KCV = (NQF, BCH) +PJC = (JGX, JCV) +XVF = (KGG, CVJ) +DKF = (GBP, FXB) +SKG = (XXD, MJL) +MVB = (BVP, BXM) +MJL = (GJK, CVV) +NSH = (VCN, VXF) +DVD = (BCQ, PJC) +VPR = (LLN, FCD) +HLG = (SDF, HPF) +FLD = (BXJ, DTM) +SKK = (GDD, DCG) +NQF = (SRK, LSG) +QNN = (LXL, MGT) +DMR = (MKB, NGM) +FVB = (NNR, PBH) +MXR = (TPD, PVL) +CLF = (DJC, XXQ) +FCT = (GQP, NXN) +RPA = (QKX, FNK) +MHQ = (XCF, RCR) +XPK = (PBH, NNR) +RBK = (TPM, TPM) +LVX = (TDQ, XLH) +RMR = (SDM, VTH) +PBF = (FNX, MGP) +GCM = (QML, XGD) +KSF = (BSX, THL) +XXD = (GJK, CVV) +DBR = (VXJ, SVN) +THD = (DXB, GDQ) +LFR = (LBC, CPT) +LKK = (FBP, HFR) +GFP = (RJR, DBR) +RNK = (VCS, NKS) +PBL = (VNQ, SRD) +FXM = (DDF, LVX) +KGN = (XFM, LQM) +VPK = (GPC, NQB) +JNS = (HGV, XJR) +GTK = (BQR, PFH) +FTV = (KTN, GVD) +MCJ = (DFH, GGQ) +MDF = (LJC, RFS) +JRL = (GJF, QTV) +MFC = (RMK, JBX) +VVS = (NGC, VHC) +TVF = (TLR, GLZ) +FCF = (BCQ, PJC) +SXS = (NQF, BCH) +GDC = (HXH, TBK) +XXQ = (MKF, PNR) +SPG = (GMR, TRF) +GVP = (LNN, TJT) +PQQ = (SLR, TDG) +HBT = (QRH, LDG) +XGD = (KSR, RFJ) +QML = (KSR, RFJ) +LKM = (RVR, FJR) +DRN = (MJV, NFS) +MKB = (NTF, BDN) +GHP = (JCM, SPP) +XPT = (JMM, CBB) +KTN = (GRP, TCF) +LRT = (SCN, HJR) +BVP = (QKT, GHR) +FNK = (VPR, BHD) +GRM = (RHP, NXM) +BXM = (QKT, GHR) +CPM = (RSG, NCR) +MRL = (HCQ, QDN) +VQG = (PVS, PQQ) +STD = (VXF, VCN) +DQD = (DGV, PKV) +TSX = (GJB, JKK) +GTD = (KCF, GSV) +FNX = (RPG, QGC) +BXH = (LDF, FHF) +CVC = (GLK, QSC) +TLV = (MDF, HPL) +DNL = (PMG, VRK) +FQD = (GTK, GMD) +CPG = (MTJ, KLJ) +SPP = (BKS, PJM) +GJB = (RVV, XPG) +SSK = (FXF, BTN) +PVH = (MXT, JDF) +XVN = (FQN, KRV) +LFJ = (BSX, THL) +VNH = (KGN, QHD) +HLR = (FMK, LCD) +KBL = (JTL, PFD) +BTM = (TLX, RQG) +DPB = (PST, DVS) +LTS = (FQC, PLV) +RQG = (CVD, XQH) +PBR = (LNN, TJT) +CLB = (MFG, BPS) +XFM = (RMH, XDJ) +CJR = (MJQ, MVB) +VTN = (BVL, RQS) +VBG = (QDH, CST) +GMR = (HVJ, DKF) +KHG = (BXJ, DTM) +GDD = (CLF, GBS) +QTR = (QKK, MDD) +VCL = (MFS, MFC) +TBV = (VQC, VSX) +BCQ = (JCV, JGX) +NGC = (VHT, BSP) +GJF = (HLR, VLL) +FGD = (NPX, BHV) +RGS = (PQT, FJD) +VXJ = (PBF, GXR) +FJR = (SJH, FQT) +VXF = (CLC, NSB) +HCF = (GPC, NQB) +DTK = (RLG, GCM) +MRB = (XMC, MNX) +MFX = (QSC, GLK) +GMX = (VXK, FSF) +BDT = (LFS, RTB) +JRN = (VHQ, JGB) +SHJ = (KLR, VTD) +TCL = (HRL, SPS) +CPT = (DTK, JTV) +VPM = (TFH, RRM) +DQP = (RMD, KVX) +CJF = (VQG, PVR) +PBH = (GDV, TVB) +LXC = (QLG, TCX) +FHQ = (GMR, TRF) +BMP = (XVM, NTM) +XHK = (NTM, XVM) +NQP = (LVX, DDF) +TVP = (GMC, HJN) +XFS = (LNH, RPP) +RGM = (RHX, HGG) +NQC = (VNH, BFS) +GXC = (RBV, NJD) +XQR = (NSH, STD) +BTT = (QNN, DPQ) +PFP = (CHS, JNV) +QKT = (SVH, JPC) +QCC = (DHL, XFS) +LTN = (LDF, FHF) +CMR = (GMJ, NJG) +DGF = (XQQ, XQQ) +MTX = (DST, BJZ) +QSJ = (GTR, NXD) +DFP = (HJR, SCN) +MNJ = (FCJ, KGR) +XSH = (QST, STX) +VHP = (KXL, TBV) +DGS = (KQP, DKN) +HPL = (LJC, RFS) +DTS = (RDG, PBT) +VJK = (JTX, DMR) +CLM = (LDG, QRH) +QFK = (SDM, VTH) +HGG = (CDL, RGD) diff --git a/2023/09/input.txt b/2023/09/input.txt new file mode 100644 index 0000000..dae3801 --- /dev/null +++ b/2023/09/input.txt @@ -0,0 +1,200 @@ +12 23 42 82 168 344 680 1276 2260 3777 5966 8922 12640 16938 21356 25028 26524 23659 13266 -9070 -49320 +15 34 71 134 240 423 740 1277 2160 3570 5754 9047 14050 22517 40542 87994 223135 601424 1607163 4133978 10159334 +15 39 81 147 248 422 771 1513 3049 6045 11529 21003 36570 61076 98267 152961 231235 340627 490353 691539 957468 +6 11 39 100 210 397 707 1227 2161 4026 8085 17220 37600 81773 174330 362339 734970 1461479 2866653 5582890 10857048 +10 21 40 70 110 160 247 497 1286 3512 9042 21403 46799 95536 183913 336607 589690 995214 1631382 2631681 4270936 +27 38 57 93 169 347 778 1790 4032 8709 17982 35689 68709 129621 241968 450775 843758 1594525 3051300 5919610 11636474 +0 -4 -8 -12 -16 -20 -24 -28 -32 -36 -40 -44 -48 -52 -56 -60 -64 -68 -72 -76 -80 +1 -2 -3 16 82 231 523 1096 2290 4870 10357 21425 42223 78313 135653 217669 318919 413118 432325 232846 -458168 +13 12 21 69 199 471 972 1841 3324 5890 10472 18967 35283 67555 132843 266976 544707 1119752 2301727 4699093 9476243 +13 33 65 109 165 233 313 405 509 625 753 893 1045 1209 1385 1573 1773 1985 2209 2445 2693 +1 -7 -8 18 99 273 589 1103 1865 2893 4130 5380 6219 5877 3087 -4103 -18559 -44335 -86996 -153994 -255101 +3 17 45 93 165 264 395 571 824 1221 1892 3125 5745 12419 31491 86912 241517 647397 1647963 3973625 9099649 +10 23 36 54 93 182 365 703 1276 2185 3554 5532 8295 12048 17027 23501 31774 42187 55120 70994 90273 +12 25 56 107 187 336 661 1384 2902 5859 11230 20417 35357 58642 93651 144694 217168 317725 454452 637063 877103 +26 52 92 163 304 579 1070 1857 2998 4558 6798 10729 19368 40209 89648 200383 433154 894600 1763496 3328199 6038784 +-2 4 21 57 124 243 467 947 2087 4859 11374 25825 55922 114901 224068 415613 735200 1244058 2022171 3180313 4904132 +2 8 22 52 121 282 649 1447 3091 6335 12598 24686 48299 94956 187324 368505 717934 1379022 2609637 4880779 9081913 +20 24 36 69 136 250 424 671 1004 1436 1980 2649 3456 4414 5536 6835 8324 10016 11924 14061 16440 +5 11 26 50 83 125 176 236 305 383 470 566 671 785 908 1040 1181 1331 1490 1658 1835 +12 22 23 24 48 144 418 1087 2572 5679 11974 24545 49482 98650 194806 381099 739121 1424384 2738677 5282639 10285311 +5 6 13 28 53 90 141 208 293 398 525 676 853 1058 1293 1560 1861 2198 2573 2988 3445 +10 16 41 102 234 506 1054 2152 4351 8726 17285 33631 64079 119717 220538 404035 742961 1380936 2601168 4954146 9486849 +15 15 18 32 74 184 464 1152 2736 6111 12795 25277 47725 87635 159744 295021 560437 1100595 2221932 4556766 9371860 +17 33 61 120 248 516 1061 2159 4365 8753 17295 33424 62832 114560 202443 346979 577697 936105 1479305 2284368 3453568 +22 49 90 156 268 457 764 1240 1946 2953 4342 6204 8640 11761 15688 20552 26494 33665 42226 52348 64212 +20 36 73 141 257 455 802 1430 2605 4884 9472 18990 39005 80867 166705 338022 670560 1300620 2472769 4626995 8555831 +23 50 96 173 301 507 816 1225 1662 1961 1934 1707 2654 9616 35844 113649 316753 805908 1919180 4344905 9442347 +26 37 39 32 27 65 248 783 2040 4632 9560 18577 35201 67391 134001 279031 600774 1307683 2819725 5943834 12165623 +21 37 61 107 198 368 672 1208 2155 3831 6775 11857 20420 34458 56834 91542 144017 221497 333441 492007 712594 +4 2 -3 -6 16 117 394 1006 2223 4545 8949 17340 33299 63236 118068 215550 383390 663276 1115933 1827310 2915970 +7 5 7 23 82 257 711 1785 4160 9138 19104 38254 73705 137144 247226 432998 738709 1230467 2005325 3203521 5024764 +2 18 49 96 159 249 410 749 1469 2897 5496 9847 16584 26262 39135 54818 71804 86804 93875 83298 40165 +15 26 33 31 22 23 72 239 657 1604 3708 8453 19418 45245 106508 250980 586179 1345990 3021895 6612319 14080774 +12 29 67 144 279 503 879 1531 2686 4737 8339 14554 25065 42483 70775 115845 186304 294469 457635 699668 1052971 +19 23 32 47 59 55 31 16 127 708 2665 8203 22309 55516 128736 281274 583539 1156461 2200214 4035543 7161807 +10 9 16 45 125 309 685 1389 2620 4657 7878 12781 20007 30365 44859 64717 91422 126745 172780 231981 307201 +8 17 41 85 154 258 419 674 1059 1548 1914 1491 -1120 -8181 -22171 -42982 -60172 -35063 136561 696871 2159272 +6 2 9 46 144 356 768 1524 2902 5509 10696 21316 42928 85429 164786 303955 531245 873760 1344656 1929684 2599487 +7 13 39 95 204 419 839 1630 3062 5586 10021 18045 33466 65340 135201 293071 651731 1458387 3242246 7115374 15381672 +13 16 13 9 17 60 180 465 1108 2512 5452 11299 22302 41912 75117 128739 211623 334624 510271 751957 1072471 +6 2 -2 -6 -10 -14 -18 -22 -26 -30 -34 -38 -42 -46 -50 -54 -58 -62 -66 -70 -74 +11 21 51 123 270 550 1073 2042 3808 6951 12433 21930 38539 68170 122065 221025 402057 728257 1302799 2287877 3929316 +11 24 51 94 158 269 509 1079 2406 5315 11292 22869 44167 81638 145052 248780 413429 667890 1051865 1618944 2440308 +11 9 8 11 21 41 74 123 191 281 396 539 713 921 1166 1451 1779 2153 2576 3051 3581 +21 46 95 196 399 782 1466 2650 4690 8266 14709 26617 49028 91734 173958 333777 646619 1260214 2457923 4768850 9152061 +-7 5 31 71 125 193 275 371 481 605 743 895 1061 1241 1435 1643 1865 2101 2351 2615 2893 +3 17 47 97 176 318 630 1394 3267 7653 17382 37962 79934 163342 326127 639455 1234643 2348417 4395537 8079943 14556772 +1 5 16 41 92 192 388 781 1600 3380 7367 16390 36645 81173 176337 373376 768211 1534183 2974410 5603063 10268194 +16 36 57 83 133 258 583 1386 3218 7059 14511 28075 51691 92031 161701 286836 524079 996507 1966292 3976716 8123144 +12 25 48 88 169 350 745 1545 3042 5654 9963 16846 27992 47642 87632 180451 410268 981779 2364538 5581148 12758639 +19 29 50 106 228 460 871 1570 2721 4555 7376 11558 17530 25746 36637 50542 67615 87705 110206 133874 156608 +-10 -19 -27 -29 -20 5 51 123 226 365 545 771 1048 1381 1775 2235 2766 3373 4061 4835 5700 +13 38 79 139 222 344 567 1074 2311 5237 11749 25392 52543 104430 200766 376821 698259 1293730 2427213 4656039 9165638 +19 38 69 120 196 308 498 884 1726 3509 7050 13696 25837 48275 91545 179170 362157 745928 1537467 3123904 6198218 +24 49 86 150 269 484 849 1431 2310 3579 5344 7724 10851 14870 19939 26229 33924 43221 54330 67474 82889 +7 18 29 40 51 62 73 84 95 106 117 128 139 150 161 172 183 194 205 216 227 +24 47 78 112 144 169 182 178 152 99 14 -108 -272 -483 -746 -1066 -1448 -1897 -2418 -3016 -3696 +9 2 2 29 110 272 529 867 1250 1704 2586 5226 13282 35444 90674 218126 495443 1071502 2223126 4450075 8629042 +1 6 25 67 149 308 617 1205 2297 4315 8109 15411 29632 57200 109894 209324 396293 750976 1435741 2782551 5463323 +14 25 52 116 250 505 956 1708 2902 4721 7396 11212 16514 23713 33292 45812 61918 82345 107924 139588 178378 +1 19 46 89 178 377 800 1650 3323 6656 13448 27446 56064 113192 223554 429189 798757 1440513 2519946 4283247 7087950 +23 33 54 103 195 353 629 1145 2178 4330 8843 18140 36696 72368 138340 255868 458041 794807 1339548 2197525 3516553 +13 32 51 66 79 100 142 209 281 305 207 -53 -353 -169 1826 8384 24597 59190 126291 247792 456431 +16 27 51 108 230 461 857 1486 2428 3775 5631 8112 11346 15473 20645 27026 34792 44131 55243 68340 83646 +12 4 4 27 97 261 612 1319 2671 5172 9783 18503 35622 70173 140365 281103 556102 1076588 2029158 3716051 6611871 +0 8 23 54 123 265 528 973 1674 2718 4205 6248 8973 12519 17038 22695 29668 38148 48339 60458 74735 +13 28 41 46 44 60 169 540 1521 3810 8783 19072 39490 78366 149266 272961 479501 810760 1325705 2115606 3347448 +10 36 89 189 375 724 1379 2596 4835 8954 16639 31352 60365 118985 239073 485798 989906 2008729 4039473 8025686 15726089 +14 21 37 76 152 279 471 742 1106 1577 2169 2896 3772 4811 6027 7434 9046 10877 12941 15252 17824 +4 23 54 97 150 204 247 301 532 1486 4523 12582 31599 73400 162073 348415 742439 1584669 3397580 7296726 15609169 +8 14 17 9 -18 -55 -47 148 812 2432 5777 11987 22674 40035 66977 107254 165616 247970 361553 515117 719126 +-6 -5 14 69 182 375 672 1127 1915 3561 7468 17075 40274 94194 214185 469888 992764 2021515 3974646 7563229 13962050 +-7 -6 3 28 83 197 442 997 2271 5123 11246 23837 48787 96856 187753 357880 674949 1265048 2361413 4389658 8112139 +17 29 52 93 175 349 710 1421 2749 5117 9176 15901 26715 43645 69514 108173 164777 246109 360956 520541 739015 +16 21 25 37 86 235 599 1379 2936 5956 11806 23271 46045 91750 184157 372288 758444 1558423 3229987 6742565 14131100 +21 44 72 97 115 134 191 389 964 2388 5507 11703 23056 42466 73676 121115 189455 282748 402978 547829 707433 +2 13 51 142 332 698 1374 2605 4842 8891 16129 28800 50404 86192 143780 233895 371266 575673 873167 1297474 1891596 +-3 -4 -4 9 56 172 416 886 1739 3216 5672 9611 15726 24944 38476 57872 85081 122516 173124 240461 328772 +19 25 33 48 84 189 495 1300 3199 7317 15775 32655 65938 131202 258381 503887 972651 1859993 3535757 6721174 12868440 +6 19 53 133 311 693 1480 3033 5981 11400 21100 38066 67108 115784 195669 324052 526152 837953 1309767 2010643 3033749 +6 23 54 104 195 376 732 1399 2599 4721 8508 15508 29189 57643 119845 259373 572956 1267205 2767030 5916226 12338927 +17 28 34 33 24 11 20 131 528 1584 4047 9514 21640 49058 112038 256981 586879 1323687 2933530 6373928 13574464 +-3 4 21 51 105 213 434 875 1742 3459 6904 13824 27504 53778 102483 189470 339299 588758 991359 1622977 2588811 +13 25 55 113 225 449 904 1831 3718 7546 15273 30806 61970 124436 249300 497110 982731 1917647 3679267 6920687 12739335 +2 7 17 44 106 227 437 772 1274 1991 2977 4292 6002 8179 10901 14252 18322 23207 29009 35836 43802 +17 23 28 34 56 131 336 832 1965 4491 10062 22220 48288 102684 212226 423765 813665 1496731 2628376 4386946 6911520 +-2 12 38 85 176 357 708 1352 2460 4252 7004 11119 17476 28672 52658 112029 265450 653240 1588186 3726829 8377872 +6 8 10 18 37 69 111 153 176 150 32 -236 -729 -1541 -2787 -4605 -7158 -10636 -15258 -21274 -28967 +19 32 67 132 238 408 692 1190 2083 3682 6534 11681 21272 39920 77557 155217 316419 649028 1326253 2681698 5343402 +9 13 15 14 11 13 45 185 643 1915 5078 12386 28533 63352 137456 293614 618821 1285549 2626241 5263674 10332631 +16 26 38 52 68 86 106 128 152 178 206 236 268 302 338 376 416 458 502 548 596 +15 17 15 0 -42 -124 -236 -296 -58 1059 4308 12301 30382 69227 149452 309246 616213 1184609 2198865 3943522 6838250 +13 34 77 158 292 502 849 1495 2813 5560 11131 21914 41768 76648 135403 230775 380629 609446 950113 1446046 2153684 +29 50 89 159 280 490 863 1537 2772 5090 9596 18641 37065 74350 148120 289547 551359 1019298 1828043 3182795 5387918 +14 20 36 72 149 317 676 1400 2764 5174 9200 15612 25419 39911 60704 89788 129578 182968 253388 344864 462081 +18 33 48 66 95 157 309 688 1613 3806 8824 19824 42825 88716 176442 338164 627848 1135839 2013700 3516158 6070647 +3 11 37 102 253 583 1273 2672 5439 10784 20859 39374 72595 131145 233723 415411 746339 1372141 2597305 5048170 9976569 +0 1 21 79 212 487 1024 2049 4009 7805 15242 29878 58635 114950 225182 442034 873022 1740613 3507271 7129617 14561582 +14 26 46 95 206 436 885 1716 3177 5654 9845 17260 31459 60807 124182 262286 559538 1186104 2478626 5095643 10316494 +-4 -1 13 47 112 219 374 578 848 1281 2193 4399 9800 22685 52674 121271 276057 620630 1376470 3008722 6478201 +-1 0 5 28 87 209 453 975 2173 4961 11234 24626 51794 104808 205998 398114 765319 1474902 2856323 5544028 10724189 +2 11 45 112 217 362 544 761 1051 1612 3096 7268 18426 46373 112435 261189 582408 1250505 2592783 5203456 10128151 +1 10 29 71 160 332 637 1159 2098 3994 8216 17889 39501 85564 179013 360790 703924 1341902 2529732 4780667 9176991 +-10 -20 -23 4 95 295 660 1257 2164 3470 5275 7690 10837 14849 19870 26055 33570 42592 53309 65920 80635 +11 9 21 59 135 261 449 711 1059 1505 2061 2739 3551 4509 5625 6911 8379 10041 11909 13995 16311 +1 19 51 97 157 231 319 421 537 667 811 969 1141 1327 1527 1741 1969 2211 2467 2737 3021 +-3 -1 10 39 104 238 513 1097 2359 5037 10484 21007 40314 74084 130675 221985 364481 580411 899214 1359143 2009116 +1 10 20 30 39 44 44 60 185 677 2101 5525 12816 27236 54922 108622 216493 441168 918078 1927684 4024457 +11 11 11 24 76 206 462 893 1537 2405 3461 4598 5610 6160 5744 3651 -1081 -9713 -23857 -45532 -77224 +18 22 26 28 26 25 41 99 234 523 1207 3022 7991 21246 55208 139195 341286 816868 1912760 4381912 9808620 +22 34 61 124 262 539 1047 1910 3313 5620 9728 17964 36115 77645 171868 378894 815640 1699206 3416575 6633036 12456092 +4 10 16 22 28 34 40 46 52 58 64 70 76 82 88 94 100 106 112 118 124 +5 4 3 2 1 0 -1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 +9 8 21 69 176 372 699 1212 1959 2919 3883 4288 3066 -1343 -10535 -24783 -40075 -42542 1113 159039 557924 +1 16 60 158 358 738 1408 2507 4195 6640 10000 14400 19904 26482 33972 42037 50117 57376 62644 64354 60474 +20 22 21 17 10 0 -13 -29 -48 -70 -95 -123 -154 -188 -225 -265 -308 -354 -403 -455 -510 +-3 5 23 60 143 319 656 1258 2334 4412 8884 19231 43538 99304 222123 480607 1000995 2006303 3876685 7239966 13104153 +10 15 25 44 88 208 523 1256 2764 5551 10251 17566 28142 42364 60049 80014 99494 113383 113269 86232 13372 +13 37 81 153 272 480 861 1571 2883 5251 9397 16425 27966 46358 74865 117939 181529 273441 403753 585289 834156 +2 7 28 68 140 291 635 1395 2954 5915 11170 19978 34052 55655 87705 133889 198786 287999 408296 567760 775948 +20 28 50 96 174 294 475 763 1288 2415 5077 11414 25876 56981 119980 240885 463014 859349 1559953 2818936 5181974 +7 13 15 4 -22 -46 -20 147 601 1555 3301 6222 10804 17648 27482 41173 59739 84361 116395 157384 209070 +17 38 79 147 243 361 487 598 661 632 455 61 -633 -1725 -3329 -5576 -8615 -12614 -17761 -24265 -32357 +4 8 17 36 79 179 408 922 2076 4699 10679 24083 53127 113416 232994 459879 872908 1596882 2823181 4837214 8054279 +-6 -14 -17 -3 44 151 373 826 1744 3570 7093 13645 25374 45611 79351 133870 219502 350602 546723 834037 1247032 +16 17 11 6 33 172 590 1587 3655 7582 14694 27463 51007 96643 189932 388072 815806 1736311 3685345 7715308 15823521 +0 1 14 52 147 372 878 1951 4092 8121 15304 27500 47323 78312 125100 193571 290992 426105 609162 851884 1167323 +-8 -12 -16 -20 -24 -28 -32 -36 -40 -44 -48 -52 -56 -60 -64 -68 -72 -76 -80 -84 -88 +7 19 31 43 55 67 79 91 103 115 127 139 151 163 175 187 199 211 223 235 247 +18 32 52 91 175 357 745 1552 3186 6428 12816 25489 50979 102809 208305 420810 840554 1648848 3162100 5914471 10780879 +11 17 30 73 191 465 1027 2076 3901 6929 11845 19909 33795 59746 112848 229237 492797 1090457 2421002 5299149 11321357 +14 21 29 38 48 59 71 84 98 113 129 146 164 183 203 224 246 269 293 318 344 +-4 5 35 101 221 416 710 1130 1706 2471 3461 4715 6275 8186 10496 13256 16520 20345 24791 29921 35801 +7 24 54 104 190 348 660 1307 2673 5543 11461 23347 46542 90617 172651 323416 599235 1104514 2033496 3745154 6892958 +14 33 59 95 154 263 467 833 1454 2453 3987 6251 9482 13963 20027 28061 38510 51881 68747 89751 115610 +18 36 61 97 164 320 696 1557 3426 7359 15549 32578 67840 139937 284216 565080 1095282 2065110 3785205 6747735 11711788 +17 33 68 134 253 481 956 1980 4146 8531 17018 32923 62344 117095 220838 421203 812439 1575645 3047096 5829844 10969911 +0 -4 3 45 163 437 1033 2283 4804 9660 18569 34155 60243 102193 167267 265021 407712 610708 892887 1277009 1790043 +10 31 79 182 377 719 1314 2397 4488 8673 17071 33558 64819 121781 221434 388961 659958 1082315 1717031 2636830 3920909 +14 16 34 83 178 338 590 982 1624 2777 5002 9372 17764 33343 61654 113513 212633 414525 850169 1820632 3990833 +22 34 60 123 269 581 1201 2367 4472 8145 14347 24491 40682 66416 108613 182895 325854 621100 1250690 2590843 5381575 +12 22 52 117 235 441 816 1531 2906 5484 10120 18085 31185 51895 83508 130299 197704 292514 423084 599557 834103 +13 15 25 52 98 149 162 60 -243 -759 -1253 -927 2193 12653 41110 113380 292561 730027 1776413 4211078 9695696 +16 33 71 147 295 577 1094 1997 3498 5881 9513 14855 22473 33049 47392 66449 91316 123249 163675 214203 276635 +12 34 79 159 284 454 646 795 776 409 -471 -1813 -2921 -1652 6989 33242 96632 232776 504815 1022459 1973298 +-8 -5 5 22 46 77 115 160 212 271 337 410 490 577 671 772 880 995 1117 1246 1382 +27 45 65 79 88 116 228 556 1337 2967 6075 11621 21022 36310 60326 96954 151399 230513 343173 500715 717428 +19 29 35 31 11 -16 7 244 1058 3136 7629 16255 31258 55035 89131 132154 175973 199327 157687 -32129 -514491 +-4 -6 6 48 146 346 721 1368 2386 3824 5586 7278 7980 5924 -1943 -20534 -57360 -123458 -234538 -412380 -686514 +10 16 22 28 34 40 46 52 58 64 70 76 82 88 94 100 106 112 118 124 130 +-1 2 13 43 113 264 586 1280 2780 5992 12771 26881 55911 115042 234364 472995 946217 1877326 3695649 7218859 13985161 +12 33 65 110 170 247 343 460 600 765 957 1178 1430 1715 2035 2392 2788 3225 3705 4230 4802 +2 2 12 46 130 310 667 1358 2732 5616 11941 26010 56943 123223 260866 537596 1076622 2095565 3970036 7340823 13306956 +13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 +-5 0 10 23 41 87 236 675 1835 4679 11284 25922 56925 119712 241462 468036 873883 1575810 2751654 4665065 7697793 +24 48 97 178 306 515 878 1551 2863 5493 10828 21713 44020 89815 183426 372443 746638 1468994 2824479 5293880 9661890 +7 18 37 71 133 243 438 806 1571 3290 7299 16693 38385 87208 193646 417621 871759 1758470 3425433 6442527 11697805 +-3 -5 -7 -9 -11 -13 -15 -17 -19 -21 -23 -25 -27 -29 -31 -33 -35 -37 -39 -41 -43 +3 6 8 9 9 8 6 3 -1 -6 -12 -19 -27 -36 -46 -57 -69 -82 -96 -111 -127 +12 21 31 43 64 119 264 596 1264 2508 4796 9197 18226 37530 78957 165768 341020 680471 1311741 2441911 4396260 +4 3 5 28 113 330 780 1593 2922 4933 7791 11642 16591 22676 29838 37887 46464 54999 62665 68328 70493 +-3 -11 -15 -5 39 166 486 1225 2832 6203 13146 27299 55836 112460 222393 430337 812703 1495793 2682079 4687259 7991389 +2 15 44 105 228 460 868 1542 2598 4181 6468 9671 14040 19866 27484 37276 49674 65163 84284 107637 135884 +3 11 40 101 203 362 624 1102 2027 3813 7136 13027 22979 39068 64088 101700 156595 234671 343224 491153 689179 +8 14 31 75 163 315 572 1036 1948 3855 7982 17025 36728 78840 166482 343879 694468 1375852 2689261 5219099 10111301 +11 3 -7 -2 59 262 781 1951 4373 9055 17611 32574 57932 100100 169798 285943 484107 835051 1484409 2734358 5204293 +5 14 38 89 186 362 690 1343 2704 5543 11283 22391 42971 79763 144129 256634 458380 839057 1603913 3225958 6774521 +26 44 66 86 105 151 313 808 2113 5202 11927 25568 51546 98241 177780 306554 505084 796680 1204120 1743314 2412607 +11 33 60 102 190 391 841 1805 3768 7559 14517 26739 47549 82604 142745 251264 461497 896897 1837070 3892788 8345232 +1 11 30 55 97 192 415 917 2026 4480 9893 21594 46024 94927 188628 360754 664823 1183201 2039008 3411641 5556675 +9 8 8 4 -15 -66 -156 -237 -108 783 3719 11405 29158 66855 141981 284214 542091 992418 1753218 3001154 4994519 +5 5 17 55 129 252 459 846 1653 3444 7492 16579 36599 79643 169694 352720 713885 1405871 2693995 5025999 9137181 +0 13 44 102 195 329 521 849 1583 3473 8319 20037 46613 103696 221291 456385 916926 1807321 3514066 6764684 12917467 +-6 -11 -13 -4 32 126 332 745 1560 3245 6975 15596 35578 80698 178596 381901 786366 1559421 2983795 5522420 9912764 +-1 -3 -7 -5 31 163 501 1217 2559 4865 8577 14255 22591 34423 50749 72741 101759 139365 187337 247683 322655 +21 39 77 152 295 563 1051 1904 3329 5607 9105 14288 21731 32131 46319 65272 90125 122183 162933 214056 277439 +6 29 65 126 248 503 1024 2069 4175 8497 17505 36341 75339 154532 311548 615478 1191847 2269281 4269830 7987834 14947253 +20 40 73 127 227 424 804 1497 2686 4616 7603 12043 18421 27320 39430 55557 76632 103720 138029 180919 233911 +15 38 75 134 233 416 790 1593 3316 6923 14248 28714 56658 109863 210647 402612 774114 1510081 3005673 6111536 12652594 +7 5 15 45 96 157 201 191 120 139 873 4093 14036 39952 101162 237550 531921 1157605 2477551 5243665 10982708 +13 17 31 67 147 310 634 1286 2613 5287 10517 20341 38011 68484 119032 199984 325613 515181 794155 1195607 1761811 +17 33 54 81 115 157 208 269 341 425 522 633 759 901 1060 1237 1433 1649 1886 2145 2427 +28 54 99 175 307 547 991 1792 3153 5286 8362 12600 18924 31165 61765 144619 361520 893414 2115587 4769009 10261479 +20 36 69 139 273 505 876 1434 2234 3338 4815 6741 9199 12279 16078 20700 26256 32864 40649 49743 60285 +5 8 31 94 226 478 942 1781 3298 6123 11687 23304 48451 103329 221681 471406 985175 2015814 4035247 7910522 15218324 +27 35 51 98 222 513 1138 2401 4856 9517 18251 34532 64911 121863 229160 431651 812377 1521391 2822579 5167286 9306748 +12 18 24 30 36 42 48 54 60 66 72 78 84 90 96 102 108 114 120 126 132 +5 14 30 60 119 234 466 966 2094 4650 10290 22218 46247 92318 176623 324791 577635 1003771 1730224 3017395 5437035 +-4 2 15 37 71 129 250 540 1263 3047 7341 17400 40333 91193 200824 430390 897530 1822532 3608915 6983275 13237359 +24 39 59 84 114 149 189 234 284 339 399 464 534 609 689 774 864 959 1059 1164 1274 +6 8 15 26 40 56 73 90 106 120 131 138 140 136 125 106 78 40 -9 -70 -144 +5 12 38 98 215 420 760 1327 2319 4138 7527 13771 25077 45463 82903 154219 295579 584290 1184142 2442474 5104989 +15 20 30 67 165 370 740 1345 2267 3600 5450 7935 11185 15342 20560 27005 34855 44300 55542 68795 84285 +12 24 49 91 167 328 704 1596 3655 8207 17801 37071 74010 141751 260934 462706 792350 1313466 2112529 3303523 5032193 +7 6 2 -4 -4 22 111 328 805 1860 4298 10072 23590 54100 119775 254360 517539 1010538 1898906 3444916 6052608 +24 41 68 110 172 259 376 528 720 957 1244 1586 1988 2455 2992 3604 4296 5073 5940 6902 7964 +4 -2 -4 16 84 230 492 935 1688 2998 5296 9266 15904 26550 42872 66777 100220 144878 201652 269956 346748 +10 4 6 36 129 338 741 1461 2717 4950 9122 17381 34440 70266 145074 298276 604163 1199220 2330420 4443939 8357344 +-6 5 46 132 274 482 787 1296 2299 4470 9269 19793 42598 91531 195593 414745 871234 1811092 3723960 7574705 15246840 +14 29 56 116 256 575 1274 2734 5619 10989 20383 35781 59259 91989 131979 169563 179100 104581 -164174 -829374 -2243510 diff --git a/2023/10/input.txt b/2023/10/input.txt new file mode 100644 index 0000000..dcf31c6 --- /dev/null +++ b/2023/10/input.txt @@ -0,0 +1,140 @@ +F-7JF-F-F|-J.FL|.L-L7.L-L-J.7F-FJ-F7F.F7J-F.J.7.FF7L-7F7|7FFF7FF7FF7.L7J-77FF-7-|-|7.7.J7J7F--J7..FL-F.JFJ.-7F-F7F77-L--F.FF77-7FFLJ-.F|J.F7 +|F-J||L-.J7.|..F7.LL7J.-L|.LL-J|J-|JJF7J.FF-7.F.-L7JL|.7.L|-|77F.||-7-|J|FJ7L|JLL7JLF7-F---7JLJ7-F-J|.FFJL||L|7L|-FJ7...77LJ-7FFLJ||.LJ|7F|7 +FF-77-7L7FF77F--J77|.||FLF7-|.|L-FJ|||JFLFJL7-F.FL|.LLJ|.|J.L-FJF77-7.L--JJ|.F--F-F7-J---7J.-7|L-7.||JF-7JF7JL7JJ.|-J7.-JJ|JFF|.L|J|F|FL|F-7 +F7-J|FJ.---|JJ7L.FFL7FF7FL-7L|7-LJ7F7JF|FJ-LL7-|7LL-JLLJ.LFL-F|7F|-F--.LJJ|FL7-FLJ|FF.|.F|-FFJ-FF7L-7FLJL-LL--JJ7.77|7.|.L7LFL-7J.LJJLJ7L7J| +||FJ7F7FL7L7.LJJ.L-.|77L7|||7L-J|JL-J--JL77.||LJ|.|7-77|.LLL.LJLJLF7.|F.L|F-7.F||F-LJ--77|.FJ..LJ-J-J77-|-||.L|.L7LL|.F7-J|7F7|J|7F-|-F|7LLL +F77.-FJJLJF|7||.FLL7..--L|-7JLJ7FJ|-|7FJFF|7L7|L|7F|F|F7-..|77.7.F-J.LJ7FF7-F7F777L|F77.F7.||LJ.||.|FFL-JF-L7.|J-F.F7-L||.|FJF|FJ7L7|LF|J7-| +L|-L.J|.|LLL--LF7.L|J7JF-7F|FF|FJ.L7L--LL.LLL7F-FJLJFJLL.F7L-F-J7JJFF|LFF7F7||||F7.FF7F7||-F7JF--F7-JJFLF7--7-J7.|7FJ.|.|-||7FLJLL7J|-LL7F-J +F|.|.L|7-|F|JF7|.FL|-|FLL--L---|7-F.L..|F7J.LJLF|L|LF-JL7.FFJ|J|F--F-7-FJ|||||||||F7||||||7|L-7.F7L|7.|L|J.|.L-F|L-7-7-FL-LL-JJ|FLL-77JL|77J +LJFLLFJ7JLL77|J|.7-|JFJ|.7|-F|FJ7J.|F-L-7.L77L7-7F-F|J7.F77-7|-7-.|L--FL7||||||||||||LJ|||7|F-J-|LFF7-LFLJJ-7.LFJJ.LL|||7F|||F--7.LJLL7FLJ|7 +|-J7.JJ.77L|-L.77.L|7|.L-7L7F7-|7-FJF||.|7.-J.LLJJ.LJ77.|J|JF7JLFJ7|7.F-JLJLJLJLJ|||L7FJ|L7|L--7LFFJL7J|F||L|FFJ.|FJJLFL7JLLLJJL7F|.F||7-|LF +JJ-LJJ.FJ7FL.L.L-J7.JFJ|||F-JFF7F7.7|F77J7-|77LJ.LFJ||FFJ.|J-|FF7-JJF7L--------7FJ|L7||7|FJ|F-7|F7L7FJ.FF-J-7F|7F7J7.F--77.L|J-FL7-7-LF7.-7| +|.F-|--F7L|7..7FJ.L7--F7-LF77L|LJ|-|7|||L|FF-|F7--LF7F7|7.|JJLFJ|.|..F-7F-----7|L7|FJ|L-J|FJL7LJ||FJ|-F7L|FFF77JJ|||-F7.L-7J|.77.F.L.|L---|J +7-FJLJL-J-J-F7J7-F.-J.JL7JF777L-7|.F7|L--77|-|-J.F7|LJ|-7-F-FJL7|FF7-L7|L----7|L7LJL7|F--J|F-JF7|LJFJFJL7F7-|L7.F|L|-J|F--77.JJ..|-L.7F|.||| +|||..FLJL7J||LL-JF-7|77|.FF-7-LFJL7|||F--J7F7JFLFJ||F-J7-F7|F7L|L-JL7.||JF---JL7L7F-J|L-7-||F-J|L-7|L|F-J||J|FJ-LL..|FJ|F--F777FF|.FF7-|F7F| +L|L|-F7|F|-J7--7FJL7L--77.|FJ.|L7FJ|LJL7JJ|LF777L7LJL7F7FJL7|L7L-7F-JFJL7L---7FJFJL--JF7|FJ||F-J7FJL7||F7|L-JL77JL--JF7.-JLF|7-F|J7FL7FLJL-J +FJ..FL-7JJ-L|.|L.FF7-FFFJFJL7FF7||.L--7L7.7F|L7F7L7F-J||L7FJL7L7FJL-7L-7L7F--JL7|F7F7FJ||L7|||FF7L-7||||||F---J-7L.J7LJ7FJ|LJJ|J|L|.FL7J|LJL +FJ--J.L|LF7.|-FFF-J|7F---JF-JFJ||L7|F7|FJ-F7L7|||FJL7FJ|FJ|F7|FJL7F7|F-JFJL---7LJ|||LJ-LJFJLJ|FJL7-|||LJLJL---77|L7J|JJLF.J.||L-7.FJ-FJLLJ7| +LJF7FL-LFF-7JFF7L-7L7L---7|F7L7LJFJFJ||L7FJL7|LJLJF-J|FJL7|||||F7||LJL-7|FLF7FJF-JLJF77F-JF-7|L-7L7|LJF---7F--J7JFFF--7JL|7|L--FJJ|-FF-FJLF| +F|FL|--.FL7|LF||F7|FJF7F-JLJL-JF-J7L7||FJL-7|L---7|LFJL7FJ||LJ||LJL7F-7|L7FJ|L7L--7FJL7L--JFJL7FJFJ|F-JF7LLJF7F7.FFJF-J77F-7F|.|J7F7J|L7JJF| +F||7L-JFJ-7-F-JLJLJL7||L--7F--7|F-7FJLJL7.FJL7F--J|FJF-J|FJL-7||F--JL7|L7|L7|FJF--J|F-JF7F-JF7||FJFJ|.FJL7F7||||-LL7|F7.F|FJ7F7JL-F7--FLF-FJ +FLJ7JLF-LFJ|L------7|||F-7LJF-JLJFJ|F--7L7L7FJL--7LJFJF7|L-7FJ||L7|F7||FJ|-||L7|F7FJL7FJ|L--J|LJ|-L7L-JF-J|||LJL-7FJLJL7FJ|-FJ|.FLF.|-7JL7J7 +J-L|||F7LLFF-------J||||FJF7L-7F-JFJL7LL7L-J|F7F7L-7L7|||F-JL7||FJFJ||||FJFJL-J|||L7FJL7|F7JFJF7|F7L7F7L7FJLJF---J|F---J|FJ-L7|F7.|..L7LF77| +FF.7J-F77LFJF7F--7F7LJ||L7||-FJL-7L--JF7|F--J||||F-JFJ||||FF7|LJL7L7LJ||L7|F--7||L-JL--J||L7L-J|||||||L-J|F--JF7|FJL7F7FJL77FJLJL777.LLF|L|| +JJ-JFF||7-L7|LJF7LJL-7|L7|||FJF7FJ7F7FJLJL7F7||||L7FJFJ|||FJLJF7FJJL-7||FJLJF-JLJF------J|FJF7FJ|||FJL7F7|L-7FJL7|F-J||L7FJFJF-7FJ7.F.|FJFF| +||-LF-||F7JLJLFJL-7F7|L7|||LJFJLJF7||L--7FJ||||||FJL7|FJ||L-7FJLJF-7FJLJL7F7L7F--J|F7JF7F|L7||L7|||L7FJ|||F-J|F-J||F7|L-JL-JFJFJL7|FJFFJ|FLJ +--F-|||||L7LF7L--7|||L7LJ||F-JF7-||||F7L|L7|LJLJLJF-J|L7||.FJL---JFJL7F-7|||FJ|F7F7|L7||FJFJ||L||||FJL7|||L-7||7FJ|||L7F7F7FJFL--JJJF----JJL +.|JJLF|LJFJFJL7F7||||LL-7|||F-J|FJLJ|||FJFJL-----7|F7L7|||FJF-----JLFJ|FJ||||FJ|||||FJ||L7|FJ|FJ|||L7FJ|||F-J|L7|FJ|L7||LJLJF--7JL7FLJJJLFFJ +FL-J--L-7|-L-7LJLJ||L7F7||||L-7||F--J|||FJF7F7F--J|||J||||L7L-7F7F-7L-JL7|||||FJLJ||L7||FJ|L7||FJ||FJL-JLJL-7L7||L7|FJ|L7F--JF7|JF--7|7F-|.| +FJJL-LF-J|JF7L---7|L7LJLJ|||F7||||F-7||||FJ|||L--7LJ|FJLJL-JF-J|||FJF7F-JLJ||||F--J|FJ|||FJFJLJL7||L-7F7F7F-JFJ||FJ|L7|FJ|F--JLJ.7J|L-L7F-LF +.LF77||F7L-JL-7F-JL7|F--7|||||||||L7||LJ||FJ|L7F7L-7|L7F7F7FJF-J||L7|||F--7LJLJL-7FJL-JLJ||L---7||L7F||LJLJF7L7LJL7L7||L-JL-7-F7F77F|LL-LJ|| +FF77F-J||F-7F7|L--7|LJF-J||||||||L7|||F-J||7L7|||F-JL-J|LJLJ7L-7|L7|||LJF7L----7FJL---7F-JF--7FJLJFJFJL-7F7|L7L7F-JFJ||F-7F7L-JL-77LJ7J7.FJ7 +LLJ-L-7|LJ-LJ||F7FJL--JF7LJLJLJ||FJ|LJL-7||F-J|||L--7F-JJF7F7F7|L7|||L7FJL----7||F7F7FJL-7L-7|L7F-JFJF--J||L7L7||F7L7LJL7LJ|F--7FJ7.L|-F|7LJ +LJFJJLLJF----JLJLJF7F-7||F7F7F7LJL7|F-7FJ||L7FJ||FF-J|7F7|||||||FJ||L7|L---7F-J|LJ|||L--7L7FJL7||F7L7|F7L||FJFJ|LJL7|F-7L-7|L-7LJF77.F7LLFFJ +||J7F|.LL7F7F-7F-7|LJ-LJLJLJ|||F-7LJ|7LJFJ|FJ|FJL7L-7|FJ||||||LJL7||FJL7F7FJL-7|F-J|L7F7|FJL-7||LJ|FJ|||FJ||FJFJF--J|L7L--JL--JF7||7-||.F-77 +|L7JLFJ-FJ|LJFJ|FJ|F----7F--J|LJ-L-7|F7-L7||FJL7FJF7|||FJ|||||F--J||L7FJ|||F--J||F7L7|||||7F7||L7FJL7||||FJ|L-JFJF7.|FJF7F7F7F7|LJL7L|L-JFJ7 +.-J--.|.L7|F-JFJ|FJL---7LJF--JLF---JLJL--J||L7FJL7|||||L7||||||F7FJ|FJ|FJ|||F7FJ|||FJ|||||FJ|||FJL-7|||LJL-JF-7L-JL7|L-JLJ||||||F--JFJF--JJ| +F|.FJ7..|LJL7FJFJ|F----JF7L7F--JF7F-----7FJ|.|L7FJ|||LJFJ||||||||L7||FJL7LJ||||FJ|||FJ|||||FJ|LJF7FJ|||F--7FJFJF7F7LJF7F-7LJLJLJL-7FJFJLLJLJ +-|-|.F7L-F-7LJ7L7||F7F-7|L7|L7F7|LJF-7F7|L7L7L-JL7||L-7|FJLJLJ|||FJLJL7FJF7LJ||L-JLJ|FJ|||||FJF-JLJFJ||L-7|L7L-JLJL7FJ||.L--7F-7F-J|FJ7||7L| +L7---J|-FL7L----J|||||L|L7LJJLJLJF7L7||LJFL7L7F--J|L7FJ|L--7F-J||L-7F-J|FJ|F-JL---7FJL7||LJ|L7L7F7FJFJL7FJL7L--7F7FLJFLJF7F7LJFJ|F7|L-7JLFF7 +LJ-|JFF.F-L----7FJ||||FJFJF--7F7FJL-J|L-7F-JFJ|F-7L7|L7|F7FJL7FJL7FJL7FJL7LJF7F-7FJ|F7||L-7L-JFJ||L7L--JL7JL---J||F7.F--JLJL-7L7||||F-JJ-7.| +FJ-JJ|..|J..FF-J|FJ|LJL-J|L-7LJLJF-7-L--JL--JLLJFJFJ|FJLJ||F7||F-JL-7||F-JF7|||J|L7||LJ|F7|F--JFJ|FJF--7FJF7F7F-JLJL7L--7F---JJ|LJLJL77JL|-7 +|.|L7.F||.FFFJF-JL-JF7F7F7F7L7F7FJ7L------7LF--7L7|-|L--7|||LJ|L7F7FJ||L-7||||L7L7|||F-J|LJL-7FJLLJLL-7|L-JLJLJF-7F-JF7FJL----7L--7F7L7-7L-J +F|J7L7JLL.|-L7L7F7F-JLJLJLJL-J|LJF--7F---7L7L-7L-J|FJF7FJ||L7FJ7||LJ|LJF-J|||L7L7||LJ|F7L-7F-JL-7FF7F-JL-----7FJFJL--JLJF--7F-JF--J|L-J|F7|7 +.|||-J|F|FJFFJFJ||L-----7F----JF7L-7|L--7L-JJFJF-7|L7||L7|L7||F-JL--7LFJF7|||FJFJLJF-J|L7FJL-7F7|FJ|L7F7F7F-7|L7|F7F-7F7L-7|L-7L--7|7JFL|LFF +FFF---7-||LFL7|||||F7F--JL-7F--JL--JL---JF7JFJFJFJ|FJ|L-J|FJLJL7F7F-JFJFJ||||L7L--7L--J|LJJF-J|LJL7L-J|||||FJL-JLJLJ|LJL7FJ|F7L7F7|L7.|J|.F- +-JL7--L7L-.FLLJFJ|FJLJF----JL---------7F7|L7L7|7L7||FJF7FJL--7-LJLJ7FJFJFJ|||||F-7L-----7F7L--JF-7L---JLJ|||F7-F7F7F-7F7LJFJ|L7LJ|L-J-J|J|.. +|LLLJ7-J|F|7-F7L7LJF--J.F77F7F--------J|||FJ-||F7||LJJ||L----JF-----JFJFJFJ||FJL7L7F7F7FJ||F7F-JFJF7F7F7LLJLJL-JLJLJFJ|L7JL7|7|F-JJLFL7FF.LL +7-|.-77-|-LF-JL-JF-J-F--JL-JLJF-7F----7||||F7|||LJ|F--JL--7JF7L----7FJJL7L7|||F7|FJ|LJLJ7||||L-7|FJLJLJL7F----7F7F7FJFJFJF7|L7|L7|LF|7L-L.|J +.-7F||L7L-FL-7F7FJF--JF-7F7F7FJFJ|F---J|LJLJ||||F7LJF-7F-7L7|L-----JL7F-JFJ||||||L7L-7LF7|LJL--JLJF7F7F7LJF7F7LJLJ|L-JFJ|||L-J|FJ7-FJ-|-|7-- +LF7F|||L-F||.LJLJJ|F-7L7LJLJ||FJFJL---7|F---JLJ|||F7|FJL7L7||F-7F-7F-JL-7L7LJLJ||FJF-JFJLJF7F7F7F-JLJLJL--JLJL---7|F--J|FJL--7|L7|F-7FLLFJJ7 +.F7FL7-7-JL|7LLF--JL7L-JFF-7LJL-JF--7FJ|L-----7LJ||LJL7FJ7||||FJ|FJL-7F7|FJFF--J|L7L-7|F7FJLJLJ||F----7F-------7FJ||F7F7L7F--JL-J-JF|7FJ|LL7 +-LJJLL7|LJFL7-|L----JF---JFJ.F7F-JF7LJF|F-----JJFJL-7FJL-7||||L7|L7F7LJ|LJF-JF7FJ-L7FJLJLJF7F--J|L---7|L-----7|LJFJLJLJL-JL-7||||7.JJFFFJ77L +FJ|.JFFLJ|LJ|7-F----7L---7L--JLJF-JL---JL--7F7F7L-7FJL-7FJLJ||FJ|FJ||F7L-7|F-J||F7FJL---7FJLJF--JF---JL-----7L--7L-7F-7F7F-7L7F7-|7FJ-FJ-JL. +|.L7JFF|-7FL||FL7F-7L-7F7L------J|F----7F--J||||F7LJF7FJL-7FJ|L7|L7|||L--JLJJFJ||LJF-7F-JL--7|F-7L---------7L7F-JFFJL7LJLJ|L-J|L7|LJ.L|7L7J| +L7-7-F-FF-JF-J-7LJFJF7LJL----7F7F7L---7|L---JLJLJL--J||F--JL-JJLJFJ||L--7F7LFJFJ|F7L7||F---7LJL7L---------7L7|L--7L--JF7F7-F--JFJ7.LJ-L|.LF7 +FL.J.7|JL.JJ7LLJJJL-JL------7||LJL--7FJL----7F7F-----J|L-7|F7-F--JFJL7F7LJL7|FJFJ||FJLJL--7|.F7L-7F7F-7F-7L-JL---JF7F7|LJL-JF--JFF77J.7J7|FL +-.F7LLL7|77FL7FL.|F7F7F--7F7|||F---7LJF----7LJ|L----7FJF7L7||FJF-7L-7|||F7FJ|||L7||L-7F-7FJL7||JFJ|LJ|LJJL------7F|||LJF7F7FJF7FFJL-7-7FJ7J| +F77-JJF-LJJ7FL7FF-J|||L-7LJLJ|LJF7JL-7|F---JF7|F----JL7|L7LJ||FJ-|F7|||||LJ7LJF-J||F7|L7LJF7LJ|FJFJF------------JFJ||F-J|||L-JL-JF7FJ7JFF|L7 +F-JLJF|J-|-||F7-L-7LJL-7L-7F7L--J|F--J|L----J||L-----7LJJ|F-J|L-7LJ||LJ|L---7FL-7|||||FJF-JL-7LJFJ.L7F-----7F-7F-JFJ|L-7LJL-7F7F7|||JL-F|L77 +FJ77.-J7.|FLJ7.F7F|F7F7L7|LJL---7|L--7|F----7|L-7F--7L--7|L7FJF7L7FJL-7L7F-7|F--J|LJ||L7|F---JF7|-F-J|F----J|FJL-7L-JF7L---7LJ||LJLJL|.J..L- +|F-JJJ-|-LL.F7F|L-J|LJL7|F7F7F--JL---J|L---7LJF7LJF7L-7FJ|FJL7|L7|L7F-JFJL7||L7F7L-7||LLJL-7F7||L7L--JL-----JL-7-|F-7|L7F-7L-7LJJ-F---7JFJ7J +-F-JJ|-L7.F-7F7L---JFF7|||LJ|L7F-7F7.FJF--7|F-JL--J|F7|L7|L7FLJ.LJL||F-JF7|LJ-LJ|F-JLJJF---J|LJ|FJF-------7F7F-JFJL7|L7|L7|F-JJJFFL7F-JFJJ|| +.|7JFF--L--LFJL------JLJLJF7L-J|FJ|L-JFJF7LJ|F-----J||L-J|FJF----77|||F7|||.F---JL7F--7L-7F7L7FJ|LL7F7F7F7LJLJJFJF-JL-JL7|LJLF7-F-7||JJ7-7-F +.L|L7L||LJ7|L---7F7F7F7F7FJL7F-JL-JF-7L7|L-7|L-----7|L7F7LJJ|F-7FJ-LJLJ||LJFL7F-7FJ|F7L--J||FJL7|F7LJLJLJL-7|F7|FJFF7LF7LJF--J|FJFJ||7JJL|J. +F-JFJJ||.LFJ-F--J|LJ||LJLJF7LJF----J7L-J|F-J|F-----J|FJ||F7F|L7LJ..LJ.F|L7|FFJ|-|L7LJ|F7F7||L7FJ||L-------7L7|LJL--JL-JL-7|F--JL7|7|||L--LJL +FLFJ7.-L--77.L-7FJF7LJF7F-JL--JF-7F----7||F7|L-77F--JL-JLJL7|FJF|-7LJ-FJFJ-FL-JFJFJF7||LJ|||FJL-JL-------7L7LJF----------J|L--7FJL-JL7...L.| +|.|7|7L7LFJFF77LJFJL-7||L------J7LJF---J|||||F-JFJF7F7F7F-7LJL--7-7-J7|FJ.|L|7LL-J|||LJF7LJLJF-7F7F7LF---JFL--JLF7F--7F7F-JF--JL7F--7|7-F.FL +F7FFL-|JFLF-J|F7FJF-7|||F7FF--7F7F7L----JLJLJ|F7|FJLJLJLJLL7F---J.||LFLJJ7LLLJFF---JL7L||F7F7L7LJLJL7|F7F--7F---JLJF7||LJF-JF7F7||F7LJ-7-FFJ +-FJL-7F-7-|F7LJLJFJFJLJLJL7L-7||LJ|F7F7F7F7F7LJLJL7F-----7FJL----7|F-FJ7LJ.|-FLL--7F7L7||||||.L----7LJ|LJF7LJF7F7F7|LJ|F-JF7|LJLJLJL7LJJ-LFJ +|L|J.||7.|LJ|F7F-JLL----7FJF7||L-7||LJLJ|||||F7F--J|F----JL7F--7FJ-J-L7JJ-7..7|.|-||L7LJLJLJ|F7F---JF7|F-JL--JLJ|||L7FJL--JLJF-7F--7L7F|FLLF +-7LFF-7-FJJLLJ||F---7F--JL7||||F7||L---7|||||||L7F7|L7F-7F7|L-7|L-7|FFJFFF-77FF--FJL7L-7F--7|||L----JLJL-------7LJL7LJF7F7F-7L7|L-7L7L7.LJ7| +LFFL|J-7LJ-|||||L--7|L---7LJLJLJLJL----J||||||L7LJLJFJ|FJ||L7FJL7FJ-7LJ-FJ-F|LF7LL--JF7LJF-JLJL----------------JF7-L7FJLJLJFJFJL7FJ7L-J--LJJ +FLF7L.L7|7-LF-LJF--JL----JF-7F---------7LJ||LJFJF-7FJFJL-JL7LJ7.|L7.F77.L7F-J|LJ77LF-JL--JF-7F-7F------7F--7F-7FJL-7|L-7F7FL-JF7LJLJ.|.|7-|7 +77|F-J-LJ-JLJ.|LL7F-7F7F--JF||F-----7F7L7F||F7L7L7|L-JF---7L7-7FL-JFJ|-7L7L|.|J7||-L7F7F-7L7LJFLJF7F--7LJF-J|FJL7F-JL-7LJL----JL-7|J.L----J| +--|F7FF-JJF-.F--7LJ.LJ||F--7LJL7F7F7LJL7L7|LJL7L7||F--JLF7L-JLL|7LFJFJJ|7|-L7J7|F7J-||LJFL7|F----J|L-7L-7|F-JL7FJ|F7F7L----7F-7F7|-7.L|LL.F| +|7|LL7|FL-JJ7L-7|F7FF7LJL-7|F7JLJLJL7F7L-J|F7FJ-|||L-S--JL--7.F-7FJFJJ||F7-LJFLF-7.|LJF-7FJ|L----7L--JF7LJ|F-7LJFJ|||L-7JF7LJJLJLJ.FFFJ.FFFJ +L7LJ.L|7|J|FF-FJLJL-JL--7FJ|||F77F7FJ||F7JLJ||F7LJ|F7F-7F7F7|FJFJL7L-777JLF-||-L7|.FF7L7||FJ7F--7L-7F-JL--JL7L7FJL|||F-JFJL-----7L7-|LF7F7J7 +F7JF7.JJJF77F7L7F7F--7F7|L7LJLJL-J|L-JLJL7FFJLJL-7|||L7LJLJLJL7L--JF7|L-7.||F|.L|L--JL-J|LJF-JF7L--J|F7F7F7FJFLJF-JLJL--JF7F7F--JF7|F-7JF|J| +|7F||F7JF-LFJL-J|||F-J||L-JF7F---7L---7F7L7L7F7F7|||L7L--7F7F7L-7F-JLJ7.|.FL7L-||F7F--7FJF7L--JL7F-7||LJLJLJF---JF-------JLJLJ-F-JL7--L-7|L7 +||L-FJFFJ|LL----JLJL--JL-7FJ||F--JF-77LJL7||LJLJ||LJL|F-7LJ|||F-JL-7JF77FFF.|7.LLJLJF-JL-JL-----J|JLJL------JF7F7L--7F------7F7|F--J7LL7JL7| +LLJ7.FFJFF---------7F7F7FJL7LJL7F7|FJF7F7|L---7J|L--7|L7|F7||LJF---J.||L-J|.F7FLF--7L-----7F-----JF----------JLJL--7LJF-----J||||JF-7-7LFJ-- +.|L77||L-L7F7F7F7F7LJLJLJF7|F--J|LJL-JLJ|L7F-7L7|F--J|FJ||LJL-7|F-7F-J|JJ.F7|L7.L-7L----7.LJF---7-L----------7F7F-7L--JF7F--7|||L-JFJL--|LFJ +.-7F.FL.J.LJ||LJLJL--7F-7|||L7F7|F------JL||FJFJLJF7-LJJLJF---JLJFJ|F-JJ.F|||FJ-F7L----7|F7|L--7|F7F7F7F-----J|LJFJF7F-JLJF-J|||F--JJ.|||.|J +F.FL7FLJ7LF-J|F-7F7F7LJJLJLJLLJ|||F7.F---7|||FJF7FJ|F-7F7FL----7FJF|L77JF7|LJ|JFJL7F---JLJL7F7FJLJLJ||LJF--7F7L-7L7|||F7F-JF7|LJL--777F-LFJ. +FL7|LLJL77L7FJL7LJLJL--7F--7|F7LJLJL7|F--JLJLJL||L7|L7LJL-7F7-FJ|F7|FJF-J|L-7L7|F7||F7F-7F7LJ||F7F-7|L--JF-J||F7|FJ|LJ|LJF7||L7F---J77L--7.| +J-|-J..LJ7JLJ|.L---7F-7LJF7L-JL7F---J||F7F7F7F7||FJ|F|F---J|L7L7||||L7L7FJ|LL7|||LJLJLJ-LJL-7|LJLJFJL--7FJJFJLJ|||L|F-JF7|||||||F7|F7-J7..7. +.F|F|-|-|JJF----7F-J|FJF-JL7F-7|L----JLJLJLJLJ|||L7L-JL-7F7L7L7|||LJFJFJ|F7F7||||F7F-7F7F---JL----JF--7|L--JF-7LJL-JL--JLJLJL-JLJL-7J7LLF-L7 +FJ|-F.F.-7FL-7F7LJF7|L-JF-7LJL|||F---7F-------J|L-JF----J||||FJ|||F-JL|FJ|||||||LJ|L7LJ|L----------JF-JL7F7FJJ|F7F-7F7F7F---7F7F7F-J.-7-7|.J +L-7||F-7LLF.FLJL-7|||F--JFJF7FJL-JF-7|L--7F---7L--7L7F---J|FJL7|||L-7FJ|FJ||||||F-JFJF-JF7F7F7F----7L--7LJLJF7|||L7|||||L--7LJLJ|L7J|||.|-7J +...-JJ.|.FJ-F.F--J|LJ|F-7L-J|L-7F-JFJL7F7LJF7FJF--JFJ|F---JL-7|||L7FJL7||FJ|LJ||L-7L7|F7|||LJLJF7F7L7F7L---7|||||FJLJ||L7F7L---7|FJF77LL|.7. +F7FJJ7.FFLJ7|7L7F7L7-||FJF-7L--J|F-JF7LJL--JLJ.L--7|FJL-7F7F-JLJL7|L-7|LJL-JF-J|F-JFJ||LJ|L--7FJLJL7||L---7LJ|LJ|L-7JLJFJ|L--7FJLJF--77J|-FL +FF-J|J7|.L----|LJ|FJFJ|L-J|L-7F7|L-7||F7|F--7F7-F7|||F--J||L-7F--J|F-JL--7F-J-L||F7L7|L7FJF--J|F---JLJF--7|F7L-7L-7L7F7L-JF-7||7F7|F-J7-J.7J +|J.--FF-JF|J.F7F-JL7L7L7F----J|LJF-J|LJL-JF-J|L-JLJLJ|F7FJL--JL7F7|||F7F-JL7F7FJLJL-JL7|L7L-7FJL7F7F7FJF-JLJL-7L-7L7LJL7F-JFJLJ7|||L7LF.J7|7 +7J77L||7|7FJF|LJF7FJFL7|L---7FJF-JF-JF7F-7|F7L---7F-7|||L-7F--7LJLJL7||L-7FJ||L-7F----J|FJF7LJF7LJLJLJ7L-----7|F-JFL--7LJF7L7F-7|LJFJ-|7||L- +7F-J.||7L7J-FL7FJLJ.F7LJF7F7LJ.L-7|F-J|L7LJ||F7JFJL7LJ||F7LJF7L7F---J||F7||FJ|F7||F7F7FJL7|L-7|L7F7F7F--7F---JLJF77F-7L7FJL-JL7||F7|J-77F7F| +L-L-J--7JLF-|.LJJ||FJ|F-JLJL--7F-J|L-7|FJF7|LJ|FJF7L7FJ||L-7|L-J|F7F7||||||L7|||||||||L7FJL7FJL7LJLJ|L7FJL7F7F7||L7|FJ.LJJF---JLJ|LJJFF--J7| +FLF7JJ.|..7L7-|F7F7L7|L------7|L7FJF-JLJ7|||F7LJFJ|FJL7|L-7|L--7|||||||||||FJ||||LJ|||FJL-7|L7JL---7|FJL--J|LJL-JFJ||F----JF----7|J|.F-J7JLJ +7-LJ7||7F7J.|-FJLJ|FJ|F7F-7F-JL7LJFJF7.F7||LJ|F-JJLJ7FJ|F7||F77|||LJ||LJ||LJFJ||L7FJ||L--7LJFJF7F--JLJF--7-|F-7F7L7|LJF---7L-7F7LJ7F.F7L.FJ| +J.|L-LJLJ7.LL7L--7|L7||LJFJ|F-7L-7L7|L7||||-FJL---7F7L7LJLJ|||FJLJF-JL-7|L7FJFJL-JL7||F7FL-7L7|LJF-7F7|F7L-JL7LJL7LJF-JLF7L--J||-F7JFLJ7FJJ7 +|FJL|.L|LL-.FF7F-J|L||L-7L7LJFJF7L7LJFJ|LJL7L7F7F-J|L7L-7F7||||F-7L7F7J||J||7L7F--7LJLJL-7-L7|L--JLLJLJ||F7F7L--7|F7L---JL-7FFJL-J|FL|.L-7JL +FJ|.F7.L7-|7FJLJF7L-JL--JFJF7L-JL7|F-JFJF--JF||LJF7L7L-7LJ||||LJ7L7|||FJ|FJL77LJF7L7F----JF7||F7F-7F7F7|LJ|||F--JLJ|F7F----JFJF---JJ7|F|||7. +|FJ.J77-7JJFL--7|L--7F--7|L||F7F7||L--JFJJF-7|L-7|L-JF-JF-J||L7F7FJ||LJFJ|F7|F7FJ|J||F7F7FJLJLJ|L7LJ||||F7LJ|L-7F77LJLJF----JFJF-7JL|7FLF..F +|||FLL--|.F--7FJ|-F7LJF7||FJLJLJLJL--7FJF7L7||F-JL-7FJF7L-7||FJ|||FJL7FJJ||LJ||L7|FJLJ||LJF----JFL7FJ||LJL-7|F7LJL-7F--JF7F-7L-JFJLLL-JF77-| +L|F-7LL--FL-7|L-JFJL7FJLJ|L---------7LJL||FJ||L7F7FJL-J|F-JLJ|FJ|||F7|L7FJL7FJ|FJ||F--JL-7L-7F7F--J|FJL-7F7|||L7F--JL7F-J|L7L---JJ..L-7|||L7 +7LF7|J.FJF--JL--7L-7LJF7FJF7F---7|F-JFF7||L7||FJ||L7F--JL--7FJL7|||||L7|L7FJ|FJL7|||F7|F7|F-J||L--7||F--J|LJ||-||F7F7|L-7L7L-7F7F77.7-J-L7-J +J7||J..7.L---7F-JF7|F7|||-||L-7FJFJF-7||||FJ|||FJL7|L7F7F7FJ|F-J||LJ|FJ|FJ|FJ|F-J|||||FJ||L7FJ|F7FJLJ|F-7L7.|L7|LJLJLJF7L7|F7LJLJL7-J-.|7LJ| +|LLL-7.|F----JL--JLJ|LJ|L-JL-7|L-JFJFJ||||L7||||F-J|L||||||||L7FJL7FJL7||FJ|L||F-J||||L7LJFJL7||LJF7FJL7L7L7L-JL7F-7F-JL-J||L7F7F-J||.F-L-F7 +F7|7---FJF---------7|F-JF---7|L--7|FJFJ|||FJLJ|||F7L7LJ||||FJFJ|F-JL7FJ||L7L7||L7FJ||L-JF-JF7||L--J||F-J.L7L--7F|L7|L--7F7LJ|||LJ7FF-7F7J.7J +L|||FJ.L-JF7F------J|L-7L7F-JL---J||FJL||LJF--J|LJL7L-7||LJ|FJF|L7F-JL7LJFJFJ|L7|L7|L--7|F7||||F7F7||L--77L7F7L7L7|L7F7LJL--7LJJJ-77.J-L.7JF +FJ7F-777.FJ|L-7F7F7FJF-JFJL7F7F7F7|||F-JL-7L-7FJF--JF7||L7FJL-7|FJL7F-JF7L7|L|FJ|FJL7F-J||||LJ||LJ|||F7FJF-J|L7L7|L7LJ|F---7L7JJJFJJ7J|7FL-F +|L7JLJJ77L7L--J|||||-L--JLFJ|||||||||L7F-7|F-JL7L7F7|||L7|L7F7|||F-J|F-JL-JL7LJ7|L7FJL7FJ||L7FJL7FJ|LJLJFJF7L7|FJ|FJF7|L--7L7|JFF7.FF-J7J..| +||LJ||JLLFJF-7FJ||||F-----JFJLJ||||||FJL7LJ|F7FJFJ||||L7LJFJ|LJLJ|F7|L7F7F-7L--7|FJL7FJ|FJL7|L7FJL7L7F7|L7||FJLJFJL7|LJF-7|JLJF77|-F-7-L-L7- +|FF-F7-J.L7L7||JLJ||L7F7F-7|F--J|||||L7FJF-J|LJ|L7|||L7L7FL7|JF7JLJ||FJ||L7|F7FJ|L-7LJ-||F-JL7||LFL7LJL-7LJ|L--7L7FJ|F7L7|L-7FJ|J-7FJJ..L-JJ +FJLFFJ.FJ|L-J|L-7FJ|FJ|LJJLJL7F7|||||-||FJF7L-7F-J||L7L7|F-JL-JL--7||L7|L-J||LJFJF7L--7|||F7FJ|L7F-JF7F7L-7L7F-JFJL7|||FJ|F7LJFJJ||L|-L-J7-- +J7LLJ7|-LF---JF7|L7|L-JFF--7FJ|||LJ||FJ|L7|L7FJL-7||FJ|LJL-7F-7F--J||F||F--J|F7L7|L7F7||||||L7|FJ|F7||||F-JFJL7FJF-J||||JLJ|F-JL77F-7.L|FL.| +.7J..-|7JL-7F7|||FJ|F---JF-JL7||L-7LJ|FJFJL7|L7F-J|LJF7F7F-J|7|L7F-J|FJ|L7F7LJL7||FJ|LJ||||L7|||FJ|LJ||||F-JF7||FJF7|||L--7|L7JJ|F7.|.L|J||- +.7-L.|L7-L-LJ||LJL7||F--7L---J||F7L-7|L7L7FJ|FJL-7L--J||LJF7L7|FJ|F7|L-J||||F7FJ|||FJF-J|LJFJ|||L7L-7||||L7FJLJ|L-J|LJ|F7FJL-J-LL7JF-7-||FJ| +LJ--J-F77.FF-JL-7FLJ||F-JF--7FJLJL7FJ|FJFJ|FJL7F-JF--7|L7FJ|FJ|L7||LJF7F-J||||L7LJ|L7|F7L7|L7|||FJF-J||LJL|L7F-JF7FJLFJ|LJJ|FLFJ|.||J|FLFLJ7 +|7|-|JFJF7|L7F7FJF7LLJL7FJF-JL---7|L7|L7L7|L7FJL-7L-7||FJ|FJ|LL7|LJ7FJLJF-J||L7L7FJFJLJL7L7.||||L7L-7|L7F-JFJL7FJ||F7L7L-77L-JL-77FL.|-J|J|7 +FJJF|J|7-FJ7LJ||FJ|F7F7LJFL-7F7F-JL-J|FJ7LJFJ|F-7|F-JLJL7|L7L7F|L--7L--7L-7|L7|FJL7L---7|FJFJ||L7L7FJ|FJL7FJLFJL7|LJL7L--JJ--J.L|-F-JJ..7L-F +|7.LJ.||7L-|.FJ|L7|||||LF---J||L----7LJF7F7L7|L7LJL--7F7|L7L7L7L7F7|7F-JF-JL7||L-7L7F7FJ|L7|FJL-JJ|L7|L-7LJF-JF-JL7F-JF|||-FFJ.F|LL|7LF7J7L| +LJ7||-FLJ-FL-L-JFJLJLJL-JF7F7|L-7F-7L--J||L-JL7|F7F-7LJ||FJJL7L7LJ|L7L-7L--7LJ|F-JL||||FJFJLJF7F--JFJL7FJJFL-7L7LFJL7-L-L|LFFJ|-L7.----F--7| +L--JJFLJ|LF7FJLLL-------7||||L7FJL7L-7F7||F--7|||||7L--JLJ.||L7L-7|FJF-JF--JLFJL--7||||L7L---J||F-7|F7LJ|.JJFJFJFJF-J.FJ.|.FL.L7-|77J-L.JL77 +.F|F7-||J-|-F|J|FLF-----J|||L7||F7L-7||LJLJF-J||||L----7F7F7F7L7FJ||FJF7L--7FJF7F7|||||7L7F---JLJFJLJL---7JLL7L7L7L---7|7|-|JF7L7.|77|L|JFLF +.FJL|FJJ-L|..7FF7.|F-7F7FJ||FJ||||F7||L7F--JF7|LJL7F--7LJLJ|||F|L7LJL7|L7F-JL7|||||LJ||F-JL--7JF7L-7F----JJFLL7|.|F-7FJJ-7-|FLF7FFJLLJ--77-L +-F7-JJ-7.LL-JJF|L-J|FJ|||.LJ|FJ||||LJL-JL--7|LJF--JL7-|F7F7LJ|FJFJF--J|FJ|F7J|||||L-7LJL7F-7FJFJL--JL--7|LF7-FJ|FJL7LJ7--|77F-|7L-7J.|-FL-7J +LJ|.J.LF--JF-FFJF7FJ|FJ||F--JL7|||L-7F-----JL-7L7F-7L7||LJ|F7||FJ-|F-7|L7LJL7LJ|||F-J7J-||FJ|LL7F--7F--J7-LL.|FJ|F-JJL|..JFF77|LL-L-F|LJJFJJ +.L|-L-F|7.||J|L7|LJFJL7LJL7F7FJ|||F7||F-7F-7F7|.||FJFJ|L-7||LJ|L7FJ|FJ|FJF-7L77||LJ|L-7-LJL7L7L||F-JL7F7.F|7.LJ.|L7JLFF----|.L77.7.F|J-L-J77 +FF--J.|F777F.FJLJF|L7FJF--J||L7LJ||LJLJLLJ-|||L7||L7|L|F-J|L7FJFJ|FJL7||FJ7L-J7LJ|-L-L7-LLJL7|-LJL7F7LJL--7-F-JFL-J||LL.|77L-L|J.F7-7..L7L77 +L|F7JFLJLJ|7-J-7L77-||LL-7FJL7L7-|L7JJ.F---J||FJ||J||F|L-7|FJL-JFJ|F7LJ|L---------77L777.|.LLJ|L|-LJL7F7F-J-J7-L7LJFF-LJ-J-JJ.FF.|77LF7FL-|. +FF7F7F7L7LL77J7|7.L-LJ.F-J|.L|FJ-L-JJ7FL-7F7|||FJ|FJ|FJF-J|L7J.LL7||L--JF7F7F7F---JJ-LLJJ7F-J.|.77|F7||||||7|---JF7-J7-|L|J.|LJ.7|.L.FF...|7 +L-JJFL-.L-7LJ7L-77J.|.FL-7|-FLJ.L..|777.L||||LJ|FJ|FJ|FJ-LL-J|7LLLJL-7F7|||||LJJLJ.|FF7|7F|JL||.|FFJLJ|LJFF||-FFL7LJJJL|J.|.7.-J-77|.|LL.7-7 +LJJF|-LL7LJ-JJ7||J.FF|7F|LJ-J|LJJF--7||-LLJ||.FJL7LJLLJ.|L|FLJ77|7||.LJ||||||||.L.7.LJL7FL.|.J77LFJF-7|JFFJL77-|7.F7L7.LJ.|-7-7.F.LF-J7J.||. +L7.L|7|LFJ..LF-|7J77FJL-7|J7L|F|.|JJL||FL|.LJFL7FJJ||7-|7.L-7|FF.J-F|-FJ|||LJ-J7..J7L|.J777F.FF-.L-J|LJLLL|.|---7FJ--J.L|.J7|--7L7J|7F||F-L- +7.L|L--.|LFJF|F|JJ|FJLJ.LL7F.-LJ--J.LL7JFLF7|J-||J.7L-7||F-JF-7.F7.JJLL7|||JJ-|J.FLF7J.L7-LF--J|FL..F|77.|.FJL7FF|JF-|7F|-|7|.L7J.F|-|LF|... +F-|||.J-F-F--.|JL|L|FJJ7|.|.J.L7.FJ-7||JF|J-LLFLJ|.|.LLL77.F7F|7LLFJ--LLJLJ7|FL.7J|.|-7.L7FJFFLL7LF|-7L--.-|.L-L--7-L7--J7L-JF-L--J|L7L-|-|7 +J-JJ77.FLJ.77|LF7|.|J7.L7.|7L7.F.FL7FFLFJ7LF7.FJL-.|J-J-L-FJ|LLJ||J.7||L|JJ.FJJFJ7L7||.-J|7-FJJL|FL.LJL|-L-|F|J|J.L7FJ.|7F-.|F7L|.JJ.J7J.LL7 +|.L|L-JJ-F|.|.|LFJ-J-F-JFFL7|.-|F-7F-F-7-JF-|7JLFJ7LJJ..J.|JJ||.LJFJL-JJJFLF7J.FLF.7-J-J.L|F7|.-.F|J7LF|.|||FF-|7||LL-7|LJJ.F|JF-7|-L-J.|.L- +FL7F-|7J.|J-|LJ-J.LL7||-7J|F-|JF-|-F7|LJ.|L7L|7J|.FFJF-|-|||---JJ.7.L-L|.L--F-7FFJF|-|||7FFJLJ-|F.||7-|.F|F|J|.J7FL-.-J7L|.|7|F7-77|LJ.LF.L| +-.LJ-L|--JL-FJJ.LFJL-J--JJFL-JL|LJ.L--J.F--JLL|.--JJ.7JLLFLJ...|-F.-.FJJFJJJL-L-J-L77LLL--J|..LLF.F-7.L-J.JJJL7LLLJ.JJJF-J7---LJ-L|7LL|-J7-| diff --git a/2024/01/input.txt b/2024/01/input.txt new file mode 100644 index 0000000..5e9ac53 --- /dev/null +++ b/2024/01/input.txt @@ -0,0 +1,1000 @@ +46669 36559 +54117 62675 +25659 15179 +18867 82784 +94354 78485 +28985 76228 +42358 34206 +59950 58682 +97799 24655 +52935 64167 +59303 53728 +85106 71005 +50792 91433 +13407 14222 +67886 61779 +16895 63137 +30061 23324 +52760 28081 +58542 49063 +90229 61487 +13000 11872 +75051 16072 +95703 59610 +71514 95236 +38533 15786 +96889 17973 +50570 62950 +22045 76693 +57193 91433 +14748 85022 +10514 38767 +29334 47840 +88964 45642 +48941 39483 +70592 24655 +93664 22449 +96355 69515 +81294 74800 +48811 85577 +45071 85562 +92092 82630 +84197 76933 +97582 13139 +87792 86408 +54977 27338 +99783 29891 +69620 61216 +13987 77826 +99852 96463 +91433 60831 +78088 46665 +72987 42777 +42868 69997 +68892 46927 +34108 66123 +43478 18458 +19787 42868 +94776 47041 +79484 42868 +51651 87993 +24205 29529 +44859 90283 +20200 73827 +87459 73406 +56046 83755 +91769 22449 +67206 27695 +12181 17936 +60868 83249 +38752 22334 +99845 94472 +41505 61216 +60128 24655 +29568 78485 +22811 63720 +58897 73583 +72379 79339 +37663 41578 +79732 61216 +73155 46563 +81753 43279 +51621 51888 +93416 86408 +47921 59610 +80800 23324 +96164 73406 +11851 98656 +23151 90283 +38856 89669 +68276 82552 +98955 32695 +54728 30695 +29338 75446 +62950 59047 +65523 19589 +37775 59752 +44035 55601 +88679 53778 +51799 86633 +88184 62950 +91162 78485 +93338 54646 +88930 17554 +86160 77826 +11460 56897 +25918 45594 +72148 91433 +92158 37114 +93731 49360 +87043 44224 +33307 76228 +28611 70786 +13314 61216 +65566 40058 +20245 63137 +37773 33408 +78163 30754 +63537 76662 +64165 11339 +80838 23324 +51282 29108 +25277 59610 +59407 75468 +67162 32283 +29618 22449 +38169 77435 +74644 65347 +15925 76228 +64235 87695 +14313 31523 +65574 70278 +94576 46927 +28941 76693 +56933 75648 +90283 20996 +15912 76693 +37371 11483 +42928 61216 +20043 15456 +79060 50351 +95841 86342 +90503 22449 +34098 55194 +59349 27339 +52463 49245 +44382 59610 +86377 39994 +77346 51349 +32396 82630 +89974 40626 +56849 67629 +62875 86860 +56067 34945 +92962 49059 +62901 46892 +25886 77783 +21697 96304 +38147 17270 +14550 90283 +13342 70663 +70611 68152 +20481 21488 +28904 58215 +26634 39518 +52203 30752 +66212 78485 +90182 98936 +20740 15786 +66065 65617 +61202 45164 +26862 99261 +58796 40132 +78079 70988 +81851 93597 +71297 91433 +92854 65509 +80295 27424 +63299 44867 +15813 58215 +16650 76933 +53617 23324 +26984 16067 +18903 22496 +45338 10448 +78888 63137 +45642 41937 +33541 24655 +48364 44977 +45753 86408 +38974 87966 +74367 95952 +30987 24768 +69198 61027 +79165 23324 +36565 49245 +93880 23324 +58577 22449 +88572 11153 +23891 35210 +57919 56916 +68618 29125 +69689 24742 +63792 67434 +42378 91433 +30886 85562 +68874 73316 +47080 76228 +17364 50012 +26523 95236 +91160 12505 +82072 63137 +85218 88792 +21179 45280 +83540 22449 +62790 75446 +99201 76966 +24655 91601 +15468 59236 +69939 40216 +26652 51063 +72139 22449 +38765 15786 +37220 73406 +46720 15786 +23324 12724 +28463 22865 +74495 12866 +81338 47719 +48576 67579 +57908 85562 +96483 75446 +12243 46927 +18922 30274 +96066 50932 +32506 57089 +63137 18017 +80079 34565 +78238 57507 +29990 85562 +63341 77826 +53097 89535 +77250 67346 +18752 22230 +84225 91433 +23056 22728 +72203 44957 +12182 95236 +54287 57853 +78417 76693 +79546 61111 +97938 90283 +28464 91433 +43864 61216 +25327 45949 +76917 18588 +88304 61216 +16599 91970 +90372 38723 +78721 47963 +61712 73406 +40506 20355 +80458 13289 +50334 49245 +10066 99664 +33077 90921 +27603 87695 +51307 62936 +18791 49524 +90086 98799 +61487 76228 +80381 77826 +30353 75446 +46686 63367 +67471 50064 +22404 67635 +73240 47665 +38824 85562 +52873 78957 +89294 79544 +55505 36605 +21363 73406 +54456 90283 +26147 51518 +51044 98236 +27948 22449 +28048 76228 +52852 87695 +33020 76933 +66414 51084 +29109 75446 +10430 72012 +53057 63137 +99531 27252 +77723 76933 +87307 24655 +81886 50012 +97967 90283 +24057 64661 +23205 63137 +18662 76693 +89627 25871 +70743 50012 +27182 88872 +75446 50012 +88535 38500 +83093 69995 +67214 88991 +79553 33819 +61690 50012 +76228 98865 +50955 95236 +93037 19499 +24196 49526 +59691 67094 +35278 90283 +61597 23324 +56941 37523 +20120 97355 +87535 87032 +41203 63891 +16392 87787 +72594 75446 +95236 76693 +59675 65584 +68845 90283 +78485 33285 +44280 62583 +98434 19636 +86408 22449 +49172 15344 +33704 41932 +57434 72228 +72242 16591 +55017 75193 +57538 97837 +66108 35681 +22194 32467 +74204 41085 +75528 56270 +55070 13932 +12362 69548 +80880 46460 +92437 86408 +62756 37768 +61713 33991 +65166 15786 +66265 57948 +59605 81427 +95292 61216 +53322 61216 +92343 77826 +57881 43673 +25694 79166 +50803 62933 +12557 76228 +30235 63137 +60145 59610 +69385 54371 +67591 95236 +75778 57891 +32402 72023 +85763 79371 +77826 58215 +54653 52717 +43427 73406 +87693 78923 +42560 99999 +56662 98907 +34358 15149 +72062 87084 +87457 25270 +79098 46927 +96786 63137 +12893 90634 +72153 22959 +79455 13986 +94850 28046 +73433 11290 +18596 58215 +82630 78485 +33604 14849 +15222 74035 +61085 23906 +36243 10054 +61417 39396 +97586 61216 +38303 13532 +46927 78485 +97158 28915 +47223 24655 +71928 16050 +48850 10274 +63968 59834 +74998 51096 +12237 16089 +15340 68204 +28588 86420 +27774 27427 +87417 76693 +68167 20436 +82772 87695 +16746 41792 +49969 76228 +68165 28891 +87687 73914 +31995 73403 +51948 57812 +92704 73961 +44851 23324 +81688 48766 +92752 24655 +87448 42868 +14258 13555 +97152 95236 +16893 58215 +49941 72107 +92908 95236 +30101 75629 +83485 19453 +70442 95236 +90285 24655 +55498 23539 +38791 77826 +51701 84708 +30330 59334 +59586 61909 +69360 16800 +96194 66338 +26813 94571 +16730 60469 +20452 61216 +88869 62950 +36471 85562 +48094 11994 +53210 58215 +25883 55787 +67454 16997 +28364 91433 +29596 18200 +39653 42554 +78247 98641 +68869 10213 +37243 61575 +78248 91234 +86264 24655 +42101 22449 +81992 77493 +65269 73406 +79512 88490 +23050 68216 +71745 32372 +12275 22311 +72704 57374 +40391 37266 +93996 81448 +60235 71232 +23986 45642 +31562 61893 +76700 68049 +95646 70208 +19567 23324 +91012 93539 +29318 15559 +25010 11836 +35563 51368 +54704 76228 +49819 40935 +33230 61216 +79086 14268 +51170 18475 +66485 81497 +18849 62950 +64392 24655 +95125 54268 +57789 27894 +59448 86408 +47257 86384 +15786 91433 +61948 42868 +86728 58933 +99498 59808 +52830 35210 +70990 70735 +67116 15019 +63821 73107 +27729 77826 +61964 32077 +36375 88334 +25299 59610 +86368 55921 +86423 71213 +73061 88241 +98588 25835 +13938 21656 +99826 95236 +37553 68730 +64667 62007 +93565 82405 +42768 29866 +42731 76693 +20204 30794 +71882 28231 +93933 73406 +32525 84373 +89842 64081 +31297 45009 +27264 75446 +93838 64694 +60747 78485 +13328 22449 +40592 95236 +91398 20009 +11574 90283 +96548 35894 +34268 49890 +86325 39672 +63884 15842 +30812 23567 +69993 24655 +22994 85977 +36141 24655 +17881 23324 +87053 12341 +85897 11252 +64282 31676 +83859 82810 +37811 70856 +30617 65639 +12124 82075 +25279 61216 +50876 76933 +93773 75446 +11066 73504 +75494 22449 +10852 22449 +75214 75446 +17183 55952 +40332 91433 +29117 20899 +30888 45919 +73512 32221 +78708 26250 +13367 76228 +92813 97383 +51110 47725 +25552 95236 +31096 38747 +83451 76754 +22497 49245 +42453 76693 +91372 53487 +91733 61487 +71459 79153 +45515 95236 +25529 81102 +21597 73394 +43122 82630 +63641 64171 +77303 61216 +37944 58215 +11386 77826 +77018 79070 +82992 96114 +51119 77798 +73221 23324 +18732 34798 +42279 46927 +89508 73730 +27791 80194 +28523 95308 +27555 12881 +29648 54618 +13577 98443 +56947 76693 +36475 87505 +38270 71142 +84688 28274 +19271 76693 +23825 22945 +95718 51459 +91764 51788 +27386 42182 +18677 55015 +67612 76693 +11810 44178 +87498 75376 +74359 45642 +35714 56252 +86955 70950 +28543 86408 +21253 57179 +81283 73406 +54208 83349 +87550 37110 +88194 76693 +68969 49473 +94869 80272 +18066 64411 +31310 15786 +57043 78434 +55440 89060 +88510 61216 +69221 64444 +45336 23324 +39240 51320 +86973 61853 +78101 71772 +24917 38491 +30454 84950 +95917 89580 +96914 78485 +77197 50552 +67382 31174 +73864 88832 +68112 77826 +34762 15786 +53167 36945 +58539 32505 +67660 41818 +89709 35248 +87156 49245 +98670 84396 +12340 44671 +51671 87514 +47948 18060 +69823 76228 +35233 73406 +52807 24655 +94057 26388 +63741 59610 +82004 66606 +93513 60231 +75084 35371 +10372 88851 +89866 46927 +24553 79589 +20556 15786 +46412 22449 +78846 24491 +98088 76693 +31170 92173 +94801 52961 +51058 13445 +70594 50037 +35346 50338 +78257 23324 +73406 21744 +68359 46927 +41213 55805 +45250 42131 +43279 18812 +69199 15786 +53725 76497 +69398 37768 +11742 73406 +65219 58877 +31780 38597 +46113 90283 +30112 76693 +37748 60472 +12596 58428 +22346 98357 +43346 53539 +89142 78485 +14544 38869 +31577 55185 +55937 87695 +41189 35667 +25078 73406 +59330 94542 +84733 16627 +82488 73406 +82948 58215 +16789 91433 +53671 27376 +70549 50516 +97581 54013 +91708 61216 +64783 37768 +89911 46097 +74663 76228 +70646 60061 +23944 31181 +30697 93934 +27561 95236 +52655 68084 +90627 38964 +27641 35708 +14184 91433 +42968 17857 +72204 30261 +77368 35970 +17048 89985 +20782 18407 +64749 78485 +41007 26752 +11880 97776 +44202 24368 +97301 23407 +61077 74465 +38804 77826 +13897 48877 +14508 37578 +61383 53091 +16885 29289 +37225 52081 +64685 35992 +31682 95236 +63631 10368 +45781 24466 +24092 65388 +31728 76228 +45777 22113 +51779 60657 +33859 29358 +53484 78827 +61319 49899 +36093 48789 +40584 77905 +56381 54295 +22662 38614 +24641 22449 +88324 59610 +78924 95236 +74820 61487 +77398 60846 +99595 63137 +65832 49245 +89471 11285 +90188 76593 +97763 71720 +98824 77826 +14418 20513 +39862 73406 +55906 78485 +86059 29127 +20742 97241 +88269 91433 +17962 86920 +32602 49245 +95412 59994 +83267 70431 +36825 24655 +89562 43279 +16860 72596 +53577 96790 +46665 76574 +71813 67270 +35210 15445 +33400 76693 +96069 65213 +46322 39179 +95285 91433 +95767 86269 +15236 76933 +27778 49357 +16170 30140 +57870 63137 +80794 63137 +84281 57089 +91022 26553 +55848 49245 +13825 49245 +91230 87028 +54860 73406 +66596 53306 +61216 64519 +50012 76693 +36465 83257 +87188 75446 +73588 21801 +94757 20402 +28170 60768 +24891 38174 +91787 76693 +63785 43279 +14566 90752 +55392 90283 +39790 67787 +40079 80845 +33827 34045 +79864 78485 +82775 43279 +67159 10612 +53001 37768 +52173 58727 +28322 76933 +84518 33044 +76693 27243 +49225 44682 +22449 75446 +80658 49373 +43255 22449 +59058 73490 +44951 49402 +71201 28356 +55944 42868 +33202 83266 +86699 66983 +88453 85814 +77034 58838 +85850 76228 +41409 88724 +36649 11112 +88428 93089 +59610 66639 +48137 90283 +86400 90487 +28104 46927 +43317 59610 +85510 67445 +99532 78485 +70359 15786 +42034 88131 +80957 68660 +43032 95236 +33582 40382 +58215 94486 +19221 36076 +91307 77826 +64821 76693 +89517 63137 +53579 18009 +82987 91433 +94727 51659 +19906 91433 +80106 43532 +28240 71843 +29670 23324 +39700 87695 +47283 78485 +39801 76933 +25980 96028 +21945 71497 +78407 78485 +85640 45318 +51978 50012 +11601 76575 +83651 31125 +95958 95956 +77749 23336 +13537 84975 +88065 52971 +38210 98657 +40101 36035 +32397 75288 +96618 16256 +42989 19324 +72932 43609 +18771 34539 +58557 86408 +92319 79573 +38295 94964 +10485 63913 +31358 76228 +38846 75446 +72221 22449 +66323 76933 +57089 60456 +88674 50047 +75813 15508 +22055 60704 +69047 96120 +73862 15909 +83222 67849 +76393 80920 +76522 69689 +71666 76228 +63583 12283 +19328 28164 +39355 77826 +85096 76933 +42056 31488 +92747 13579 +84937 47182 +17024 82132 +56871 90283 +97790 46927 +22993 68190 +68482 55096 +79976 85107 +90940 52882 +65919 63137 +62007 49245 +13415 59610 +26893 24655 +44653 95236 +33612 99036 +46478 42868 +70970 80135 +60481 95236 +15301 59360 +17212 37414 +80899 75446 +67495 21742 +18319 14479 +34445 58215 +39486 42282 +36028 44519 +92208 46483 +88362 90245 +53764 48959 +85604 74027 +96035 95893 +29561 30742 +74152 61216 +49507 46274 +87695 76693 +18100 15786 +21313 73406 +62234 12938 +25025 49466 +60890 74332 +11565 33629 +84299 76228 +34861 90283 +21353 73528 +99978 66897 +46529 22449 +13104 25219 +68752 88910 +26478 76933 +87668 43279 +49777 25060 +86763 75446 +73023 45052 +72004 51554 +88141 23926 +33130 82630 +82472 22449 +64754 80502 +57842 62007 +93088 72374 +45727 93735 +53996 19768 +49245 46046 +85299 19540 +56446 63137 +92445 82605 +67790 75139 +16758 26579 +66664 89655 +32710 80610 +75707 49245 +65814 95623 +58220 87669 +16612 76228 +24698 16590 +23184 73406 +91238 15786 +11843 91433 +86625 85562 +41307 77826 +26670 69594 +64855 63137 +63544 83733 +56574 24108 +79163 67158 +99311 95420 +17640 85562 +66865 91397 +31429 37768 +85562 49245 +93263 76716 +81248 45189 +91852 47062 +58324 52943 +63446 36264 +96407 87488 +46436 57089 +12385 26581 +91195 25257 +88835 32326 +21315 77826 +24216 97211 +37075 50012 +46375 49245 +68824 88237 +24882 44857 +60941 75157 +61864 64400 +41858 97465 +83877 61487 +26722 85343 +52455 55804 +22568 74046 +93290 83623 +76933 73008 +61124 76228 +32025 67436 +26293 77826 +46658 78485 +12043 52527 +47464 24655 +56275 41945 +57840 33284 +60040 82705 +10256 95591 +49049 90283 +37768 43279 diff --git a/2024/01/solution.nix b/2024/01/solution.nix index cab51c0..5ea15fc 100644 --- a/2024/01/solution.nix +++ b/2024/01/solution.nix @@ -1,5 +1,6 @@ -{lib, ...}: input: rec { - content = lib.strings.removeSuffix "\n" input; +{lib, ...}: {file}: rec { + rawContent = builtins.readFile file; + content = lib.strings.removeSuffix "\n" rawContent; lines = lib.strings.splitString "\n" content; getLeftAndRight = s: s |> lib.strings.splitString " " diff --git a/2024/02/input.txt b/2024/02/input.txt new file mode 100644 index 0000000..944d032 --- /dev/null +++ b/2024/02/input.txt @@ -0,0 +1,1000 @@ +65 68 71 72 71 +31 34 36 37 37 +80 83 84 86 87 90 92 96 +30 33 36 39 45 +21 22 25 23 24 +66 68 69 71 72 71 72 69 +2 3 5 4 4 +77 78 77 79 82 83 86 90 +6 9 10 7 9 12 17 +25 27 28 28 30 32 +61 63 66 68 68 66 +51 54 54 57 60 60 +50 52 52 53 56 60 +73 75 76 76 83 +19 20 24 26 28 +36 38 41 42 45 49 47 +56 59 63 64 64 +26 29 32 36 40 +70 72 74 75 77 80 84 89 +81 83 88 89 92 95 96 +79 80 85 87 89 92 93 90 +77 80 85 87 89 92 92 +29 31 33 38 40 42 46 +49 52 57 58 59 65 +14 11 14 17 18 19 +43 40 41 44 47 50 51 50 +31 30 32 35 35 +43 40 42 43 46 49 51 55 +9 7 9 12 15 17 18 23 +74 71 74 71 73 76 79 80 +50 49 50 49 52 50 +51 48 51 49 49 +23 22 23 25 22 26 +45 43 44 47 45 50 +42 39 41 43 43 45 48 +97 94 96 98 98 99 97 +48 47 50 51 54 55 55 55 +33 30 31 31 33 37 +17 14 17 19 19 24 +41 40 41 43 45 47 51 52 +65 62 64 67 71 70 +77 76 80 81 84 85 86 86 +18 16 20 22 26 +58 56 59 63 64 65 67 72 +18 17 22 24 26 +27 25 28 29 30 36 39 36 +53 52 58 60 60 +41 40 45 47 49 53 +49 46 47 49 50 57 60 66 +43 43 44 45 47 50 53 56 +79 79 80 81 83 84 81 +68 68 70 71 71 +15 15 17 18 19 20 21 25 +58 58 59 62 64 66 71 +67 67 70 72 73 71 72 75 +83 83 81 83 80 +93 93 95 97 94 94 +5 5 8 7 9 11 15 +8 8 11 8 15 +59 59 62 62 65 +9 9 10 10 13 16 15 +72 72 75 76 76 79 79 +6 6 6 7 9 13 +27 27 29 29 35 +40 40 44 47 49 52 +85 85 87 88 90 94 92 +55 55 59 60 60 +36 36 40 41 42 46 +62 62 66 68 70 75 +44 44 45 46 47 52 55 +85 85 88 95 93 +33 33 35 36 39 44 44 +18 18 19 21 28 29 31 35 +58 58 60 62 69 74 +15 19 22 23 25 27 +20 24 27 28 29 30 29 +44 48 49 52 54 57 57 +41 45 48 50 54 +8 12 15 17 20 27 +48 52 51 53 55 +78 82 81 84 83 +8 12 9 12 15 18 18 +56 60 63 61 62 66 +2 6 8 7 10 13 20 +8 12 12 14 17 18 +52 56 58 59 59 57 +73 77 79 82 82 83 83 +58 62 63 63 67 +44 48 48 51 54 61 +63 67 68 71 73 77 80 82 +65 69 71 75 74 +84 88 90 93 97 97 +62 66 70 73 77 +26 30 34 37 39 45 +31 35 38 41 43 49 51 54 +3 7 13 16 17 20 23 21 +42 46 49 55 55 +71 75 78 84 88 +53 57 60 62 69 71 77 +66 72 74 77 79 80 +46 53 55 56 55 +6 11 12 14 14 +36 41 44 46 49 51 54 58 +66 71 73 75 78 80 81 87 +55 62 63 64 66 63 65 +22 27 28 25 22 +90 95 93 94 95 95 +35 41 43 46 45 49 +74 80 83 86 88 87 88 95 +39 44 46 47 49 49 52 +73 78 80 80 82 81 +81 86 89 91 91 94 95 95 +28 34 37 38 40 43 43 47 +72 77 80 80 82 83 84 91 +76 81 82 84 88 89 91 +36 43 47 49 50 47 +74 79 80 83 84 87 91 91 +48 55 58 62 65 67 69 73 +14 20 24 27 28 31 38 +33 39 40 45 47 50 52 +71 78 84 85 88 89 87 +46 52 59 60 63 65 67 67 +27 32 35 37 40 47 48 52 +66 71 72 78 81 83 90 +42 39 37 35 36 +46 45 43 40 39 36 33 33 +31 28 27 24 22 18 +27 24 23 22 19 14 +51 50 49 52 51 49 46 44 +78 77 75 74 75 77 +14 12 13 12 10 7 5 5 +41 38 35 38 34 +50 48 49 47 40 +70 69 69 67 65 +55 52 52 51 54 +73 70 68 65 65 62 59 59 +99 96 95 95 91 +76 73 70 68 68 63 +13 11 8 4 2 +26 23 22 19 16 12 9 10 +95 92 89 85 85 +25 24 22 18 15 13 10 6 +87 86 82 79 78 73 +92 90 88 85 78 77 75 72 +50 48 47 42 40 42 +75 74 73 67 65 63 60 60 +63 60 59 52 50 47 44 40 +43 40 39 34 27 +27 30 29 28 25 +29 30 27 24 23 21 24 +66 67 65 63 61 61 +93 96 95 93 89 +90 92 91 90 89 88 85 78 +15 17 15 12 9 8 10 8 +23 25 23 22 25 26 +77 78 77 78 75 75 +12 15 13 16 12 +23 26 24 21 22 17 +92 93 93 91 89 88 85 84 +92 93 90 89 88 86 86 88 +29 31 31 29 27 27 +31 34 34 32 28 +87 88 87 85 84 84 77 +74 75 74 72 68 67 +52 54 52 50 46 48 +75 78 75 71 69 69 +28 31 28 25 21 17 +70 72 69 65 58 +80 83 82 76 75 73 71 +9 11 9 3 2 5 +53 56 55 52 47 47 +14 17 15 14 11 6 2 +41 42 37 35 28 +83 83 80 77 74 71 68 65 +20 20 18 17 16 18 +76 76 74 71 69 66 64 64 +40 40 37 34 32 31 27 +63 63 62 59 58 57 55 50 +63 63 60 61 59 +24 24 25 22 21 23 +24 24 22 20 19 21 21 +17 17 15 14 17 16 14 10 +56 56 54 52 51 48 51 46 +41 41 41 39 36 +36 36 34 34 37 +28 28 26 23 23 21 18 18 +69 69 68 65 65 64 61 57 +81 81 79 79 76 74 67 +35 35 33 30 27 23 21 +81 81 80 76 74 73 74 +51 51 47 45 42 41 39 39 +89 89 87 83 79 +27 27 24 22 20 16 13 6 +82 82 79 73 71 68 66 +63 63 60 55 54 52 49 52 +17 17 12 11 9 9 +40 40 39 36 31 28 26 22 +85 85 82 81 79 74 67 +61 57 54 51 49 46 +38 34 32 31 29 27 26 28 +32 28 27 26 26 +49 45 42 40 38 35 31 +36 32 29 27 25 22 16 +73 69 68 67 65 62 65 63 +19 15 14 17 20 +95 91 89 87 88 86 86 +29 25 23 21 19 20 18 14 +21 17 16 13 12 9 10 4 +85 81 80 79 77 74 74 71 +95 91 90 88 88 87 90 +80 76 76 73 70 69 69 +88 84 83 81 79 76 76 72 +67 63 61 61 59 54 +50 46 42 39 38 35 32 +39 35 31 29 26 23 26 +17 13 12 11 8 7 3 3 +96 92 91 87 84 80 +19 15 13 12 8 1 +25 21 19 14 11 9 8 6 +30 26 24 18 19 +45 41 40 33 31 31 +72 68 61 60 58 54 +96 92 91 90 84 82 76 +44 37 36 34 33 32 30 +43 38 35 32 33 +33 27 24 21 18 18 +67 62 59 57 54 52 49 45 +99 92 90 88 82 +64 58 57 59 57 +80 75 74 71 72 69 72 +12 7 4 5 3 3 +13 7 5 6 2 +79 74 75 73 71 68 63 +42 37 36 34 34 33 31 +52 45 43 40 39 39 40 +36 30 30 29 27 27 +27 21 19 16 13 13 12 8 +63 58 58 57 55 52 47 +65 59 56 52 51 49 47 45 +17 10 8 7 3 5 +88 82 80 79 75 75 +26 19 18 14 13 9 +37 32 31 30 26 23 18 +19 12 10 9 3 1 +51 44 41 38 33 32 34 +44 39 36 33 31 25 25 +21 16 14 11 6 2 +53 47 46 44 37 34 28 +35 38 40 42 43 44 41 +83 85 87 89 89 +37 40 42 45 46 47 48 52 +25 27 29 30 32 34 39 +85 87 88 90 92 89 92 93 +71 74 75 73 76 78 76 +34 36 38 35 37 37 +40 42 43 46 44 48 +15 16 18 17 19 20 26 +8 9 11 14 14 15 18 19 +71 73 76 76 73 +17 18 19 21 23 23 26 26 +52 53 55 55 57 58 59 63 +19 21 23 23 30 +4 5 7 8 12 15 18 +58 60 64 66 63 +4 6 10 13 13 +42 45 48 52 53 56 60 +21 24 26 30 32 33 35 40 +75 78 81 87 88 90 +54 56 57 63 61 +42 44 47 48 55 57 60 60 +73 76 77 79 86 90 +45 46 51 52 58 +49 47 50 52 55 56 57 +57 55 58 61 58 +15 13 16 19 21 23 23 +63 62 63 66 68 69 73 +63 61 62 63 65 72 +92 89 87 89 92 +7 6 8 9 12 11 8 +14 11 10 11 11 +26 24 27 28 29 26 30 +32 29 30 32 34 36 35 41 +19 16 16 19 20 +74 73 76 76 75 +65 63 63 64 64 +43 42 42 44 45 48 52 +63 61 62 62 63 66 68 75 +63 61 65 66 68 70 72 73 +21 18 20 24 27 24 +18 16 20 23 24 26 29 29 +30 28 32 33 36 40 +23 20 23 24 28 31 37 +63 61 63 65 72 75 +41 39 40 47 48 49 48 +29 27 32 34 34 +36 34 36 37 38 44 48 +38 37 40 45 46 49 50 56 +49 49 52 55 56 57 +68 68 71 72 73 72 +47 47 48 51 51 +87 87 89 92 95 99 +47 47 48 49 51 52 57 +86 86 88 87 90 +74 74 75 78 79 78 77 +55 55 57 55 57 58 58 +85 85 86 87 86 88 91 95 +46 46 47 46 48 49 54 +80 80 80 83 84 86 89 +73 73 74 76 78 81 81 79 +93 93 95 96 96 96 +28 28 30 30 34 +24 24 27 27 29 30 32 37 +80 80 84 87 89 +48 48 51 55 57 56 +43 43 44 48 49 50 51 51 +78 78 81 85 86 88 89 93 +62 62 65 69 71 74 79 +25 25 27 29 30 37 39 +82 82 85 88 90 96 93 +35 35 36 39 44 44 +48 48 53 55 59 +68 68 70 73 74 80 81 86 +11 15 16 19 20 +78 82 83 84 87 90 91 90 +32 36 37 39 39 +15 19 21 24 28 +21 25 27 28 30 33 40 +16 20 23 26 27 25 26 +8 12 10 11 9 +44 48 47 49 50 50 +2 6 8 11 8 12 +78 82 85 87 89 91 89 95 +58 62 62 64 66 68 +36 40 40 41 42 44 42 +39 43 46 46 46 +38 42 45 46 49 52 52 56 +53 57 57 60 62 67 +15 19 22 23 26 30 33 34 +36 40 44 46 48 45 +54 58 59 60 63 67 67 +54 58 62 64 68 +31 35 38 41 45 48 50 57 +19 23 24 27 29 36 37 38 +23 27 33 36 34 +16 20 21 26 27 30 32 32 +79 83 84 91 94 95 99 +59 63 65 72 78 +34 40 43 46 47 48 +8 14 16 18 19 18 +29 34 36 38 39 40 41 41 +20 25 28 29 30 34 +48 53 55 58 60 65 +38 44 47 46 49 +83 89 91 93 91 94 96 93 +16 22 20 22 22 +78 84 83 84 86 87 90 94 +10 15 18 19 16 18 24 +34 40 40 43 44 +10 15 18 21 24 24 23 +9 15 15 18 21 21 +70 75 76 76 80 +15 22 25 28 29 29 36 +54 59 62 63 67 68 69 +80 85 86 90 88 +45 50 54 57 57 +35 40 44 46 47 51 +2 9 12 13 17 18 23 +69 75 80 81 82 85 87 +3 8 13 16 13 +74 81 88 89 90 90 +35 40 41 43 50 54 +50 55 58 63 66 69 75 +65 62 60 58 61 +17 15 13 11 10 9 8 8 +82 80 79 76 73 71 68 64 +63 61 59 56 54 51 50 43 +44 42 40 42 39 37 34 +43 41 44 42 45 +48 47 45 44 46 44 41 41 +91 88 85 82 79 80 76 +81 78 81 78 75 70 +16 14 13 13 10 7 +69 67 66 66 65 68 +70 67 67 66 66 +89 88 87 85 84 84 83 79 +87 84 84 83 81 74 +15 14 11 7 4 3 2 +26 23 19 17 20 +72 70 68 64 63 63 +46 45 43 41 37 35 31 +27 26 25 24 20 18 17 10 +42 40 37 32 30 29 26 25 +91 89 87 85 80 78 75 77 +83 81 79 77 76 70 70 +95 94 93 90 89 86 80 76 +49 46 39 36 34 31 29 22 +58 59 57 56 55 53 52 49 +88 91 88 86 84 87 +82 84 83 80 77 74 73 73 +22 25 24 21 17 +17 20 19 16 10 +4 5 3 2 5 4 2 +27 29 32 31 32 +52 54 52 49 47 44 47 47 +45 48 46 47 43 +84 86 88 86 83 80 77 72 +9 11 8 8 5 +39 40 37 36 34 34 33 35 +45 47 44 44 44 +38 39 39 38 34 +70 71 69 69 64 +20 23 19 18 17 +27 29 25 23 21 19 22 +15 17 13 11 10 7 7 +96 97 96 92 89 86 82 +62 64 63 59 58 55 49 +53 54 47 44 42 40 37 36 +82 84 79 77 79 +30 32 30 25 24 22 22 +36 37 36 33 27 23 +80 81 80 77 71 68 62 +59 59 58 56 54 53 52 +48 48 45 42 40 38 40 +63 63 62 60 57 55 53 53 +27 27 25 24 20 +28 28 25 23 18 +68 68 67 64 63 64 62 60 +49 49 50 47 46 45 42 44 +39 39 40 38 38 +83 83 81 80 79 77 79 75 +86 86 84 87 84 78 +99 99 99 98 95 92 +34 34 31 31 29 27 24 25 +37 37 34 32 32 32 +16 16 13 12 9 9 5 +25 25 25 22 20 17 11 +70 70 66 64 61 +71 71 68 65 62 58 59 +64 64 60 59 57 57 +89 89 88 84 80 +83 83 79 78 73 +26 26 19 16 13 12 +46 46 39 36 37 +52 52 50 47 40 37 37 +58 58 57 52 49 45 +68 68 65 64 59 57 50 +68 64 63 60 59 57 +21 17 16 15 13 10 8 10 +68 64 63 61 59 58 58 +86 82 79 77 76 72 +49 45 44 42 41 36 +94 90 88 85 84 85 82 79 +86 82 80 78 81 83 +49 45 46 45 43 43 +78 74 75 73 71 68 65 61 +57 53 52 50 48 50 43 +78 74 72 69 69 67 +8 4 3 2 1 1 3 +27 23 23 22 22 +27 23 23 21 20 16 +85 81 80 78 75 74 74 68 +15 11 8 4 3 2 +68 64 62 60 56 55 53 55 +82 78 75 71 68 66 66 +57 53 52 48 47 46 44 40 +38 34 30 29 24 +29 25 20 18 17 14 +28 24 21 16 17 +94 90 83 81 79 77 77 +60 56 53 50 43 39 +36 32 27 26 21 +36 30 29 26 25 23 +16 9 8 6 5 3 2 5 +92 87 84 81 78 75 75 +26 21 20 17 16 13 9 +33 26 23 22 21 18 17 10 +95 89 86 85 83 86 84 +54 47 45 44 43 44 43 45 +22 15 12 9 10 8 8 +92 87 84 85 82 81 77 +88 83 80 79 76 78 75 68 +22 15 15 13 11 9 8 +82 77 77 76 74 76 +90 83 80 79 79 78 78 +70 64 62 60 59 59 55 +87 80 80 78 76 74 71 66 +31 25 21 19 16 +90 85 82 81 79 78 74 75 +64 59 56 52 52 +63 58 57 53 51 47 +64 57 53 51 50 47 45 38 +60 53 52 46 43 +85 78 75 69 67 65 64 66 +35 29 22 20 20 +37 32 27 24 23 22 19 15 +67 60 57 56 54 47 41 +14 17 15 12 12 8 +10 10 11 14 17 20 22 22 +98 96 95 93 92 86 +73 71 72 74 78 +50 54 58 60 62 +57 59 62 62 63 61 +88 84 78 76 73 +49 49 45 44 43 39 +47 47 50 51 52 54 +59 57 56 52 49 +13 12 11 10 10 7 7 +94 90 89 88 87 88 88 +24 24 22 16 14 8 +45 46 48 49 50 52 52 +64 64 64 65 67 69 73 +53 58 60 61 62 64 64 68 +52 55 57 54 53 +71 68 64 62 58 +64 68 70 71 71 74 75 79 +54 55 55 57 57 +89 92 85 82 79 78 78 +81 80 83 84 90 91 +14 20 22 25 29 32 36 +46 46 48 48 49 51 57 +18 14 13 9 7 5 +92 87 84 84 81 82 +50 49 46 46 45 43 44 +82 85 86 87 89 86 +44 49 51 54 56 63 63 +88 90 90 87 85 82 77 +64 71 72 76 75 +97 98 97 95 97 95 94 90 +46 45 48 50 54 54 +24 20 18 16 15 14 13 8 +53 56 59 58 55 58 +49 49 50 55 58 +47 41 38 38 37 33 +25 31 28 30 33 35 37 40 +64 63 65 67 70 67 70 70 +53 49 47 47 44 43 37 +30 37 43 45 44 +53 48 47 45 41 +65 69 73 76 80 +58 52 48 46 45 44 41 43 +9 7 7 10 15 +82 82 83 90 90 +63 63 60 57 53 52 46 +31 27 25 24 20 19 12 +5 4 7 6 5 3 1 +86 82 81 84 80 +86 81 79 76 75 73 69 67 +54 57 59 60 62 66 +52 48 46 41 37 +46 46 43 41 40 39 35 +49 50 51 53 59 64 +25 27 30 32 32 33 +59 62 59 57 56 +16 16 16 13 12 10 8 11 +34 28 24 22 20 17 13 +57 57 57 60 63 62 +53 59 57 58 62 +29 27 25 24 18 16 9 +50 54 57 57 58 60 60 +41 35 32 32 30 29 23 +66 69 68 62 59 56 52 +49 44 45 42 41 37 +61 61 60 57 50 +3 1 2 9 11 11 +29 26 24 23 21 20 19 19 +59 60 61 63 63 65 69 +97 95 91 88 85 82 83 +4 11 13 20 21 22 24 +72 74 69 66 65 59 +62 68 71 74 74 77 78 78 +69 65 62 61 63 61 54 +15 17 14 11 10 12 12 +83 80 79 75 74 74 +75 70 69 63 61 62 +65 69 70 73 76 75 77 77 +34 29 27 25 24 21 18 21 +6 6 7 9 12 16 20 +50 50 47 45 44 45 45 +69 70 72 69 72 76 +80 80 78 74 73 72 71 71 +28 24 20 17 14 15 +51 51 54 56 61 +38 34 33 33 32 +23 23 25 27 31 28 +39 37 39 42 44 46 48 +56 62 63 63 65 67 69 67 +74 74 80 81 78 +73 71 70 67 63 58 +32 36 38 40 43 50 56 +87 83 81 75 69 +69 65 62 62 64 +85 88 89 93 98 +20 13 11 10 10 +52 53 56 60 62 66 +58 58 59 62 62 65 67 +75 81 83 85 87 87 +38 32 29 24 21 19 14 +93 89 82 80 79 77 75 78 +11 11 13 14 13 14 13 +50 50 45 44 43 40 38 +86 82 79 76 72 72 +81 88 89 92 95 96 96 97 +39 37 42 43 42 +22 21 24 21 17 +24 23 22 22 21 +38 35 35 38 42 +61 61 64 66 68 70 67 67 +92 92 90 88 90 89 88 89 +4 4 5 9 15 +78 82 84 87 91 +63 62 61 59 57 54 54 50 +51 55 60 61 63 65 68 +43 48 54 56 58 63 +47 49 53 54 54 +81 85 88 91 96 +44 44 42 44 46 49 52 59 +84 86 85 83 80 78 81 80 +13 13 12 8 7 +66 70 72 73 74 75 74 +85 87 86 83 79 +19 24 25 27 24 27 30 30 +17 20 23 24 30 27 +15 10 11 10 8 5 6 +81 85 91 94 97 94 +75 72 75 78 78 81 83 81 +49 51 48 48 45 44 42 45 +59 57 60 60 62 +91 84 82 77 77 +27 27 25 24 22 24 +52 55 51 49 49 +70 70 72 79 80 84 +74 78 79 83 85 86 88 88 +76 70 73 72 71 69 +47 43 41 40 39 41 39 +82 81 84 86 85 89 +21 25 26 29 26 27 28 25 +41 36 35 33 30 28 22 +37 37 39 41 43 47 +13 20 21 24 26 29 34 +38 38 36 35 30 26 +14 18 19 20 20 27 +85 81 78 74 70 +17 15 16 15 16 18 +96 99 95 94 93 91 88 81 +74 79 80 82 85 83 89 +41 38 39 44 46 51 +23 19 13 11 9 9 +72 79 80 81 78 80 82 80 +93 93 95 98 96 97 99 +27 23 22 20 19 16 16 +83 83 85 88 90 92 89 +58 55 52 49 42 42 +45 39 37 37 35 34 31 +40 44 47 45 46 +3 3 4 1 5 +11 13 8 6 5 3 2 +43 40 42 41 40 39 36 37 +34 31 29 28 24 +25 23 24 25 28 25 23 +94 89 88 84 82 80 79 79 +76 72 75 74 75 +17 20 21 18 21 24 27 28 +59 55 54 51 50 46 +11 11 10 8 8 5 4 3 +15 19 21 24 26 27 28 28 +11 18 20 24 26 27 27 +58 56 58 61 63 64 66 73 +68 67 68 69 72 76 77 79 +2 9 12 16 19 +38 38 37 37 32 +28 28 31 30 23 +67 67 66 65 62 59 +1 7 8 11 12 15 19 +40 39 41 43 47 54 +72 65 62 60 53 49 +98 99 97 93 91 87 +56 59 58 56 54 47 +19 19 15 12 9 11 +36 38 36 39 40 47 +8 9 10 12 13 17 15 +55 62 64 67 70 72 70 +19 21 20 18 19 +78 81 82 86 87 90 93 96 +30 28 31 32 35 34 +42 40 37 32 30 29 27 26 +78 78 81 82 85 85 85 +31 35 37 38 40 41 +72 74 75 78 78 80 82 87 +14 14 11 8 9 6 +1 5 6 7 10 14 16 14 +47 51 54 54 57 54 +3 3 3 2 2 +28 34 35 39 44 +25 25 28 33 39 +82 85 82 81 78 78 +83 87 90 91 93 93 96 97 +80 81 78 74 76 +31 31 31 28 26 23 19 +39 45 48 51 54 60 64 +73 76 73 73 72 69 +55 59 63 66 69 70 72 79 +72 68 65 64 62 62 62 +49 49 44 41 41 +70 74 77 78 77 80 82 87 +49 53 50 52 53 54 57 61 +98 93 91 88 90 89 84 +64 66 61 59 62 +88 86 88 87 82 +46 44 43 40 35 37 +28 24 21 18 15 13 10 7 +53 52 54 55 57 57 +93 89 87 84 82 82 80 76 +93 87 89 86 86 +9 10 11 14 15 13 15 15 +10 11 13 20 21 24 25 29 +71 74 79 80 80 +39 43 46 47 48 55 55 +85 81 78 77 76 73 75 +66 73 76 77 78 78 85 +80 78 79 77 79 85 +33 34 33 31 27 26 +69 66 69 73 75 77 76 +36 30 27 25 23 23 23 +70 67 66 64 62 65 +23 25 23 20 19 20 17 11 +24 24 25 29 30 32 34 35 +76 77 80 83 86 92 94 +62 60 58 55 53 53 51 45 +14 16 13 12 10 10 7 7 +74 74 73 70 69 66 63 63 +50 53 56 59 60 65 +89 88 85 82 81 80 +27 25 22 21 20 +71 72 75 78 80 82 +58 55 54 53 52 51 50 49 +44 41 39 37 34 33 +78 81 84 86 88 91 94 +25 26 28 31 32 34 +47 46 43 40 38 +10 13 14 17 19 22 +80 82 83 84 86 89 +79 80 82 84 85 86 88 +52 55 57 60 61 +58 61 62 64 65 68 69 70 +82 83 86 89 91 93 +24 23 22 21 18 17 +23 26 27 28 31 32 +19 18 16 14 12 9 +70 68 65 62 60 58 57 +50 52 55 56 58 +18 21 23 25 27 29 30 +44 47 50 52 53 +96 95 92 90 87 +43 46 49 50 52 +12 13 16 19 21 22 24 25 +52 55 56 57 58 59 62 63 +25 23 21 18 16 13 +89 86 84 81 80 +55 53 50 47 46 +65 64 63 60 57 54 +14 15 17 18 19 20 22 25 +30 29 26 23 22 21 +29 27 24 21 19 16 15 13 +40 39 38 37 36 33 32 31 +24 25 28 29 32 +87 84 82 79 78 77 +18 21 22 25 27 30 32 35 +81 82 83 84 87 89 92 +7 8 11 13 14 17 19 22 +10 7 6 5 4 1 +66 65 64 61 58 57 +78 76 74 73 71 68 66 +63 65 68 69 71 73 74 77 +63 65 67 69 70 71 72 73 +90 88 86 85 82 81 +49 47 46 45 42 41 38 +76 75 73 72 70 68 67 +79 81 82 83 84 +76 75 73 72 69 +64 61 59 58 56 54 53 52 +87 85 83 80 79 76 +30 29 26 24 22 19 16 14 +56 58 61 64 66 +21 19 17 14 11 +75 78 79 81 84 86 +76 79 80 83 85 +66 65 64 61 58 +56 53 50 48 47 45 43 +34 32 30 27 25 +10 13 16 19 20 23 26 28 +41 44 45 48 50 51 52 53 +28 25 24 21 19 17 14 +36 34 32 30 28 25 24 +38 40 42 44 47 49 50 +1 3 4 6 8 10 +37 35 32 30 28 27 26 +37 35 34 31 29 28 26 24 +94 91 90 89 88 +70 69 68 65 62 60 +81 83 86 88 90 92 95 98 +90 89 86 84 82 80 +52 51 48 47 46 43 +47 44 41 38 37 35 32 +38 37 34 33 30 28 +58 56 55 54 51 +19 17 14 13 11 8 +33 31 29 26 24 23 22 19 +40 42 43 45 46 47 49 50 +77 75 73 71 70 67 64 61 +43 42 39 36 33 +4 6 9 10 12 14 15 18 +14 13 12 9 8 5 +43 41 39 38 37 35 33 +70 72 73 76 77 +80 82 84 85 86 89 +65 66 67 69 72 +17 20 22 23 26 +85 86 87 88 89 +50 47 44 42 41 38 +6 7 9 12 14 16 18 +89 91 92 95 97 +45 47 49 51 53 +61 60 58 56 55 52 51 48 +64 63 60 58 55 +62 64 65 66 69 72 73 76 +57 59 60 63 66 69 +74 71 70 67 65 63 60 58 +51 53 54 57 59 +86 88 90 91 94 +68 71 74 77 79 81 83 +76 74 71 68 67 +81 79 78 76 74 +43 45 48 51 54 55 58 59 +84 82 81 80 79 78 76 75 +49 51 53 54 57 60 +37 39 41 44 47 50 +65 68 69 70 73 74 77 79 +91 90 88 85 82 +23 25 26 29 32 34 +41 42 45 48 50 +64 61 59 57 54 51 50 +23 25 26 29 30 33 35 +19 16 14 12 10 +79 80 81 82 85 +36 37 38 40 43 44 46 49 +60 61 62 63 66 +46 45 43 42 40 +49 52 55 57 60 +14 15 18 19 20 21 +98 96 95 94 93 90 89 86 +76 77 78 79 81 +18 15 13 11 10 7 6 4 +34 35 37 38 41 44 46 48 +35 32 29 28 27 25 +78 80 83 86 88 +87 84 82 80 79 78 77 +75 72 70 69 67 +90 92 94 95 97 98 +36 33 31 28 26 25 23 +50 52 54 56 57 58 59 62 +56 57 58 61 62 63 66 +81 80 79 78 75 74 +20 21 22 23 24 26 +45 47 48 49 51 53 +39 41 43 45 47 49 51 52 +18 20 22 23 26 +18 20 21 24 26 29 +25 23 20 17 14 12 9 6 +12 15 16 18 20 23 25 27 +10 13 16 19 22 23 24 +98 95 92 91 89 86 85 83 +14 16 17 19 21 23 25 +5 6 9 11 12 13 14 +66 64 63 62 60 +50 49 46 45 43 +87 86 83 82 81 80 +34 31 30 29 27 24 21 20 +28 25 24 23 22 19 18 +66 64 62 60 58 +57 56 53 52 50 +48 50 52 54 57 58 61 +65 68 70 72 74 +11 8 6 5 2 +30 29 27 25 22 21 +52 55 56 57 59 62 65 67 +78 76 75 72 70 69 66 63 +5 8 10 13 16 18 19 20 +31 28 27 24 21 19 +32 34 35 38 40 43 +23 26 29 30 32 +87 86 83 81 78 77 75 +35 37 39 42 45 +72 73 76 78 79 82 85 86 +78 75 73 71 70 67 66 63 +72 70 69 66 63 +48 46 43 40 39 36 35 +2 4 6 7 8 10 +88 90 91 93 96 98 +66 69 70 73 75 +28 26 23 22 21 18 15 +12 14 17 19 20 21 24 25 +20 17 16 14 13 11 8 +30 27 25 22 21 19 +50 47 46 44 43 42 40 +91 88 85 83 80 78 +59 60 63 66 68 +42 44 45 46 49 51 53 55 +82 80 77 74 71 70 +13 11 10 9 7 6 3 +69 66 64 61 58 +61 58 55 54 53 52 51 +25 23 20 19 16 +21 23 26 29 32 34 35 +22 23 25 26 29 +25 24 21 20 19 18 +48 51 54 55 57 58 59 +23 25 28 31 34 36 +40 41 44 46 49 50 +83 81 78 75 74 +16 19 20 23 26 29 30 31 +14 13 12 9 6 +77 76 74 71 70 69 +75 73 72 69 66 63 +50 52 54 56 59 60 +53 50 49 46 44 43 41 +18 16 13 12 9 8 +26 24 22 19 16 +44 42 39 36 34 +37 40 41 44 47 49 50 52 +8 9 10 13 14 17 +54 56 57 59 61 62 64 +54 56 59 61 63 +14 13 11 10 9 6 5 2 +63 65 68 69 72 74 75 +70 69 67 66 63 61 58 +64 67 70 73 74 76 +40 39 37 36 35 34 31 30 +45 42 41 39 36 33 30 +61 59 57 54 53 50 +31 33 34 35 37 +38 40 43 44 46 49 +36 38 41 43 44 46 49 50 +63 62 61 60 58 56 +15 12 10 8 7 6 5 +42 45 47 50 53 55 +57 56 54 53 50 48 47 +13 10 8 7 6 +86 85 83 81 78 76 74 71 +44 43 42 40 38 +33 31 28 27 24 22 21 +72 70 69 68 67 66 63 62 +58 60 63 66 68 71 72 73 +29 30 33 36 38 39 +11 8 6 3 1 +33 32 31 29 27 25 24 +53 56 58 61 64 +60 58 56 55 54 51 +67 70 71 73 75 +3 5 7 9 12 13 16 +28 29 30 33 36 +40 37 36 33 32 30 +22 19 16 13 11 +25 28 30 33 34 36 37 +32 34 36 37 40 42 44 +23 22 20 19 18 16 13 +59 61 63 64 66 69 71 +30 29 28 26 25 22 20 +60 61 62 65 68 +61 64 67 70 72 +48 47 45 44 42 39 37 36 +77 79 80 83 85 87 +29 31 33 34 36 38 +6 8 11 13 16 17 18 21 +98 97 94 92 91 88 87 84 +35 34 33 32 30 27 26 +87 89 90 92 95 +10 9 8 5 4 3 +68 69 70 73 74 77 79 +63 60 58 55 53 50 +68 71 72 75 77 +34 36 39 40 43 44 +20 22 23 26 28 +48 46 44 42 39 38 +96 94 91 88 85 83 80 78 +79 76 74 73 71 70 67 64 +26 24 21 20 19 16 +67 69 71 73 76 77 80 +72 71 70 67 65 +60 57 55 54 53 51 50 47 +72 73 76 78 79 80 81 83 +64 67 69 70 72 73 74 +41 42 45 48 49 51 52 55 +85 88 89 90 91 94 95 98 +96 93 91 89 86 85 83 +72 71 68 66 63 +86 89 91 92 95 96 +35 38 39 41 44 45 +12 15 16 18 21 22 24 +65 63 60 59 57 54 52 +37 34 31 29 27 25 22 19 diff --git a/2024/02/solution.nix b/2024/02/solution.nix index 45eb362..b467e75 100644 --- a/2024/02/solution.nix +++ b/2024/02/solution.nix @@ -1,4 +1,5 @@ -{lib, ...}: rawContent: rec { +{lib, ...}: {file}: rec { + rawContent = builtins.readFile file; content = lib.strings.removeSuffix "\n" rawContent; toLines = lib.strings.splitString "\n"; diff --git a/2024/03/input.txt b/2024/03/input.txt new file mode 100644 index 0000000..34046ac --- /dev/null +++ b/2024/03/input.txt @@ -0,0 +1,6 @@ +}mul(417,770)%why(){/':mul(187,313)<@*select()mul(908,713)who()$mul(156,598)#from()* from()^-mul(233,874)&when()mul(346,616)what()(select(),when()where()when()when()&}mul(814,171)+;how() ?)when()?mul(68,188),[select(336,87)^%when(108,692)#mul(621,712){}when()how(69,755)mul(273,27)+:'?( /what()who()from()mul(135,680)-]{:;mul(7,723)where()@{mul(626,107))how()//when(),~+mul(834,113)&!where()$mul(951,76) /why(767,720)mul(107,588)mul(632,977)mul(55,47))[select()']what()mul(803,299)&%#mul(684,214)]}{-}[mul(806,141),mul(166,98)(select()[*'mul(619,823)mul(633,178)-how()from()?from()*#what()'mul(806,961)what()!?mul(529,544)?+[@$where()mul(498,66)?where()why()who()when()why()'from(742,433)mul(623,31)what()&{>]when()who()$/don't()-^!)where()select()mul(761,938) }}mul(799,944)]~what()mul(872,175) &]-@[mul(59,669)-:,:[{mul(457,618)&),(-[< / mul(490,407)>who()$do()who()!+^mul(579,603);>mul(365,610)!#<^;mul(802,476)}')select()what()don't()$%]}'*what(661,765)>+mul(506,360)*#&!mul(484,725),#~how()~select()don't()?what()mul(16,825)mul(732,513)##mul(990,859) <*,what()%$*?;what()mul(98,564)mul(312,793)~select()where()}$%mul(173,805)}what()/$##}mul(369,326):why(421,566)#mul(357where(305,979)what()*)*mul(775,55){when()%select()~/what() /mul(332,608)-who(),mul(592,150)~/#&#}]mul(453,71>~'from()~%mul(540,100)$/:}#(@ mul(789,978)%$](#{>]?mul(473,873)when()where() {@]why()mul(606,201)who()how()mul(212,663)^;#:when())#don't()where()what()where()*why()why(836,629)@%mul(95,601) +~%'{;mul*,mul(88,716)^ don't()how()when()?%$}when()]?mul(565,119*> $from()-~?mul(980,419)'}from():what()mul(877,181)why()~-, from();~~(mul(347,867)[mul(259,40)?&^/mul(707,897)!!why(589,359)+*>>?@!mul(657,687)/from()who()%-?>?who()mul(795,56) ;<))},mul(3,638)-)mul(243,985)$?where()[})what()mul(487,217)+~//;:mul(449,151)$#(select()why()$%}mul(201,260)select()([[)what()];mul(773,545)~;mul(859,808)mul(235,354)mul(388,265)mul(479,697)from()when()what()select()!^[from()mul(366,310)'*when()/[![(mul(288,12),!,#how()^}}mul(173,948))~why()/!mul(461,403)& where()mul(268,357) +when(578,754)mul(12,923)# /+who();&'^mul(874,174))from()] mul(294+$$[when()where()+mul(118,975)mul(954,230)(+when()mul(579,726)why()$+]$mul(796,252):@ ^?mul(108,275) $)who()why()^mul(782,400);*@~what()'-mul(712,375)[!who(791,378)mul(163,311-]:@!#[select()%%,mul(375,461)*''from()><},@{( ;mul(361,764)@mul(71,571)?%~from()what()[ +mul(384,899)@:]mul(627,870select():@!]/mul(676,247)?$what()%who()&from()from(228,681) mul(974@why()*mul(101,691)^do()[why()how()+&mul(228,575)%$where()&#why()from()mul(601,339)#:>@(from()mul(9,628)~{$],why(412,785)):mul(921,60)?when()$mul(230,472)%where(){?}@{mul(57,287)mul(620,392)who()))how()')}mul(920,110)) how()why()>*)from()'mul(66,955)who()mul(339,162)how()from()#mul(63,609)?+how()<&#where() mul(917,834)(mul(845,751)/mul(803,539)~>&:##?:why()']%^what():mul(462,669)select(),##;:&(mul(211,530)select()from()when()$mul(470,942){-select()what()> mul(934,811where(),mul(424,644))~-{mul(265,791)where()who())mul(403,892)select():<~-when()who(59,475)^mulselect()^mul(265,57)mul(465,609)mul(286,417)select()mul(208,44)#}:)}(+mul(997,988), mul(701,669)where()-from()mul(90,543)-[mul(609,511)>,%-why()why()(what()from()don't()[@;~mul(18,991){;/!^'}-mul(87,567))mul(571,648)-how()#~mul(191,910)}?<&&#~mul(324,407)$(#mul(354,471)^}^#&',)&mul(441,628)'mul(553,282)select(),select()where(){mul(485,690)what()?*]#when()$:>mul(939,289)'mul(482,608)'mul(14,642) how()<@^when(805,793)/mul(132,58)how()($}?where()mul(420,564)mul(542,105)&what()} !~!'why(){mul(380,891from()~where()]what(570,293){mul(255,57)@who(288,308)what()?[how()/mul(838,593)'#+who()what()mul(796,32)&why()who()when()when()^'how())?{(mul(821,630)$@mul(706,250)}+,/why(588,457)'>mul(451,548)where()]where()&?select()# %mul(194,6)how()how()why()( )/~from()&mul(519,83)&from(),mul(462,510),>,-?{)how()[mul(840,412)where()!;why()#where()/<)why()mul(452,646)?}?!$+!,/mul(502,96)^~(^mul(278,460)mul(478,959)where()-,select(233,181)why()>-mul(391,238)mul(59,361)when()-why()select();why()+:@who()[from()]mul(490,50;who()((when()!why()mul(667,140)what()mul]*from()!^}why()}>:do()~ {(select():why()*mul(691,254)select()why()mul(911,232)where()]#;'don't() *^when()]{}mul(479,259)select()'!}@ *?mul(673,636)how();#how()%^ mul(428,280) }}')*+mul(13,237 why()*/:/)mul(128,243)(mul(691,104)-$@mul(622,807)[:mul(489,852))what(55,333)where()#&[how()#mul(502,795)[?mul(820how()@'why()((mul(620,867)mul(507,4)$^- mul(206,143)- mul(10,462)/what()where()what()^what()what()mul(734,952)%how()@mul(730,42)what()]why()when()mul(80,180)how()~?{[:where()?+where(),mul(261,682);$>^mul(946,198)*-~{select()?where()]mul(331,301){@()how()don't()from():mul(105,560)when(378,815)+*):%^mul(613,583)where()##~mul(761,592)select()@[$why(),}{({mul(727,677) /do()#(what()%@$why()%/mul(488,910)who()who();mul(385,653)}mul+ mul(340,374))#(mul(853,934)#&??why()why()mul(764,68)what(){mul(759,904)*;%mul(398who()]}:@'$mul(126,742)how()how()+')@when(){mul(585,684)%$>)<)where()mul(463,855)how(222,976)mul?$#><&$;from()when()when()mul(100,686)!when()what(),>;mul(814,643/@>]>!]mul(835,81)&~select()how()+))+mul(155,781)'%<,;-@'who()mul(709,919) [#{select()(<,where()mul(269,144)what()'>~where()mulwhy()mul(329,330)&from()$:*from()how())mul(483,838)mul(51,282)-+@>++{mul(717,169)($)~]why()^%how(68,594)mul(51,386)where()from()why(424,17))@$mul(230,225)when()&why()*mul(472,522)^what(602,992) mul(169,570)what()/:who()['why(102,867)#'@ $mul(274,92)what(){from()from()from()who() {-mul(372,694){how()select()>mul(15,627)~'who()[what()from()mul(338,200%?*&'!<)mul(477,26)why()*+what()$who()>how()mul(945,996)why()[do()>;who()>why(289,937){!%who()mul(355,685)!mul(644,668)?/ }^}mul(300 [!how()*?when()why() mul(141,672)+&];$)mul(921,47)), {{]>where()from()select()mul(622,890);@$-mul(195,976)$[:when()where()/mul(887,64))mul(799,568),select() { @*>mul(535,258)?why(567,793)^{'*;]mul(202,214)(%when()^<]$-$mul(951,841)![ ];+how()mul(925,412)$;)%']mul(303,460)$where()(mul(369,207)why()>how()%@when()-~-do():+select()#!/usr/bin/perl>#}:mul(110,876'~%from()!{select()mul(924,516)from(){::[#)!&[mul(316how()!from()>mul(570,999) +'}who()&%;}#mul(541,894),'[mul(35,499);select()where()^$@}?mul(239,128)~mul(750,487);how()what(),what()why()]mul(842,927)'&{;what()mul(231,35)+why())who()from()how()why()select()mul(117,134)[*%;~+@/(?mul(184,337)mul(751,262;;mul(71,403),!]/what():*mul(49,974);%mul(556,780)#&;#>when(809,477))}how()mul(934,699)@{!mul(687,51)(where(319,422)why()how():'!mul(340,635) &where() when()-select())>mul(816,984)*;who(267,941){why()#]mul(999,933+ ]$ mul(706,15)!mul(797,760) )who()mul(577,413)(*don't()^@,+mul(551,920)(%@mul%* what()mul(107,870)$?when()how()mul(291,96)>>who()-{]<]'mul(607,186)why()select()mul(239,162) from()how(8,248)+*mul(603,94)*how();];!+mul(937,437)select()[+mul(720,689)@ where()[*<$mul(176,240)mul(488,6)mul(884,356)#what()(#mul(357,216)$why(981,545)mul(15,621):]when(384,172)%?from()/mul(556,42);/[/when()where()%select()mul(911,748);('mul(634,654)mul(187,910):;>mul(671,55)/>why()*mul(487,182) &mul(823,339^[*when()!~$do()mul(752,615)select()}select();) ;mul(891,463)why()who(749,89)&$who() *}-where()mul(483,646)>}-[/mul(463,928)) #when()*who(818,29)where()(&don't()when()%;mul(913,774)} mul(822,254)@]}-mul(949,6)where()from()when();;when()>@@(mul(631,409)where()select()who()~}mul(492,930)mul(388,777) }']select(441,164)!mul(957{{how()$]/%mul(626,541)~:do();mul(796,50)%^~mul(992,764)what(460,353))[what()how()>@;where()mul(944,226)(/?who()*@what()mul(986,707)!who() #++:mul(712,362)@)what()what(377,883)who(){who()~why()mul(570,45)-*why()what()!~<#mul(873,695)}{~ :~;'$+mul(526,676)?),/mul(106,52); ;%*how()from(165,744)what()from()do():?+ >;mul(151,167)mul~-!mul(873,682)%;;!~?mul(13,903)[$* }mul(188,728)#})(<mul(206,992)mul(112,681)who();from()why()mul(998,665)why(52,375)!mul(146,638){mul(783,242from(907,600))[why()@what()select()^ %*don't()mul(949]what(),,what()-<(%mul(519,474)who()~-)mul(640,389)%where()/~@ <&]why()mul(113,424)when()[mul(234,782;,(;-where()why()how()mul(838,733)why()mul(15,790)mul(239,592)^,select()!^*]mul(537,113) + )}>;why()#{ {mul(469,192)?#,'what()mul%!{>+&what()mul(392,708)'mul(156,225)?]+mul(436^who()why();@#!why()how()when()&mul(506,544)why()when()mul(211,662)what()/-)](from()(]?mul(530,199))}why()> mul(833,595)+?$ (mul(98,477)*/};{why()what(966,350)#'mul(44,78)why()!%]% ~}/mul(376,267)/why()'^&&;do()^{/+~how()mul(174,478);what() %{[+!mul}/<)where()@mul(825,710)[ ]mul(60,655)+mul(538,818)-*mul(917,316)!from()&[)mul ?why()'^mul(32,228)~@-~^^mul(803,610)$((;~when()how()mul(622,388)^from()why()mul(291,294)select()+ mul(61,978)mul(986,197)why(405,935)where() where()#{%mul(383,280)%#]*@mul(266select()<>mul(459,359)*&$who()-&+&from()mul(122,271)#mul(85,195)^>select()where()?&mul(953,467 @,^@}@@[mul(297,412)^mul(845,508)where()who()how()}[?when()~%why()mul(320,30)-mul(348,650)*~;&mul(694,123)#+why()mul(516,744)mul(873,547)-select()]mul(194,499)how()+what()>mul(542,764)who()%when()~mul(150,709)how()}where()@!{)from(773,172)mul(568,873)!+;mul(730,244)from()^ where()*[where()select()mul(554,163)(when()+$~where()*}@+don't()from()~select()who(421,469)&:)mul(279,687)who()%#^when() -select()}mul(8,389):)}why()do()when(984,806);!@:(&mul(59,374)&who():}:$ :mul(919,44)#)(!']why()select()mul(820,819){why(){*^#mul(439,942)>select()]/;select()/'mul(175,719)select()mul(890,515)+;)mul(611select()-mul(881,340)>~?mul(984,156)mul(330,398)/;why()^ :who()mul(677,667)what()&*what()what()mul(686,640)):-when(),(+mul(40,933)what(423,54)/&#+when()mul(914,37);how()!*~!when()/mul(456,51)when()when()!+]!what()#what()don't()what(225,210),from()~^[@>mul(370,841)what()from()@~-/mul(67,351)(&}mul(59,921)$--^*}mul(566,572)!how()+*mul(365,948)/$!@&mul(782,899)}/!}~how()mul(73,229);~what()when()*#&where(751,442)who()mul(487,586)when()mul(258,912)@~{what()#]>when()when()mul(124,236)<%(-from()mul(65,560)*when(73,56)mul(675,80)}:^don't()how()mul(32,556){select()%!where(500,153)@<&mul(445,212)from()&'who()who(910,924)}@~}what()mul#)why()(!)who(339,797)what()mul(151,749)how()%#>:select(761,257)]when()]mul(866,572)%@'what()~?where()&mul(544,274)-select())mul(159,997)mul(844,233)from(): +who()%what()select()%]do()%where()mul(226,633)/?]where()(when()?don't()$!~+![@mul(645,560)/who()from(715,999)?-mul(13,127)>#%'{mul(439,817)where(331,588)?+[mul(224,797)mul(464,432)mul(35,360)>when()%who()who()select()$#mul(356,503)#[mul(813,62){-<-where()##mul(241,813):[)mul(338,295)what(384,596)%;^who()mul(462,430)mul(182,412)+*/mul(616,721):;mul(10&&where()[^when(),@;{mul(954,803){])what()mul(23,586)mul(897,119)}]^&<{*mul(986,79)#??,,mul(613,13){from()when()mul(866,149)mul(772,870)(<:&who()*what()mul(515,452)what()why()$who()where()]mul(878,410)*mul(594,420)/}[where()>[+)mul(924,312)(#+select()$mul(310,382)$(mul(853,276)#$select()&]-:'when()mul(574,694):*mul(548@'why()[[mul(705,329)@why()#what();((where()mul(754,401)$:#*:#+%mul(958,635)@[)/select()@;why()(mul(648,81)!)from() +mul(792,904)'@@^}mul(987,166)>+?mul(282,196),[how()%!{?@+mul(486,579)%+who()'~why()mul(976,618)when()mul(763,421)mul(421,343)^!,/,-][@^mul(895,484)*how()(why()/from()mul(527,80)]-*:{%-%mul(568,730)-mul(923,402)(!how()%)?+what()^where()mul(744,416) why()mul(824,613)! who(339,629),mul(474,127)>^#select()select()>{from(955,780)mul(961,300)why();:how()*where(674,394)why()''mul(220,654)->)why())^-mul(352,662)?where()/from()mul(755,837)@::@why()mul(173,195){,#mul(369,738)^$?;how()do()@what()where()?@)select()$>$mul(610,930)mul(692,271)}(^@when()[@mul(825,772)),[$;what(364,840)how()&@mul(514,944)*(#^mul(600,592);why()&mul(360,432)>>$!when())from()why()mul(771,433)/who() $what()^^mul(759,696)mul(794,141)?*what();what()how()/mul(575,123)how()([!;],&mul(690,157){$~why()]why()don't()what()#@))~'[<)!from()what(){[]mul(901,549)'what()}from()why()when()how()<*mul(416,637)mul(518,747)!?when()why()?>don't()]]??]<;*^mul(946,35)what()[where()what()/[**/mul(60,183)/{how()~>>why()*mul(510,950)/%who()%{](,!'mul(871,310))]!mul(824,101)who(666,710))what()why()what()$how()%who()mul(96,822)how()who()mul(689,448)mul(469,609)!@^mul(977,145)& mul(836,253)?+where(42,895)?who()%mul(390,417)mul(641,894)what(312,406)(?when()how()?$mul(968,385)when()^^;mul(779,772)>/->(,where()mul(921,632):(select()(where(228,976)why():']mul(381,906) diff --git a/2024/03/solution.nix b/2024/03/solution.nix index ccc8810..dd2a50b 100644 --- a/2024/03/solution.nix +++ b/2024/03/solution.nix @@ -1,4 +1,5 @@ -{lib, ...}: content: rec { +{lib, ...}: {file}: rec { + content = builtins.readFile file; muls = memory: memory |> builtins.split ''mul\(([0-9]{0,3}),([0-9]{0,3})\)'' diff --git a/2024/04/input.txt b/2024/04/input.txt new file mode 100644 index 0000000..879c99e --- /dev/null +++ b/2024/04/input.txt @@ -0,0 +1,140 @@ +XMXXXMMXXSXMSMMMSXMSSSMASXMAXSMMMAASAMXASASXSXSASMSMSSSXSMASXMMSAMMMSAMXSMMMAMMSMMSXSAMXMSMSASMSMSMSSSMMSMMMMMASMSSMSSXMAMXMASAMAMXSXSXMMASA +MXMMMMMSXMASMMAASAMXMASAMXMXXSAASMMSAMXXAAXAAAAAXAAXAXMASXASAXAAASAXAASMXMAMXMAXMAMAMAMXXSAMXAXAAAAXAAAMAMAMMSAMSAXAMMSMAMSMMAMXSXMSAMXXSASX +XAAMAAAMXXMMASMMMXMASMMXSAXSAMSMSAASAMMSMSMMMMMAMSMSXXMXMMMSAMSSMMASXMMMXSSSSMSSMASASAMMMMAMMMSMSMSMSMMMSSXMAMAMXMMXMAAXXXAASAMAMASMXMAXMASA +SSMXSMSMXSSSMMMXMXAMXAAASASMXMASXMMSXMAAXAAAXMXAXAXSMMMAMAMMMMXAXXXMAXMXAXXAAAMAMAXXSASXASAMAAXXXAXAXSMMAAAMSSSMMXAMMSSSMMSMMAMASXMAAMMXMXMX +AAAXMAXMAXAAAXAAMXSSSMMMSXXMASMSMMASAMSSMMSXSXSASMAMAAXMSAXAAMXMMMMSXMSMSSMSMMMAMMSMSMMMXMAMSASAMAMXSASMMMMAAAAMSMSAMAMAAXMASMMXSASMXAXMXMAM +SXMXSASMMMSMMMMMSAXAAXSXMAMMAXMSXMAXAMAXAXMAMXMASMAMSSSMSXSSXSAAAAAXAXXAXAMXMXMAMXAAXAAXMSSMMMAXSXSXSAMSXXSMMSMMAAXSMAMSMMSAMAXASAMASMMXAAAM +MASMAXSAMAAAMXAXMXMXXMASAAMMSXMMAMMSSMAXSASXXMXAXXXMXAAAXAXXASXSSSSSMMMSSXMAMAXAMXMSMMMSAAMAMSMMMASAMMMXMXMAXMMSMSMMSXMAXAMMMSMASAMMMASMSSSS +SAMAMXSXMSSSMMSMMMSAXMAXMXSAXASMSMAAXMXXMAAAASMSSMXAMXMMSMMMXMAXAAAMMAXXSAXSSSMSSXAAAAAMMXSAMSXAMAMAMXMAXSMMMAAMXAAMAMXAMMSXAXMMMASXSXMAMAMM +MXMXXXMAAAXXXXMASAXSAXAXSAMMSAMAMMMSSMSMMSMSMMAMAMAXAMAMXAAXAMXMMMSMSXSASXMMAMAAAMAMXMXSAAXMSXMMMSSMMSSMASAMMMMMSSXMAMXXSSMMXSAMXMAXXAMSMSMM +SASXSASAMASMMXSXMAMMMMMMMAMXMAMMMAAMXAXSAAAAMMXMAAMSSXMXSSMSXSXMAXAAAAMXMAXMAMMMMSSSMSXMMSSMSASXXXMASXAMAXAMMMMMXAMXASXMMAASMSXSMMSASMMXAMAM +SASASMSASAXAMMMMSMMAAAMASMMXSXMXSMSXMXMMSMSMSMSSSSMAXASAMAMAMSXSASMMMXMXSXMMXMXMXAAAXAMXAMAASAMASXSXMSXMAMSMSASXSAXMAXMASMMMAMXMAAXMASAMAMAA +MAMXMXSAMXSSMSAAAASXMMSASASXAXAXAMMXSMXMMMMAXAAXAAMASMMASMSAASXXXXAASAMXMXAXAXMXMMMMMMMMSMMMMXMSAMXAMAMMMMMASASMAAMMSMSMMMXMXMASMMXXMAMMASMS +MXMXSAMAMMXMASAMSMMAMMMMXAAASXXSAMMASAAXMAMMMMMXXAMXSMMXMAXAMSAMSMSMSASASMSMSXSASXSMMAMXAAMAXSMXMXSMSAMXXASAMAMXMXMAMAMAAMASMSMSASASAMXSXSAM +SMMAMASXMXMMXMAMXXSAMSASMSMXAAAMXMMASMMSSMSXAXSXSXSAMXMSMXMSMMAMXAAASAMXMSAAAASASXAMSAMMSSMASMMAMXAXMAMXMAXAMXMSXXMASMSXMSMSAXXSAMMMXSMMAMMM +XAMXSAMAMXSAMXXSXAMXMSAXXXXXMMMMSMMASASAAXSMMXSAAMMXSMMAAAAMASXMMSMMMSMXXAMMMAMAMMAMSAMXAXMXMMAXSAMXMAMSXMXAMAMXMXMASXAMMSAMMMAMAMXAASAMXMXS +SSMMMMSAMAMAMSMSMMMSMMSMAXMXXXMASAMSSXMMSMMAMAMMMMMXMMSSMXMSAMAMAMSXMASXXMASXSMXMAMMMXMMASXSAMXMXMMXMSMSASMMSXSAMAMAMMSAMXAMMAMMMMMMXSAMXSSX +AAMXAAXASXSAMAAXAAAAXAASAMXAMXMASXMASAXMAMXAMASASASAAMAMXSAMAMXMASXXSAXMXXMXMASMAMXAMASMAMASMMMMXMSXXXAMAMSAAASXSASAXAAAXSAMXXSAMAMXASMMAMAS +SSMSMMSAMASMXMXMMMXMSXMAMAXMSAMXMXAMXSXSMMXSSMXAMASXXMMSXSAMXXAXMMXAMXSAMAMASMXMAXSASMSMSMAMAAAXXXAMAMMMMMMXMMMXSASAMSSXMAMXMAXASMSAMXXMASMA +XMASAAMAMMXAXSMSXSSXSAMXASXAMASAMAXXAMXMAXAXAMSXMMMMSMMMAMXXASXSSMMXSXMMSXXAXXMMAMSAMAXAXMASMMSXXAAXAXMAXXXSXXMASXMAXXMMASXMSMSAMAXXMAMMMXXM +MMAMMMSXMXMMSMAXAAXAXMMSAMXMSMMMSSMMMSXSAMXSAMAASXSXAMAMMMMMMSAAAASAMAXAXXMSSSSMSXMAMMMXMXAMXSAASXMMSXMASMASXASAMMSXSASMAMAAAMMMMMMXXXSASMMX +ASAMSAMXMAAXAMXMMMMSMMMAMSMXAMAXXMAXXAMAMMAMAMSSMAXSMSAMAAAAAMMMSMMAXXMMSMMAAAXAMMSSMXSSMSMSMMMMMAAAXAXAAMAMSXMASMMASAMMXSMMMSAXMAMXAASMXAXX +XXASXMXAXMSSMXAXAMSMAAAAXAXSMMSSSSSMMASMMMASMMMMMXMMMAASXSSMXXXXMMSSMAXAAAMMSMMMMXMASAMXAAAAMAMASMMMSMMSAMAMSMMAMAMMMAMXMXAAXMXMMAXSMMSXSMMS +XSXMAMSSXSAMXSMXAXAMMMXSSMMAXSXAMAXAXASXMMXSMAMMMXMAAMXMXAXXMSMMXAAAXMMSXMMMAMAXXXSAMXSMSMSMXMSXSSMAAXAMASXSXAMMSAMXMAMXMSAMXSASMSMXAXMMAXAX +MAMXSXAMXMAXMAMXSSMSSSMAAXAMXAMSMMSSMXSAMMSXMAMAAAMAXSAMMXMASAAXMMSSMXXMASMSASXXSAMXSAMMMMXXXMAXXXMXSSXSAMXSMSMAAAMMXXMAXAXSXMASAMMSMMSSMMAS +AMXAXMMMMXAMMSAAXAMAAAASMMMXMXAMAMAMMMSAMSASMXSMXMSAXSAMXAXMSSSMXMAXMAMXXAAMMMMAAXMAMAXMXXAMMMSAMASXAAXMXMAMAAMXXMMSASMXMMXSAMAMAMXASAAAXXXX +MMMMMXAASXSAAMMMSMMXSMMMXSXASXMXAMXSXAMAMMASXMAXAAMMMSXXSXSXXXMXAMXXMSSXMMAMAXMXMSMSSSMSSMMSAAMXSAMMMMMMAMASXMSMMSXMASAMXXXXAMAXSMSAMMXMMSXM +XMAXASMSMAMMMMAXAXMMMMXMXXSAXMMSASMMMMMMMMAMAMAMMSMMAXMXSAMXMXSSMSSMAAMASXMSSSMMXXXMAXAAMSAMMSMAMASMMMASXSASAMMAASAMXMMAXMMSXMAXMXMAMAMMAMAS +XXSMAMXAMXMAXSMXMMSASAMXAXMMSMXAAMAMAAASMSXSAMXSAAAXXXXAMXMASAAAMAAMMMSAMAXAAAMAAMXMAMMMSMXXXAMXSAMXASAXMAMSAXMMMXMSSSXSXAAAAMSSMASMMAMMASAM +XAMAMXXSSXSAMAAMSASXSASMMXSAAXAMMMMXSSMSAAAMASXMXSMMSMMMSXXASMSMMSSMXAMASXMMSMMSMSASMSMSAMXXSXSMMMMSAMASXMASAMXSMSMAMMAMXMMSSMAAMAMXMAMXAMAS +XMXAXSXMAASXXMSMMAMAXMMAAAMMMSXXXXSAMXXMMMSMASXSXMAAXAAXMMMXSXMXAAAMMMSMMAXAAAAAAXASAAXSASXMSAMXAAMMXXXMASAMXAXSAAMMXSAMAMMXAMSAMXXXMASMASAM +MAAXXSSMMMMASXMMMSMSMMSAMXSSMMMSAASAMXSMXAXAMXASAMMMMSMMAAXXMASMSMMAAMAASXMMSSMMSMSMXMMSAMXMMAMSMSXAMSXSXMXSXSAMSMSXASASXSSSMMXXSSMSMAMMAMAS +AXXXXXAMXAMAMAAXXAAMAAAAXAAAASASMXMAMAMMMSSMXMMMAMMAXXXXASXAMMMMMXXMXXMMMAAMAMXXMXXAMXMMASXXMAMXMAMAMMAMXMXXMXMMMXMMMMXMAAAAXXXAAAAXMASMXSMM +SMMSXSAMSMMMMSMMMMMMMMMMMMSMMMASXMSAMXSAAAAXAXASXMAXMASAMXXXAAAAAAXSMMSSSSMMASAXMAMMMMXSXMASXSSXMSSSMSAMAMMMSAMASAXASXMMMMSMMSMMMMMMMSAMXSAM +MAXAAXAMAXMXAXASXSSXXAAMXMXXSMMMAXSXMMSMMSMMMXMSMMMSMAMMSMMMMSMSMSAAXXAAXAASAMAAMMSMAAMAMMMXMAAXXAAAASASXSAAMAXASMSMMAAXXXAMAXXAAAAMXMASASAM +MSMMSSMSSSMMMMAXAAASMSMSAASASXSMXMMAXAXXAXXMSAMXAAXAMMSASAASAMAXAXMMMMMSSSMMAXSXSMAXSSSXSAMXSMSMMMSMMMAMMSMSMSMAXMAMXSMMSXMAXMXSSSMSMSXMXXXM +AAXXAAMAASXAXSAMMMMXXAASXMMAMAXAAMSSMSSMMMAASMXSSMXXMXMAMSASASAMAMSXAASAMXMSMMXAMXMMMAMASMSASXMASAMXAMXMXXMXAXMMMSSSMAASXMXSAMXAAXAAASXMXMXX +SXSMSSMSXMSMMAMASAMXMMMMAMMAMMMASAAAAAXAASXMMSAAAMXSXMMSMMXSXMAMXMAXSXMXMAXAMMMAMAMAMAMMMAMAXASMMMMAXXMAMXSMXMAMAXAAMSMMMXAMAMAMAMSMMMASAMSA +XAXAXXAXMXXSXAMMSASXSXASXMSMSXXAMMMMMMMMASAAAMMSMMAMASAMXAAXMXASAMXAXASXSMSASAMAMASASMSSMMMSMMMSSXMSMSMSXMAMSSXMMXMAMXAAAMMSMSAXAXAMSSXMXMAS +MXMMMMXMAMMMXMMXXASAXXXMMXMXSAMSSSXSSXASASXMMMXXXMASAMASXMASMSMXAMXXSAMAAAXAXXXASXSXSAAAAMAMAMAAMMMAAMAMMSAMXMASASXMSSSMMMAAASMSMMXSAXAMXXSX +SMMAAMASMSAMXMXMMAMXMASMSMSASXAMAMAXMAXMAXXMSSSMSMMMXSAMAXAAMAMMMSMMMMMMMMMSMSAMMAXMMMSSMMAXAMMMMASMSMAMASASAMAMAMAAAXMSMSSMMMMAXXSMMSSSMSAS +AAXMMSMSASXSAAAXAAMASAMAAAMASXSMAMMMMSSMSMSXMAMAAXXAMMXSMMMXSASAAAXAAXAXAAAAAXAXMASXMMAAMSSSMSMXSASAMXASXSASASXMAMMMMMXAMAXXXSSMSXMAASAAMMSA +SSMSAAXMAMASMSMXSASXSAMMMSMMMXAMXMXAXAXAXAXMMSMSMSMAMAMSXSXASAXMSMSSMSMSSMSSSSMMSXMASMSSMAMAMAAAMAMAMSXSXMASXMASASASMXSSSMASMMAXMASXMMSMMXAM +MAAMSSMMAMXMXXAXXXMASAMXXMAMXMSAMXSMSMMMMSMSXXAMAMMSMSSMASMXMSMXAMXAXXMAMXAAAAMAMASXMAMAMXSAMMMMSMSSMMSXXMAMASAMXSASXAMAAXAMASMMMAMAAXXXSMMX +SMMMAMASXSASXMASXMMMSSMXMXXMSAMXSXMXAXAMSXAMAMAMAMAMXXAMXMAAMXSMAMSAMMMMSMMSMMMAXXMAMMMMMXMASXXMMXMAASAMXMXSXMMSMMAMMMMSMMMSAMXAXASMMMSMMAAX +XAMMASXMASASAXAMASMXSASMSXSMSMSASASMSMMXMMAMSMXSXMASASXMASMMMASMAXXAXSAMXAAXAMSXSASXSXMAMXMMMMMXMASMMXXAXMAXAXAAAMAMAAMAAXXMAMSASAMXASMASMMS +SMMSASAMXMAMMMAXXMAXMAMXXAXAXAMXSAMXXASAMMAAXMASXAASAMXSAMAAMASXMMSAMSAMMMMXAMAXSXMASASASASAAXXMXAMXSMMMAMMMSMSSSMASMXSASXMASAMMXMAXXASAMAAM +AMAMXSAMXMSMMSAMSSSSMSMMMMMMMMSAMXMMSXMASMMSSMAMXMMSASXMASXMMMMAXMASMMXMASXXSMMMMAMAMMSASAXMXMMSSSMXAASXMMSAXAAAMXMSAAXMMAAAMASAMMSMXMMMMMMM +XMAXMSAMAXMAXSAMXAAXMAXAAAAAAXMXMASXMAMAMAMAXMAMMMMXAMAMMMMASASAMSAMXXMSXSAMXAXMSAMAMXMAMAMSMSAAAAXSMMMAAAAASMMSMSSMMMSAXXMXSAMMMAAAMAAXXAAX +MAMSASXSXSXMMMAMMMMMSAMXMSSXSAAASASAMSMAMXMXXSASMMSMMSSMSXSAMXAMXMAMXMMSAXXASXSASXSMSXMAMXMAAAMMMMMXMXSMMMMXMASXAXAASMMMSMMMMMSXXSMSASMSASXS +MXAAXMMXMSASXSSMXMXAMMMSAXMAMMSASMSAMMSMSXMAMXMAAAXAAAMXXMMASXMMMSXMASAMAMMMAAAMXMAXAXXXMAMASMASXMSAAASXMXXMSSMMMSSMMSAAAAAAAAXAMXAXXAASMMSS +MSAMXMXSXSAMAMAAXMASAAAMMMMMMAXMSAXXAXAMXXAAXAXSMMMMMSMAMMSAMXXMASAMXMMSSMMMMSMXASMMMSMASAMMAXXXAASXSMMAXSAMXMAAAAAXASMSSSMSXSSSSMMMSMXMXXAX +AMMXSAAMAMXMAMMMMMSMSMASMASAMXMAMXMMXXAMAMMMXMMMASMXMAMXAMAMXXAMMSAMSAAAAAXAXAXXXMAAAAXXMAMAXMAMMMMAMXSAMSAMXXMMXSAMXSXAAAAMAMAMXAMASAMXXMXM +MMXAXMSMSASXSMMAAXAAXXMAXAXXMAMXMMXMASXMMSASXSASAASXSSSMXMAMAMXMXMAMXMMMSMMMMMSMSSSMSSSMMAMMMSMMSAMAMAMMXSAAMSXXAXAMMSMMXMMMAMAMXXMASASMSMSA +XSMMSAAAAXXAAXSSMSMSMMXMMMSMMMSMMMSMMMAAMSASASASXMAMXAAMXXMXMAAMMSMMAMSMXASXASAXAAMAMAMXSAXXAMAAMAXSSMSMASAMAAXMXSAMAMASAMXSXSXXXAMXSAMAAAMS +XMASMMMSMXMMMMMAAAXAXXAMAMAMAMAMAAXMASMMMXAMAMAMAXAXXSMMMMSAMMMMMAAMXMAASAMMMXASMSMAMSMASAXMSSMMSSMAAAXMASASMMXMASXMXMAMSMXXXMAMSMMXMXMMMMMX +MSSMMAAMXMSASMXMSSSMMSSMSSSSXSASMMSAAAAXMMMMXMAMMSSSMXXXAASXSASASXSMSAMMMASAMSMMXAMAXXMASMASASAAAMMMMMMMXSAMAMASAMXXSMMSAXMMMMAMAAXSAXMASAMX +AXAAXSSMAASASXAXAAAXMAMAXMAAXSAMAASXMSSMAXSAMSASXAXXAMMMMXSASASXSAXASMMXXAXMXAASXMSXSAMASXMMAXMMSXXSXXAMMMXMASAMAMSAXASMMXXAAXAMMSMMMMSASASA +SMXSMAXXMXMMMMMMSSMMSAMXMMMMMXASXMMXMAMAMXAAMXAXMSSMMMAXXAMAMXMAMAMAMAXXMSSMMSXMAMAXSAMMSAXMAMSAXMAMMAMXXAXSXMMSSMMMSMMMXMSSSSSSXXAXXAMMSXMX +XAAMMMMSMAAAAAAAMAMMXMXXAAXAMSAMAXSAMXXSXSSMMMMMMAMMSSMSMXSAMAMMMAMASAMXMAAAAXASXMSXSXMXSAMXSMMASXMAASMSMSMXAAAXMAAMAXSSMMAAXAAXAMXMMXSASAMA +MSMMAXAASMSSSSMMSAMXMMMMSMSMMMAXXMMXSMMXXMAXXXXASAMAMAASAMSXSASMMASAMXSAXMXMAMAMXAXAMASAMXSAXAMXMAMSXXAXAXASXMMSSSMSAMMASMMSMMMMMMAXMAMMSAMS +XXXSAMMXMXAMAAAASMMXAAAAAMAXXSAMSSMMAMAMXSAMSMSXSASXSMMMSXMASAXAAAMMMMSXSMMSMMAMMXMAMMMASAMMMXMMSSMMAMSMSMXMAAMAAMXMAMSAMMMXMXAAASASMXSMSAMA +MXAMASXASMSMSMMMSMXSSMXMASAXXAAXAAXSAMSSMMMXXAAASAMAXAXXXXMMMAMSMMMSAAMAMAAAASXMSMMMXXSXMXSXXSMMAXAMAMXSAMXSSMMMMMXXXMMXMASAMXSMMXMAXXAASAMM +AMXMAXMMSAMXXAXAXMAXAASXMMMSSSSSMMMMAMAMMAMMMMMXSAMSMMXMAXMXMSMMAXAMMSMASXMMMMAAAMASMMMASMAMMMAMMSSMXAXXSXMAMXSXSSMMAXXXSXMASAMSASAAAMMMMASX +SSMMAMSAMAMMSSMMAMMSMMMAAXSAMMAAXXASAMMMSASXSSXASMAXMASAMMSMMXASMMSSMMMXXMSMAMMSMSASAASAMXAAMMMMMAAXMAMAAXMMMMMMMAASAMMMMSMAMAMAMSMMSSSMSAMM +XAMXMAMASMMXAXASXAAXMASMMMMASMSMMMXXASAAXMSAMXMXSAMXMMMXSAAXAMAMXAMAXMMMSAASXMXXMMMSMMXMMXMXSAMAMSXMMAMAXMASAMSAMAMMASXASAMXSAMMAXAXAAAAMSSX +SXMAMMSXMMMMMXXMAMXSMMAMXMMAMXMMMMSSMMMSSMMAMAXXXXMASXAAMXSMSXMMMSSSMSAXMSMSXMASMMAMMSMSAMSASAXXMAMAXXSSMAMSAMSASXSSXMMXMMSMSASXSXSMMMMMMMMM +MXSASMMMXXASMSSSXSSSXSXSAMXSMMMAAAXAAMAXXAXMMSSMMMSXSMMXSAMXXAAMAMXXAMXSMMXSAMAXAMSXMAAMAMSASMMMMMASAMAMAMMMMMMAMAMASMSXMXSASMMAMAAAXAAMXXAM +XAMXXAXSASXSAAXMASXMAMASMMAAAXSSMXXMMMXMSSMAAXAMAAAXXAAAMASASMMMMXXMSMAMAAAMMMXMXMXASMSMSMMAMXSAAXXMMMASXSXSXXMAMXMAMXAXSASMSAMAMSMMMXSXSMAM +MMSMMSAMASAMMMMMMMAMAMMMXMMSMMXMAMSXMAXXAMSMMSMSMMMSXSMSSXMAMAXMMSAAAMAXMMSXSASXMASAMAMXAAMXMASMSSSSXSXMAAAMAXSXMXMXSXMSMAXXXAMXMASAMXXAXMAM +MSAXAMXMAMAXSAXXASXSASXSXSMAXMAAAASXSASMXMAXXAXAAXSMMAAXXXXXSAMAASMSSSMSAAXAMAAMMXMMMAMAMAMXMASXAAAAAMMMSMMMMMMASAMSSMXAMXMMSMMSMAMXMAMAMSMX +MSAXXSXSXSAMSAMSAMASXSAMAMMAMMMMMSMAMMAAAXMMSSSMSMAASMMMMMXMAMSMMSXAXAASMMMXMXMASAAXMSMSAMXMMXSXMMMMXMAAAAXXMAMAMASAXAXMSMSMAAAMMAMAXAMXMAMS +XMSMAXASAMMMMAMMSMAMAMXMAMMSSXSASAMXMSMSSMSAXAAAXMSMMAAAAAXMMMSAMMMMMMMMXMXMAMXASMSXMMAMMMASMMMMXSAXAMMSSXMSSXMMMMMMSSXMAAASMMMXSASMSMXAXAXA +XAAMXMXMMMAAMXMAXMAMAMAMASXAAASXSAMXMXXXMAMMSSMMMAMMASMSSSMSAAXXMAXXAAAXMMAMAMSMMMMASMAMXSAMXAASASMSMSAXMAMXAASMMSAXAAASMSMSXXAXSAMXAASXSMSM +MSMSXMXXXSSSSMMSMSSSMSASASAMMMMMSAMSSSMMMMMMAMAXMAMAAXAMAMASMMMASXSSSSSMXSASAAAAAXSAMSXXXMSSXSSMASAAAAMASMMMMMMAASXMMSXMAXXSXSAAMAMSXMAMXMAX +MAXAXXMAXMAAAXAXXXAAASXMASAXMASASAMAAAXAASAMMSMMMAMMMMAMAMMMASMMMMAAAAXMAXMSMSXSMMMMMMMSAAMMMMAMAMMMSMSAMXAAASMMMMAXXXAMAMXMASXMSSMXMASXSSMS +MMMAXMSSSXMSMMAXMMXMMMXXXMXMSMMMSXMMXMMSSSMMXAXMMSSMMSSMSSMMXMASXMMMMMMMMSAMMMMMMAAXXAASMMMAMSAMXXSAMXMAXSMMMMAXXXSMMMAMXXAMXMAMAMXMXAXMMAAA +MXSAMXAAAMXAXMSASAXSASMSSMMXXAMXMMMSAMXMAMXASMMSAMAAXAXXAAASASMMAMAMAMAAXMAMAXAASMSSMMMSXXSAMMSMMMMMSASAMMASMSMMSAAASXSMSSSXASXMASAMXMXASAMX +AAAAMMMSMAAMXMMAMAXSASAAAAMMSSMAXAAMASMXAASAMAAMASXMMMXMMSMMXMMAMSAXAMMSSSXMMSMMMAAXMAMXMXMXMSAXAXAXMMMMSMAMAASASXMMXAASMAMSXMXSSXXXAMSMMMSM +MMMMMXMAXSAXAMMXMSMMAMMMSMSAAASXMMSXXMAXXAMAMMMSMMXAAAASXMXSAMXSXMMXXXAMXXAAAMASMMMMMAXAMSSMSAMMMSMSMAAAAMAMSMMMSAXAMSMMMAMXSMMMAMSSXMAMAAAX +SXXSXMXXXMXMMSMMMMAMXMSMMAMMSMMSMAXMMMSMSASAMXAMXMSSMSXSAMASMSMMMXSASMSMASMMMSAMAMAAXMSXSAAMXMXMMAMAXSSSMMMXXASASAMXMAAMSMSAMMASAMXAXMXSMSSS +MMMSAASXMSSMMAAAXSAMSXSAMSMXXXMAMASMAMAAAMXASMMSAMMMAMXMAMAMXSXMAXMAMAMAAAASAMASMMMSSMAXMXSMAXAMMAXAXXAAXSSXSAMASXMAMXXMAXMASAAMASMMMSAMXAAX +MAAMAMAAAAAMSSSMXMMMSASXMXMXMXMMMAXMAXMMMASMMXAMXXASMSMSSMSSMSAMSSMMMSMMMSMMSMXMASAAAMXMMAMMMXMSSSMXSASXMAMMMMMMMMXXSSMMSXSAMMSSMXMAXMAMMMXM +SMSXSXSSMMSXMAXXAAMAMMMXMAMASMMXMSSSSSSSMAMMAMMMSAASAAAAXAXMAMMMAAMSAAAXAAASASXSSMMSXMAMMASAXAAXAMAMXMMAMASAAAAAAXAAAAAAAMMXXXXAAASMSSMSSSMA +MAMXMAMMAAXAMXSSSSMASASAXXSAXASMXMAMAAAXMASMAMMAMMMMXMMMMSMMMMXMSSMMSMSMSXSMMAXXXMAAAXAMSXSASMSMXMXAAXXXMXSXXSSSSSXMSSMMSSSSXSSXMASXAAAAAXMS +MAMAMAMSMMSSSXAAAXXASXSASMMXMSMXAMAMMMMMMAXMXXMASXMXXXMXAMAMXSMMMXMAXXMXMXAAXMMMMMMSSMSMMAMXAXAMSSMSMSAXXMMXMAMMMAAXMXXAMXAXAXMMMAMMSMMMSMXM +SASMSMMXSXAAAMMMMMMXSAMXAASMMMASXSSSMXMMMASXMASASASMSSSMMSSMASXAASMSSSMAXSXMMXAAAMMAMXMAMXMAMMAMXAAAAMMMXXAAMXSAMMXMAMMMSMMMAMMXMXSAMAAMXMAM +AAXMAMAMAMMSMSXSAXSAMXMMMMMMMMAMAAAMXAXAAXSAAMMASAMAAAAXAAAMAXSSMSAAAAMSMMAAMSSSSXMASMSAMXSMXXASMMMMSAXSXMSXSASXSXSMSMAXSAMXAAMMMMMMSSMMAMAS +MMSSMMMSAXMAAMAMAMMASXSSXMASAMAMMSMSSSMSXMSMSSMAMAMMMXMMMMSMMMAMAMMMXSMMASMMMAXAXMSMSXSXMASXMSASXAAXMXXSAMAAMMSXMXMAMXSXSAXSASMAAAAXMASXXMAS +SAAAXXXSMSMMSMAMAAXMMMAMMSASAXXMAXAAAAXXAMXAMMMMSMMASASXSAXAXMAMXMSMXMAMMMSAMXSMMMAASASAXMSAAMXMMMMMMMASXMMSMMXMXAMAMMMAXAMXXMXSMSSXSAMMSMAS +MMSSMSMSMAXMXMASASMSAMAMAMASXMSSMMMMMMASXMMSMXAMAMMXSAMASAMMMSMMAMAXAMAMMXMSAXXXASMSMAMMMAMXMASXSXSAXMXSAMXAMAAMSAMAXAMXMSMSMMAMXAAXMASAAMAM +XAAAXAAMSAMMAMXSAAASMSSSSMAMXXXAAXAXSXMAAAAMMSMSMMXXMMMAMXMAAAASASMSXSSMSAMXXMSSXSXXMMMXMSASXAMXMASAXMAMMMMMMMMMMASXSMSAAXAAAMAXMMMMSSMXXMAS +MMSMSMSMMMXMASXMMMMMMSAMASASMMSAMMMMXAXSMMXSAAAAMMMXAAMAXASMXSMSXXXAMXAASMSAMAMMMMXMASAXXMASMMMAMMMMSMMMAAAAAAMAMAMAAMSMMMSMSMSMXSAAXAASMSAS +XMAXAMMAMASXSMXSXXAAXMAMASMSAAXAMXXSSSMMXMMMMMMMXASXMMSMSXSAAXAMASAMAXMMMXAXMSMSASASAMXASMAMAMMMXMAMXAASMSSSXSSSXMSMMXXAAXXAXAAXXAMXXMMMAMAS +MSMSSSSMMAMXAAXSXSXSMSXMAXAMMMSXMXSAXXAXMXXAAMSSMMSAAAAXSXMMMSAMAMAMSSXMXSMMMMASASAMASXAXMAMXSASMSMMSSMSAAMMAXAXAASXXXMSMSMSMMMXSASASMSMXMAM +MAMAXMASMXSSMMMSAMXXXSAMXMSMMMSAMXMMMSSMAMMXXMAAXASXMMSASXXAASAMXSXMAXAAAXXXAMMMXMXMAXMXXSXXASASAAAAXAXSMMSMSMAXMXMASMXMASAAAAAMXAMASMAMSMXS +SAMMXXAMXAAAMAAMMMMXAXAASXAAXAXAMMAXAXXMSASAMMSSMAXAXAMMXAMMMXXXXAMMXSXMAXMSXSXXXMSXMXSXMASMXMXMMMSMSMMSAAXMXMXMXAXXAMXMMMSSXMSMMXMAMXAMMAMA +SXSXMSSMMSMSMSAXXSXMMMMMMMSMMMSMMMAMSSSXXXMAMAAAAXSSMSXXXMASAXMAXMXMAMMAXAAXAAMAAAMAMAMAXAXXXXMSSMMAXMAMMSMSAMSAMXXASXSXAMAXASAMXMMASXMSMAMM +XAXXAAAXAAAAAXXMXAAXAAXAXAAMAAAMXMAXXAXMMMSSMMSSMXMMAXAAXXXXMSMSMAMSAMAAXMMMMSASMMSSMSSSMSSSSMMAAAMMMSSXAXMSAMXXMSAMMAAXXMASXMAXMASMSMAAMASX +SMMMMSSMXMXMSMMMSSSMMSSXSSSSSSMSASXSMMMMSAAAXAAMMMAMAMMMMMMAXSAMXAAMAXMSXSAAAAMAAAAAXMAAAAAAXAMSSMMSASAMXMAMMMSMMMAAMXMASMMMAXAMSAMASMSMSXSX +AAXMAXAMASAMAAAXAAAMAAXXMAMMMAASASMXAAXAAMSSXMMSASAMXMXMAAXSMMAMSSMSMMXAAMXMMMAMMMMXMMMMMMMMMSAMXMAMMMMXSMXMAASAAMXMXSXXMAMXSMAXSAMXMAMXSXMM +MXMMMSAMASASXMMAMMMMSXSMMAMASMMMAMXSXMXMMMMMXMMSASXMAXSSSMSAASAMXXAAAMMMSMMSSSSXSMMSMMAXAMMSXXXSAMXSSMSAMMAMMASXMSMSAMMMSMMAMXSMSMMAMAMXMASA +SMSMAMMMXSXMASXSSSSXXAMXAASXSSMMMMMSXSASXAAMSXAMMMAMXXMAAXAMXMAXAMMMMMXXXMAAXAMAMSAAASMSAMSAMXMMMSMAMAMMSSSSMMSMMAXMASAAAXMXXAMAXXMMSMXXSAMA +AAAMASXSASAMSMAMMASAMXMXSMSASAXXXAAXASASXSAMMMSSSSMMSSMXMMSXMSSMXSSXSMXMAMMSMMMAMMMXXMAAXSXMAXMAAAMAMXMAAAXXMXSASMSAMXMMMSMAMSMMMXXAAMAMMMSM +MSMSMSAMASMMAMAMMAMXMMMAMAMXMMMXSAMMXMXMXMAXXAXXMAXAASMXSXMAAAXMASXAAAXMAAAAAXMASXSSMSMMXAMXSMMMSMSMSMSMMSMXSASMMASMMAAAMXMSSMAAAAMSMMMMAXAM +AXMXMMXMAMASXSMSMXSSMAMAXAMXAXXXXASXSMXMASAMMSSMSSMMMSXAMASMMSSSXMMSMMXXMSSMMAMXXAAXAAAXSXSAXAXAMMSAAAMAMAMXMASXMXXASMXSAAXMAMSMMSXMAMXSMSSS +MSXMSSMMXXXMAMMMMAMMSASXSSXXMMMMSAMAAXXMASMMMAAAAXAXAXMMSAXSAMXAAXAMAMXSMMAAMSMSMMMMSSSMAAMASMMXSAMMMMSAMMSSMAMAXXMMMMAAMXMSMMMAAXMSMSXMAMAM +XAAMASAMSSSMASAAMASXSMXAAMMXMAAAXAMSMMAMASASXSXMSSMMSMAXAXXMXSSSSMSSSSXAXSSMMMAAXAXXAAMXMMMMMXAMMMMXSXSMSAAAMSSSMSXSAMMSXAMXSASMMSAAASXMAMAS +MASMASXMAAXSAMXXSASXMASMMMAAXXMSXMMXAXXMXSAMAXXMAAXAAXSASMXSXAAAMMMAXAMMMAMAAMSMSMSMMSMXSXXXMAMSAXSXMASAMMSSMAAAAAXSASAMMXSAMXSAMXMMSMASXSSS +XAMMAMXMMSMMXMAXMASAXAAXXMSMSAMXASMSXMMMAMAMAMAMSMMSSSMAXMASAMMMMAMXMMMXMASXMXAMXAXXMMMAMMSSXMASMSMAMAMSMMXMMMMMMMXSMMASAXMASAXAMAMXAXAMXXMM +MSSMMSXSAMXAAXMXMASAMSSXSXAAXMASXMASMAAMXSXMASAMAXAXMAMAMMAMMXMASXSXMXSXSXMAMXMMMMMMAAMMMAAMAXMMMAMAMAMMSMXXMXMSMMMXAMSMXXSAMXSSMSSMMSMMMMMM +MXAAAXXMSSXMMXMAMASXMXXAAMMMMXMMSMXMASXMAMASASASMSSXXAMAXMMXSASXSASAMAAMAMMSMMAASAAASXSMMMSSMMSMSSSSSMSAAMAXAAXXAAXAMMMAXXSAMXMXAMXMAAAASAMA +MXSMMSXMMMAAAAMMMASAMXMXMXAMSAMSAMXXXXAMMXAMASAMAAMMSXXMXXXMMAMAMAMXMAXMXSAMXMSMXMXXMXSAASAAXAAMAAAAAAAMAXAXSSSSSMSSXXMAMMXAMXXMXMAMSSMMXASX +XAXAXAXSASXMSXMAMXSASXSASMMXSASAMXSXSMSMSAXMXMAMMMXAAMSXXMAMMSMMMAMSXAMMAMAXXMMMSXSASASXMXXXMSXMMSMSMMMSSMMXMAMAAAAAMMSASXXSMSXMASXXAMMMSMMM +MASXMAXSAXXXAMMSMMSXMASASXMASMMASAMMSXMAAMXMXMXXXAMXSMAASMSMAMAXSSSSMSAMXXSMSXXAAAMAMXSAMSMSMMMMAAXMAXMAMAMSMAMXMMMXAASASAAMAMMSASXMAMSAAAAX +XMAMASXMMMSMMSAXAASXMXMAMMMAMAXAMASAMXMMMXSMASMMMSMSAMMSMAAMMXSMAXXXAXXAMXMASAMMMSMMMXSMMAAAAMAMSSMSAMMMSSMMSXMASMSMSMMAMMMMAMAMXMAMAMMSSSMS +MMXXXXAMSASAAMAMMMSASXMMMMMMSSMMSMMMSXMASMMMAMAAXAMXAMXXMSMMXAXMXMMMSMSSMXMAMXSAAXAASMXXSMSMXMAMXAAMXMXAAXAMXSSXSAAAXMMMMSASXMASAXSMSMXAMXXM +MSMSMSMMMAXMXMXMSMSAMXXAAXXMAAXMAMSMSMSAMAXMSSSMMMSSMMXXAXAXMMSAAAXAXXAASMMMMAMMSSSMSAXAXXMAXSASMMMMXXMMSSXMAXXAMAMSMSMSASXSXXSXMXXAAMMASXMS +SAXAAAXSMSMSMSMAXAMAMASXMMSMMSMMAMAAXASASMSXAAXMSXAAXSMMMSSMXMAMAXMASMSSMXAXMXXAMXAXMMMSMMMSMSASXMAXAMMMAMMMMXSAMXMXAXAMAMMMXXXAMAMMMXSAMAAA +SMSMSMSXAXAAAAMXMAMAMXMAAAXXAAASMMMSAMMAMXAMMMMMXMSSMMAAMAMSXMXSXMSAXAXXASMSAMXSMMSMXXMAAMMAMMXMAXAXXMAMMXMAXXAAMAXMSMSMXMAAXXMAMAXAXXMASMMM +SXMMAXXMAMXMSSSMASXXXAMSMMSMSXXAAXAXMMMMMSMXSAASAMMXMMSMMAMMXSAMAXAMMMMMXMXXAXAXAMAMXMSSSMSASXASXMSSSSSXXXSASXASMXSAMAXAXSMMSMSAMXSMSMSAMXAX +XAMSSSMSASXXAAAMSMASXSAXXMMMMSMMMMXSASAAAMXASXSMASXAMAXAMSMSASMSAMMXAMMMAMXSMMMSAMXXAAAAXAMAMMMMSAXAAAAXSXMASMXMASAMSAMMMMAMMMAMMXAAAXAMMSMS +SXMAAMASASMMMSMMAMXMAXMMMXAAMXXSXMMSAMSMSSMMSMMMAMXXMASXMAAMASASXMXSMSMSASMMMAXAXXMSSSMSMMMSMAMMMMMMMMMMMAMAMAMMMMAXMAMXMSAAASASMXMMMMMMAAMM +AAMMSMAMAMAAAMXSMSSMSMMAAXMSSMMSAAAMXMASAXMXSASMXMMXXASASMXMXMAMAXXMXAAMAMAAXSSMMSAAXMAXAMAAASAMASAXSAXASAMMMSAAMMSMMAMXXSASXSASASXMSSSMSSSM +SXMAXMASAAXMSMAMXAAAMAMMMAMXAXASMMMSAMXMXXSAMMMXXSAXMXSAMXAXAXAMSMAAMMSMXSSMMXAAASXMXSXSMMXMXMASAMXXXAMMXXMSAXSMSAAMSMSSMXAMXMAMASAXAAAAAAAX +MMXSXSMSXSXSAMSSMSSMMSMAASMMMMXSAMXSMXSAMXMAMSAASMSSMAMAMSSSMSMXXAMXAMXMAMAASMMMMSAXXMXAMSMSSSMMMSXSXSXMSSMMSMXMMMSXAAAXMMMMXMXMXMMMMXMMMSMM +XAAXXSXMAMXMASAMMMMMAMMXMMAAXMASAMXMAMXMAXSAMMMMAAXXMAXXMAAAAXXAXAXMSMAMASMMMAAXAXMMAMMSMAASAAXAXMAMAXAMAAAAMXMASXMXSSMMXAAAXSASAAMMXMAXXMAS +MMMSASXSSMXSSMASXSASASXAXMSMXAMXMASMAMMMSXMXSXSXMMMSSMSXMMSMMMMMSMMXAMAXMMMMSXMMMSXMAXAXMXSMMMMMSMSMXXAMSSMMSAAMXSAAXAXXSSSSXXAMSXMAASXMMSAS +MAAMMMAXAAASXSXMASAMASXSSMASXSMMMXXMMMMAMXMASAAXXAXMAXAMSXMMAAAMAMASMSSMSAMASAMAAAASASXSMSAMXSAXSAAMMXSMMAXASMSXAMXMMMMMAXAMXMSMXSMMMSXAXMAS +MMSSXMXMMMMSAMSAMXXMMMMAAMAMMXAXSAMXSMMASAMAMSMMSAMSMMMXMAASXSMSAMAMXXAASAMASASXMXMMAMMAMXAMAMXMMAMXSAMASMMASAMMXMAXMAAXMSSXSAAAXXSSSMMSMMSM +AXAXAAAMXMXMXMAMXMMMXAMSSMMMASMMXMMASAMSSXMAMMXMMMAAMASASXMMXMASAMSSSMMMSAMXSXMAMSAMXMSMMSAMSSMSMMMAMASAMXXASXMAASXSSSSSXMAAMSMSMAASAAAMMMAM +SMXSASASAMMMMSXSXMAMXXMAMASMMMXAMXMAXAMXXMXMSSMSAXSASXSASMXXAMMMAXAAMXXAMAMXMXSAMXMAMXXXASMMAMXAAAMXSAMASAMXSAMXASAXXMXMAMMMMAXXMSMSXMASASAS +AAASAMXMMSAAXAASXSAMXXMASAMAMSMSASMMSSMMMSSMAAMSAMMMMAMMMMMSXSXMXMMXMMMSSMMSAAMAMXMSMSMMMSAMASMSSMMXAMXMSASAXAMMSMXMXMMSAMXSXXSXAXXMAMXSASAS +MMMSXMMXASMSMMXMMMXSAASXMMSAMAAMXMAXAXAXAAMMMSMMMMAAMAMAAXXMAMAMSSXMMXAAAAMMMMXAMXXAAAAAXSAMXXMAAASAMXMASAMAMSXMAAMSSMAMAXAMXXXMXMXSAMXMAMMM +XAAMAXMMMSAMMMAAXAAMXMMASXSAMMMMASMMMSSMMSSXMMMMMSMMSASMMSAMASAMAAXAXMMXXMMXMASASXSMSMXSXSXMXXMMSMMAXMMMMMMAMMASMSMAAMASMMSMSAMXAMMMMSAAXMAX +SMXSAMXXXMAMAXXSMMSSSXSXMAMXMSXSASAAAAXXAMMXSAMXAAAMSXSMASXSASXMMSASMSMSMXMXXMAMMAMAAAMMASXASXMAXMSMMSAAAMMXMSAMAAMSSMXSXAXAMMASXAAXMXAMMSXS +MAMAMMMMSSMMSXSAMMMMMASMMMMAXXAMASMMMMMMXXSAXASMSMSMMAMMAMXAASXMXMAXAXAAMAMSMXMASAMXMSMMAMMAXAMAMAXSASXSSSMSAMXMASMMAMAMMXMAMMMAMXXSMMSAMXMA +MAMAMAAAMXAAAXAMXAAAMXMASXXSXMMMAMXXAAAMAXMMSXAAAXXXMSMMMSMMXMAXAMXMMMMMSAXAMAMXXAXMXXXMMMAMMSMXXAMMXSXMAAASMXSAMXMMXMAMMMSAMXSSMSXAAAXAMASX +SASASMSSMSMMSSMXSSSMSASXMMMMMAAMMSMSSSSSMSSXAMMXMASMXMASAAASXSMMSSMMXSAASMSMSASXSMMSAMMSSMSAAXAXMSMSMSAMSMMMSASASXSSMSXSAAMAMAAAASMMMMSASASA +SASASMAMMAAAAAXAXAAASASXAAAAASXMSAAXAAAMAAXXMAXAXMAAASMMSSSMAAXAAAAMASMMMAAASASAAXXMASAAAAAMSMXMAAAAASMMAAAAMMSAMXXAAAXMMMSAMXSMMMMSAMXXMASM +MXMXMMSMSSSMSSMXSMMMMSXMASMSXXAMSMMMMMMMMMSMXSSXSXXSASXXMXMMSMMMSSSMXSXXMSMMMSMMMMXSAMMSSMXXXXMASMSMMMMASMMSSXMXMASMMMSXMASASXMXMASXXSAAMMMX diff --git a/2024/05/input.txt b/2024/05/input.txt new file mode 100644 index 0000000..903b5e2 --- /dev/null +++ b/2024/05/input.txt @@ -0,0 +1,1362 @@ +32|75 +18|19 +18|82 +41|56 +41|28 +41|47 +85|67 +85|66 +85|35 +85|93 +87|31 +87|38 +87|44 +87|94 +87|55 +66|96 +66|39 +66|94 +66|95 +66|29 +66|36 +16|14 +16|74 +16|47 +16|17 +16|18 +16|28 +16|93 +31|77 +31|19 +31|34 +31|29 +31|52 +31|66 +31|39 +31|75 +62|89 +62|18 +62|63 +62|85 +62|76 +62|37 +62|93 +62|68 +62|14 +46|44 +46|66 +46|75 +46|67 +46|87 +46|31 +46|19 +46|18 +46|63 +46|15 +74|27 +74|67 +74|84 +74|66 +74|63 +74|29 +74|34 +74|18 +74|44 +74|28 +74|46 +56|67 +56|68 +56|47 +56|59 +56|18 +56|87 +56|46 +56|27 +56|32 +56|43 +56|28 +56|13 +68|89 +68|66 +68|52 +68|28 +68|98 +68|36 +68|84 +68|19 +68|34 +68|27 +68|44 +68|95 +68|13 +28|94 +28|63 +28|31 +28|66 +28|87 +28|29 +28|34 +28|15 +28|98 +28|13 +28|75 +28|95 +28|18 +28|44 +13|98 +13|21 +13|75 +13|77 +13|62 +13|38 +13|34 +13|83 +13|84 +13|29 +13|96 +13|86 +13|19 +13|44 +13|76 +55|38 +55|14 +55|35 +55|96 +55|74 +55|62 +55|76 +55|17 +55|82 +55|59 +55|56 +55|21 +55|46 +55|93 +55|43 +55|85 +96|56 +96|68 +96|35 +96|74 +96|16 +96|62 +96|59 +96|87 +96|47 +96|86 +96|85 +96|14 +96|37 +96|28 +96|46 +96|67 +96|93 +93|75 +93|29 +93|74 +93|32 +93|98 +93|67 +93|52 +93|66 +93|15 +93|46 +93|31 +93|87 +93|34 +93|18 +93|77 +93|68 +93|13 +93|89 +89|77 +89|82 +89|55 +89|38 +89|34 +89|75 +89|95 +89|19 +89|98 +89|52 +89|29 +89|94 +89|84 +89|13 +89|83 +89|41 +89|66 +89|27 +89|36 +98|59 +98|96 +98|56 +98|85 +98|77 +98|34 +98|62 +98|38 +98|21 +98|84 +98|39 +98|17 +98|94 +98|86 +98|95 +98|83 +98|36 +98|44 +98|82 +98|19 +37|28 +37|87 +37|14 +37|74 +37|75 +37|29 +37|63 +37|31 +37|32 +37|93 +37|46 +37|15 +37|27 +37|95 +37|18 +37|68 +37|67 +37|13 +37|43 +37|98 +37|52 +34|35 +34|41 +34|43 +34|85 +34|94 +34|84 +34|59 +34|56 +34|37 +34|96 +34|86 +34|14 +34|38 +34|17 +34|82 +34|21 +34|76 +34|47 +34|39 +34|55 +34|83 +34|16 +38|47 +38|96 +38|17 +38|46 +38|32 +38|16 +38|39 +38|37 +38|56 +38|18 +38|86 +38|76 +38|43 +38|68 +38|21 +38|93 +38|59 +38|67 +38|74 +38|85 +38|35 +38|14 +38|28 +35|18 +35|28 +35|29 +35|89 +35|63 +35|74 +35|43 +35|93 +35|98 +35|52 +35|37 +35|87 +35|14 +35|68 +35|46 +35|27 +35|13 +35|67 +35|95 +35|66 +35|15 +35|31 +35|75 +35|32 +44|94 +44|17 +44|76 +44|41 +44|16 +44|85 +44|36 +44|38 +44|47 +44|59 +44|37 +44|39 +44|77 +44|35 +44|86 +44|55 +44|83 +44|84 +44|96 +44|21 +44|34 +44|82 +44|62 +44|56 +67|77 +67|75 +67|94 +67|19 +67|32 +67|15 +67|66 +67|36 +67|18 +67|31 +67|52 +67|44 +67|27 +67|84 +67|89 +67|28 +67|13 +67|29 +67|63 +67|34 +67|98 +67|87 +67|68 +67|95 +29|34 +29|21 +29|16 +29|56 +29|41 +29|84 +29|38 +29|76 +29|17 +29|62 +29|82 +29|19 +29|96 +29|36 +29|83 +29|55 +29|98 +29|85 +29|94 +29|95 +29|86 +29|77 +29|39 +29|44 +14|13 +14|29 +14|74 +14|31 +14|75 +14|18 +14|89 +14|15 +14|52 +14|67 +14|98 +14|66 +14|95 +14|93 +14|87 +14|28 +14|27 +14|32 +14|44 +14|68 +14|19 +14|63 +14|43 +14|46 +59|28 +59|29 +59|46 +59|52 +59|68 +59|15 +59|32 +59|18 +59|87 +59|37 +59|67 +59|13 +59|47 +59|63 +59|93 +59|75 +59|66 +59|35 +59|43 +59|31 +59|89 +59|74 +59|27 +59|14 +82|85 +82|14 +82|93 +82|56 +82|37 +82|59 +82|62 +82|35 +82|28 +82|43 +82|41 +82|76 +82|47 +82|96 +82|68 +82|46 +82|74 +82|16 +82|17 +82|67 +82|86 +82|21 +82|38 +82|39 +17|89 +17|15 +17|13 +17|59 +17|68 +17|43 +17|63 +17|52 +17|28 +17|74 +17|32 +17|27 +17|14 +17|18 +17|67 +17|37 +17|31 +17|93 +17|87 +17|47 +17|85 +17|56 +17|46 +17|35 +19|41 +19|38 +19|84 +19|39 +19|44 +19|76 +19|83 +19|94 +19|96 +19|16 +19|17 +19|82 +19|34 +19|21 +19|36 +19|55 +19|62 +19|47 +19|35 +19|59 +19|56 +19|77 +19|86 +19|85 +77|34 +77|96 +77|94 +77|62 +77|16 +77|47 +77|84 +77|85 +77|35 +77|86 +77|17 +77|36 +77|56 +77|83 +77|14 +77|76 +77|37 +77|38 +77|55 +77|21 +77|41 +77|82 +77|59 +77|39 +43|87 +43|46 +43|27 +43|93 +43|18 +43|66 +43|52 +43|77 +43|44 +43|19 +43|13 +43|29 +43|15 +43|89 +43|31 +43|67 +43|74 +43|63 +43|75 +43|95 +43|32 +43|28 +43|98 +43|68 +15|95 +15|31 +15|84 +15|19 +15|82 +15|27 +15|21 +15|38 +15|98 +15|75 +15|52 +15|55 +15|66 +15|13 +15|34 +15|29 +15|39 +15|94 +15|77 +15|36 +15|89 +15|41 +15|83 +15|44 +76|46 +76|17 +76|27 +76|43 +76|89 +76|74 +76|35 +76|28 +76|68 +76|67 +76|56 +76|52 +76|15 +76|87 +76|85 +76|59 +76|37 +76|31 +76|18 +76|47 +76|32 +76|93 +76|63 +76|14 +95|59 +95|82 +95|47 +95|17 +95|34 +95|94 +95|77 +95|55 +95|86 +95|84 +95|21 +95|96 +95|39 +95|83 +95|44 +95|56 +95|41 +95|36 +95|19 +95|38 +95|76 +95|62 +95|16 +95|85 +83|76 +83|96 +83|14 +83|56 +83|68 +83|16 +83|93 +83|46 +83|17 +83|37 +83|59 +83|86 +83|62 +83|82 +83|74 +83|85 +83|21 +83|35 +83|47 +83|38 +83|43 +83|67 +83|39 +83|41 +75|34 +75|84 +75|82 +75|36 +75|98 +75|19 +75|83 +75|17 +75|44 +75|55 +75|76 +75|39 +75|77 +75|66 +75|62 +75|21 +75|94 +75|86 +75|41 +75|96 +75|29 +75|16 +75|95 +75|38 +52|29 +52|66 +52|83 +52|19 +52|84 +52|95 +52|13 +52|98 +52|16 +52|77 +52|75 +52|41 +52|96 +52|39 +52|21 +52|82 +52|36 +52|86 +52|94 +52|38 +52|62 +52|44 +52|55 +52|34 +21|59 +21|76 +21|18 +21|86 +21|39 +21|46 +21|37 +21|16 +21|62 +21|96 +21|14 +21|35 +21|56 +21|68 +21|43 +21|67 +21|32 +21|47 +21|17 +21|85 +21|74 +21|93 +21|87 +21|28 +84|83 +84|85 +84|41 +84|14 +84|62 +84|59 +84|16 +84|93 +84|39 +84|38 +84|36 +84|55 +84|43 +84|86 +84|17 +84|47 +84|82 +84|21 +84|56 +84|94 +84|96 +84|76 +84|35 +84|37 +47|68 +47|35 +47|74 +47|67 +47|89 +47|31 +47|63 +47|27 +47|52 +47|87 +47|15 +47|28 +47|14 +47|66 +47|46 +47|32 +47|29 +47|37 +47|98 +47|43 +47|13 +47|75 +47|93 +47|18 +39|43 +39|56 +39|32 +39|14 +39|96 +39|85 +39|93 +39|74 +39|28 +39|18 +39|17 +39|86 +39|47 +39|16 +39|46 +39|59 +39|62 +39|35 +39|63 +39|67 +39|68 +39|87 +39|76 +39|37 +27|29 +27|21 +27|77 +27|94 +27|66 +27|39 +27|82 +27|86 +27|13 +27|31 +27|75 +27|41 +27|19 +27|98 +27|34 +27|36 +27|84 +27|44 +27|55 +27|83 +27|96 +27|52 +27|95 +27|38 +36|74 +36|59 +36|55 +36|86 +36|43 +36|93 +36|38 +36|16 +36|85 +36|37 +36|96 +36|39 +36|56 +36|14 +36|17 +36|46 +36|83 +36|82 +36|21 +36|35 +36|47 +36|41 +36|62 +36|76 +94|56 +94|86 +94|85 +94|17 +94|37 +94|36 +94|59 +94|74 +94|93 +94|39 +94|38 +94|76 +94|55 +94|82 +94|62 +94|21 +94|83 +94|47 +94|43 +94|41 +94|16 +94|35 +94|96 +94|14 +86|85 +86|74 +86|47 +86|32 +86|16 +86|28 +86|35 +86|46 +86|14 +86|56 +86|15 +86|76 +86|63 +86|93 +86|59 +86|89 +86|87 +86|17 +86|37 +86|43 +86|67 +86|18 +86|68 +86|62 +63|15 +63|77 +63|38 +63|44 +63|19 +63|27 +63|83 +63|41 +63|21 +63|82 +63|34 +63|94 +63|95 +63|36 +63|89 +63|31 +63|52 +63|84 +63|13 +63|75 +63|98 +63|29 +63|55 +63|66 +32|98 +32|29 +32|41 +32|34 +32|36 +32|82 +32|44 +32|63 +32|27 +32|55 +32|83 +32|95 +32|19 +32|77 +32|52 +32|66 +32|15 +32|94 +32|89 +32|84 +32|13 +32|87 +32|31 +18|55 +18|29 +18|77 +18|34 +18|27 +18|52 +18|94 +18|89 +18|95 +18|13 +18|15 +18|63 +18|66 +18|36 +18|98 +18|87 +18|84 +18|75 +18|44 +18|31 +18|32 +18|83 +41|86 +41|59 +41|38 +41|85 +41|18 +41|74 +41|46 +41|17 +41|96 +41|62 +41|93 +41|67 +41|76 +41|14 +41|43 +41|37 +41|39 +41|35 +41|21 +41|68 +41|16 +85|68 +85|37 +85|43 +85|27 +85|13 +85|89 +85|75 +85|46 +85|52 +85|59 +85|31 +85|87 +85|32 +85|15 +85|18 +85|14 +85|28 +85|74 +85|63 +85|47 +87|15 +87|41 +87|13 +87|52 +87|36 +87|29 +87|95 +87|34 +87|27 +87|63 +87|77 +87|89 +87|19 +87|83 +87|84 +87|75 +87|98 +87|82 +87|66 +66|62 +66|38 +66|98 +66|82 +66|16 +66|84 +66|44 +66|41 +66|76 +66|77 +66|86 +66|83 +66|21 +66|55 +66|56 +66|19 +66|34 +66|17 +16|63 +16|76 +16|59 +16|56 +16|15 +16|85 +16|89 +16|35 +16|27 +16|67 +16|32 +16|43 +16|62 +16|87 +16|68 +16|46 +16|37 +31|98 +31|96 +31|95 +31|41 +31|16 +31|82 +31|84 +31|21 +31|83 +31|44 +31|13 +31|38 +31|36 +31|55 +31|86 +31|94 +62|43 +62|56 +62|17 +62|67 +62|32 +62|87 +62|46 +62|59 +62|27 +62|74 +62|31 +62|47 +62|35 +62|15 +62|28 +46|28 +46|95 +46|32 +46|77 +46|29 +46|13 +46|89 +46|34 +46|27 +46|52 +46|94 +46|68 +46|84 +46|98 +74|31 +74|95 +74|89 +74|68 +74|98 +74|19 +74|32 +74|15 +74|77 +74|75 +74|13 +74|87 +74|52 +56|93 +56|85 +56|75 +56|63 +56|35 +56|37 +56|89 +56|52 +56|15 +56|14 +56|31 +56|74 +68|75 +68|31 +68|94 +68|29 +68|18 +68|77 +68|15 +68|63 +68|55 +68|87 +68|32 +28|36 +28|83 +28|52 +28|27 +28|19 +28|55 +28|32 +28|84 +28|89 +28|77 +13|95 +13|55 +13|66 +13|94 +13|39 +13|36 +13|16 +13|82 +13|41 +55|37 +55|83 +55|47 +55|39 +55|16 +55|67 +55|86 +55|41 +96|18 +96|76 +96|32 +96|17 +96|15 +96|63 +96|43 +93|27 +93|28 +93|95 +93|63 +93|19 +93|44 +89|21 +89|96 +89|44 +89|31 +89|39 +98|16 +98|55 +98|76 +98|41 +37|19 +37|66 +37|89 +34|36 +34|62 +38|62 + +52,77,83,31,94,75,34,95,29,38,82,19,41,39,27,98,84,13,55,21,66 +76,17,43,93,46,67,68,28,18,32,87,15,89,27,31 +28,63,89,27,13,66,98,95,19,36,55 +38,21,39,86,16,62,76,85,47,35,93,67,68,28,18 +46,67,68,28,18,87,15,89,27,31,52,13,75,66,29,98,95,19,44,77,84 +41,34,98,29,95,96,55,86,52,13,16,38,82 +55,83,21,16,62,76,56,43,46 +37,14,56,17,18,16,35,67,21,38,59,85,93 +63,18,55,27,98,32,84,19,89,87,52,44,31,95,77,36,66,13,28,29,15,94,75 +55,76,39,16,82,19,34,66,29,96,75 +77,34,84,94,36,55,83,82,41,38,21,39,96,86,16,62,76,56,85,59,47,35,37 +62,17,47,39,37,86,85,74,38,14,93,16,67 +37,67,56,46,85,62,43,68,96,17,86,39,14,76,41,82,16 +89,44,67,98,28,13,75,31,63,87,52,84,34,68,77,32,46 +41,38,39,96,62,17,56,47,35,37,93 +44,84,94,36,21,16,62,76,85,47,35 +34,13,32,83,18,89,94,31,84,27,29,95,19,75,55,63,44,52,66,98,77 +75,68,67,89,74,15,28,63,44,98,29,93,52,18,95,43,13 +84,83,41,16,62,17,85,47,35,14,43 +66,75,29,39,36,82,19,13,95,44,84,96,38,16,34,52,55,86,98,83,21 +38,39,37,93,17,59,68,82,85,46,47,16,67,86,62,14,35 +75,34,27,98,89,28,84,63,36,32,87,55,31 +43,93,74,46,67,68,28,87,63,15,89,31,52,13,75,66,29,98,95,19,44 +28,87,63,15,31,52,13,29,95,19,34,84,94 +32,87,63,15,89,31,13,75,66,95,19,77,34,94,36,83,82 +55,21,17,56,83,98,76,62,39,38,19,29,44,41,84,34,95,86,16 +17,56,59,35,14,93,74,46,67,27,52 +89,27,52,19,77,34,94,21,39 +85,14,74,46,68,28,18,32,87,63,15,27,52,13,75 +83,82,41,38,21,39,96,86,16,62,76,17,56,85,59,47,35,37,14,43,93,74,67 +85,14,74,46,68,32,87,15,31,52,75 +95,27,19,77,98,31,84,94,15,63,34,75,55,83,52,87,13 +13,66,19,77,34,84,55,86,62 +34,84,87,19,13,83,31,29,44,95,15,77,55,36,52,27,66,98,75,89,41 +16,62,76,56,47,37,43,93,87,63,89 +15,13,75,66,34,84,36,83,82,38,21 +14,27,46,18,75,59,63,47,85,67,68,37,43 +63,15,89,27,31,13,66,98,95,19,38 +18,32,63,15,27,31,52,13,75,98,95,19,44,77,34,84,36,55,83 +44,75,27,63,98,18,34,66,68,31,19,95,52,32,28,87,29 +19,44,77,34,84,94,36,55,83,82,41,38,21,96,86,16,62,76,17,56,85,59,47 +67,63,18,93,37,46,17,87,89,43,52,56,35 +98,18,29,89,31 +52,13,66,98,95,19,34,84,94,55,82,41,39,86,16 +67,28,87,75,66,29,19,77,34,84,94 +31,13,55,41,98,38,15,83,27,95,29,89,84,77,21,34,75 +18,31,13,75,95 +27,14,87,63,18,32,29,67,31,89,15,37,13,43,74,47,68,28,35 +93,96,82,41,94,16,17 +17,56,85,37,43,93,74,67,68,28,18,32,63,15,89,31,52 +96,16,76,17,85,59,47,37,46,68,18,87,63 +17,16,77,59,95,44,34 +77,44,75,68,32,29,67,74,15,52,46,87,13,31,34,63,28,66,95,98,27 +68,63,15,13,66,19,84,94,36 +13,75,66,29,98,95,19,44,77,34,84,94,36,55,83,41,38,21,39,96,86,16,62 +15,27,52,13,29,19,44,77,94,36,55,83,41 +43,93,67,68,28,18,32,87,63,15,89,27,52,13,75,66,98,19,44 +55,83,38,39,86,16,76,14,93 +29,84,87,27,34,94,18,55,13,63,77,98,89,66,95 +41,21,96,59,35,46,28 +83,82,41,38,21,39,96,86,62,76,17,56,85,59,47,35,14,43,67 +82,94,39,76,98,75,86 +14,43,74,46,68,18,32,63,15,89,13,75,66,98,95 +94,39,82,41,75,55,98,89,27,66,19,34,21,84,95,77,29 +85,59,35,37,43,93,74,46,67,68,28,18,32,87,15,89,27,31,52,13,75 +59,47,35,37,14,43,93,74,46,67,68,28,18,32,87,63,15,89,27,31,52,13,66 +16,76,17,56,47,35,14,93,74,46,68,18,63,15,89 +39,96,16,62,76,56,85,59,47,35,14,93,67,28,18,32,87 +56,85,59,47,35,37,14,43,93,74,46,67,68,28,18,32,87,63,15,89,27,52,13 +36,82,38,39,62,37,74 +66,59,75,63,15,35,74,28,67,93,37,27,18 +66,84,41,36,87,44,31 +15,77,34,44,67,32,66,29,18,68,13,28,31,27,19,63,89,95,84,94,98 +68,35,86,46,14,93,85,37,96 +27,31,52,75,66,29,98,95,19,77,84,36,55,82,41,38,96 +98,38,85,55,76,84,44,83,95,36,96,82,86,34,17 +55,89,66,29,63,77,87,75,84,31,94,19,34,36,52,32,95,98,27,18,44 +66,29,98,95,19,44,77,94,36,38,96,86,16,76,17 +16,46,85,17,59,74,18,39,47,37,67,93,76,56,32,96,14,28,62 +34,86,59,83,56,94,76,84,17,55,36,77,35,39,38,96,16 +34,84,36,98,95,39,44,66,75,76,55 +41,56,21,82,86,16,47,59,19 +59,47,35,37,14,93,74,46,67,68,28,18,32,87,63,15,89,27,31,52,13,75,66 +41,39,38,13,82,34,83,98,31,95,55,19,86 +29,52,84,31,98,95,77,63,94,83,15,66,38,19,41,55,89 +86,16,62,56,85,47,35,37,14,46,68,87,15 +35,93,37,89,15,46,29,13,18,75,68,14,66,87,52,27,67,74,31,43,32,28,47 +13,82,94,75,55,19,63,66,77,34,98,41,31,95,89,44,87 +41,38,21,39,96,86,16,62,76,17,56,85,59,47,35,37,14,43,74,46,67,68,28 +14,43,93,74,46,67,68,28,18,32,87,63,15,89,27,52,13,75,66,29,98,95,19 +21,39,86,76,17,56,59,37,43,46,28 +67,32,63,93,37,31,29,18,74,15,66,47,52,43,13,75,89 +56,85,59,47,35,37,14,43,93,74,46,68,18,32,87,63,15,89,27,31,52 +87,18,75,27,63,28,19,67,29,43,74,95,31,98,52 +85,38,56,84,98,86,95,34,62,36,16,44,77 +37,67,87,63,27,52,75,98,95 +37,62,21,86,84,83,82,14,47,55,59,34,96,35,36 +96,86,16,62,76,56,85,59,47,35,37,14,43,74,46,67,28,18,32,87,63 +75,66,29,19,94,55,83,82,38,21,16,62,76 +35,43,74,75,66,29,98 +85,47,35,17,28,87,32,59,76,37,39,56,93 +18,14,68,67,63,62,27,32,89,43,46,28,15,93,87 +77,34,94,55,83,82,41,38,21,39,86,16,76,17,59,35,37 +74,21,18,43,14,96,32,62,67,56,59,76,85,39,46 +34,94,36,82,41,38,76,17,85,35,14 +66,86,21,36,84,82,44,34,55,83,52,13,94,75,29,98,16,19,39,77,96,38,41 +16,34,86,76,59,41,39,94,21,47,83,84,62,38,82,36,96,17,56,55,35,77,85 +86,62,76,56,85,59,47,35,37,43,93,74,67,32,15 +35,14,43,93,74,46,67,68,28,18,32,87,63,15,89,27,31,52,13,75,66,29,98 +85,27,59,47,67,35,37,15,62,56,46,89,76 +37,14,43,93,74,46,67,68,28,32,63,31,52,13,75,66,29,98,95 +77,27,83,98,32,31,18,63,19,66,94,55,29,36,34 +77,84,94,55,83,38,76,17,56,59,47,35,37 +44,87,32,13,98,28,94,66,52,89,77,67,75,95,34 +59,35,37,14,93,46,18,32,87,15,89,27,31,52,13,75,66 +41,47,28,74,17,68,43 +93,74,46,67,68,28,18,32,87,15,89,27,31,52,13,75,66,29,98,95,19,44,77 +85,59,35,68,28,18,89,31,75 +32,87,15,89,44,84,94,36,83 +84,34,29,41,94,66,75,27,38,63,52 +98,19,77,34,84,36,55,41,21,39,96,86,16,62,76,56,85 +27,52,75,66,19,44,77,34,94,55,82,38,39 +62,76,17,85,59,47,35,37,14,43,93,74,67,68,28,63,27 +82,39,16,62,17,59,47,14,46 +89,27,52,13,75,66,98,95,19,44,77,34,84,94,36,55,41,38,21 +17,74,46,15,56,43,37,32,14,68,76,31,47 +63,38,27,31,44,98,55 +21,41,39,59,86,82,36,94,55,38,47,93,17,14,85,43,16,76,37 +75,98,95,44,77,55,38,16,76 +39,96,16,62,76,56,59,37,43,93,74,67,28,18,87 +86,77,59,94,76,83,44,96,39,35,85 +55,83,96,59,93,74,46 +86,17,93,67,28 +29,98,19,44,77,34,84,94,36,55,83,39,86,16,62,76,56 +31,52,75,66,95,77,34,84,36,83,21,39,86 +46,67,68,85,15,18,17,59,63,28,56,87,31 +89,27,31,52,75,29,19,44,34,36,82,38,21 +31,52,67,19,87,29,44,77,63,28,94 +62,16,41,14,17,86,35,59,21 +44,86,21,34,59,94,85,96,76,35,41 +21,95,75,15,19,77,66,94,36,13,52,82,98,44,29,31,84,38,83,27,41 +38,39,96,16,62,56,85,59,35,37,14,74,46,67,68,28,18 +55,21,96,86,37,14,46 +98,63,27,44,15 +39,96,86,62,76,56,85,35,37,74,46,67,68,18,87 +83,59,37,38,82 +98,19,34,83,82 +39,19,59,84,47,77,16,34,56,44,83 +56,47,83,62,55,44,21,59,35,76,39,16,86,17,82,77,41,36,38,96,34 +14,28,18,32,27,31,29 +83,21,89,52,39,34,41,77,31,44,29,55,84,38,98 +68,31,13,98,44,84,36 +34,84,82,86,76 +29,32,19,63,66,44,89,52,46,98,77,18,75,67,84,13,95,27,68,15,28 +63,89,27,31,75,29,98,19,84,94,36,55,83,82,41 +35,86,67,28,37,76,93,63,68,59,18,47,32,96,17,43,16,14,85,62,56 +29,52,55,19,13,15,89,83,31,77,75,63,82 +77,34,36,55,83,82,41,96,16,62,56,85,37 +35,59,86,37,74,47,62,46,38,76,14,83,39,43,82,41,55,16,17,93,96 +56,59,47,37,74,18,32,89,27,52,13 +31,93,89,63,35,15,52,87,74,68,32,98,67,37,28,18,46,14,75 +74,47,15,43,63,35,86,62,67,56,93,68,46,16,32,87,17,37,18,59,14,28,76 +93,74,63,89,31 +47,35,37,14,43,93,74,46,67,68,28,32,87,63,15,89,27,31,52,13,75,66,29 +68,63,15,31,98,95,19,44,77 +93,46,68,28,18,87,63,15,89,31,52,13,66,29,95 +77,85,95,21,94,39,41,86,98,17,34,56,83,84,82 +63,87,14,46,43,47,56,13,67 +62,76,17,43,93,74,68,63,27 +85,47,43,93,74,68,63,15,89,27,52,13,75 +17,35,37,14,93,46,68,87,15,27,52 +27,34,77,98,19,32,75,89,13,18,28,74,68,46,95,52,44,67,29 +95,13,66,27,84,44,36,89,63,55,28 +41,38,21,39,96,86,16,62,76,56,85,59,47,35,37,14,43,93,46,67,28 +52,13,75,66,29,98,95,19,44,77,34,84,94,55,83,82,41,38,21,39,96,86,16 +86,56,35,59,83,37,82,55,96 +89,47,63,18,74,62,28,43,59,27,14,76,67,15,93,68,85 +86,87,67,43,47,39,14 +18,55,89,77,19,13,66,29,28,32,52,27,94,95,44,15,36,87,34,31,84 +35,37,14,43,93,74,46,67,68,28,18,32,63,15,89,27,31,52,13,75,66,29,98 +77,34,84,36,41,38,39,96,86,76,56,85,59 +31,66,84,94,82,21,86 +93,32,87,52,75,66,29,19,77 +74,46,27,18,37,28,14,87,93,66,35,67,52,15,29,75,98 +98,66,29,75,15,68,27,67,31,13,63,93,89,46,52,87,95,18,32,19,44,74,43 diff --git a/2024/06/input.txt b/2024/06/input.txt new file mode 100644 index 0000000..1f20b72 --- /dev/null +++ b/2024/06/input.txt @@ -0,0 +1,130 @@ +..........#.............................#...............#...........#....................#...........#............................ +..............................#.......#...#.....#.....#...............#.#..#.......................#............#................. +.............#...........#.#........#............#..........................#.........#.......#......#............................ +......................................................#....#..#.............#................................#...#............##.. +...............#.....#....................................#......................................................#................ +..................##............#......#...............................................................#...................#...... +.#......#...........................................................#............................#................................ +#..#.............#...............................#.....#....#.............................#....#..............................#... +#...##..........#.........................#.................................................#............#...............#........ +............#...............#..............................................#.................................#..........##........ +..............#...................#......##...#.....#....................#.......................................................# +.#.....#....#......................#...#........................................#.#.............#.........#....................... +#..#...............#........##.........#.....#..........#.....##.........................#.....#.#................................ +...............#...............................#.....#.................................................#..##...................... +......#...................#..........#...........................................#....#........................................... +...............................................#...#....##.................................................#.....#................ +.................#.........#..............................#........#...#...#...................................#.................. +...........#..#.....#...#.........................#..........#.#.............#....#...................##.......................... +.........................................#.........................#.#............#...#...##............................#......... +.....#......................................#....................................................#..............#................. +..................................................#..................#................#.............#.#..#..................#..... +............................................#.....#......................#........#..........................................#.... +.......#..........................#...#...................................#.........................#...#..........#......#....... +............#...........##........................................................................#......................#........ +#.#...............................................#........#..........#.#..#...#................................#................. +..#.........................#.#........................#....##..................................................#............#.... +.....................................................................................#...............#...........#..........#..... +....................#..........#................................#...............................................#................. +#..............#.#...........#.........#..........#..........................#......................##........#.........#......... +....#....#...............................................................................#...#...........#............#...#...#... +.......................................................##......................#...#................................#............. +.......#...........##...........................#..............#..............................#...................#......#........ +......#.........#..............................................................#........#..#..........#.......#..#...#.....#....#. +....#.............................................#........#....#..................................#.............................. +..........#......#...........#....................................#..............#.......#...#............#....................... +...........................................................................................#.......#.............................. +.#..................................................#.............................#..................#...................#........ +......#..#.#................#.....................#..................................#.............#...............#.............. +...............................#..................#........#...................................................................... +......................#..................................................................................#.........#.............. +...............................................................................................................................#.. +.......#..............#...........................................................#......................#.......................# +#...............................#..............................#.......#..............................#...#...#........#.......... +............................#....#...#.........#....#................................................................#............ +.....................#.................................................................#..#....#..................#............... +......................#.............#.............................#...................................................#........... +....#.................#.#.........##................#.....#....................................................#.............#.... +...............................#...#...................#.......................................#......#........................... +....#............................................................................................................................. +...#.......................................................................................................#............#.......#. +..#.............##.............................................................#...#............................#............#.... +......................#.......#............#........................................................#..................#......#... +...................#.............#..................#..............................#............#........#...................#.... +....................#...........#.........................................................#......#.......#...........#.....##..... +...........#.........................................#.............................#..............#..................#............ +......................#.........#...................#......#...........................................#.......................... +..#....#...#.............................#..............#.....................#............#...................................#.. +.....#.............................#....#..................................#...................#...#.............#................ +...................#...#...........#........................#.............#........................#...#.............#..........#. +...#...........#......#.......#..............#......#..........#.....#............................................................ +..#......................................................#......#...........................#...........#......#..#............... +........#............................#.#....................#...#...#......#.....#...............................................# +.............#....#........#.........................................................................................#.........#.. +....................................................................................................#............................. +..#........................#....#............................................................................#.................... +.......................................#.....#.#.......................................#......#........#.#...................#.... +.................#........#....................................#...#..#................................#.......................... +...........#.................................................................................................#.................... +......................#..................#...#.............#................##................#.......#...........#.........#..... +............#..#................#.............................................#............##..................##..........#...... +......#.#.......................#............#...........................................................#........................ +#......................................#.#......^...............................................#................................. +........#...........................................................#...............#............................................. +...#.............................................#.................#...............#.............................#...#.#.......... +....................#........#...........##.......................#.................#..................#................#......... +#................................................................................................................................. +............#.......................................................................................#.#.........#..............#.. +...............#....#............#..................................................#......##.................................#... +.............................#.........#...............#......#.......#.................#........................#........#....... +......................................................#........................................................#.................# +.................#.#...............#......................................................................................#....#.. +........#.............#......................#...........#...........#......................................#..............#...... +......................#......................#...........#.....#.....##............................................#....#......... +.............#................................................................................#..........#.....#.................. +............##...........................#.................................#..#.#....................................#............ +..............................................................................................#............................#...... +...#.............................#..#..#....................................#..............#....#................................. +.....#..........................................................#.....#......#.........#.......................................... +....##......#.....................#..........#..............#..................#.#..............#........#...........#....#....... +.....#...#.........#............#............#.............................................................#...................... +.........#...................................#...........#.....................................##.....#............#.............. +.....##.#............##.....................#..........................#.................................#........#............... +.......................#..............##...#...................................................#.........#........................ +..#........#.......#...#..##............#....................................................................#...........#.....#.. +..#.....................................................................#..............#.............#...................#........ +...........#..........#..........#.....#.................................................................#..#..................... +..........#................#........................................................##.#...............................#.#......#. +#............................................#...........................##...#.......................#.............#............. +..#............#........................................................................................................#......... +....................................................#....................#............#...............#..........................# +........................................................................#.......#.....................................#.#......... +................#..#......................#...........................................#........................................... +........................##............................................#.............##..........................#.......#....#.... +.........#.......#..............................#......#....#............#..................#...#................................. +#.........#............................#....#.#..#.........................................................##..................... +.#..##...............#....#.............................#...............#........#.......................................#......#. +...#............................................................#.....................#.................#.....#................... +...#...........#..#.............................#.....#.............................................................#............. +...#.........................#..............................................................................................##.... +.........................#...........................#.......................#...........#........................................ +.#..................................#............................................................................................. +....................................................................#...........##.....#.#.........#.....#........................ +................#...............................#........#........................................................................ +......#....#.................................#...................................#.#.........#.....#....................#......... +................#..............................#.......................#...#.....#.......#................#....................... +....................#......................................#..#...........#.#.................#...#.......................#....... +.............#..#...#............................#.#...........................................#.......................#.......... +.........#..........#.................#....................................#.#..........................................#......... +....#.............#......................................................#...........#...........................#................ +........#.#............................#...........................................#.................#..............#..........#.. +..............#..........................#............#.........#....#...#.....#.........................#....#...............##.. +...................#.........................................................#.......#........#..............#..........#......... +.#........#....#..................................#..#.#...............#............#...........#................................. +...............................................................................................#.....#....#.............#......... +...........#..........#...........................................#.........#..............#................#..........#.......... +............#.................................###..............#.#...............................................................# +......#...................................................................................#............#...#..........#.....#..... +.............#..................#...................#......#.........#..#.......................#....#................#..........# +..#....##................................#.................#...........................#.......#....#...#..........#.............. +...............................#......................................#.........#.............#......................#..........#. diff --git a/2024/07/input.txt b/2024/07/input.txt new file mode 100644 index 0000000..4647750 --- /dev/null +++ b/2024/07/input.txt @@ -0,0 +1,850 @@ +1233: 1 18 5 3 +109101993: 3 8 2 471 2 5 5 2 1 1 517 +344748: 66 4 518 3 790 +5354640: 3 1 490 890 9 37 +663936: 8 920 25 272 855 78 +14099635: 268 6 4 2 6 5 3 214 2 31 +640057: 183 8 4 436 9 +2854: 9 3 13 59 82 +1773145: 805 8 78 73 6 9 1 4 +30614712991: 964 201 790 3 2 93 3 +368648: 4 6 192 1 8 +207308636: 6 30 7 7 9 3 5 94 5 90 4 1 +9329401237: 7 2 855 628 453 8 238 +111833872456: 42 97 792 33 9 7 8 2 5 8 +2942544984: 947 1 31 68 449 84 +19831717202: 346 87 646 918 885 5 +3798404: 3 6 9 38 4 50 945 38 82 +141719146: 46 333 428 57 90 2 6 8 +1628213600: 4 93 3 9 8 22 4 6 3 7 3 5 +1300751: 4 82 7 811 751 +136155101: 24 8 795 892 155 66 +104057566: 80 2 9 6 8 9 4 6 +35614965: 6 886 3 5 1 1 9 9 743 1 2 +971077: 495 37 53 330 51 1 +14453: 3 8 4 897 72 232 3 +9565163893557: 21 935 51 63 89 355 7 +2561: 8 17 62 +7286: 6 90 3 764 5 +282273493355: 3 5 3 4 8 8 548 7 8 57 5 +80890325640: 25 86 34 26 7 920 +416850: 14 3 7 397 7 +1825919359292: 55 89 64 323 359 292 +289725437473152: 772 7 63 9 23 851 152 +85457839140: 984 37 6 954 3 2 7 820 +93106926: 3 344 6 46 8 9 4 3 974 9 +99605551: 4 249 10 555 4 +56952: 569 49 57 3 7 4 3 +17135089: 85 652 2 46 24 65 +484740: 3 8 2 4 3 115 52 7 1 2 1 9 +834609: 83 4 431 176 2 +17658858: 79 33 6 7 53 +48992111574: 4 8 992 111 57 4 +21035: 7 63 9 1 16 26 52 +3892138: 9 6 1 429 4 4 7 7 4 3 8 2 +1288934: 4 350 31 9 29 8 5 992 +167846003069: 808 31 230 20 30 72 +5574: 5 952 5 7 799 +199273356: 701 2 7 9 4 16 6 47 5 5 3 +721984233: 7 2 19 842 30 +77061440: 290 1 272 857 160 +595697: 7 77 7 9 7 240 7 5 505 7 +27740629913: 8 68 365 629 910 +5809: 3 5 623 6 819 +32358137220: 64 9 7 7 557 1 3 63 9 23 +22372: 913 4 34 43 6 +11178860: 23 48 5 28 17 +64682084678: 66 70 2 2 978 10 7 8 +37332412653: 9 154 18 3 369 614 +57132: 3 8 9 602 2 9 727 5 9 +1130753406060: 8 99 689 5 9 6 35 605 9 +1816563600: 90 6 94 4 5 202 3 5 5 24 +569882610: 4 1 2 236 761 1 6 33 93 +830228: 401 9 5 23 43 +210262: 1 1 44 42 8 7 206 744 4 +165128576: 16 4 43 6 856 5 9 +11738564439: 233 234 67 189 251 +659845643: 6 26 8 1 9 6 1 4 1 4 1 +711578010: 4 954 474 187 887 +1592: 8 2 6 1 525 3 1 7 143 87 +7567457: 631 56 950 11 7 +89724: 64 6 203 105 185 394 +10565637356: 5 56 377 96 3 1 73 5 4 2 +4792246: 1 4 77 3 8 9 8 9 4 5 9 6 +4951: 9 6 7 2 9 5 3 +220884971223514: 474 466 9 712 23 514 +1910495: 210 9 9 6 1 43 9 6 3 7 4 5 +1711476: 4 8 9 6 2 8 1 18 9 383 6 9 +56819123: 5 520 240 956 2 5 +22701435: 1 12 72 407 664 603 +943269: 6 1 2 75 8 131 62 1 4 3 1 +684976150728: 90 174 1 76 7 5 81 54 +36040: 67 388 382 43 49 +18116058240: 1 43 63 3 1 864 215 3 4 +9574204: 7 75 647 9 789 6 81 1 +32200: 1 9 30 35 23 +9831: 3 90 5 2 5 6 +4368: 44 9 34 6 8 +51632093208: 7 1 287 655 4 89 9 7 +378088896: 62 4 2 914 834 +4819853: 25 82 55 819 38 +14655314: 6 9 52 828 4 84 93 2 +3593362626: 6 24 50 225 91 1 117 9 +266235417: 7 7 9 74 67 3 50 3 3 7 9 +4615721289: 71 797 427 9 4 4 7 639 +5108492031133: 90 7 7 968 646 81 9 2 +327638: 3 52 6 1 35 +2534: 426 4 94 602 56 78 +75442: 2 12 4 4 50 516 115 4 6 +314880394762: 320 164 6 394 764 +21219287189: 70 535 1 869 652 1 +9168: 84 6 7 516 8 +279388285046: 8 465 3 1 3 7 6 7 550 43 +13450525: 65 8 781 175 3 9 +179797698432: 2 968 946 303 54 6 +479001668: 308 8 1 27 300 3 8 65 3 +366921: 58 2 50 419 59 +308689423: 1 29 868 9 424 2 +48444576404: 48 44 4 57 6 404 +568888103559: 6 95 69 8 3 4 99 5 56 73 +343877037304: 985 886 436 63 8 +4386277350: 13 987 53 86 75 +2378904521: 5 19 581 431 24 +7758: 843 3 8 984 6 +413120526: 67 26 491 69 7 +425332: 4 421 26 7 66 +516566: 3 4 23 53 1 5 653 7 9 6 +1023358353: 7 538 5 426 82 637 17 +2470025504: 7 9 7 7 8 2 77 148 504 +308762622: 8 910 738 83 4 8 6 1 +154407150848: 5 9 7 8 8 2 9 7 562 60 8 +17634: 8 9 634 +450592: 2 3 445 59 2 +387052428: 6 6 6 5 933 4 7 88 2 426 +34926021250: 91 4 24 9 602 1 1 8 7 66 +1616641: 4 36 79 14 37 +58333671: 79 5 7 570 6 664 703 2 +122527: 720 217 39 249 30 +4765512: 2 5 4 7 98 6 4 6 4 378 2 3 +1432: 4 343 9 1 4 8 +23112862: 83 36 2 914 2 592 +1090765: 39 79 79 9 7 13 +72509: 72 50 9 +201027: 40 9 3 7 6 473 +39123912115: 3 8 899 411 8 112 +6136325: 939 81 8 94 8 5 +45621014: 83 8 241 73 30 5 +4724738307476: 7 7 216 8 3 576 8 4 2 9 4 +26290: 3 2 1 6 5 90 727 1 363 +3031608: 6 148 561 8 53 8 +1377: 95 3 7 550 29 7 499 +19834: 7 4 268 +783511509: 95 43 38 821 14 +3288842180462: 82 2 210 54 4 4 4 45 7 4 +484: 4 460 9 5 6 +2519409274: 3 85 2 6 13 1 185 5 1 2 4 +760388283731: 3 90 79 2 7 6 5 8 9 26 1 1 +198119: 6 5 9 99 121 +452284: 5 632 710 13 1 +37436854690509: 671 988 367 6 70 253 +227160009081: 327 9 507 80 75 908 1 +87988735: 877 1 6 272 735 +14121187: 1 419 3 79 334 +6877248522: 19 3 2 6 9 5 1 8 8 7 513 7 +1026117: 9 95 6 57 1 2 +5827398923: 298 1 65 54 663 3 23 +495795976: 3 682 3 3 2 9 5 4 496 8 6 +1829: 3 55 1 8 497 4 +94865: 5 935 260 32 77 1 +537: 17 9 3 +214232862: 471 96 9 3 74 53 5 20 9 +161032340: 3 7 3 8 7 69 8 41 88 12 7 +1320891: 5 8 11 9 891 +16202584: 8 48 9 333 248 +52556323: 3 2 7 4 52 1 2 6 314 7 2 +3458493705: 9 929 76 221 341 1 8 6 +1429440: 300 76 59 965 60 +51719895: 6 8 3 80 1 7 2 3 437 894 +3637900448: 327 561 61 7 7 8 731 +4803971810: 632 101 5 760 410 +8523057: 4 8 7 9 9 864 1 4 5 1 669 +1506471912: 10 22 9 17 83 8 99 +187923899: 6 9 6 6 994 5 7 820 7 3 6 +204934: 16 9 8 601 34 +10378874447: 3 3 59 3 3 642 34 814 8 +34485753: 43 1 8 1 4 642 111 +288644076000: 48 25 635 622 609 +630886: 6 8 7 5 9 1 638 9 5 40 3 3 +110160: 37 7 4 90 958 90 +24186155: 1 3 4 85 8 6 774 29 7 +402954366: 6 3 9 56 2 3 2 35 1 9 3 54 +6755973358: 66 1 5 25 34 1 7 3 358 +67363154: 126 685 8 45 780 3 6 5 +285964221: 952 598 1 616 1 3 23 +264232: 7 4 12 1 2 33 +71286: 1 99 4 7 1 648 6 1 +734329140: 688 46 32 9 1 40 +51943: 3 787 22 1 +476596: 6 5 880 64 8 6 5 3 85 +1380: 46 6 5 +28011827935397: 9 5 1 2 925 1 7 955 3 9 7 +294720: 163 2 3 8 558 3 1 96 +67: 8 8 3 +9984210999: 1 38 870 3 302 3 7 2 9 +3998862: 447 892 2 7 2 213 +4142481: 23 8 9 5 3 1 8 5 7 9 +11784606857757: 8 2 36 7 5 1 8 761 973 9 +1329: 2 9 19 4 9 +271929206545: 33 103 8 920 64 60 85 +9949987386: 479 261 239 301 333 +588095365: 188 465 38 87 69 85 +1693813434: 470 5 204 6 69 2 5 4 34 +592803534: 988 75 441 8 8 +22449547836: 747 1 2 9 8 3 3 2 47 836 +1186939560: 471 6 2 7 65 3 1 2 1 3 5 2 +64276258: 172 8 39 7 974 292 50 +22212455826: 43 84 7 7 883 993 99 +1215695: 9 707 13 856 767 +38097: 824 23 9 53 2 6 63 +24728256: 6 1 848 5 9 4 19 2 3 9 1 8 +70704: 1 740 7 269 4 +963: 3 8 3 86 5 4 6 1 817 3 7 2 +3588456480: 42 71 972 140 6 +298882200: 877 8 71 98 2 6 +839197668: 8 3 4 6 3 447 8 3 9 5 668 +613568: 1 96 1 3 2 48 2 6 75 8 8 +2008: 28 5 82 9 8 +6077386: 57 2 26 1 6 957 78 11 +1408: 602 6 6 4 790 +2684664: 9 73 86 6 54 +2416491814: 9 33 54 38 7 568 +95367: 6 6 84 33 5 36 2 2 9 3 72 +2952934851480: 628 284 47 51 480 +496516537: 58 4 1 371 85 +20002192714: 36 3 996 8 5 98 94 716 +12557514: 67 99 7 73 1 4 45 7 4 3 6 +42204: 76 71 47 3 2 603 63 84 +5540549: 551 20 285 1 13 35 +14458: 65 27 8 182 219 17 +222257560552066: 39 77 4 80 54 8 740 66 +49621070: 9 6 2 75 2 7 5 8 5 914 7 3 +286985509: 49 748 5 87 2 9 3 342 4 +217459: 3 6 151 4 4 +10880465149926: 1 34 3 267 30 246 81 +115569756542: 9 7 7 3 56 97 565 34 8 +19540053: 47 664 6 626 89 +1100135: 13 65 1 563 17 14 15 +14116534: 59 4 7 40 9 72 7 +13978309529631: 774 25 885 4 54 4 1 51 +5120326: 1 510 9 1 326 +886738104: 78 29 27 84 58 63 +192490: 4 92 2 395 95 +12856134373: 9 50 5 2 7 7 60 2 2 4 713 +28761847: 6 98 1 3 91 43 6 3 4 5 7 +212784: 15 92 22 886 93 +1064532685: 4 1 9 211 6 6 1 805 6 85 +459693111: 3 9 57 39 548 29 4 8 4 +655199: 3 3 2 2 60 60 +67369104: 5 279 981 7 3 1 7 5 2 3 9 +38174772: 190 87 386 2 3 +1109: 1 99 622 19 369 +1200192: 6 8 23 135 5 25 4 48 +3870126: 2 43 36 6 319 9 1 962 +357278904016: 2 6 4 7 2 2 3 3 105 48 1 5 +8833713: 2 702 392 81 32 145 +4717442: 51 2 7 5 9 3 94 967 81 +7429: 73 3 9 7 3 +22441693: 85 738 7 923 51 6 4 +1460217600: 9 99 9 8 113 9 303 5 3 4 +80049209453: 85 8 4 66 615 8 9 4 52 +1096445328: 42 181 6 2 73 92 282 +20315988: 4 521 2 8 18 1 539 +4727090370: 1 5 999 6 5 91 913 56 +11976662: 1 1 8 5 8 2 6 70 1 98 6 64 +7787171057: 77 85 1 1 8 1 126 105 5 +320686096980: 7 7 3 8 3 8 78 8 4 4 980 +3211: 7 205 8 27 1 13 +20117: 6 2 42 8 3 8 469 5 4 277 +47766: 1 8 4 8 544 7 6 4 6 65 7 3 +20333: 216 31 82 2 77 +1408512: 896 4 393 +335067840: 6 1 4 40 9 2 7 6 5 864 90 +245970960: 6 85 75 501 646 +64525323: 595 2 9 9 6 183 9 5 3 4 3 +1515151: 16 2 5 1 1 9 91 1 +107014412422: 6 818 918 218 21 +6050: 458 697 1 53 5 5 +10888863804: 493 6 1 2 91 27 886 +14863629: 89 8 258 508 8 1 2 6 31 +4956: 4 603 7 340 6 +272910: 5 1 28 8 174 88 648 +48097: 7 1 2 1 43 6 86 1 9 98 4 +152711714183: 90 4 62 4 54 181 20 9 7 +3935475: 80 7 2 211 1 7 +27681695038: 2 1 9 6 67 329 64 351 8 +124189056: 643 6 67 96 3 +34955586: 695 4 11 17 1 5 +576720450: 2 8 1 190 5 1 36 5 9 4 5 3 +106531141: 93 44 928 311 39 +45391948: 3 601 8 9 54 8 3 7 8 2 8 +1902304964: 3 97 35 5 8 37 37 57 5 +1245: 816 339 8 6 2 4 9 2 5 54 +91641578: 29 8 395 837 741 +86158666362: 2 6 70 8 220 848 76 2 +75426432: 3 121 2 9 3 3 6 2 89 8 8 +45203862847: 8 753 54 39 3 11 8 4 1 9 +1503: 7 742 688 63 6 +1910635650: 1 9 5 5 5 64 6 5 6 3 737 5 +545187456: 5 6 4 471 87 8 2 8 384 9 +857376: 5 99 916 9 1 +44770397: 63 95 7 7 4 94 +28047: 7 46 4 86 9 2 +18585855: 6 9 5 343 5 5 8 96 +38352707369: 77 1 2 9 4 113 5 867 2 1 +6310322137: 62 184 918 75 47 1 35 +109342: 467 3 78 63 1 +19118473: 8 47 2 5 4 94 12 4 +82914917: 3 853 324 5 8 1 4 16 16 +57748841: 577 4 586 298 2 +3251746104: 5 50 60 17 72 82 9 13 +178494: 1 62 67 9 728 64 +50056: 641 9 2 3 483 8 +47350: 26 3 759 159 50 +67593: 4 2 1 84 21 372 +83376911: 36 386 6 91 2 +335413587: 9 2 77 55 36 44 +70364: 92 6 718 +132846367118: 632 6 7 3 367 119 +547675: 1 9 537 586 89 +31931928: 1 73 682 862 49 +35304: 27 94 5 6 1 27 755 8 +531051: 1 434 8 4 9 19 2 2 8 78 5 +461616611: 6 833 5 9 549 5 670 8 6 +343363: 6 6 8 37 16 29 4 +25480: 3 1 11 26 70 +1653303: 14 9 574 17 586 13 +678732: 2 9 5 3 6 7 1 89 8 4 155 5 +6796293: 190 48 8 4 54 43 69 +12842869456864: 6 4 214 3 47 27 5 7 1 6 4 +14397007437: 568 267 12 879 5 9 1 +880304454: 2 4 104 7 6 16 3 76 8 6 8 +18072257552: 8 61 5 668 41 930 59 +31216833: 6 24 33 27 26 5 70 +33643649656: 8 4 7 8 945 491 49 653 +365450360: 804 99 22 1 54 9 35 85 +5946173: 76 46 869 6 173 +213978: 2 17 79 167 75 +5037020668: 2 25 37 50 6 5 8 4 54 6 5 +653934708: 5 3 5 33 3 1 703 8 162 +3896904: 7 793 43 5 104 82 +3226: 437 222 341 613 2 +81942324826: 7 6 657 6 8 6 8 7 53 2 1 4 +2160750: 837 5 43 2 3 +198732: 31 659 96 4 3 +170898663: 18 9 88 6 50 57 9 300 +28120999: 4 1 1 59 40 5 15 5 997 +11379563100: 81 6 4 228 113 9 2 5 2 6 +342732047: 52 589 1 51 6 31 3 1 1 7 +9161: 868 44 99 7 9 +44467433: 3 947 499 7 430 +3435401: 356 965 2 +258803: 2 7 5 3 308 4 3 8 50 7 8 7 +31256107765586: 18 5 818 488 65 87 86 +209945274: 60 30 99 6 2 7 561 +9014976: 37 36 47 6 24 +12718835413: 61 28 50 6 14 911 11 +8687463: 24 6 791 6 3 +22272: 2 1 2 232 24 1 +15225570: 16 9 20 2 9 9 4 456 44 5 +1193094: 8 731 4 2 51 +16046: 90 70 51 1 24 8 66 8 +4403024730: 4 7 76 7 7 729 90 18 30 +28336268: 3 68 77 2 67 +301438993: 557 2 256 77 7 9 +161487419: 702 1 169 23 532 +194081938: 4 6 6 6 50 2 16 6 643 2 +1746520: 3 9 5 3 7 5 651 3 6 7 6 41 +67383: 673 8 3 +50297: 6 1 10 6 303 +497381797: 69 6 4 5 9 6 9 518 79 7 +45: 8 8 2 7 6 +490: 7 6 1 5 7 +4363239498: 5 6 6 2 5 5 6 7 8 680 6 76 +530469: 3 6 858 41 7 45 85 3 27 +7214986: 9 88 1 8 73 410 54 809 +967324: 161 6 1 31 8 4 +3905608: 185 95 21 56 1 97 +3315232373: 7 1 8 8 74 323 71 2 +1952584313: 6 1 5 4 14 2 84 2 7 7 24 3 +697: 623 5 5 66 +213749: 31 86 8 46 9 +4587919: 12 41 288 3 919 +462318: 77 6 182 58 79 +13958: 55 4 752 89 5 +684975: 743 1 61 281 15 +276312: 50 44 5 9 69 29 +759155: 8 4 5 9 1 355 2 2 436 6 1 +2140786: 201 834 47 44 406 +82350: 79 30 1 7 6 675 +292818: 39 82 1 49 9 1 48 9 75 +20825303: 59 40 7 8 7 180 20 +60780774: 50 6 97 8 202 3 5 3 5 9 7 +20537398770: 600 224 6 9 2 3 2 764 +259627: 63 7 3 220 67 476 3 +436821: 1 50 5 5 780 7 4 5 4 3 6 3 +1664391: 35 432 2 2 891 3 +330191: 714 5 92 90 611 +2525156: 7 865 4 6 3 3 4 8 167 5 1 +1653324: 3 8 3 66 495 23 +97856: 26 46 195 217 32 +612: 62 481 63 3 +44581500402: 56 3 434 1 795 219 +32075707507: 606 6 7 7 1 7 6 3 8 5 50 6 +1136: 6 8 1 99 5 +9122831: 19 16 784 93 27 93 40 +1279500544: 97 2 8 35 471 4 1 3 98 1 +901382145: 90 13 819 2 47 +45227: 864 4 1 2 3 67 25 7 1 20 +10812221: 2 54 114 8 21 +93159765: 1 930 5 976 5 +1404522241: 4 3 3 7 994 90 1 5 8 9 4 +78765: 9 99 1 71 8 73 +10764570360287: 8 7 4 6 91 40 587 5 7 4 7 +285978: 27 45 110 4 75 +15955199920: 87 5 24 79 81 8 55 4 2 +112128: 365 8 42 3 27 +3009824160: 511 4 2 8 8 76 29 632 5 +16434357: 9 74 3 66 35 8 +39529: 1 6 6 29 41 4 3 9 +156026125: 9 9 57 72 2 8 1 32 33 4 9 +73428768: 213 4 57 21 1 9 8 +11712035: 42 818 91 340 55 +1272102: 9 5 96 3 7 50 6 94 +13573956: 31 4 9 391 789 +242324: 757 5 8 8 84 +3130: 330 3 2 3 693 757 675 +31358486736526: 3 919 8 8 867 365 1 1 4 +23163457: 10 3 5 3 2 9 4 8 4 1 59 57 +3367569: 1 7 29 6 409 8 7 532 8 1 +44432361044: 54 85 135 64 3 5 6 44 +29581531374898: 295 815 31 3 743 5 9 5 +2481264485: 2 479 34 192 4 415 67 +36332832695: 1 5 4 2 476 5 1 230 99 5 +10150657: 4 2 8 53 570 7 9 17 6 65 +83620425: 2 4 9 475 707 +38795: 920 7 6 143 12 +54222210: 9 92 89 5 81 146 +324091: 4 3 385 2 1 9 7 70 5 8 18 +10533762: 59 1 26 5 15 8 5 3 9 +4884809762: 2 3 3 3 8 860 91 2 4 6 3 +2642160: 2 3 4 3 8 63 8 286 5 8 3 3 +197589: 6 8 5 736 9 158 59 +12024: 110 6 8 2 9 +75189063: 888 2 672 3 8 4 3 2 8 7 5 +7551584667: 304 92 83 21 27 +5368844: 49 791 581 36 11 8 +7590272: 5 2 5 5 1 2 6 9 683 582 9 +25835640: 5 33 3 956 9 276 6 4 1 +18285992: 3 58 967 310 20 2 +9099208719996: 8 940 121 871 9 9 94 +1013436: 66 415 37 6 +8452: 3 9 7 5 4 +902510: 5 722 25 7 3 +69876: 7 55 32 14 647 +2744: 20 6 63 49 34 +7489418400: 2 551 1 217 3 78 8 49 2 +2151596379: 30 4 9 3 9 3 9 98 8 882 7 +234735729: 234 73 5 726 1 +78987524814: 76 167 9 691 9 5 8 14 +113571754565: 81 2 57 48 956 792 3 5 +3052805: 525 37 96 58 91 +304167: 87 93 124 161 3 +1051155: 558 5 308 89 7 3 53 47 +5066612: 6 261 811 2 470 1 5 6 6 +628014: 51 5 92 5 43 2 3 1 5 8 6 6 +1770831233: 76 233 3 1 231 +4235592666: 423 5 5 92 665 4 +6784: 4 77 21 4 8 8 +13258948651: 929 8 713 2 654 +14466762: 3 15 18 17 27 +958180: 7 4 28 8 7 188 180 +693430: 7 33 3 421 11 +35127451: 89 7 310 291 37 51 +14920080: 3 5 71 69 5 415 56 1 +6161459348: 3 7 8 584 41 628 +74584001436: 5 98 5 88 9 8 8 137 6 6 +680498063439: 921 51 7 980 634 33 6 +1010100: 6 3 7 9 424 54 2 78 4 4 6 +27480817504: 916 30 8 17 45 7 44 3 +33052: 7 988 6 33 19 +3297: 289 99 8 146 43 4 +13673373568: 5 2 6 4 8 81 5 2 5 3 568 3 +91986147503: 415 8 4 3 1 4 299 7 4 79 +887695534: 7 7 634 8 80 37 38 36 +108702: 5 49 303 2 96 +10115040: 71 4 3 6 6 5 2 624 +29945841: 148 2 9 56 573 2 20 +1294927056: 4 2 5 119 9 9 4 6 93 74 7 +2970: 87 797 54 26 26 3 +2818449110: 7 8 368 982 2 5 +504694019: 38 8 2 891 15 3 3 40 19 +3314292: 33 133 9 92 +521850: 71 96 1 8 71 7 6 +1337171983: 329 9 4 8 4 7 2 84 7 6 6 1 +64964: 228 1 420 6 3 +8151404809: 97 3 35 32 748 9 +2309014488: 11 9 2 6 329 7 78 1 9 3 5 +1001843: 997 3 8 4 5 93 50 +10989423299: 131 4 2 882 9 78 32 99 +540384177: 6 928 78 13 4 7 +293878: 79 7 3 83 8 308 48 +251376048: 45 226 822 363 63 +16601364: 4 40 5 960 53 64 +2350952: 4 27 43 5 946 5 +847053286: 4 98 434 90 9 918 +2709: 2 9 8 1 17 4 7 495 4 6 4 3 +2263207: 36 984 736 6 9 +10796424750: 8 6 395 23 3 75 1 +248133271: 7 9 38 3 7 1 654 7 4 9 8 +28882553: 38 95 4 5 2 8 1 30 623 +33817833704: 403 17 57 878 91 954 +1531428: 6 96 664 393 4 +3373286: 290 2 6 7 83 +72660260: 4 8 1 59 9 3 6 583 19 6 1 +5143084626: 8 984 164 64 4 4 623 +42799: 4 18 92 49 860 +280854: 655 77 11 21 18 +64059: 54 73 4 489 +1976: 95 72 34 8 9 95 +43345725708: 91 62 3 9 247 192 2 6 +1697645278: 305 9 475 186 7 6 9 9 4 +27892: 77 5 7 2 46 892 +33528: 2 8 76 2 6 +26498810: 441 59 5 61 7 6 +458616828: 979 950 52 25 9 +6009386: 48 92 9 5 853 +666688: 5 8 71 6 61 8 42 27 +644785225: 81 487 8 495 68 6 77 5 +657279163352: 9 927 7 5 58 276 703 8 +1066: 198 5 2 72 2 +81578: 79 93 9 11 662 +281: 8 85 3 1 2 +7288: 7 4 44 77 9 +3873096: 3 641 579 2 774 +227429: 2 217 8 8 5 8 1 3 8 8 1 36 +11260555295: 918 538 6 38 93 2 +56797885950887: 873 81 363 650 887 +1700538: 5 9 583 451 106 6 534 +2143: 2 986 547 545 63 +117304: 2 9 62 2 86 +19233: 21 9 3 2 1 3 +858728: 8 5 83 3 88 2 39 +174642220249: 6 3 7 33 60 8 8 860 7 4 9 +33150846: 65 250 30 68 846 +1043570077: 9 1 325 493 227 +1003068: 618 2 5 9 7 6 86 7 2 9 +1118262560: 2 994 747 7 12 5 +24451135158: 73 587 745 858 446 +1690468099494: 8 555 52 38 9 9 492 +122849868: 6 16 4 354 4 8 67 9 417 +65292: 2 63 29 4 +364874424: 265 3 73 7 5 1 1 4 6 1 7 7 +92920996540: 891 421 4 983 9 6 2 7 8 +983596468: 6 2 773 98 77 8 +15348995: 377 6 7 4 994 +11322109: 555 204 4 9 62 +21008913: 2 8 2 4 777 23 3 5 26 +5511608387: 646 878 7 6 8 5 5 5 9 5 3 +38885805634: 617 3 6 5 5 41 9 2 1 3 7 4 +774117: 8 462 27 61 27 +1154452731: 2 74 78 5 2 731 +15866020576: 3 32 276 629 4 952 +2828343: 880 6 76 4 42 63 +2191427: 14 3 513 368 30 1 +13067: 9 71 2 1 9 8 2 932 183 +4962424884: 6 2 271 2 4 21 3 591 6 6 +358305: 39 81 3 5 3 +65118348247: 911 460 674 106 7 +5801335: 3 5 2 7 19 80 21 5 335 +1738801: 68 1 36 70 2 +21307: 4 760 2 7 4 9 +92236167: 96 155 523 6 3 998 9 +8770607861: 8 7 70 607 8 61 +16293412126: 7 9 898 8 3 8 27 7 2 6 4 6 +325741871: 3 7 9 4 340 70 1 7 643 +27855783: 5 97 72 693 646 60 +101072: 146 690 48 5 279 +419051520997: 89 35 536 24 875 +305418037: 16 5 65 7 6 770 3 132 +755099: 744 44 8 65 877 +3188444: 5 5 2 16 5 24 383 6 9 5 +2054: 232 6 8 59 91 +481995: 94 2 39 9 5 +64736: 7 3 1 9 9 1 43 3 44 6 1 56 +1121759: 70 381 9 7 8 6 8 6 1 7 7 9 +163260849: 90 907 2 670 86 7 9 78 +1266721: 8 1 8 3 65 4 414 7 3 5 4 4 +48397230: 7 6 8 6 8 5 6 57 6 7 3 126 +26216: 12 64 23 11 7 3 92 +453475: 1 5 17 52 31 85 +27363: 79 1 341 19 64 +191920: 9 2 4 420 47 402 464 8 +3973459430: 1 17 201 7 33 21 7 430 +33778428: 190 584 4 613 76 +163842074: 6 7 9 3 9 9 893 3 785 5 9 +182: 2 165 8 7 +39786132: 26 51 5 6 6 130 +470868123239: 8 82 4 541 3 2 54 482 2 +5820: 332 632 6 30 6 +8729763849: 5 91 995 51 448 4 9 +25984365: 884 1 59 33 835 +56955254: 5 564 54 916 337 +1710: 4 46 545 2 317 782 7 7 +97677863003: 50 179 817 786 300 2 +306965793: 71 288 36 1 417 +563200: 7 3 628 120 88 +519115509: 4 44 8 7 5 98 71 3 +2013797035813: 67 506 307 9 660 1 1 +103324: 8 1 27 478 73 +198216: 83 28 85 669 7 +94090: 54 53 9 7 97 +440928: 9 76 57 91 33 +586: 1 74 8 504 +1239389: 233 2 2 3 879 +3524032016: 3 8 2 11 307 8 7 8 8 5 2 8 +12327037: 35 22 5 7 37 +171779832: 4 89 17 5 652 697 +580729169176: 7 10 2 591 146 147 8 +7738083: 229 6 84 392 5 +6428270: 686 764 95 1 231 18 2 +213249: 809 1 883 126 44 1 13 +317722752: 3 4 5 3 646 6 778 4 2 2 6 +20592132: 68 83 4 299 2 +1883551824: 4 5 9 1 8 9 3 5 890 6 8 24 +6464916: 9 922 8 868 6 46 +58421376: 663 2 46 3 38 3 332 78 +9543117: 24 7 3 1 44 70 11 64 7 9 +12870: 9 8 7 9 390 +485867969623: 8 603 994 9 6 195 8 8 +105315: 36 8 99 31 72 9 413 +8284: 4 5 17 5 91 19 +883213593: 7 8 2 7 7 1 2 167 1 7 9 8 +41864454: 54 88 60 87 54 +39433286146: 1 3 144 3 5 2 76 7 3 46 +78733223: 9 5 828 3 8 1 621 1 9 4 +25970: 41 1 5 52 265 +4308565248: 6 871 4 57 113 8 4 +763796508: 60 2 5 318 61 9 35 7 9 4 +21358: 2 6 3 99 59 +3507309037: 16 951 93 1 390 2 7 5 6 +88911062622: 56 70 85 3 74 62 620 +13623775: 5 3 3 641 6 4 885 84 1 +414677448: 414 6 770 1 4 50 +108162: 1 4 21 88 17 1 1 6 486 9 +18345600678: 65 98 960 3 677 +211524321121: 9 3 6 2 41 62 8 96 70 73 +20589489: 935 2 59 627 22 +198069200: 2 58 12 5 889 16 +23229919: 5 790 7 4 2 4 7 3 386 3 +39436947: 3 925 9 7 7 3 20 4 7 1 2 2 +143712905: 920 292 155 765 5 +930461: 860 68 5 2 9 9 3 8 2 1 2 +63976109863: 887 9 2 7 131 137 33 8 +17117103548: 2 85 66 91 354 2 4 +81246444492: 3 809 4 641 7 26 1 492 +307812: 8 5 84 8 732 7 1 2 3 4 3 +6787: 4 3 8 76 6 47 442 89 6 +98648197: 72 9 54 46 152 2 198 +168209: 90 55 580 2 9 +1793: 9 91 61 4 899 8 2 +362178006: 36 38 75 353 8 +100825683: 80 30 95 396 414 41 3 +27088: 61 33 35 96 8 +347904: 4 53 768 +91426378: 52 51 13 67 345 97 +24541687675: 2 45 527 2 6 29 19 82 7 +993266: 4 2 103 16 44 66 +2555574: 56 455 5 574 1 +3810459059: 4 5 4 2 96 2 5 82 6 4 5 9 +36468: 91 4 68 +57715681: 31 4 365 816 2 +993036: 357 276 769 2 3 +23381016912: 953 70 757 3 629 16 +9369: 84 9 6 9 +8440459776: 2 1 4 80 2 32 8 92 72 62 +4881608697731: 4 9 1 9 46 3 4 6 7 1 7 728 +117610: 64 47 25 6 56 38 +241726884: 9 37 8 72 426 6 769 81 +14946245: 3 5 5 8 73 803 1 3 6 96 2 +3026319: 4 9 689 9 479 +104261: 467 81 223 15 19 9 5 +24114775173: 6 693 357 8 755 267 2 +55835511406: 83 738 68 7 511 406 +202914: 86 1 582 94 4 2 +220344: 7 5 751 564 4 23 3 1 +975114559: 3 7 88 7 4 3 981 5 4 1 8 8 +5190749142: 52 1 41 9 9 1 3 4 68 3 4 3 +3121654437: 9 35 991 44 36 +259710723718: 5 347 11 15 162 3 840 +267304573: 8 3 2 41 12 148 9 5 73 +46092: 35 47 775 140 9 6 2 1 +459838722: 1 5 133 84 6 6 3 4 92 1 +422154208: 4 1 491 2 47 209 +28957825142: 7 3 448 6 945 1 228 5 2 +69550: 58 59 8 2 773 488 3 50 +423881584: 86 8 2 7 9 71 8 954 7 6 4 +435262699: 8 5 2 8 187 8 9 32 3 3 3 2 +536481853: 958 56 18 25 29 +163018: 815 2 18 +151801017: 8 9 68 807 31 +317445283: 8 53 6 7 7 6 52 9 8 1 801 +6693248: 660 9 32 4 8 +3037037133: 72 187 7 37 703 713 2 +406681618: 38 21 245 81 619 +1182198: 841 1 234 5 6 +1639: 15 1 59 75 3 1 +21496: 141 68 2 99 607 +4014: 59 387 9 +30336922: 94 5 3 8 4 8 854 7 9 33 2 +7833789: 87 9 374 4 3 5 +39981905: 25 832 6 3 466 376 1 1 +523774: 9 3 1 45 3 7 3 2 8 240 5 +278262534: 9 2 45 9 1 7 3 1 6 83 9 6 +594309628: 594 30 953 5 93 +1401025277578: 39 8 44 8 15 3 6 697 4 2 +11871: 11 9 9 10 58 9 6 +11059783: 763 42 475 3 2 72 4 6 +15116568192: 234 52 29 864 528 +4434: 71 1 1 27 6 +4188969400770: 50 7 51 835 8 9 4 2 5 18 +170: 1 18 55 +3279: 3 2 7 9 +50575: 7 3 6 7 2 4 844 431 9 5 5 +6049688: 9 80 2 84 8 +656467638703: 6 564 67 638 705 +24565893: 7 87 8 1 8 8 7 5 4 6 287 3 +23820995: 50 8 2 638 63 872 73 +80039400005: 26 5 44 750 8 646 1 5 +611696: 275 278 8 86 10 +179: 3 8 9 26 54 +187939: 18 1 6 9 7 7 8 5 58 332 9 +12840981: 1 8 7 8 535 1 1 2 4 853 2 +54341: 52 6 6 87 51 9 2 8 7 301 +967: 112 4 512 7 +38049: 3 804 8 +795: 6 52 30 9 3 +11859: 3 1 32 86 852 +4435056: 5 635 67 8 171 +37365640: 3 292 38 555 397 8 +78655270: 9 1 2 7 27 9 917 4 6 5 5 +941684: 2 35 42 4 4 +302874592: 6 5 287 459 2 +9264: 86 2 7 3 2 447 170 2 8 +95: 6 52 37 +268834786: 4 88 753 352 603 902 +6909118: 2 2 1 2 8 389 4 9 57 372 +7509504: 8 7 2 8 757 4 5 1 6 8 4 8 +361004: 8 64 87 570 8 95 +8574202529: 2 15 4 997 25 28 +787: 2 741 2 6 36 +37666754917: 1 98 74 734 3 53 97 +3808280279: 7 15 7 8 4 5 67 7 2 77 +6055948524: 4 4 6 9 7 4 75 4 8 519 1 7 +338755517830: 5 2 837 5 568 4 5 404 7 +109122588638: 3 400 46 909 774 638 +71930: 7 428 8 8 3 +788647: 2 5 886 4 9 +35762875199: 1 61 2 2 75 1 5 2 2 730 2 +18124: 374 1 402 58 330 4 +3456278: 72 48 199 77 +2685: 20 9 4 591 +99036: 9 8 335 697 4 +15675050267: 114 275 5 50 267 +108600995: 229 6 988 4 8 +122274: 9 392 5 20 624 9 46 6 +730044702: 814 782 8 7 4 3 4 3 1 3 9 +13241870: 6 757 65 267 2 3 +471077320199: 4 1 7 3 8 701 8 8 670 6 2 +31725865643: 64 6 5 45 8 52 1 5 7 643 +9428926: 49 41 4 289 26 +99689: 987 71 916 +167296160741: 5 4 7 96 3 462 9 5 22 3 9 +1340053: 3 2 3 85 9 8 3 70 95 1 4 8 +4903668: 272 6 195 4 671 +1180351: 8 58 239 387 1 +4955137: 830 1 153 4 3 2 7 9 7 +11990: 8 5 9 7 4 18 3 9 69 7 6 5 +13446985: 91 72 18 716 74 +724110: 94 2 2 1 5 59 4 3 31 942 +56109: 148 961 5 66 2 +8028913: 200 7 152 63 4 53 +2641584: 73 906 3 7 4 8 1 8 8 8 2 3 +143505: 1 96 7 58 7 20 5 +1127015: 53 3 350 7 2 +401603: 2 131 318 889 96 568 +234: 2 154 34 43 1 +9590766: 48 5 1 3 846 6 6 +3452: 306 2 11 66 +1430529: 2 110 44 917 9 +94873923: 7 64 47 6 51 92 8 15 +460484427: 3 9 6 6 8 59 5 9 6 2 1 383 +625: 9 4 3 420 164 +128758913: 75 958 684 24 5 70 6 +1088990308917: 7 7 5 398 432 7 8 2 1 3 9 +34976: 7 38 8 400 77 95 +8983256: 58 27 717 11 1 72 2 8 +40900: 4 1 508 3 3 6 39 42 4 5 5 +6686266236: 2 329 786 257 33 +58787: 4 1 2 5 863 8 4 4 8 76 8 3 +128914226745: 1 2 9 78 836 3 6 8 395 3 +419: 8 280 4 42 85 +129098342441: 8 587 28 245 98 2 4 43 +997478: 8 659 8 3 5 83 59 8 142 +201341: 4 82 21 35 4 +1347: 1 281 90 918 57 +30404749: 6 62 6 1 8 8 92 7 41 3 6 +4983: 4 78 6 14 3 1 +833843: 5 6 758 39 4 +16286077: 811 1 7 2 626 77 +622577340: 2 3 651 42 5 759 +702: 2 14 35 7 2 +257108549: 119 935 3 84 968 5 +10656373: 562 23 9 769 91 1 +13293389391: 850 9 2 2 862 785 947 +198606000: 246 1 2 7 5 8 6 4 6 948 2 +7772652: 4 9 3 911 79 1 +21590408051: 2 921 614 51 747 7 7 3 +37153326656: 95 311 8 8 16 6 614 16 +229700: 45 638 8 6 7 7 +50009844: 5 7 1 1 1 301 1 395 852 +152: 5 1 3 +3597311785879: 35 973 11 785 87 9 +122227110: 154 95 52 37 246 5 51 +18124713: 66 4 5 48 658 994 9 4 9 +90902: 11 92 860 94 86 +2652432899: 92 6 59 48 891 2 3 1 +1676: 9 8 61 3 2 4 418 71 98 1 +39951147: 44 385 5 9 61 89 +209614080: 1 6 8 9 6 8 4 5 7 95 2 544 +606458715: 8 5 666 9 1 2 467 52 7 7 +9558776: 34 878 16 3 1 5 8 8 56 +3424: 4 25 4 78 48 +149: 8 4 60 1 57 +12700428: 3 9 3 2 51 6 7 3 36 77 6 2 +7665133: 991 31 75 47 86 +21986: 1 223 96 7 570 1 +46931769062: 7 17 713 7 3 9 8 7 3 7 7 +40929106510: 6 5 50 1 827 61 9 9 3 7 3 +31086928: 6 6 471 688 8 48 183 +7116070: 3 4 947 57 76 10 13 +54096: 33 6 7 23 +1430826: 85 362 64 7 1 5 8 5 6 5 2 +442152: 4 44 2 276 9 +29440969: 89 875 9 8 78 6 7 607 +75669678: 7 5 7 41 1 53 6 239 414 +939849096: 6 736 9 8 7 49 6 9 79 8 +27390016949: 1 6 92 6 62 2 443 4 4 7 +3110383666: 1 2 13 954 73 28 313 +6636272641: 53 2 2 6 1 6 2 1 6 56 639 +453812261177: 31 509 2 7 823 175 +28605822: 8 57 99 41 324 69 9 9 diff --git a/2024/08/input b/2024/08/input new file mode 100644 index 0000000..ad91e12 --- /dev/null +++ b/2024/08/input @@ -0,0 +1,50 @@ +....h.....Q..............Y........................ +...............................Y........C......... +...............m..........x................B...... +........................Y..............qB......... +......g4.........................h..Y.....q...c... +................n.....R........................... +.......................................w........5. +........g...m...........................w5........ +..n...........R.1................W.......q.5...... +.........h...n.................e.................. +...............................R..........B....C.. +.........4................................5.e..... +.......0..4......n.......x..w..................... +.......g.....m........x..b.....W.....B.......w.... +..............m........................3......C... +........q...0.......h....................C.3...... +..................3.....................D......... +...............R..........3.............X......... +..............................W............k2..... +..........7............................2.......... +...............A.............................X...2 +.......................c...x...................... +....................................d............. +.....1......................d..................... +...........1...........................e.......... +.........0.7K.........................2.........W. +...b......0.....A................................. +......................1....ic..................... +......b......................i.................... +..Q.....b..........................A..E........... +...7.........................V.................... +........A.....................v......d............ +........v............c...................8E....... +..............................V........8.....E..N. +......................6........................... +.......I....M....................V................ +...G......................a.......8............... +.........r.9........a...i..................X...... +...............r..i...............e............N.. +.....H...........k....9.....6...............8..... +.v.....................6................V......... +.........v.......a........k..........D............ +Ha..........k.........K........E.......d.......... +...............y.MG..............6....D........... +.........H..G...M......9.K..............N......... +.......G.........................K................ +...............M.........I.......D................ +.................................................. +....r....y................9....................... +....y................................N............ diff --git a/2024/09/input.txt b/2024/09/input.txt new file mode 100644 index 0000000..f882588 --- /dev/null +++ b/2024/09/input.txt @@ -0,0 +1 @@ +6622774926702567136274121691173983817579825713877722862664878496717554229415989741866544951866797768927645626425928376831961652538912573819520456961332784837114847896582553155167127048213862892166519176836541944049522192105720907435255547169280774197159518657784958641754881409029177352731592571628175564846486629636828363882572277123293449233798304459227930467053736431636065727651181788911772922153975817411193902344466924941561955686133597207650581098161899389645152543264237253658176696534176638026734445286221735922236210762999805069475547437760815525512761386270585676695531643025579033995670361219334692204277879744587185253769147965704615609069277537711136587011753461323229327374186063125189473967103781322886647261986456293981264068454474864619902097826014578169816037613698327511274044695611125232924122624356537091919818906571366078676811587246132164129426137383521117156282565852454055545531308067784639432127214929109017213070308317747735908517145193373534936774823625245347738325796547283485283060283737339078815219198118762571852535481045593432141190398990724377959630943538249920854295337085591698555166553317231761457839171956775121967718733393325127822350196131762488873489915275997345316828565961235825665040848563458397917575909724752993754537679770797328234786731920593230396096757275621097472835754475891383175372899152326465902058527878848799607494463257133313268362864252138745303252546673984711491528561825557223266270449377393396816964768947224980583132125842149494633192739113433619672712483713547070369831608831269714952265983083499128894413176341996788681925873496591764608168367071961375708780966740478282427411199428882157342060705335991246661524805972223965219619692025952959412462255248437042532419661981918999841375202729757219332810175961554756441850978316788974368258545837349019325753377593269243162735663242962237417093615854366039541352234168559427954094339688552018472352232924193525139189122989984545489111893690486998242750174076422849866757849891143025596726871344967952484226992548906767167693826340888146338536217415995353943682317136369893925742883975909235771565549695163344399634456595114593484173717611229098946253412924309651618541278323408737227288924472874317736229133371287515839414191715799894555158771224223570528511816997511845725235302825909016486820207566961869765788694933869349105260248237273338123611843054469137384884835773855898992122742424949874631797479148406312968473183353795521742710346112778130186287669659535759419734137981169725324226105624789526756721389456349349436049887720955720329769421896262928541131326559427522152653209719207989334377659227502030825089622418565734103114528587909247163256557248341037313888987597725596824280172683807264526090414997345099192672879668861257173615556941195729969534162242575222463889445556897141848751638750439263877729318493762892158740671974783096975081905142654153301613232775708425816111252075647474143556416766887814997990377293833323875843494926824912292376625081285083885143336935973076624015104586174134827395773613379055834493502220337783179718747375877525645084571738597615739129475985368111572022886179413363752162939536115199468438173322181030899039141330448311878557985133845439186530653484265247415320734947825591195766219373879071786955379073441915373255786583612698321827518547585039535151274845427689986175177917277261189943959654573970183771754064402072446851784289371964659866592611478619443657259517781473902334491267793566423565696094561610908458363316986474838783889924504273422239525869165264479532596246636572105850613130752112945627483727619335503918739812685334957850701837456810308331917996163490507148999480675465133139604430996829798155219148504347637430106258305384873547909832637746791927652833802293625220127585445824117540231659212381878934783955501658777131561387706379155072111362909755331629396347156784242013761074418899851147442769771955559982825115115990519610546670713129147396731760278161427240204796978597787139849351104348239626687616677273574325229226502741644647754646256347598040313092104234347475405222915974853224671677669581971139936730773894752331828392601040552019503077305334553441709816346942176889243479837716526344103923283069473617539521158118325463947780611456249657461239612111197673455728776156867093111386298142955394145937689592871052695531194372337136476369243144106794612911219784937483904396958641745251341955666676467294731693678628167152716348301661949597566155835889933591886053229976905491217347895981852151307910438194577539142069798675488665979137736642266042985581327179655460132883174662684533776952467196342213678497151756761797229765613260347963301645439436403186863996599944426267332475448071393425256497665310132636299954804139628575425486117633799794418474671916327762327315936521896660434445267974827431221126664241522345528648974141484591867382945460884126708389797447699732865941683659769336264826995234193584482482373584184420973116652977868537815171593450422535381950312894526134657355343566142937314581254624898016584577993994607873643659179447186847791356644075551336216090641150637869979094407642672275391696116221383062525621947716324972694560783963547574722324324824823653982018252391856893976393438678798119602868182219736489946190276632819339311291535911639872664277577025464196164825885150224777529227467124826395356421923264464678321152976320354261897556247182939896423498276634299445942829477731965781804893448117162153746485199475467251915318767636131662681731956523158643834634759328636175546653329349725297868633327158929459612338618414287333123611257215104051159249726312173227576578395666914812747570356142271342863510945427195420797630717124964229413517111556635150695453339976588412805053599479592113513026459090603835575936177813273163529745139939589638307998854559483275986353387460916814759948741094951430274523807075741937777856615263915081314734634317217675423610471428477113479627193392411135397417908426645195951523789972658016636260755251369744296695546110431528316220837180996548489038246137833154304473669280964783716767439745842186557351995737856071261041501941955084621714844651529743595817782229692854594023142241908589635070977829285073864616777721548915697017705784128344413862468288246765121786114634173482622824716345885955471756183990942590316772515022925540275032565828772323821198869628518351865151906460232455846936967778852038747134966428921138892659852991918050827821891566635084872542809876598517693477694575417095464318605890573330919290987265675545364341249796893738938940398966884878456378871457162747336376931080648754321678903435186985349467308948664715593347159866192499502128409439487933268076439856999927287250659419726836796876978651773535993070949817142395433757597179653240975850719190188454586762586314595211985677795948474157582957398784536457301350338944834649425474256589135717748794913352394915614367964650512323467734141018367819301880996223131912433271483552915725569034496481894237985813776591141698393283186554201757924862108365619192639032536575968917229516197336234686597629441071582219601345327199689528287296141090772612499768977467239068266771172185146838759725193131742760568475532136527987333213635366893164295390543359825334803723357779832742275822853242552048397593845616235827912117712111225550647113886933571955182613277610737728426338195453543053562672802322702012513285711788645031308451832224837250462014845637911953551974645610102497183785435499134098438847817126168620382128391860566594168512262191172787839397687151693826764423392760267891752130575980747181496698275342446937401883532912678864999176889119609678412093874869412422458246111247517987235917861819314391258122119348344662185284969665863021197414971210648865148537119962971541264250557377593033351861989263347775395996401672655195501237662862981270669344389942381334506119961048864289793337869265187096903645371818206989652589348423597678383737704576635161629917328478237545307953111170459855928678669569669758231195383062967575975028831320911140628420665513425695931443961567926921166162442973774244486022691569247123101567684643436161742291561828728285834093928616385919141829795947393415373647897562257543941039285768807493171216127385247465159041509793638296344714362217711224844932992698251337491191795198553348596742786450327264835312659633621519841555826616299388809214368139926073888846978868673782311347243142739182807398408157634467359474347938955788391284706114467354525263261377163897637742563866917711463957333187704717568299898026474858179198133126403620263624673145762135977221902842759095699849583998291098553480861731619599405239405869775571694770315762497963123716586895642387515326374958264292429972423331989689629492594595153977238210378984759942673613592039116713781573131269199113906449732546895122949599142864794727189558481087305750946086735632112493529939365095908249404723738553563483944715804339556825417283842427134977372874763984622382773933489882137789198147825422241288509442335358375718658595544719425514235947757459904315768340317434937526878795223115701281772256343548857099584889243220246233338099812067438474123636722424447238605743534893312452908596637396596476285128258491494180849863208147579185676660894394382663306589963842552699166510942192137146287594535832649756697964625062458426167283465481292535652318809112233052529812193750772410901896876362309250985929196852159993316416479911957911557566923668579569288913371486349566344952737852716650359923817011938193891318702072445282981446497355773838753257983634591024122469698074345419408328229757638033158450137178869572299925896139373654376381736613738314744629285839187352705728792794248110479427811745725661382698509152934788572526617719236635177429317619433782398417778085694160639871209532643264217099961649416057851792448490484859271264352340158820837058302085855590254579611234336372543375172715441741705337344729355812365835804943835897865688224513755860642932987125998370774433109968254297856379789872479579906465781460819414947088403680196173426338497828291749629359611370228498622580178227644650731534221330965423231228505394538543757453343612469531847842929422786521793475802893818764232060138947146133859366883619112929803795212245807725737366894166226365265812237410765349265431451830701727976471377087885528645299773217672080992637459131152696486188157175626245388970918010332736341417515516352099958627797710604368867785301213228623964433733796689318547833741619728412712146377882933378262826135772819381433141674833829565812283534628127626715313904788761850588540621221304143146961559614976299146969879394921189426690168979272327234810122246899789997598486355439128184922296595532553279239265252455170958987261829956883756621223712152224951717691990438939431571964084254963956728446433198853518410771356652959264765791245745747621530529136944056212316136364432821407620906547125068302678977743291228274989881225838267353273719475411768917714679989265880392220385486811271271439421326511955669452625257585888813186404258149440463133326055303415691871194942255965115999982956168628633493648796787257553569646790978384601122656952914131668027542437948776951020107964741657938984667153731647626693163979405073583327851457275069363170804767607418471756731271722046121178659251754826635327479954903328312892297133512991467469576480289450403871213136387068896453293129116649164858117883177870926245153450922224617190591461179094771036731863187918946857962686682781212076422345862454796828492830154944153032806250935663653746958367126382547041857716251416156669225643161276613597532428722978968466598012585443347232866215804629809920384467707191595585683463778619359479809643134770749545871430786890645149681017422210321634882089693137202159571328959563306093435873309512913068253983157431865826718339129598836130123872359010223467341239316525807636219175978198676282999084312866409980611132778538451527944274182556163678674169827532355641414546687391547748717718298118273775319554763816168781439425842899173785951266909576198594753120848491602681333226361976899760641062563557281020198126128374815616899627763534979151537225219364542619437969814250769552537839799841746320258080636991948685994139421792443046958949622233252977346853683463311258789570639658687518969381506829169943553580354544692271815850211531509444396751493178577515702357426442735521594688142621445860781726215248289655731882524962222019211685491354262453788133901789434344861317709720146745722616544488856232618781341865668964808683582194695332702615637735826516818717486239507351274140931761762521614280411842463687797826928684447474809042109860173932768338438412108249965828539546527031835152738981532315454844556196532733765436887360151270304757498937475584858160496974906368666445588715858012415667879433206184676576331169878184545999544461839121255012487641146760718258161175995663378392959277818920212796391972563873573487946759315169329046451763735779618524238821317581238742182725734686131334135160783938908633134591631380185122983520765073226830119230659865886252425053503859653584216713943715997245585392202586748818814494136539217225757791107066985973599756885526778439462178647283986199761394634080158472658425313380524799941374493999116523325673842014792780915529534653748071945115271677968926972948889749817475863887133872264097811752986199829991741076686865319345207214171934921328241969897738565530777950525483576818739488484161468721461446542739121562968025691180588961433540645682336652389448904922355215938848349155261083682221145695323796724725795371109844157769776376409640272740725753918658496743314973942344338392641246274321214187675143506735371799866170334542457225917537762466441831542582999250668283181621602657616444348198455641452194774446124419359177369040184789105343466396618081767229355671622114118825868783179383604779455755669924819319222490419334561195457422954174217634489011617547457895909561153747213830457479853216581627264463566794646193875898798020131413536288611674193360762362379944854542196844196666828920622936276914124414635487772219132560207812881862803090997019476572408170943044661630952313164028479216533577215822746426209046953038856354963322495333976177192034308047397661545422447226471097633292262438532473248228233922985893206343174759859921956327584494337326119936429329409787462588628337455162915965733120829665315895439657164010501493936416269311473650168343803294195665767952876760222454186216566663588257408941344568336241177771388848556435781716503936482875238177467744151416143260512959664020745823252876724795914636767986873534206995914374578271988086875875302594455930501712862525638399879475801615193240372080814911198448145516757567606744289756675256432896791271261861165550185114579582348288668857922780789839636719853849619873895649642867657359548942999149874116411456705022735461373563726261738590296310729772984323757223451099456038424067228736911529985131598178287748968433683435359147359382755420264936875915885627687612558636938997626011331653112495564659691210677856587819953539214626923442609358767747251217941350739890975924498213165994513184198817893386342587615838474522163564681254607396639574917128456339791585652055281883839079561386106139562369662661477619197046929576653173828768751280176427665367808132438668427566993430261768686741553325875383862910818395794710508448672153471654566832519657317347955610454389464365928916194773614777488565363285616013977221618735899062958071614698952263159539567675641249764012375648516957262940885426929025329250506122809426664349921468767470768161659486285286342345158910609087765228177574425377889664936395708263172436228491966279495283717478416530251356133568931493433089194898127535975759588939894093845216756981269618333587616095338472297779954743242729198533464759711889437181299794271996729363844644207220482214582754413085343664317154651491736067714084391014642513937434174624429020971275655773789736546121849651554576978271559583904173593954388151495548186346117416425231912885724952339187583445954997959271756831492027717480448596537233384673794821991079249218718066869696907665501172807663102128342410238423658444294771761044257745975787718568919548222632555746306441752877953396144351274621459251334863325555276428535735809446552379816280166961522066257312386993438475362380765454389131623028621664984663832842903843453181516855843644787744464367898593163570469551126098463368469068727548187744446995269496504018746571347381562150184254511349354848282782877996749054183458121088567780161694659529568566742644671478629768563594868046816742528127303382319183145652387530565698132352876985105239974677334229507832628830527110385342569423369536716736233283332420833026984139428418674119723482527626722826353141736089184851835395592136648581319226629143678353745885734935107279569550535331541523626613553395945559767727936488871089224450278073202541704182413664745146824856644569518454975736172774435327404822333181622910508979427193214669161591215222993245909888399358892690915573574727401245193733173137592249795371318571787876628552965486496649391835309289341033752111821045237572898438639750679185339348509141954083641482941636183837822123676951835018118446522716874065109971868130795243148135229878967916559277607538927089906780958534841531417164962068242819288736329788482172295918465692395557143187525651883549949274276391586930705138613671159536704746432481324422942282387463613943384156133349346652909452987756736885554529636025853119137721918047936811213353819651125675501018324053845511356660743322769544501291509262314325958375517554913160446262704437616848396035706014639234181690736797547881157171988435681281155318754314229663492366714779822437934736917090191784839172174491563297811852471176238026999721441924911988634666897788856948546943382246721157738096231217532976897771374650267819866530173495643081874061881479516148302270973575722315236939355043585942133653177927269138251542812774218081654619537982574978799236474494259639536726835453227976965814953395563449247060491071973072508681551993777027124797622097354354556633642562148635681552557433254991785034688665762547268883663079939065275657503744759770728977206847449633568398443475717448527567603371494325188890608935221073556276819999258446819263979037468032648466808065413129462968323814971923321950204599297456314028516564608056741880569247808030422790319419536384783340807391981493336461426952653229629173535896302997204463246897397467601693473796417151319527117570532470694047684816743091358030166922515549649710855325486434315781753150934434287379297819263994548312206079142330545093192946819986787362313678937554676795127285783063825332244572147999257676492189957850677862257597218183335181103810162468991910379056237468926482505521552531526958749052501244926551736928471749251832663577839836324253573830462891328863544428291451202451788667671338746385473293318244793887542464552879788741914636305820927189975435904575375254369389177530386087586146404985327983252399181392132166765458587015662377271355765553244145301857787287176283192473277668949221593024309784697375409473732937493626413167628926155839646829213054402933861037595619804429598767118667208398564123585917388262896177278666202981344878723011777121265298916049358487917991258194414620686992362264217697726791569886525587374456857898239050182853603685476893387658873332341354229846757580531322518338612995608463217896163878729966443743727710401012646180482127452927682497405751214381404389571973757159198962123672478439272631767850264195552247304249684488158889463963858532691993414811738860853999385052956788336470328733627277688546959428333728567419208669333817266641423873953384162794767188813636212489422659209845262351317251353396867679526083766133107970275730347447727426891788478994447418326663746432775296337970498194854523864654658610925861891072279128602261316911747476104412598432365975831499308067325652777561925085878323414097889589418456967282424089162122435425972619122231326051399335883283373035717614518465118568949066919487958547605584337789875656321549567796966231968622383415359562536527611728535939122 diff --git a/2024/09/solution.js b/2024/09/solution.js index d6de988..a1696fd 100644 --- a/2024/09/solution.js +++ b/2024/09/solution.js @@ -1,5 +1,5 @@ -const input = (await Bun.file(Bun.argv[2]).text()).trim() +const input = (await Bun.file("input.txt").text()).trim() // const input = "12345"; diff --git a/2024/09/solution.nix b/2024/09/solution.nix new file mode 100644 index 0000000..75e6720 --- /dev/null +++ b/2024/09/solution.nix @@ -0,0 +1,5 @@ +{lib, ...}: input: let + +in { + +} diff --git a/2024/09/solution.test.nix b/2024/09/solution.test.nix new file mode 100644 index 0000000..286b63a --- /dev/null +++ b/2024/09/solution.test.nix @@ -0,0 +1,12 @@ +{describe, it, ...}: +let + pkgs = import {}; + lib = pkgs.lib; + solution = import ./solution.nix pkgs; + sample1 = "2333133121414131402"; + sample2 = "12345"; + +in [ + (describe "part 1" [ + ]) +] diff --git a/2024/09/solution2.js b/2024/09/solution2.js index 823b277..2712435 100644 --- a/2024/09/solution2.js +++ b/2024/09/solution2.js @@ -1,5 +1,14 @@ -const input = (await Bun.file(Bun.argv[2]).text()).trim() +const input = (await Bun.file("input.txt").text()).trim() + +// const input = "2933133121414131402"; +/* + * 0123456789 + * 0..1.....2 + * 02.1 + * 021 + */ + const files = []; diff --git a/2024/10/input.txt b/2024/10/input.txt new file mode 100644 index 0000000..452a4bc --- /dev/null +++ b/2024/10/input.txt @@ -0,0 +1,58 @@ +5678970120787667809876787651450321789810165432234561012345 +4301787431296556912765698540341410786728765501103676545434 +3212896594365443213454501231232545695439154610898387656946 +4307885785872337801653215432545694321089043781763296047877 +5456934576901236998740126721694787899676112891054102137898 +4327825676210365485035432830780146788765208982567873223703 +1012010789301345304126701910567235623654367643432984012612 +9887652105401253213239878323458945514545106543221265698543 +6798943766798760560145569850179876408763215456100896787432 +5212237854899621056776457763287654309854580367018701656501 +4302108983014552345889308954390101218345691278929632540987 +8921321212123467496973217654321010101210782987834541231236 +7010450908765658787210106563898110567623458906543210340145 +6524567849434349872323293478967223408988967217890107459054 +5433008956721238721494782566554310510177654394345498768765 +8942112349810101430585691057431214321287656783216321659056 +9853523658901233549674541008120109450392345654307010123141 +6765434567890312678234432219078218765431874309458927034230 +1034323450765403510165498348569341016210967218567898985541 +4125614321877654523276327653414452547893458967898769876632 +3210701234988347678987014512103963458982105450745601896781 +4678890215679298689898101105432878967821123301234312765890 +5469810309100198776543239416001263456710054210126543454323 +6954323458210789743987678327122452349821269329237632670110 +7856542167345679812310565498214301265430178778748911789224 +3067630018901256701423457012303210178923476565652100654343 +2188921078872345690501298989452121089012383418983434334534 +3298934569863418987632367898763011298234592307894521025676 +0387650101678507876753456501014980347105681016765601210787 +1456343212589216909865401432325671256501789823454782309898 +2341067823410365419872316543234560787432328987123495434321 +8932058934321474321891027652101765698543212656016596521030 +7634149965430589890765438984989854321692303443067787676543 +4543232876787672763210567823870143430781054512198971980612 +4687601045298101454569498014561034231278766503456890121701 +3894523432101212343278307601432120140389107652107765439890 +2183410589043239852101212587347899655473298940998987610141 +1012398679650126760120103496256978796554567831876898543234 +0310487778743245679833210145107878987143278722365687650125 +1223456899012632988744103230123217610012189013451232105676 +8346543456598701279655654389874306526323076567600345694789 +9857812347405654210346969210165435435414105458912256783238 +6768901098312343981237878301456521056905912345863109890104 +0345650101232107834369765412347678167876801056874223454323 +1278761321943456125078098943678999101210760767985214567910 +2109874430854534076165107834567783212323458898876307698876 +3436543561763325689234256623478654323212789954343298714565 +4567612675610118763240345510569823434101652765210134503443 +5698203984323709454121245432234712345612501897898325612652 +6782100112345890365039876101165601016780432101107210726761 +6783078201076761276321276543036523239891569232216874835890 +5894569345987457889430389236543210145652678740125965934701 +6784578896590356996321298107012301276743245656734014821012 +5693678787101243987654301058905434985890130543876523498763 +4542109843262012276019012765676125673981021982923434549854 +3432101257876540145328943894387089012832123671019323676345 +4309210369901234239457654703298976326721034501208710789234 +3218765478710123378765645612107845435434345212345621678101 diff --git a/2024/10/solution.js b/2024/10/solution.js index e1db6b9..afaca02 100644 --- a/2024/10/solution.js +++ b/2024/10/solution.js @@ -1,5 +1,5 @@ -const input = (await Bun.file(Bun.argv[2]).text()).trim() +const input = (await Bun.file("input.txt").text()).trim() const rows = [[]]; diff --git a/2024/10/solution2.js b/2024/10/solution2.js index 9fa7c42..9f526ec 100644 --- a/2024/10/solution2.js +++ b/2024/10/solution2.js @@ -1,5 +1,5 @@ -const input = (await Bun.file(Bun.argv[2]).text()).trim() +const input = (await Bun.file("input.txt").text()).trim() const rows = [[]]; diff --git a/2024/flake.lock b/2024/flake.lock index 04962c8..dc94ab4 100644 --- a/2024/flake.lock +++ b/2024/flake.lock @@ -1,18 +1,5 @@ { "nodes": { - "aoc-inputs": { - "flake": false, - "locked": { - "lastModified": 1733814937, - "narHash": "sha256-hF+/daBl8ud8FYSvkhOn1QnpmXEYVfoXDpPM7RKW8Zg=", - "path": "/tmp/aoc-inputs", - "type": "path" - }, - "original": { - "path": "/tmp/aoc-inputs", - "type": "path" - } - }, "nixpkgs": { "locked": { "lastModified": 1732837521, @@ -44,7 +31,6 @@ }, "root": { "inputs": { - "aoc-inputs": "aoc-inputs", "nixpkgs": "nixpkgs", "tix": "tix" } diff --git a/2024/flake.nix b/2024/flake.nix index 9f99456..a009059 100644 --- a/2024/flake.nix +++ b/2024/flake.nix @@ -4,60 +4,51 @@ inputs = { nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable"; tix.url = "git+https://git.tristans.cloud/tristan/tix"; - /* - * sharing your puzzle inputs is discouraged: - * https://adventofcode.com/about#faq_copying - * - * so on a new day, paste the input into - * /tmp/aoc-inputs/${day number} - * - * and run - * nix flake update aoc-inputs - */ - aoc-inputs = { - url = "path:/tmp/aoc-inputs"; - flake = false; - }; }; - outputs = { aoc-inputs, nixpkgs, tix, ... }: let + outputs = { self, nixpkgs, tix }: let pkgs = import nixpkgs {system = "x86_64-linux";}; - inherit (pkgs) lib; + in { + day06 = let + solution = import ./06/solution.nix pkgs; + example = (pkgs.lib.readFile ./06/example.txt); + input = (pkgs.lib.readFile ./06/input.txt); + in { + example = (solution example); + real = (solution input); + }; - in (lib.range 1 8 - |> map (i: let id = lib.fixedWidthNumber 2 i; in { - name = "day-${id}"; - value = let - solution = import ./${id}/solution.nix pkgs; - example = (pkgs.lib.readFile ./${id}/example.txt); - input = (pkgs.lib.readFile "${aoc-inputs}/${id}"); + day07 = let + solution = import ./07/solution.nix pkgs; + example = (pkgs.lib.readFile ./07/example.txt); + input = (pkgs.lib.readFile ./07/input.txt); + in { + example = (solution example); + real = (solution input); + test = tix.run [ + ./07/solution.test.nix + ]; + }; + + day08 = let + solution = import ./08/solution.nix pkgs; + example = (pkgs.lib.readFile ./08/example); + input = (pkgs.lib.readFile ./08/input); in { example = solution example; real = solution input; test = tix.run [ - "./${id}/solution.test.nix" + ./08/solution.test.nix ]; }; - }) - |> builtins.listToAttrs - ) // { - day-09 = let + day09 = let solution = import ./09/bad.solution.nix pkgs; example = (pkgs.lib.readFile ./09/example.txt); - input = "${aoc-inputs}/09"; in { example = solution example; real.part1result = "My solution doesn't work on the real input :("; - javascript = { - part1result = pkgs.runCommand "2024day9part1" {} '' - ${lib.getExe pkgs.bun} ${./09/solution.js} ${input} > $out - '' |> builtins.readFile; - part2result = pkgs.runCommand "2024day9part1" {} '' - ${lib.getExe pkgs.bun} ${./09/solution2.js} ${input} > $out - '' |> builtins.readFile; - }; test = tix.run [ ./09/solution.test.nix ];