├── 2021 ├── data │ ├── day1.txt │ ├── day10.txt │ ├── day2.txt │ ├── day3.txt │ ├── day4.txt │ ├── day5.txt │ ├── day6.txt │ ├── day7.txt │ ├── day8.txt │ └── day9.txt ├── problems.ipynb └── solutions.ipynb ├── 2022 ├── Problems.ipynb └── data │ ├── day1.txt │ ├── day10.txt │ ├── day11.txt │ ├── day11a.txt │ ├── day12.txt │ ├── day12a.txt │ ├── day13.txt │ ├── day13a.txt │ ├── day14.txt │ ├── day15.txt │ ├── day2.txt │ ├── day3.txt │ ├── day4.txt │ ├── day5.txt │ ├── day6.txt │ ├── day7.txt │ ├── day8.txt │ └── day9.txt ├── .gitignore ├── README.md └── pandas_tricks.png /.gitignore: -------------------------------------------------------------------------------- 1 | *.ipynb_* 2 | .DS_Store 3 | video/* 4 | -------------------------------------------------------------------------------- /2021/data/day10.txt: -------------------------------------------------------------------------------- 1 | {<{<{[<[{{([{{{}()}<{}()>}<[{}]>]<<{{}<>}([]<>)>[({}<>){()[]}]>)[[([(){}][<><>])<<()>{()()}>]]}}[(<{[(<> 2 | [<{{[[(({({<{{<>[]}[[][]]}[{{}()}[[][]]]>}{<[{()<>]<[]()>]{([][]){{}[]}}>})(([<[[]()][()()]><{[]}(<>< 3 | {{<{[{[{<{[[[[[]()]]<<{}{}}[{}()]>]]}[<<<<[]()><[][]>><<()<>>({}<>)>>{{{{}{}}[{}<>]}[[<><>]<[ 4 | ([{((<{((<[(({{}[]}<()()>)[{{}<>}[()()]})<{{()()}[<><>]}>]>))}({<<[({{[]<>}[<>()]}<((){}){[][]}>)[{[{}[ 5 | {([<[((<[[<<({[]()}[[]{}]){<{}<>>{()[]}}>[{<{}{}>[(){}]}<({}<>)[[]()]>]>](({{<[]()>(()[])}{<<>()>({ 6 | [({[([{<<{<<(<()()>)<[()<>]([]{})>>{<({}[]>{[][]}>([()[]]{(){}})}>{{[{()()}{{}<>}]({<>{}}<{}{}>)}[ 7 | <[({(<([{<<<(([]()){()()})[<{}><<>>]><({{}<>](<><>))([{}[]]{(){}})>>(((<[]<>>({}[]))([<>()](<> 8 | <{[[{<<[{(([<([][])<{}<>>>{{<>[]}{()}}]{(<()<>>(()<>)){<{}[]>[[]()]}})<(<({}()){[]{}}>(<[]()>[[]{}])){<(<> 9 | [<[[({<<[[<{{(<>())}<<{}[]>{{}<>}>}[(((){})<()[])){<{}()>[<>()]}]>{[([{}[]](<>{}))<{<>()}{[]()}>](({(){}}<{ 10 | (<([<[<{{<[{[(<>())<()()>](<<>[]>{()()})}<<{[]{}}>[(<><>){<>[]}]>]<(<<[]<>><<>{}>>(([])[<>{}]))>>>({<< 11 | (([{(({<{<{(({{}[]}{<>[]}){<()()><<>{}>})[[({}[]){(){}>]]}[[{{<>[]}{()<>}}[{{}}{[][]}]]<<<()()>([][] 12 | [<([{{<[[{<([<{}{}>{(){}}]{[[]{}]{<>[]}})([(<>{})[()[]]])><([{<><>}([]{})]({()()}(<>[])))[[[(){}]{<><>}]<<[ 13 | <((<<<[<<([({{()[]}})[{{<>[]}([]{})}{{[]<>)({}<>)}]][[<{<>}(()())>[[<>()]<{}{}>]][<({}()){<>}>{{()()}{<><>} 14 | [{{[{[({([[<({()}((){}))>{([[]<>]<[][]>)}]{({([]<>)<()()>}(<()<>><<>()>)){{<<>{}>{()[]}}[(()())<[ 15 | (([[<[[{[{[([[{}()]<[]()>){<()<>>{{}<>}})<{[{}[]]{()<>}}{(()){<>[]}}>]({[{()[]}[<>]]}<(<{} 16 | [{[[[<(<<([[<{()<>}<(){}>>({{}()}<<>{}>)](<{{}()}><<{}[]}<<>[]>>)]<<({[][]}[()[]])[<{}{}>(<>[])]>>){<{{{()()} 17 | (<[<<{[{[[<{<<()()>{<>()}>}>]{[<([<>[]][()[]])<[<>[]]{{}()}>>((<()()>({}<>))<{(){}}{<>{}}>)][<{(<>{}>}{ 18 | ((<[{<<<<([{{(<>())<(){}>}(<{}<>>[<>{}])}({[<>()]{[]<>}})])[{((<{}<>><()<>>)(<[][]>[()]))<({<>[]} 19 | ([((((([[{(<<<<>()>(<>[])>>[[(<>[])<<>{}>}<[[]{}](()[])>])([[({}<>)<[]()>]<[{}{}]{<>[]}>](<(<>())>{< 20 | <<({[{[{((<<({()<>}<[]{}>)({<>[]})><{([]{})}((()[]))>>(({([]<>){{}{}}})<[{{}[]}[(){}]](<()[]><<>{}>)>) 21 | {<[(({<[[([((<()<>><<><>>)(({}())<{}()>))<<<()()>{[]}>[{[][]}[{}[]]]>]{({{<>{}}<(){}>}[<()[]>{<>[]}>)(<[<> 22 | {{({<[((([([<<[]{}>[()()]>(<[]{}>)]{[{[]()}]<<(){}>[()<>]>})[{{[{}<>]}[[<>{}]{<><>}]}]]((<{{{}[]}}>[[<[]<> 23 | <[(<(<[((<{{[<(){}>[[][]]]}}>))]>)([({<(<<{([][])[()[]]}(<{}[]><()<>>)>{[<(){}>([][])]}>{[<<{ 24 | (<{{<{<<[((<(<{}{}><[]<>>)<<{}{}><(){}>>>([{<><>}[()()]][{<>[]}([]<>)])))<<{{<<><>>}(<[]{}>( 25 | [(((({{[[{{([(<>{})<[][]>])([[()()][{}]](<{}<>>{<><>}))}}<[<{[()]<[]()>}{(<>[]){<>()}}>[[(<>[])[(){}]](({}()) 26 | ({{{<{[<{[{<{{{}{}}}[[(){}]{()[]}]>[[<[]<>>{<><>}]([(){}])]}[({{()[]}[{}[]]})[[{<>[]}<{}[]>]]]]}>](({{[[ 27 | <{<[{{[{<[[({<[]<>>}{{()()}(<>[])})]]>}[{([[[<<>[]><[]{}>][{<><>}]][((()())(()()))([{}()])] 28 | <<<[([({{<<{[({}<>)[()[]]]({()[]}({}[]))}{[{<>[]][[]]]}>>}}[[({[({()[]}<()>)]<[[()<>]{()<>}][ 29 | {[<({{{{<{{{[<()<>>[{}<>]]<[()()]<[][]>>}({<[][]>[()()]}<<[][]><[]()>>)}{([(()<>)<()()>])}>(([<[< 30 | [{<{[<<{{[{[([()<>](()[]))]((<{}{}>)(<[]<>>[<><>]))}]}}>><<<({{{[((){})(<><>)]((()<>){[][]})}(< 31 | [({(<{<{[<{([{[]()}[()()]])><[<{[]<>}{{}()}><(()())(()<>)>](<[[]{}]>[([]{})<()()>])>>][{([<([]())[[]<>]> 32 | {{(<(<{{({((({{}[]}<<>{}>){<{}()>[[][]]})<{{[]()}{()()}}(<{}[]>{()()})>)})}[<<[[{{<>[]}{<>{}}}{{[ 33 | <<[<{{[<<{({{(<><>)({}())}({{}<>}[<>])}{[(()<>)<(){}>]{<<><>><[][]>}})<({<[]{}>[[][]]}<<<>{}>{()}>)>}>[< 34 | <{(<[<(((<({[[{}[]>(<>[])]<{[]<>}>}({(()())<{}{}>}<<<>[]>[<>()]>)){<<<[]{}>{()[]}>([[]{}]([]{}))><<{<>[]} 35 | <{{{[(({<{<[<<[]()>({}())>](<((){})[(){}]>(<<>>([]()))))}>([[<[<{}[]><[]()>]{({}[])({}())}>[[({ 36 | {([{(<{([<{([{[]()}(<>[])]<<{}<>>(<>{})})[{<<>[]>}(<<><>>[<><>])]}[[{([][])({}())}](<(<>{})(<>)>(([]()){{} 37 | ([<<{[[<((([<{()[]}>]<{[[][]]({}<>)}])<([{()[]}<()()>]{<<><>>[()()]})>))<[<<<([]<>)[()[]]> 38 | [[{([{([{[<(<({})[()[]]>[{[]()}[()()]]}[<{{}()}({}[])>(<[]<>>[()[]])]>([((()[])[(){}])]<[{ 39 | {{[([[(<(([[[{[]{}}[()()]][[[]{}][<>[]]]][{<<>[]>}]][(<<(){}>{{}<>}>)[<[[]{}]{()()}>[((){}) 40 | [({[[([[(<[{<([]{})(<><>)>}][<[[()()]<(){}>][[(){}][{}]]>([({}<>)[[]<>]]{[()[]]<[]()>})]>[[<(([]())< 41 | [<(<[<<{[<{<<[{}()]<<><>>>{[()<>]<[]<>>}><[([]<>)[{}])<{[]()}[<><>]>>}[[<<<>{}><()[]>>(({}[] 42 | (({[{{{[<[{[[<()[]>({}{})][(()[])[(){}]]]({{[]()}}[(<>())<<>[]>])}]<([<<<>[]>[()[]]>{[()<>]<<><>>}]([(< 43 | ({<(({([[<(<({<>()}[()<>])({<><>}<[][]>)>([[<>()]([]())]))>]{{[{{{{}[]}}<[<><>]<<>[]>>}}}[{ 44 | [(<([({<<(<{<{{}()}{[]()}>(<()()>{{}{}})}{{([]{})<[]>}<(<><>)>}>[<{<[]>([]<>)}({<><>}{[]{}} 45 | <{<[[((([{<[({{}[]}[<>()])(<{}[]>(<>{}))][{{()[]}([][])}({[]})]>({<[()[]]<{}{}>>{<[]{}>{()[]}}}([[{}][{} 46 | [([[<(<[((<[({{}{}}[{}[]]){[[]()](<>())}]>){[({[()()]([]<>)}<<<>{}>(<>()>>)]{{((<>())[{}()])[[()<>]<[] 47 | {{[<{([<[(<([(<>())<<>{}>])[{[()[]][<>{}]}([[]()]<{}<>>)]>)]<[{[{(())(<>{})}[({}{}){[]()}]]}<<{([]{})}[< 48 | ([{{<<<([<((({{}{}}((){})){[<><>][[]<>]})<[{[][]}[()()]]([[]<>]{[]()})>)[[<([][]){<><>}>][< 49 | ((<(<[([<<<({[<>[]][{}<>]}<{[]()}{{}{}}>)[({{}{}}([]()))(<()><<>>)}>(([<(){}>((){})]){<<<>[]>[{}{}]>({(){}}< 50 | (<<{{[[[<({({[{}{}]((){})}({<><>}({}<>)))}[(<[{}[]][()<>]>{({}{})(()())})<<[[]{}](<>)>([(){}][<><>])>])[ 51 | <({{<<(({<[((<{}()>{<>{}}){{{}<>}{<>{}}}){({[]()}<{}[]>)<{()[]}[{}()]>}]{{[{()<>}(<><>)][<<> 52 | <[{[[(<<{{(({{{}<>}{<>()}}(<[]{}>))]([[[<>{}](<>)]{(()())<(){}>}][(({}()){<>()})[(()())[{}{}]]])}<<{{<()() 53 | [{{([<<{[{<([(())]<<{}>[[]<>]>){([()()]){(<>[]]([][])}}>{<[([]{})]{{{}}((){})}><{[<>[]][<>[]]}{{<><>}< 54 | {{{{<((<<{({<(<>[])[<>{}]>{([]<>){[][]}}}[[{[]()}{{}[]}]{[[]{}]<<>()>}])}(<([<{}{})][[{}()]<()()>])(<([][])( 55 | <{{[{[[[[{((((()())(()()))<<()>{()<>}>){[{[]{}]][(<><>)[{}{}]]}){{([<>[]]({}<>))((<>()){[]<>})}({<<>{}>< 56 | ({({[<<<[{[{([{}()}{<>[]})[(()[]){{}{}}]}]{<([()<>]((){})){(<>{})}>[<{<>()}([])><{[]{}}<[]()>>]}}]{([(<[() 57 | <{({(<{<((<([[{}[]][<>()]])[{(<>)(()[])}([<>()]<[]()>)]>)<<{[<{}<>>[[]()]]}[<((){})<<>()>> 58 | ((({(((<<[{<<([]<>)[{}()]>((<><>)({}()))>([[<>[]](<>{})][<{}{}>{[][]}])}]>>)))}){[<{{{(<<[[<{}()> 59 | [<{<<{[<<<[{[{{}[]}[{}[]]]((<>[]){(){}})}{<<{}<>>{<>()}>(([]{}))>][{[<<>[]>]({{}{}}<[]<>>)}]>> 60 | ({{[(<{[{[{{(<()[]>(()()))<<{}()><[]()>>}[(<[]>[{}()])[<{}{}>(()[])]]}]}({{<<{[]<>}((){})><<[] 61 | {(<[(<<<[({([((){})]({()<>}{[]<>}))({{<>{}}([][])})}{(({<>{}}<{}<>>)(({}{}){()[]}))[{([]())( 62 | <{([[[(<{[{{{[()<>]}{[<><>][[]<>]}}((([]){{}[]})<<{}>(()<>)>)}<((<(){}>{{}{}})){{(()[]}[()<>]}{[[]()][<>()] 63 | <[{{<([{{({(<{<>[]}{<>{}}>)[{{[][]}<<>{}>}[[(){}]<()<>>]]}<(({[]{}}({}{})){{{}{}}<<>()>})( 64 | {[{{{([({{<<([{}[]][[][])){<[][]>(<>())}><<(<>())<{}{}>>(<[][]>{<><>})>>(<([(){}]<<>{}>)[<[] 65 | (<(<({[[[<<{<[{}<>]([]())>{([]())[()<>]}}<{{<><>}[{}<>]}{[<><>]<[][]>}>>[({[(){}][{}()]}<<[]>([]<>)>)]>[< 66 | {{[({[<[<<<<<{[]{}}<<>[]>>({[]<>}{[]()})><<[[]<>]>[<()<>>{<><>}]]>[[{<()<>><[]<>>}<([]{})(<>{})>]({([ 67 | {<[([([[<<<{{<()[]>[<>[]]}[[<>[]]([][])]}([[<><>]<()<>>])>({{[[]{}]{{}<>}}<[<><>][<>()]>}<[[{}[] 68 | <<<<[[<[<[[{{[[]{}]{{}<>}}(<<>()>([]{}))}{[{()[]}{{}{}}][{<><>}(())]}]<((<{}[]>[<>{}])({[]{}}(<>{})))[< 69 | <{[{({{{((<<[<<>[]>[{}()]]>{[([]())((){})]([[]()])}>[[({[]<>]{()()}){{()[]}{{}[]}}]<{{<>{}}([] 70 | {{(<<{[[[[(<([{}[]]([]{}))>[{({}<>)<<><>>}({[][]}({}{}))])]]](<{<[({[]{}}([]<>))({{}[]}<()[]>)]{{ 71 | <{[<{[<<<<[<[<{}()><<>>](<()>({}()))>{[<<>[]>{<><>}](({}()))}]{{((()<>)((){})){({}[])<<><>>} 72 | ({<{[({([{({<<<><>>([]<>)>(<[]()>[{}()])}<[(()())<()()>][{{}{}}]>)}])(({{(<{(){}}<{}()>>[<<>()><{}<> 73 | {{(({[([<((<{<{}[]>{<>()}}[[<>{}][()<>]]>))[[<{[[][]][[][]]}[<[]>(()[])]>{<[{}[]]{<>{}}><<{}()>[{ 74 | <([{{[[<{{[[{{<>}{{}[]}}(([]())[<><>])][[<[]{}>([]{})]{({}){<><>}}]]<<[<[]()><{}{}>][{()}[<>[]]]>{<<<>{}>(<> 75 | {[[[([[(<<[{<<<>()><()[]>>}][<[<[]{}>(<><>))[<[]<>>[<>[]]]><<{[]()}{{}<>}><{<>}<<>{}>>>]><{<([() 76 | <((<[<[([(({{{{}<>}{()[]}}{[<><>](()())}})>{<(((())({}[]))[{{}<>}{<><>}]){<[{}{}]{<>{}}>({() 77 | [{[<<({({{<[[[[]<>]<<>()]]]([[<>[]]<<>{}>]<{[]<>}>)>}}{[[<[{[]{}}<{}[]>](((){}){<><>})>{<[[][]](<>())> 78 | <[[{{[(<{<(([[(){}]{<>())]))[<[<{}[]>{{}[]}][{()<>}[[]<>]]>{{<<>{}><[]<>>}[([]<>)[[]]]}]>}<<<<{[()< 79 | <(<<{{(<<({<{<[]()>}({[]()}[()<>])>(([()()][{}<>])<<(){}>{[][]}>)}(<{{[]{}}{<>()}}[{()<>}(()<>)]>))((({[{}][[ 80 | {<<<{({{<([[<{<>{}}[()()]><[<>[]]>][<<<><>>>[(<><>)<<>()>]]]([({(){}}[<>()])]<<<<>[]>>({{}[]}[()[]])> 81 | [{<[{[[[({(<<[()[]]>{{()<>}{<>()}}>)[({[[][]][{}<>]}<<[]{}>[()<>]>){[<<>{}>{{}[]}](([]{}){[][]})}]}{{[( 82 | {(<<<{{<[({([({}[])[{}()]]{(<>{})<{}{}>})(<(<>())>({()<>}<[]{}>))}<{<([][]]{()()}>}<<(<>()){[][] 83 | ((<{{[{{[([({[{}()]}[{()<>}(()<>)])]([([<><>]<<><>>)<{[][]}<<>[]>>]((<<>{}>({}<>))([[]()]<{}()>))))]} 84 | [(<<<{<{(({(<<[]{}>><[[]{}][()()]>)[(({}{}}[<>[]])[({}<>){()[]}]]}))[(<<<{[]<>}>{[(){}][()[]]}>>[{[([]<>)([] 85 | ({({([<([{([[{[][]}{{}[]}]<[<>[]]({}())>])}(({<{()[]}{[]{}}>{({}())<{}[]>}})({{{{}[]}<{}()>}}))][[[[ 86 | ([<[<{<[[<{[((<>())(()))[<(){}>{{}[]}]]{<{()[]}{[]()}><<<><>>>}}(<{[()<>]<<>()>}>)><{(([<>()]({}<>))([ 87 | [<[(({[<{{[[((())[<>[]])(<[]<>><<>{}>)][{{<>()}<()<>>}[{{}()}([][])]]]{{<<[]()>>[<{}()>[<><>]]){[{<>() 88 | [(<([[<{{[(([<<><>>(()())](([][]]{<>()}))[<<[]<>><()()>>[({}<>){()<>}]]){{<(()[]){()[]}>}<(< 89 | (<[{[<{[[{{([[{}()]<{}()>]<[()[]](()())>)[<[{}{}][[]()]><[{}<>]{{}<>}>]}}{{[{[{}<>][[][]]}<({}()){[]{}}>] 90 | ({{<[{<<<<[<<[(){}](<><>)>({{}()}{<><>})>}[({({}<>){<>{}}}<[()<>][(){}]>)[{(()<>)({}[])}]]> 91 | <{<({<([[((<[{[][]}{<>()]]>{<([][])[[]<>]>[(<>{})[{}()]]})[{[({}())[[][]]]{{[]()}}}<[((){})[[] 92 | <<<({{[<(<<{(<[][]>(<>()))({()[]})}[[<<>[]>({}[])]{[[][]]}]>{(<(())<{}<>>>(([])[<>{}])){(<<><>>[[][]])}}>(<[[ 93 | [<<({[[(<[[[{<[]{}>{()[]}}<[<>()]>](<{[][]}<<>()>><[[][]]([]())>)]](({{{{}()}{<>[]}}}<({[][]}[ 94 | <{[({{{<[(({<({}{})[[]<>]>(({})(<>{}))}[{<{}()>[[][]]}]))]>{<{{{([{}{}]({}{}))(<[]{}>({}[]))}{<{{}()}({}<>) 95 | ({{<((({({<[{[<>{}]([][])}]<[{[]<>}]{[[]()][[][]]}]>[{({{}{}}<[][]>){{(){}}}}]})<[(<<({}())<{}()>>({<>}{()()} 96 | <{{{[(({([{<{<[]<>><<>[]>}>[[<[]{}>{()()}]<<(){}>>]}{[{((){})(<>())}<([][])}]}])[({<<{{}[]}>><{{<>()} 97 | (<<<<<<[{{{[[{{}<>}(<>)](<[][]>({}()))]}<<[(<>[])(<>[])]({<>[]}<<>{}>)>{{{[]<>}({}<>>}([<><>]{<>[]})}>} 98 | {[({<{{[({[[{[{}[]]{{}}}]({<{}>{()}}(({}{})({}[])))]{({{[]<>}{()[]}}<[{}<>][[]()]>)[{((){})(<><>) 99 | {{<{{{[({(<{{{{}[]}{[]()}}((<>[])([]<>))}[{{<>{}}([]{})}{[[]<>]<[]<>>}]><{{(<>)}({[]}[()<>])}{<[[] 100 | ((<{{{{(([(<{{{}()}{<><>}}>)]{([{<<>[]>{<><>}}<[[][]]<()[]>>])({({[][]}<[][]>)[[[]{}]{[]<>}]})}))({{[ 101 | <<{<([{[{[<<<[()()]>[(<><>)[()<>]]>({[{}]<{}>}<{{}()}<[]{}>>)>][<[{<{}}}{[()<>]{<>()}}]([([][]){ 102 | (({<([[[({{(({[]<>}[()[]])[({}{})<()<>>))<(([][])<<>[]>){<[]<>>}>}(([<<><>>[{}<>]]{<[]()>{<><>}})([<<><>>( -------------------------------------------------------------------------------- /2021/data/day2.txt: -------------------------------------------------------------------------------- 1 | forward 3 2 | down 7 3 | forward 8 4 | down 9 5 | forward 3 6 | down 5 7 | down 9 8 | down 6 9 | forward 1 10 | forward 8 11 | forward 9 12 | forward 3 13 | down 7 14 | down 8 15 | up 3 16 | down 5 17 | down 8 18 | down 9 19 | forward 5 20 | forward 6 21 | down 2 22 | forward 1 23 | forward 3 24 | down 9 25 | up 6 26 | up 2 27 | down 7 28 | down 9 29 | forward 2 30 | down 9 31 | up 3 32 | forward 5 33 | up 9 34 | up 9 35 | forward 4 36 | down 6 37 | up 7 38 | up 8 39 | up 6 40 | up 2 41 | down 7 42 | forward 9 43 | down 4 44 | forward 2 45 | forward 1 46 | up 7 47 | down 2 48 | down 8 49 | down 8 50 | down 2 51 | down 7 52 | down 3 53 | up 4 54 | down 7 55 | down 1 56 | down 7 57 | down 7 58 | forward 8 59 | forward 1 60 | forward 5 61 | forward 1 62 | forward 9 63 | forward 3 64 | forward 5 65 | down 3 66 | forward 9 67 | down 4 68 | down 2 69 | forward 5 70 | down 4 71 | down 4 72 | down 4 73 | down 9 74 | down 6 75 | down 5 76 | forward 2 77 | down 2 78 | down 8 79 | down 8 80 | down 7 81 | down 2 82 | down 8 83 | down 6 84 | down 4 85 | down 7 86 | up 8 87 | up 7 88 | up 6 89 | down 4 90 | down 2 91 | up 4 92 | up 8 93 | up 4 94 | down 4 95 | down 3 96 | forward 7 97 | forward 8 98 | up 1 99 | up 1 100 | up 7 101 | forward 2 102 | down 2 103 | forward 7 104 | forward 7 105 | forward 7 106 | down 2 107 | down 2 108 | forward 5 109 | down 3 110 | forward 3 111 | down 6 112 | down 9 113 | down 4 114 | down 1 115 | forward 2 116 | forward 2 117 | down 8 118 | down 9 119 | up 3 120 | forward 8 121 | down 7 122 | forward 6 123 | forward 6 124 | down 9 125 | up 2 126 | up 9 127 | down 2 128 | down 8 129 | up 2 130 | forward 6 131 | down 5 132 | up 9 133 | forward 6 134 | down 3 135 | down 9 136 | forward 8 137 | forward 8 138 | forward 1 139 | forward 6 140 | down 7 141 | forward 3 142 | forward 5 143 | forward 6 144 | down 1 145 | down 1 146 | forward 3 147 | forward 8 148 | forward 8 149 | up 5 150 | down 6 151 | up 5 152 | down 1 153 | up 3 154 | down 6 155 | forward 1 156 | up 3 157 | up 4 158 | down 8 159 | down 2 160 | up 2 161 | forward 1 162 | forward 2 163 | forward 6 164 | up 2 165 | down 3 166 | up 5 167 | down 5 168 | down 7 169 | up 6 170 | up 6 171 | down 8 172 | forward 7 173 | forward 2 174 | forward 3 175 | up 5 176 | down 5 177 | down 6 178 | down 4 179 | forward 8 180 | up 1 181 | forward 5 182 | up 1 183 | forward 4 184 | forward 3 185 | forward 4 186 | down 2 187 | up 5 188 | up 4 189 | down 5 190 | forward 1 191 | forward 8 192 | down 7 193 | down 1 194 | down 7 195 | forward 6 196 | down 4 197 | down 6 198 | forward 6 199 | down 8 200 | forward 7 201 | down 4 202 | down 8 203 | up 7 204 | down 6 205 | down 2 206 | up 8 207 | down 7 208 | down 8 209 | down 6 210 | down 3 211 | up 1 212 | down 7 213 | forward 1 214 | down 3 215 | down 5 216 | down 9 217 | down 3 218 | forward 1 219 | forward 4 220 | forward 2 221 | down 8 222 | forward 7 223 | down 3 224 | down 7 225 | forward 7 226 | down 4 227 | down 5 228 | down 1 229 | forward 2 230 | down 7 231 | forward 3 232 | forward 4 233 | down 8 234 | up 6 235 | down 4 236 | up 5 237 | forward 5 238 | forward 7 239 | up 8 240 | forward 6 241 | up 3 242 | forward 9 243 | up 9 244 | down 1 245 | down 2 246 | forward 6 247 | down 5 248 | forward 6 249 | down 7 250 | forward 9 251 | down 2 252 | up 5 253 | down 2 254 | forward 3 255 | up 7 256 | forward 3 257 | down 4 258 | forward 7 259 | forward 8 260 | down 5 261 | up 7 262 | up 8 263 | forward 7 264 | down 4 265 | forward 9 266 | forward 6 267 | down 2 268 | forward 3 269 | up 8 270 | up 4 271 | forward 2 272 | forward 4 273 | forward 1 274 | down 6 275 | forward 1 276 | down 9 277 | forward 2 278 | up 5 279 | down 2 280 | down 5 281 | down 5 282 | down 2 283 | down 9 284 | down 4 285 | forward 5 286 | down 5 287 | up 1 288 | forward 4 289 | down 6 290 | down 5 291 | up 8 292 | up 4 293 | down 8 294 | forward 4 295 | down 8 296 | forward 4 297 | down 2 298 | down 8 299 | forward 3 300 | forward 7 301 | down 1 302 | forward 3 303 | forward 7 304 | forward 1 305 | down 4 306 | forward 2 307 | down 3 308 | down 4 309 | forward 1 310 | up 6 311 | forward 8 312 | down 5 313 | up 6 314 | up 3 315 | forward 7 316 | down 3 317 | forward 4 318 | forward 9 319 | forward 2 320 | up 2 321 | up 7 322 | forward 1 323 | up 8 324 | down 6 325 | up 5 326 | down 3 327 | up 7 328 | down 4 329 | up 7 330 | down 8 331 | down 7 332 | forward 5 333 | up 7 334 | down 1 335 | up 9 336 | down 2 337 | down 8 338 | down 5 339 | forward 4 340 | down 3 341 | up 4 342 | down 2 343 | forward 6 344 | down 2 345 | forward 9 346 | up 9 347 | up 8 348 | forward 3 349 | forward 7 350 | forward 7 351 | up 4 352 | up 3 353 | up 4 354 | forward 1 355 | down 2 356 | up 6 357 | down 2 358 | down 4 359 | up 3 360 | down 8 361 | down 9 362 | down 4 363 | forward 6 364 | down 5 365 | down 5 366 | forward 7 367 | down 2 368 | forward 8 369 | up 2 370 | up 7 371 | down 5 372 | down 7 373 | up 9 374 | up 4 375 | up 5 376 | down 4 377 | down 8 378 | down 9 379 | down 7 380 | down 1 381 | down 1 382 | up 7 383 | up 8 384 | down 5 385 | forward 2 386 | up 3 387 | down 2 388 | down 9 389 | down 4 390 | forward 1 391 | forward 1 392 | up 4 393 | down 9 394 | up 7 395 | forward 7 396 | up 8 397 | up 4 398 | down 2 399 | down 1 400 | forward 2 401 | up 4 402 | down 3 403 | up 7 404 | down 7 405 | down 6 406 | down 4 407 | up 3 408 | down 7 409 | forward 5 410 | down 6 411 | down 9 412 | down 3 413 | forward 1 414 | down 6 415 | forward 3 416 | down 5 417 | up 1 418 | forward 5 419 | forward 4 420 | forward 8 421 | forward 1 422 | up 4 423 | down 2 424 | down 7 425 | down 9 426 | up 4 427 | up 6 428 | forward 8 429 | up 4 430 | down 8 431 | forward 7 432 | forward 1 433 | down 7 434 | forward 9 435 | forward 1 436 | forward 7 437 | forward 9 438 | down 3 439 | forward 4 440 | down 3 441 | down 3 442 | down 3 443 | down 1 444 | down 5 445 | forward 1 446 | forward 7 447 | up 5 448 | forward 5 449 | forward 4 450 | forward 7 451 | down 7 452 | up 5 453 | forward 1 454 | forward 8 455 | down 3 456 | up 6 457 | down 7 458 | forward 6 459 | down 8 460 | forward 6 461 | up 4 462 | down 9 463 | up 1 464 | forward 4 465 | forward 8 466 | down 5 467 | forward 7 468 | up 9 469 | forward 2 470 | up 2 471 | forward 7 472 | down 3 473 | forward 2 474 | down 7 475 | down 1 476 | forward 9 477 | forward 3 478 | up 5 479 | forward 7 480 | up 4 481 | forward 2 482 | down 3 483 | down 2 484 | down 8 485 | forward 7 486 | down 8 487 | down 3 488 | forward 9 489 | forward 9 490 | forward 5 491 | up 8 492 | forward 9 493 | up 2 494 | forward 2 495 | up 4 496 | forward 2 497 | forward 1 498 | forward 7 499 | forward 6 500 | down 5 501 | forward 5 502 | forward 1 503 | forward 7 504 | forward 4 505 | down 5 506 | down 9 507 | down 8 508 | forward 5 509 | up 5 510 | up 1 511 | down 8 512 | down 9 513 | forward 1 514 | down 5 515 | forward 6 516 | down 1 517 | down 7 518 | down 7 519 | down 4 520 | forward 3 521 | down 5 522 | down 8 523 | forward 2 524 | down 4 525 | forward 3 526 | down 1 527 | up 5 528 | down 8 529 | forward 9 530 | up 6 531 | up 4 532 | down 6 533 | down 9 534 | forward 2 535 | forward 5 536 | down 3 537 | forward 2 538 | down 5 539 | forward 1 540 | forward 4 541 | down 6 542 | down 4 543 | up 2 544 | down 9 545 | forward 2 546 | up 8 547 | down 4 548 | forward 7 549 | down 5 550 | forward 8 551 | down 1 552 | forward 5 553 | down 7 554 | up 5 555 | down 7 556 | down 4 557 | forward 3 558 | down 1 559 | forward 7 560 | forward 9 561 | up 9 562 | forward 5 563 | forward 8 564 | up 8 565 | forward 6 566 | down 5 567 | down 8 568 | forward 9 569 | forward 3 570 | down 3 571 | forward 9 572 | forward 7 573 | forward 6 574 | forward 1 575 | up 2 576 | forward 8 577 | down 9 578 | down 5 579 | down 5 580 | down 4 581 | forward 7 582 | down 8 583 | down 7 584 | forward 8 585 | forward 2 586 | down 5 587 | forward 2 588 | forward 3 589 | down 6 590 | down 8 591 | up 8 592 | forward 7 593 | down 7 594 | up 7 595 | forward 5 596 | up 6 597 | forward 7 598 | up 6 599 | forward 8 600 | forward 5 601 | up 6 602 | forward 1 603 | down 5 604 | forward 1 605 | up 5 606 | down 1 607 | forward 6 608 | forward 3 609 | up 2 610 | forward 9 611 | forward 8 612 | down 9 613 | forward 7 614 | forward 7 615 | forward 8 616 | up 9 617 | down 8 618 | up 1 619 | down 4 620 | forward 2 621 | forward 7 622 | down 1 623 | up 7 624 | down 5 625 | forward 2 626 | down 4 627 | down 8 628 | forward 6 629 | down 3 630 | forward 8 631 | up 6 632 | forward 5 633 | forward 7 634 | down 5 635 | down 1 636 | down 7 637 | down 7 638 | up 8 639 | down 5 640 | forward 4 641 | down 5 642 | down 7 643 | down 2 644 | up 8 645 | forward 6 646 | up 1 647 | down 3 648 | forward 9 649 | up 1 650 | down 7 651 | forward 2 652 | down 6 653 | forward 6 654 | up 3 655 | up 9 656 | up 2 657 | forward 4 658 | forward 4 659 | down 4 660 | down 4 661 | down 2 662 | down 5 663 | forward 7 664 | forward 6 665 | forward 9 666 | down 9 667 | forward 6 668 | up 1 669 | down 2 670 | down 4 671 | down 7 672 | down 5 673 | down 4 674 | up 2 675 | up 8 676 | down 6 677 | forward 2 678 | up 7 679 | down 2 680 | up 5 681 | down 8 682 | forward 3 683 | up 2 684 | forward 3 685 | forward 5 686 | forward 9 687 | forward 2 688 | forward 8 689 | forward 1 690 | down 5 691 | up 6 692 | forward 9 693 | forward 4 694 | up 8 695 | down 8 696 | up 2 697 | down 9 698 | down 3 699 | down 5 700 | up 4 701 | forward 2 702 | down 5 703 | forward 6 704 | down 6 705 | forward 2 706 | forward 7 707 | forward 6 708 | forward 1 709 | down 7 710 | forward 8 711 | up 2 712 | forward 5 713 | forward 5 714 | up 3 715 | forward 2 716 | forward 3 717 | forward 8 718 | forward 4 719 | down 1 720 | down 9 721 | up 5 722 | down 5 723 | forward 1 724 | down 8 725 | up 3 726 | down 9 727 | forward 5 728 | forward 2 729 | forward 2 730 | up 1 731 | forward 1 732 | down 5 733 | forward 4 734 | up 4 735 | up 3 736 | up 3 737 | down 4 738 | down 5 739 | down 1 740 | forward 8 741 | down 4 742 | up 7 743 | down 6 744 | forward 5 745 | forward 4 746 | forward 8 747 | forward 8 748 | up 3 749 | forward 7 750 | down 4 751 | forward 8 752 | forward 4 753 | forward 6 754 | down 8 755 | down 6 756 | down 1 757 | forward 4 758 | down 8 759 | down 6 760 | forward 2 761 | down 8 762 | up 7 763 | down 2 764 | forward 5 765 | down 4 766 | down 7 767 | down 8 768 | forward 5 769 | down 4 770 | down 2 771 | down 7 772 | down 4 773 | forward 7 774 | forward 3 775 | up 4 776 | down 7 777 | down 9 778 | up 4 779 | up 5 780 | down 7 781 | up 5 782 | down 3 783 | down 5 784 | forward 8 785 | up 1 786 | up 9 787 | forward 9 788 | forward 7 789 | down 2 790 | up 1 791 | up 7 792 | down 3 793 | forward 3 794 | up 6 795 | forward 1 796 | forward 2 797 | down 4 798 | down 3 799 | forward 4 800 | forward 7 801 | forward 9 802 | down 8 803 | down 6 804 | forward 1 805 | forward 3 806 | forward 2 807 | up 3 808 | down 6 809 | down 7 810 | up 8 811 | down 5 812 | up 6 813 | down 8 814 | forward 4 815 | up 3 816 | forward 3 817 | forward 4 818 | down 5 819 | up 5 820 | down 4 821 | down 5 822 | down 5 823 | forward 3 824 | up 9 825 | down 8 826 | down 2 827 | down 7 828 | down 4 829 | down 3 830 | up 2 831 | forward 6 832 | down 4 833 | down 1 834 | down 4 835 | forward 1 836 | forward 8 837 | down 3 838 | down 7 839 | down 3 840 | forward 1 841 | down 9 842 | down 7 843 | down 3 844 | down 3 845 | down 6 846 | down 8 847 | down 2 848 | down 5 849 | up 1 850 | up 7 851 | forward 9 852 | forward 6 853 | forward 7 854 | forward 8 855 | up 7 856 | down 9 857 | down 4 858 | down 7 859 | forward 2 860 | forward 4 861 | forward 1 862 | forward 4 863 | forward 3 864 | forward 8 865 | down 5 866 | forward 8 867 | up 4 868 | up 9 869 | forward 3 870 | down 7 871 | forward 9 872 | down 2 873 | forward 5 874 | up 7 875 | down 4 876 | down 3 877 | down 5 878 | down 4 879 | forward 9 880 | forward 5 881 | forward 6 882 | forward 6 883 | down 2 884 | down 7 885 | forward 4 886 | up 5 887 | down 8 888 | down 9 889 | forward 5 890 | down 8 891 | forward 9 892 | up 6 893 | forward 8 894 | forward 7 895 | up 7 896 | down 9 897 | forward 5 898 | down 9 899 | forward 7 900 | down 5 901 | down 7 902 | forward 9 903 | forward 4 904 | up 1 905 | up 9 906 | forward 7 907 | up 5 908 | up 2 909 | down 6 910 | forward 7 911 | down 2 912 | forward 6 913 | forward 7 914 | down 4 915 | up 3 916 | up 9 917 | forward 4 918 | forward 6 919 | forward 3 920 | up 6 921 | down 5 922 | up 2 923 | forward 3 924 | down 5 925 | forward 1 926 | up 7 927 | down 8 928 | up 4 929 | forward 9 930 | forward 6 931 | down 7 932 | forward 4 933 | down 9 934 | down 8 935 | down 7 936 | forward 7 937 | down 5 938 | forward 3 939 | up 5 940 | forward 9 941 | forward 7 942 | forward 3 943 | down 5 944 | forward 8 945 | down 3 946 | forward 1 947 | down 3 948 | down 3 949 | forward 2 950 | down 4 951 | forward 7 952 | up 1 953 | down 6 954 | up 3 955 | forward 8 956 | down 6 957 | forward 6 958 | down 5 959 | down 4 960 | forward 3 961 | up 1 962 | forward 5 963 | forward 5 964 | forward 2 965 | up 9 966 | forward 3 967 | down 5 968 | up 3 969 | up 4 970 | down 7 971 | down 4 972 | up 3 973 | up 3 974 | forward 2 975 | up 2 976 | forward 8 977 | down 9 978 | down 1 979 | up 8 980 | down 2 981 | up 4 982 | forward 9 983 | up 1 984 | down 8 985 | forward 3 986 | up 9 987 | down 7 988 | down 5 989 | down 9 990 | down 1 991 | down 2 992 | down 9 993 | down 4 994 | down 8 995 | down 8 996 | down 9 997 | down 2 998 | down 6 999 | down 9 1000 | forward 8 -------------------------------------------------------------------------------- /2021/data/day3.txt: -------------------------------------------------------------------------------- 1 | 011101101110 2 | 010110001101 3 | 100111000110 4 | 011110101000 5 | 101101000100 6 | 000001100110 7 | 110111100010 8 | 111000010011 9 | 001011000110 10 | 111110101101 11 | 110100101011 12 | 100100011010 13 | 001010111001 14 | 110111110100 15 | 100011011110 16 | 111111111010 17 | 001000100011 18 | 001101100000 19 | 010101010000 20 | 011000100101 21 | 110100000110 22 | 110011010011 23 | 101011001011 24 | 110111100001 25 | 000100111111 26 | 011110000100 27 | 010110111010 28 | 011000011011 29 | 011001100100 30 | 000111111100 31 | 010101111101 32 | 001110011101 33 | 100001001001 34 | 111100000011 35 | 110110110111 36 | 101000011011 37 | 110100100000 38 | 110101101001 39 | 001010111101 40 | 010101010100 41 | 111101001111 42 | 110001000001 43 | 000111010111 44 | 001001101111 45 | 101100011110 46 | 001001111011 47 | 011100101100 48 | 010100110000 49 | 000100000010 50 | 010000101011 51 | 111001010011 52 | 001100101111 53 | 101000010100 54 | 000000111011 55 | 010111101000 56 | 101000100110 57 | 010101111100 58 | 101101001100 59 | 101001110001 60 | 000111110011 61 | 111110110000 62 | 111101101101 63 | 001010111000 64 | 101001000101 65 | 010000010011 66 | 011110010010 67 | 000000101011 68 | 101000111100 69 | 011100001011 70 | 000000100001 71 | 100011111101 72 | 101111011001 73 | 000011011010 74 | 100010111101 75 | 100011001011 76 | 011001101100 77 | 001101101011 78 | 010010010000 79 | 110011011011 80 | 110100110111 81 | 000110100100 82 | 110101110001 83 | 001010010001 84 | 100110100001 85 | 010111111001 86 | 011101000011 87 | 100110010110 88 | 100010101101 89 | 000001011000 90 | 110000111010 91 | 001110010100 92 | 000110011000 93 | 100001110011 94 | 101111111001 95 | 000011001100 96 | 010110011111 97 | 101010001101 98 | 100001000110 99 | 000101011111 100 | 110000010101 101 | 111100100000 102 | 000111100100 103 | 011110011000 104 | 001111110101 105 | 111011110011 106 | 010111000101 107 | 111101100101 108 | 101100011111 109 | 100001111111 110 | 110011111100 111 | 000000111001 112 | 100101001001 113 | 110001100010 114 | 101001000111 115 | 101010000101 116 | 010000010101 117 | 011011000010 118 | 101001111011 119 | 111100110001 120 | 010100110100 121 | 000011000011 122 | 011001100001 123 | 101110000111 124 | 000110010000 125 | 100011010101 126 | 010000111100 127 | 011011010011 128 | 000011111100 129 | 000010100110 130 | 110000110001 131 | 010110010101 132 | 010101100110 133 | 111001110011 134 | 101011000001 135 | 010011101010 136 | 011101000001 137 | 101111001010 138 | 010100111100 139 | 110100111011 140 | 111010111001 141 | 101100110101 142 | 100101111110 143 | 010111101110 144 | 111011001000 145 | 001100110100 146 | 001110011010 147 | 101100111110 148 | 100110010101 149 | 010011001000 150 | 001100010010 151 | 100001100101 152 | 001001100111 153 | 011001111101 154 | 010100101101 155 | 000011100011 156 | 100111010100 157 | 101010110100 158 | 101011100110 159 | 111000001100 160 | 101111101101 161 | 101001000011 162 | 011000010111 163 | 011111010101 164 | 000000010001 165 | 011010101110 166 | 110101011100 167 | 011000011000 168 | 111011010001 169 | 110001001111 170 | 011100101111 171 | 010010100100 172 | 110111001111 173 | 000001101111 174 | 100011100010 175 | 110111010110 176 | 010000110000 177 | 011010001110 178 | 001111000111 179 | 010001010111 180 | 101010101101 181 | 100000111001 182 | 110110111100 183 | 100111010110 184 | 011100011100 185 | 011011110111 186 | 110011101001 187 | 110010011000 188 | 111010000101 189 | 110000001010 190 | 000000110100 191 | 001010100111 192 | 010011001011 193 | 111010111110 194 | 101111000000 195 | 101001010101 196 | 010110010000 197 | 100010001001 198 | 100010100011 199 | 010100001100 200 | 110000110010 201 | 100011100110 202 | 001111101100 203 | 001110100110 204 | 111000100111 205 | 111011011000 206 | 101010100001 207 | 111100011010 208 | 000101100101 209 | 010111111101 210 | 100011110100 211 | 011110010001 212 | 011001010111 213 | 111101110101 214 | 101010001010 215 | 001010011110 216 | 110011100011 217 | 001001010100 218 | 100010101110 219 | 100011000101 220 | 011010111110 221 | 001011101101 222 | 001100101010 223 | 111101111011 224 | 111101100001 225 | 101111101100 226 | 100101100000 227 | 010011011000 228 | 011001001001 229 | 111111110001 230 | 101000011000 231 | 101000110101 232 | 111001011100 233 | 101100111011 234 | 001000010011 235 | 101111000110 236 | 101001101111 237 | 100101000000 238 | 111011011010 239 | 110001100001 240 | 111110110010 241 | 001010101001 242 | 011010101111 243 | 010101000001 244 | 110100101010 245 | 011110101111 246 | 001010111110 247 | 100111001010 248 | 011011111110 249 | 111011100100 250 | 101101111011 251 | 001111100110 252 | 100110010100 253 | 101110100100 254 | 101111100010 255 | 001111101001 256 | 100000001111 257 | 000111111010 258 | 100011010111 259 | 010100010101 260 | 000100011010 261 | 110001110101 262 | 000101001101 263 | 110101010101 264 | 101011101011 265 | 011101001110 266 | 001000010100 267 | 001110011100 268 | 110100000010 269 | 010010101111 270 | 110101010010 271 | 011111110101 272 | 001111010011 273 | 010001100000 274 | 111101101000 275 | 110100010101 276 | 110000100111 277 | 100000101100 278 | 101110010101 279 | 100100101100 280 | 000010010101 281 | 000111010101 282 | 111000000000 283 | 101011111010 284 | 000101000110 285 | 111110101100 286 | 000001100100 287 | 011101000101 288 | 001011110001 289 | 000011111000 290 | 101000111010 291 | 011100001100 292 | 111010101000 293 | 100010001101 294 | 111100000101 295 | 010001101110 296 | 111000110010 297 | 001100100110 298 | 111001111011 299 | 110101111010 300 | 000100100101 301 | 100101110100 302 | 001011010100 303 | 001000001010 304 | 011101110011 305 | 101110011111 306 | 101111011011 307 | 001000011001 308 | 100011011100 309 | 011101000111 310 | 011010100000 311 | 001111110000 312 | 010100000101 313 | 001010010000 314 | 100101101101 315 | 111100010011 316 | 100101000011 317 | 100000000001 318 | 111000111000 319 | 000101101010 320 | 010101011000 321 | 101101010001 322 | 111111001001 323 | 100001000000 324 | 011110100110 325 | 111101010111 326 | 011111011101 327 | 110000110110 328 | 110010011110 329 | 110000110100 330 | 010001101100 331 | 011101111110 332 | 110111001010 333 | 011000111111 334 | 101110010010 335 | 001010101101 336 | 101101101111 337 | 000101001110 338 | 111000010001 339 | 110110100111 340 | 010101000100 341 | 111001000110 342 | 011010100001 343 | 111100011110 344 | 100101110011 345 | 110001000111 346 | 101000101010 347 | 100101111000 348 | 000011101001 349 | 011110110010 350 | 101111011110 351 | 100000111100 352 | 001100000101 353 | 101010111111 354 | 101011110001 355 | 000000001010 356 | 000000010101 357 | 000011000100 358 | 111101011101 359 | 100100000111 360 | 001111010111 361 | 010110001010 362 | 011001000001 363 | 110011110101 364 | 010100010110 365 | 001111101011 366 | 101111011101 367 | 001111001001 368 | 011001101111 369 | 000011000001 370 | 101010000011 371 | 111101100100 372 | 110100100111 373 | 101000011101 374 | 010101101111 375 | 000000001011 376 | 110101101111 377 | 001110011110 378 | 100101010011 379 | 001010100101 380 | 001110111101 381 | 001111101101 382 | 111111010110 383 | 101011110011 384 | 110010111011 385 | 101101101011 386 | 101100011000 387 | 000010100101 388 | 010000010001 389 | 010101001110 390 | 011100111001 391 | 010010000001 392 | 010111010101 393 | 101110001110 394 | 000100111110 395 | 011110100010 396 | 001010110111 397 | 100010000010 398 | 110010100111 399 | 011111001010 400 | 111000110011 401 | 011000010100 402 | 110011000100 403 | 010010100110 404 | 011110110111 405 | 011001010110 406 | 000111001111 407 | 000111000011 408 | 110110011001 409 | 011110001000 410 | 011110100111 411 | 101001100101 412 | 001101010000 413 | 000111101101 414 | 001001010000 415 | 001100110000 416 | 111001001000 417 | 111110010101 418 | 001001011100 419 | 111111011110 420 | 010110101110 421 | 101001110110 422 | 000000110110 423 | 001011110111 424 | 011111010111 425 | 111100111101 426 | 111010001111 427 | 001111111010 428 | 110001010101 429 | 110000011000 430 | 000001011001 431 | 000010101001 432 | 010100101100 433 | 011101010111 434 | 110100111000 435 | 001101000110 436 | 001101011010 437 | 010000011100 438 | 110101011101 439 | 010110011010 440 | 101011011001 441 | 001111111101 442 | 100011101100 443 | 010011010100 444 | 101011101010 445 | 011000110101 446 | 010001001001 447 | 101110111101 448 | 001010001000 449 | 110101010000 450 | 010101000010 451 | 101101001010 452 | 101000001000 453 | 010011100011 454 | 100100111000 455 | 100010110110 456 | 011100101011 457 | 000010110111 458 | 111000010010 459 | 011011111011 460 | 101000010001 461 | 001010110010 462 | 110100110000 463 | 010111000000 464 | 001011101011 465 | 001000010101 466 | 000110110111 467 | 111001010101 468 | 000111001100 469 | 011110010011 470 | 110010010101 471 | 100000000101 472 | 110100001010 473 | 100000010100 474 | 100001010011 475 | 100110011101 476 | 111100001101 477 | 111011111001 478 | 101110111110 479 | 001000100111 480 | 100000010010 481 | 011110000110 482 | 010101010001 483 | 101101100111 484 | 010100011000 485 | 100110111101 486 | 001000001011 487 | 100111101001 488 | 101100100110 489 | 000100010100 490 | 010011111101 491 | 010001100010 492 | 011111111110 493 | 001011111000 494 | 011110110100 495 | 100101101111 496 | 110111110001 497 | 111000110001 498 | 010110101001 499 | 010110011001 500 | 001010111100 501 | 011110000010 502 | 100001100010 503 | 010011001110 504 | 101101011100 505 | 011100100110 506 | 101000001010 507 | 111110111101 508 | 111101001000 509 | 000010110101 510 | 110110001010 511 | 100011101101 512 | 110111101011 513 | 111111100111 514 | 101110101010 515 | 011010110000 516 | 100011111110 517 | 101110101111 518 | 101001101101 519 | 001011001000 520 | 010010101011 521 | 011100000111 522 | 001011111110 523 | 001001000110 524 | 111000101000 525 | 011011000111 526 | 111110110011 527 | 110010110001 528 | 100001000100 529 | 000011010100 530 | 000101010111 531 | 001011000010 532 | 010110010011 533 | 010111110011 534 | 010011100000 535 | 100011110001 536 | 000100101110 537 | 001010010110 538 | 011100111011 539 | 001101100001 540 | 000001000100 541 | 111010101100 542 | 010001011101 543 | 001011010110 544 | 011011000100 545 | 110000101011 546 | 111100000000 547 | 111110010100 548 | 010010010011 549 | 001110000011 550 | 110101000011 551 | 110101101101 552 | 110101000110 553 | 010011011100 554 | 101101000001 555 | 100001001010 556 | 101111011111 557 | 110111011110 558 | 101110001100 559 | 001111010101 560 | 010110101100 561 | 011101001011 562 | 101000010000 563 | 111000101001 564 | 011001100010 565 | 111011110100 566 | 111101111000 567 | 110011100010 568 | 010000111011 569 | 001101101000 570 | 111000000100 571 | 011000001001 572 | 101110000100 573 | 101100011010 574 | 011011010101 575 | 111000001101 576 | 101000111111 577 | 100010100101 578 | 111000011010 579 | 010110001111 580 | 010011000011 581 | 100011101000 582 | 100001000001 583 | 101111100100 584 | 011000100010 585 | 010000101110 586 | 011101101100 587 | 000011010001 588 | 100001110101 589 | 010101111110 590 | 000011110101 591 | 110101110011 592 | 011101101001 593 | 010000000110 594 | 001000111111 595 | 011101110010 596 | 001011011111 597 | 010001100101 598 | 011001000111 599 | 001010011111 600 | 100000110100 601 | 010111011010 602 | 001110111110 603 | 000101101100 604 | 111000101110 605 | 001010110011 606 | 000100101010 607 | 010111100111 608 | 000110101100 609 | 010010111101 610 | 110110101110 611 | 010010100001 612 | 111001011111 613 | 001100011011 614 | 111000011101 615 | 111000010110 616 | 000000000100 617 | 000010110100 618 | 010011110000 619 | 011001011000 620 | 111110001101 621 | 000100000011 622 | 001100010100 623 | 111110000110 624 | 000010111101 625 | 111010001101 626 | 110011011110 627 | 101001111101 628 | 110100111110 629 | 011010000011 630 | 000010000100 631 | 111101110100 632 | 010000101001 633 | 111001010000 634 | 110011100111 635 | 010111010011 636 | 000010101011 637 | 010001110001 638 | 100010000100 639 | 100000001001 640 | 011111101001 641 | 101010001111 642 | 001101001100 643 | 111110011010 644 | 001101001010 645 | 101000010111 646 | 011010111000 647 | 011001101000 648 | 101000111001 649 | 100111110011 650 | 000000000001 651 | 100111011001 652 | 011101110110 653 | 100001111000 654 | 010110101101 655 | 011111000000 656 | 101010100100 657 | 100010101000 658 | 001000011111 659 | 010110000010 660 | 000100000100 661 | 001001000010 662 | 111000010111 663 | 110010101101 664 | 101000101101 665 | 001110110101 666 | 110010011011 667 | 011011001111 668 | 101010001000 669 | 011001110101 670 | 101000000101 671 | 010010111111 672 | 110100110001 673 | 000100110001 674 | 000000110011 675 | 111011100101 676 | 111000100010 677 | 100100100010 678 | 011100010100 679 | 010010001110 680 | 000010011000 681 | 111110111000 682 | 100101010010 683 | 000001110111 684 | 101111101011 685 | 100011001001 686 | 110110101010 687 | 111100100001 688 | 000100110000 689 | 001111001101 690 | 100000010000 691 | 011111000001 692 | 001111101110 693 | 100111101000 694 | 000111111011 695 | 000001011010 696 | 010100110101 697 | 001111010000 698 | 111011000110 699 | 101000001110 700 | 000101011000 701 | 101011001010 702 | 100101101000 703 | 110101011011 704 | 111000100101 705 | 100100101110 706 | 111100101000 707 | 100110101110 708 | 110001111000 709 | 111010111011 710 | 011011000000 711 | 000001101110 712 | 110110010110 713 | 111100010010 714 | 111111011010 715 | 101110010100 716 | 111010110000 717 | 011101000010 718 | 111010011001 719 | 101001011101 720 | 101100010010 721 | 010010111011 722 | 011110010100 723 | 100000101000 724 | 000101101001 725 | 001000100000 726 | 101000101100 727 | 011011100100 728 | 011100100010 729 | 111110000000 730 | 011011010001 731 | 010110111100 732 | 110110101011 733 | 111111000010 734 | 111101001101 735 | 110101001111 736 | 111110001110 737 | 100001011110 738 | 101111100110 739 | 011110111111 740 | 011011111101 741 | 001000010010 742 | 110111100000 743 | 110001110000 744 | 100001000111 745 | 000010100010 746 | 100000100010 747 | 100010001011 748 | 000100001100 749 | 000000001000 750 | 111101010001 751 | 010100010001 752 | 111001101011 753 | 011010001000 754 | 010001011100 755 | 010101001001 756 | 000110101001 757 | 001001100001 758 | 101000000100 759 | 000100000101 760 | 100011011000 761 | 101100101101 762 | 100110100000 763 | 010100000111 764 | 110100101110 765 | 001111100000 766 | 011110110110 767 | 001100111100 768 | 001111100011 769 | 100111111010 770 | 110011111110 771 | 110010011111 772 | 110111111101 773 | 110000011100 774 | 101011000110 775 | 100110011111 776 | 000011110011 777 | 111000111101 778 | 101011000100 779 | 010111011111 780 | 000111011011 781 | 111010111100 782 | 001110111100 783 | 100010110011 784 | 010000000010 785 | 010000011000 786 | 001111000001 787 | 100100001001 788 | 110101010110 789 | 101110001001 790 | 010011001100 791 | 101100000101 792 | 001010111010 793 | 001000001100 794 | 111100010001 795 | 111110100001 796 | 101010110101 797 | 111100001111 798 | 110001110001 799 | 000110110100 800 | 100100101010 801 | 111110101010 802 | 110111101010 803 | 000111101111 804 | 111000101100 805 | 000100011101 806 | 001110001010 807 | 011110011001 808 | 110001001011 809 | 000111001000 810 | 010001001011 811 | 000100011100 812 | 100000101110 813 | 010111111000 814 | 111011110010 815 | 010011101101 816 | 011010000110 817 | 010100001111 818 | 100100001000 819 | 100001011010 820 | 100111111011 821 | 100000101011 822 | 011101011010 823 | 111100111001 824 | 110010110111 825 | 001010000101 826 | 101000100000 827 | 001111100100 828 | 001100111011 829 | 011000101101 830 | 001110101101 831 | 100011000111 832 | 001010001101 833 | 100110111110 834 | 001001101000 835 | 111000011000 836 | 011001011101 837 | 000110100101 838 | 101000110010 839 | 110110010000 840 | 110100001100 841 | 000001111110 842 | 000111010110 843 | 110101000000 844 | 110011110001 845 | 110100110101 846 | 011111100011 847 | 111011011110 848 | 111111001100 849 | 110111100110 850 | 011101010010 851 | 010001110101 852 | 001001101110 853 | 010110100011 854 | 101101110001 855 | 000111101100 856 | 000010111111 857 | 111001101001 858 | 000101111110 859 | 000000011110 860 | 110011001011 861 | 010101010010 862 | 111101001010 863 | 001010101110 864 | 111010100001 865 | 101110000010 866 | 001101010011 867 | 001101101100 868 | 000110000110 869 | 000010111001 870 | 110100100011 871 | 011001110111 872 | 100001110100 873 | 011001101001 874 | 000100011011 875 | 111001100000 876 | 101110101000 877 | 000001000001 878 | 010111001000 879 | 101101110011 880 | 111111011000 881 | 000001111111 882 | 101111110101 883 | 000101101111 884 | 010111111010 885 | 111010100110 886 | 110011000010 887 | 001110110010 888 | 011100000010 889 | 001010101010 890 | 110110001000 891 | 100011111000 892 | 110101011000 893 | 011001100111 894 | 000101110000 895 | 010110110000 896 | 011010010100 897 | 000101100110 898 | 001011000100 899 | 011100110000 900 | 111100011011 901 | 110000101100 902 | 101110100000 903 | 011110000111 904 | 100010101111 905 | 110111000111 906 | 100010110000 907 | 110010001111 908 | 000001011110 909 | 111110000111 910 | 101101100110 911 | 011001010100 912 | 011011011110 913 | 111001100101 914 | 110101100011 915 | 010100111111 916 | 001010011001 917 | 101101001011 918 | 000011100000 919 | 000100001001 920 | 001010010101 921 | 111100100101 922 | 111101001100 923 | 010111110110 924 | 100011110111 925 | 100101001000 926 | 011011100111 927 | 010110000011 928 | 101001101011 929 | 001101001101 930 | 101101011000 931 | 011100000011 932 | 100101001110 933 | 110001000110 934 | 101111100111 935 | 011111110001 936 | 001111001000 937 | 001101010010 938 | 101110101011 939 | 001111011111 940 | 001000010000 941 | 011011101001 942 | 010101100010 943 | 111000000110 944 | 000100100000 945 | 110000000100 946 | 011100000110 947 | 010100100110 948 | 011001001010 949 | 111010101011 950 | 111001011011 951 | 101101011111 952 | 010111110101 953 | 100101110000 954 | 000101011100 955 | 001010011011 956 | 110110111111 957 | 110001001001 958 | 000001100101 959 | 111110010010 960 | 100110110101 961 | 010101100001 962 | 000001010000 963 | 111100111100 964 | 111011001100 965 | 101100101111 966 | 111111001111 967 | 111100110100 968 | 011010011100 969 | 010000001010 970 | 010010110010 971 | 101110110111 972 | 010000100000 973 | 100101101100 974 | 111001110001 975 | 001110011000 976 | 101010000111 977 | 110011001000 978 | 101100111111 979 | 010110010010 980 | 110011111001 981 | 000111001110 982 | 011101011011 983 | 111011111101 984 | 101100010011 985 | 010000100101 986 | 111110110101 987 | 110101011010 988 | 010110110101 989 | 111011000000 990 | 010001110111 991 | 101111001100 992 | 000100111000 993 | 001011010001 994 | 010011111100 995 | 110011110111 996 | 001100010111 997 | 000010001110 998 | 011001001110 999 | 111101101001 1000 | 001000011000 -------------------------------------------------------------------------------- /2021/data/day4.txt: -------------------------------------------------------------------------------- 1 | 23,30,70,61,79,49,19,37,64,48,72,34,69,53,15,74,89,38,46,36,28,32,45,2,39,58,11,62,97,40,14,87,96,94,91,92,80,99,6,31,57,98,65,10,33,63,42,17,47,66,26,22,73,27,7,0,55,8,56,29,86,25,4,12,51,60,35,50,5,75,95,44,16,93,21,3,24,52,77,76,43,41,9,84,67,71,83,88,59,68,85,82,1,18,13,78,20,90,81,54 2 | 3 | 50 98 65 14 47 4 | 0 22 3 83 46 5 | 87 93 81 84 58 6 | 40 35 28 74 48 7 | 45 99 59 37 64 8 | 9 | 85 66 90 32 88 10 | 95 6 4 74 27 11 | 1 10 70 41 92 12 | 54 36 42 9 39 13 | 60 99 31 67 16 14 | 15 | 4 44 66 10 58 16 | 33 64 93 42 46 17 | 19 63 6 83 54 18 | 60 51 76 8 30 19 | 71 49 73 7 55 20 | 21 | 17 67 52 61 98 22 | 46 5 4 51 76 23 | 73 59 74 8 33 24 | 48 96 20 26 15 25 | 55 19 86 29 43 26 | 27 | 20 75 12 67 41 28 | 89 36 65 66 92 29 | 40 19 1 0 28 30 | 99 61 85 58 50 31 | 44 72 57 35 86 32 | 33 | 69 87 27 59 33 34 | 47 34 60 93 9 35 | 71 84 46 24 96 36 | 15 91 5 61 19 37 | 57 78 55 31 8 38 | 39 | 19 10 1 81 96 40 | 27 71 2 52 56 41 | 15 22 48 82 34 42 | 64 47 42 49 51 43 | 26 72 61 12 57 44 | 45 | 71 94 40 34 26 46 | 12 80 57 38 55 47 | 4 56 11 73 49 48 | 75 60 61 9 50 49 | 91 70 23 1 90 50 | 51 | 39 86 30 73 38 52 | 6 53 58 14 36 53 | 85 12 75 88 5 54 | 0 29 41 21 15 55 | 47 66 59 54 1 56 | 57 | 99 97 50 17 60 58 | 36 13 29 80 32 59 | 49 85 75 71 15 60 | 10 79 41 61 66 61 | 68 57 55 74 98 62 | 63 | 68 33 87 89 59 64 | 96 35 76 78 55 65 | 4 63 51 10 65 66 | 58 38 22 54 9 67 | 66 18 37 60 6 68 | 69 | 43 86 50 23 77 70 | 10 42 19 61 2 71 | 40 29 20 84 0 72 | 70 59 96 80 57 73 | 76 12 39 36 6 74 | 75 | 73 43 92 37 99 76 | 36 42 10 77 87 77 | 3 57 4 20 35 78 | 18 7 46 91 11 79 | 17 98 8 53 61 80 | 81 | 22 37 89 51 9 82 | 71 6 72 87 32 83 | 13 79 86 53 98 84 | 16 2 93 48 38 85 | 63 82 66 61 69 86 | 87 | 73 90 85 54 65 88 | 9 66 28 5 63 89 | 91 50 70 59 80 90 | 95 68 92 72 67 91 | 69 88 36 43 53 92 | 93 | 36 81 66 78 90 94 | 2 25 94 82 55 95 | 34 45 1 14 37 96 | 13 4 70 48 75 97 | 67 73 32 18 91 98 | 99 | 33 93 71 48 47 100 | 8 79 69 53 82 101 | 5 31 80 45 37 102 | 67 77 41 56 97 103 | 65 46 62 42 81 104 | 105 | 67 70 59 24 88 106 | 84 11 29 52 78 107 | 4 39 12 90 2 108 | 44 3 10 75 89 109 | 30 93 22 14 8 110 | 111 | 79 60 98 99 49 112 | 23 26 86 91 38 113 | 77 45 95 66 75 114 | 81 42 85 21 3 115 | 40 37 65 20 50 116 | 117 | 12 54 0 86 52 118 | 15 56 29 39 94 119 | 66 79 14 65 26 120 | 3 4 59 60 40 121 | 47 48 19 13 85 122 | 123 | 32 44 69 90 21 124 | 35 8 1 59 56 125 | 72 71 84 18 11 126 | 96 38 23 37 79 127 | 92 20 33 94 17 128 | 129 | 1 94 42 21 82 130 | 92 60 9 32 38 131 | 71 3 37 77 18 132 | 89 16 74 76 2 133 | 83 30 28 11 70 134 | 135 | 94 3 1 71 87 136 | 6 66 19 76 28 137 | 10 86 22 62 2 138 | 67 0 31 46 27 139 | 8 33 43 92 29 140 | 141 | 35 90 8 30 27 142 | 67 60 82 68 1 143 | 5 29 93 44 34 144 | 56 65 48 37 51 145 | 57 45 63 94 77 146 | 147 | 67 80 45 57 43 148 | 37 81 25 84 82 149 | 50 8 9 64 7 150 | 29 18 52 16 14 151 | 73 28 11 76 6 152 | 153 | 5 76 67 18 16 154 | 68 47 15 29 59 155 | 46 32 40 9 84 156 | 30 17 20 22 3 157 | 35 80 38 72 88 158 | 159 | 35 44 14 89 72 160 | 75 67 56 2 3 161 | 58 41 49 12 52 162 | 92 9 22 34 88 163 | 65 39 93 61 47 164 | 165 | 38 67 33 18 60 166 | 34 50 69 31 83 167 | 29 30 9 12 95 168 | 79 2 24 54 87 169 | 46 68 48 58 42 170 | 171 | 61 87 46 26 34 172 | 74 85 9 54 38 173 | 50 29 84 40 4 174 | 49 39 33 99 53 175 | 77 59 0 42 35 176 | 177 | 86 68 23 62 5 178 | 96 92 7 4 1 179 | 50 70 12 83 46 180 | 34 63 91 56 11 181 | 76 90 71 88 95 182 | 183 | 19 18 13 3 62 184 | 42 29 57 79 85 185 | 39 64 14 28 98 186 | 99 36 91 9 63 187 | 69 66 2 17 31 188 | 189 | 51 43 49 98 94 190 | 31 64 53 54 57 191 | 3 28 10 12 2 192 | 24 99 95 35 17 193 | 76 27 48 0 41 194 | 195 | 80 62 13 38 98 196 | 32 15 16 8 96 197 | 93 43 81 99 40 198 | 20 57 37 24 3 199 | 94 17 70 14 7 200 | 201 | 52 71 49 95 84 202 | 76 38 45 59 89 203 | 1 7 27 0 98 204 | 92 64 8 50 68 205 | 13 91 26 51 2 206 | 207 | 31 45 25 1 5 208 | 50 68 77 61 53 209 | 74 20 99 38 63 210 | 76 44 15 42 51 211 | 67 87 86 12 24 212 | 213 | 49 0 70 82 9 214 | 2 24 96 74 60 215 | 68 16 40 32 20 216 | 48 6 98 11 65 217 | 94 10 54 8 95 218 | 219 | 74 41 11 33 76 220 | 2 10 44 89 23 221 | 56 45 78 60 34 222 | 15 5 26 83 71 223 | 20 72 85 75 54 224 | 225 | 15 59 93 53 8 226 | 4 10 84 44 36 227 | 17 62 24 27 98 228 | 87 54 73 13 35 229 | 9 48 52 33 7 230 | 231 | 56 80 70 74 35 232 | 53 69 75 25 27 233 | 47 91 85 62 32 234 | 93 26 89 18 52 235 | 16 73 49 55 77 236 | 237 | 42 40 54 67 73 238 | 11 10 49 35 59 239 | 12 93 37 15 69 240 | 97 41 47 39 2 241 | 75 99 21 29 26 242 | 243 | 23 75 41 10 86 244 | 71 67 66 38 99 245 | 91 92 63 40 28 246 | 69 97 42 77 60 247 | 44 53 12 84 57 248 | 249 | 72 51 31 90 37 250 | 35 89 55 73 87 251 | 46 32 45 0 58 252 | 50 81 13 18 66 253 | 38 4 40 62 22 254 | 255 | 14 48 35 76 83 256 | 13 70 26 4 1 257 | 30 22 91 93 29 258 | 69 41 74 40 63 259 | 80 65 66 72 23 260 | 261 | 23 65 33 56 38 262 | 84 41 34 21 2 263 | 4 78 27 17 11 264 | 22 53 52 32 80 265 | 24 25 42 91 99 266 | 267 | 54 51 0 23 52 268 | 92 69 10 46 7 269 | 20 35 12 37 73 270 | 19 56 26 79 32 271 | 27 74 34 5 57 272 | 273 | 75 10 24 32 7 274 | 96 54 22 78 5 275 | 23 69 65 43 20 276 | 29 85 44 92 71 277 | 41 87 73 0 48 278 | 279 | 54 92 16 36 37 280 | 42 59 4 9 44 281 | 52 14 12 6 47 282 | 57 38 70 82 0 283 | 53 81 32 35 3 284 | 285 | 17 22 62 80 30 286 | 8 28 15 42 46 287 | 79 64 32 29 75 288 | 5 0 9 90 69 289 | 41 71 85 1 6 290 | 291 | 68 89 40 31 39 292 | 32 48 64 38 28 293 | 80 98 88 14 97 294 | 6 60 52 11 55 295 | 95 34 63 81 4 296 | 297 | 80 33 14 83 68 298 | 78 69 81 59 15 299 | 72 0 74 21 75 300 | 49 6 67 73 64 301 | 8 25 87 3 45 302 | 303 | 34 97 86 1 79 304 | 49 12 63 10 59 305 | 88 30 84 74 87 306 | 67 47 26 0 57 307 | 71 40 2 76 98 308 | 309 | 15 89 23 65 44 310 | 27 87 54 38 12 311 | 43 29 18 39 94 312 | 48 0 7 57 61 313 | 70 28 60 68 50 314 | 315 | 13 34 49 67 40 316 | 88 74 99 20 26 317 | 63 69 62 24 32 318 | 35 45 96 79 1 319 | 92 7 17 76 30 320 | 321 | 95 21 75 46 74 322 | 39 7 58 23 90 323 | 61 64 37 81 82 324 | 92 36 54 9 53 325 | 17 51 33 10 27 326 | 327 | 67 35 44 22 23 328 | 28 96 1 56 29 329 | 0 12 5 50 99 330 | 70 42 8 24 25 331 | 39 53 51 89 85 332 | 333 | 50 15 94 84 27 334 | 72 26 51 3 85 335 | 63 45 1 64 44 336 | 17 80 13 88 2 337 | 12 97 91 25 18 338 | 339 | 59 14 9 67 63 340 | 6 18 26 98 50 341 | 86 74 75 56 34 342 | 48 7 99 20 64 343 | 8 53 10 15 57 344 | 345 | 6 35 13 68 24 346 | 90 19 91 71 86 347 | 95 58 10 44 98 348 | 8 41 60 1 16 349 | 29 59 43 84 48 350 | 351 | 48 56 8 74 4 352 | 66 30 77 35 90 353 | 94 0 75 49 84 354 | 5 39 11 54 87 355 | 33 58 96 22 2 356 | 357 | 5 38 57 63 65 358 | 74 58 22 8 81 359 | 45 96 78 3 11 360 | 28 42 30 39 51 361 | 87 33 34 75 14 362 | 363 | 56 34 67 70 17 364 | 7 80 10 31 85 365 | 68 59 63 74 40 366 | 13 81 99 62 6 367 | 92 84 71 37 39 368 | 369 | 85 99 74 16 10 370 | 12 21 91 2 83 371 | 4 94 38 51 36 372 | 41 97 45 65 24 373 | 50 82 92 52 35 374 | 375 | 28 65 6 13 23 376 | 7 57 86 18 67 377 | 26 85 29 22 89 378 | 99 62 94 31 96 379 | 14 17 50 56 9 380 | 381 | 98 10 63 4 8 382 | 46 21 58 89 3 383 | 27 12 11 55 16 384 | 61 38 43 33 54 385 | 53 14 99 31 25 386 | 387 | 25 70 24 40 14 388 | 75 82 58 68 41 389 | 22 71 72 93 1 390 | 47 97 6 81 45 391 | 92 42 2 76 12 392 | 393 | 31 84 30 0 85 394 | 55 70 72 45 57 395 | 78 52 67 60 22 396 | 43 32 8 44 34 397 | 14 64 91 89 18 398 | 399 | 70 19 62 16 56 400 | 84 49 41 3 20 401 | 85 5 76 95 22 402 | 63 55 37 31 72 403 | 42 17 28 65 1 404 | 405 | 85 17 57 62 48 406 | 34 29 69 52 28 407 | 90 64 54 21 38 408 | 0 50 84 44 60 409 | 93 80 75 89 83 410 | 411 | 39 84 78 12 5 412 | 29 4 35 7 85 413 | 73 25 58 27 45 414 | 22 90 91 47 74 415 | 60 96 15 24 26 416 | 417 | 13 30 82 31 43 418 | 23 71 1 51 36 419 | 40 62 25 54 86 420 | 8 83 2 47 34 421 | 33 41 27 98 24 422 | 423 | 13 25 53 50 56 424 | 77 4 41 19 22 425 | 68 70 75 9 65 426 | 30 33 60 74 80 427 | 31 83 34 79 11 428 | 429 | 11 90 38 78 73 430 | 17 16 14 37 4 431 | 80 68 21 70 92 432 | 47 26 81 67 25 433 | 10 31 23 41 22 434 | 435 | 90 62 2 50 79 436 | 77 51 8 11 13 437 | 32 29 43 88 33 438 | 39 34 89 45 23 439 | 91 9 6 68 3 440 | 441 | 62 70 89 27 87 442 | 45 65 96 80 29 443 | 1 54 90 68 16 444 | 72 50 28 95 12 445 | 21 71 81 10 60 446 | 447 | 33 14 60 44 78 448 | 6 65 87 11 8 449 | 79 21 59 35 19 450 | 26 69 67 42 27 451 | 25 36 80 10 45 452 | 453 | 71 24 80 87 56 454 | 7 61 43 38 18 455 | 52 46 41 28 48 456 | 0 74 20 34 63 457 | 3 84 42 85 9 458 | 459 | 36 64 41 7 49 460 | 91 92 13 94 88 461 | 73 98 79 0 12 462 | 76 66 86 67 9 463 | 2 85 74 5 34 464 | 465 | 8 81 7 56 28 466 | 36 13 42 29 75 467 | 12 27 85 45 9 468 | 26 25 62 41 22 469 | 79 11 95 0 24 470 | 471 | 72 76 81 67 16 472 | 96 41 94 58 7 473 | 0 79 38 27 11 474 | 61 36 56 88 39 475 | 89 63 31 75 8 476 | 477 | 62 51 5 46 28 478 | 77 97 89 86 13 479 | 87 55 73 90 57 480 | 84 44 40 49 34 481 | 25 0 58 6 21 482 | 483 | 7 56 15 41 94 484 | 42 89 16 18 74 485 | 57 79 96 35 3 486 | 14 45 20 19 80 487 | 87 85 28 69 17 488 | 489 | 27 88 54 62 65 490 | 44 93 69 13 9 491 | 85 63 43 11 47 492 | 83 57 30 20 56 493 | 71 46 49 7 77 494 | 495 | 45 24 75 39 69 496 | 48 74 44 49 64 497 | 65 25 22 46 93 498 | 88 52 27 37 50 499 | 19 35 47 54 67 500 | 501 | 44 32 71 13 57 502 | 7 38 26 98 65 503 | 46 1 21 8 55 504 | 30 62 92 27 3 505 | 69 50 99 85 11 506 | 507 | 86 6 64 34 97 508 | 47 98 7 38 9 509 | 26 68 75 92 54 510 | 58 42 13 78 37 511 | 85 28 81 16 51 512 | 513 | 82 74 15 4 86 514 | 55 0 70 88 24 515 | 50 79 63 40 21 516 | 47 39 61 49 36 517 | 89 16 13 2 37 518 | 519 | 89 19 9 82 13 520 | 84 34 58 56 10 521 | 27 92 46 4 94 522 | 44 24 52 86 55 523 | 39 23 22 99 5 524 | 525 | 65 92 8 86 77 526 | 98 79 72 28 78 527 | 16 23 3 55 48 528 | 68 95 66 30 43 529 | 50 31 15 11 45 530 | 531 | 32 70 25 59 31 532 | 47 68 77 56 23 533 | 66 78 54 88 50 534 | 55 60 58 89 83 535 | 84 99 86 97 95 536 | 537 | 53 46 1 94 87 538 | 8 80 38 77 81 539 | 17 51 47 19 69 540 | 86 50 71 5 93 541 | 61 66 36 58 0 542 | 543 | 90 58 17 29 92 544 | 67 1 8 64 99 545 | 63 22 57 19 68 546 | 78 36 93 53 2 547 | 27 48 62 39 14 548 | 549 | 8 49 22 90 54 550 | 26 4 99 27 34 551 | 78 25 11 85 28 552 | 31 42 36 53 15 553 | 64 75 60 45 35 554 | 555 | 99 84 26 53 90 556 | 61 51 98 39 86 557 | 47 37 52 80 63 558 | 67 49 35 70 11 559 | 32 45 94 73 43 560 | 561 | 91 92 74 94 32 562 | 27 56 50 33 54 563 | 67 46 35 25 10 564 | 93 97 30 90 4 565 | 57 15 69 83 39 566 | 567 | 71 68 74 81 11 568 | 44 98 60 17 73 569 | 43 40 32 38 39 570 | 61 56 97 94 70 571 | 23 2 86 91 54 572 | 573 | 19 98 93 42 88 574 | 0 16 30 32 71 575 | 89 86 81 76 68 576 | 29 2 14 72 63 577 | 7 27 67 59 1 578 | 579 | 24 18 28 98 95 580 | 10 62 80 71 36 581 | 3 89 20 63 46 582 | 47 65 84 22 6 583 | 82 19 81 38 45 584 | 585 | 54 85 67 34 79 586 | 25 58 38 73 61 587 | 72 98 4 19 40 588 | 32 10 29 31 89 589 | 15 33 5 7 63 590 | 591 | 49 48 71 81 88 592 | 70 5 39 41 22 593 | 19 20 7 75 23 594 | 69 46 63 14 54 595 | 80 45 94 6 55 596 | 597 | 88 62 76 78 95 598 | 64 65 36 58 22 599 | 7 21 98 93 42 600 | 79 99 9 89 10 601 | 6 5 33 92 72 -------------------------------------------------------------------------------- /2021/data/day5.txt: -------------------------------------------------------------------------------- 1 | 599,531 -> 599,32 2 | 435,904 -> 435,489 3 | 768,714 -> 768,187 4 | 845,552 -> 596,801 5 | 167,680 -> 167,445 6 | 45,887 -> 45,346 7 | 780,295 -> 179,896 8 | 310,539 -> 602,831 9 | 535,556 -> 349,556 10 | 797,180 -> 797,62 11 | 771,406 -> 120,406 12 | 383,296 -> 383,918 13 | 689,815 -> 73,199 14 | 658,642 -> 658,333 15 | 931,104 -> 708,104 16 | 406,278 -> 406,29 17 | 315,532 -> 773,74 18 | 439,953 -> 289,953 19 | 555,162 -> 695,302 20 | 444,522 -> 444,828 21 | 460,844 -> 460,972 22 | 838,18 -> 143,713 23 | 335,785 -> 335,485 24 | 757,886 -> 757,327 25 | 266,205 -> 273,205 26 | 934,42 -> 19,957 27 | 671,622 -> 263,214 28 | 739,781 -> 739,332 29 | 848,507 -> 848,394 30 | 577,58 -> 461,174 31 | 49,905 -> 921,33 32 | 627,455 -> 205,455 33 | 106,523 -> 974,523 34 | 707,335 -> 707,313 35 | 65,214 -> 712,214 36 | 610,267 -> 610,403 37 | 47,699 -> 565,181 38 | 288,833 -> 709,833 39 | 452,59 -> 452,632 40 | 629,209 -> 125,209 41 | 535,232 -> 535,342 42 | 542,942 -> 542,753 43 | 618,905 -> 552,905 44 | 598,314 -> 976,314 45 | 350,824 -> 17,824 46 | 753,570 -> 753,617 47 | 544,302 -> 259,302 48 | 628,271 -> 628,379 49 | 856,265 -> 856,792 50 | 77,317 -> 77,122 51 | 905,420 -> 905,687 52 | 812,512 -> 812,411 53 | 844,486 -> 771,559 54 | 798,778 -> 798,215 55 | 571,160 -> 278,453 56 | 242,352 -> 227,352 57 | 958,118 -> 167,909 58 | 201,915 -> 201,564 59 | 163,583 -> 163,279 60 | 23,111 -> 23,883 61 | 248,281 -> 331,281 62 | 381,768 -> 900,768 63 | 78,988 -> 78,326 64 | 914,659 -> 247,659 65 | 532,531 -> 520,531 66 | 65,309 -> 734,978 67 | 170,923 -> 399,694 68 | 740,496 -> 196,496 69 | 832,452 -> 816,452 70 | 675,463 -> 878,463 71 | 659,852 -> 560,852 72 | 143,655 -> 227,655 73 | 334,795 -> 334,978 74 | 217,913 -> 368,913 75 | 675,33 -> 503,33 76 | 42,981 -> 811,981 77 | 458,162 -> 722,162 78 | 92,613 -> 92,542 79 | 393,584 -> 393,252 80 | 276,256 -> 725,705 81 | 752,442 -> 752,789 82 | 63,281 -> 744,281 83 | 596,845 -> 35,284 84 | 594,534 -> 964,164 85 | 337,380 -> 337,511 86 | 158,142 -> 75,225 87 | 606,47 -> 606,111 88 | 987,30 -> 62,955 89 | 192,196 -> 428,196 90 | 449,672 -> 449,77 91 | 804,151 -> 804,255 92 | 783,581 -> 287,581 93 | 860,891 -> 69,100 94 | 966,187 -> 761,392 95 | 400,742 -> 278,742 96 | 661,656 -> 592,587 97 | 787,415 -> 787,771 98 | 866,228 -> 417,228 99 | 915,385 -> 505,385 100 | 715,620 -> 715,633 101 | 615,31 -> 615,940 102 | 691,885 -> 527,885 103 | 426,705 -> 351,705 104 | 258,215 -> 258,949 105 | 480,449 -> 480,710 106 | 788,710 -> 788,67 107 | 850,90 -> 597,90 108 | 398,379 -> 18,759 109 | 248,107 -> 665,524 110 | 901,933 -> 208,240 111 | 433,424 -> 110,424 112 | 214,447 -> 389,272 113 | 468,330 -> 468,928 114 | 950,759 -> 332,759 115 | 447,541 -> 420,541 116 | 659,138 -> 604,83 117 | 821,264 -> 95,264 118 | 914,132 -> 46,132 119 | 821,604 -> 821,57 120 | 805,734 -> 85,14 121 | 806,274 -> 164,916 122 | 205,780 -> 205,133 123 | 798,472 -> 361,472 124 | 817,57 -> 127,747 125 | 172,119 -> 922,869 126 | 118,167 -> 55,167 127 | 56,548 -> 344,836 128 | 117,108 -> 940,931 129 | 530,46 -> 530,785 130 | 528,507 -> 729,708 131 | 11,986 -> 987,10 132 | 979,932 -> 76,29 133 | 863,250 -> 210,903 134 | 879,215 -> 891,215 135 | 592,219 -> 592,528 136 | 211,760 -> 211,347 137 | 21,842 -> 633,230 138 | 110,356 -> 110,254 139 | 925,606 -> 444,125 140 | 757,566 -> 757,498 141 | 702,622 -> 637,622 142 | 51,379 -> 365,379 143 | 273,906 -> 273,494 144 | 170,795 -> 929,36 145 | 159,56 -> 435,56 146 | 724,953 -> 724,735 147 | 536,748 -> 901,748 148 | 937,148 -> 937,510 149 | 963,507 -> 863,507 150 | 840,290 -> 840,221 151 | 864,154 -> 55,963 152 | 977,487 -> 685,487 153 | 863,617 -> 210,617 154 | 862,308 -> 291,879 155 | 286,477 -> 286,276 156 | 550,805 -> 550,489 157 | 964,508 -> 821,651 158 | 475,290 -> 789,290 159 | 25,882 -> 25,349 160 | 570,374 -> 604,374 161 | 354,442 -> 514,282 162 | 457,700 -> 360,700 163 | 548,889 -> 548,502 164 | 11,393 -> 11,829 165 | 60,714 -> 781,714 166 | 943,953 -> 972,924 167 | 757,386 -> 465,386 168 | 230,463 -> 27,463 169 | 815,385 -> 326,385 170 | 32,630 -> 378,976 171 | 298,853 -> 298,644 172 | 532,146 -> 23,146 173 | 958,685 -> 737,464 174 | 853,847 -> 79,73 175 | 815,590 -> 815,961 176 | 49,87 -> 751,789 177 | 55,513 -> 55,378 178 | 163,907 -> 574,907 179 | 355,168 -> 355,836 180 | 453,742 -> 674,742 181 | 273,458 -> 685,458 182 | 981,961 -> 958,984 183 | 120,59 -> 401,59 184 | 735,964 -> 395,964 185 | 277,377 -> 277,646 186 | 633,694 -> 633,707 187 | 224,376 -> 976,376 188 | 201,790 -> 293,790 189 | 950,952 -> 12,14 190 | 389,48 -> 356,48 191 | 337,424 -> 166,424 192 | 591,915 -> 591,456 193 | 205,162 -> 942,162 194 | 404,421 -> 404,748 195 | 319,983 -> 608,694 196 | 94,677 -> 94,853 197 | 873,388 -> 873,617 198 | 858,82 -> 858,890 199 | 64,503 -> 64,787 200 | 372,224 -> 50,546 201 | 531,241 -> 960,670 202 | 47,33 -> 975,961 203 | 853,52 -> 271,634 204 | 668,437 -> 668,719 205 | 162,290 -> 843,290 206 | 421,299 -> 944,822 207 | 103,983 -> 103,324 208 | 290,71 -> 290,686 209 | 209,38 -> 546,38 210 | 740,878 -> 378,878 211 | 741,795 -> 741,916 212 | 27,431 -> 445,431 213 | 795,289 -> 795,759 214 | 345,772 -> 775,772 215 | 977,480 -> 512,15 216 | 49,863 -> 49,659 217 | 223,590 -> 779,590 218 | 503,771 -> 917,771 219 | 499,289 -> 935,725 220 | 246,459 -> 246,395 221 | 860,257 -> 656,257 222 | 425,87 -> 425,603 223 | 355,378 -> 355,23 224 | 462,286 -> 462,358 225 | 181,571 -> 181,732 226 | 17,649 -> 476,649 227 | 394,321 -> 394,293 228 | 812,660 -> 515,957 229 | 21,150 -> 799,928 230 | 437,593 -> 437,372 231 | 125,495 -> 373,743 232 | 482,404 -> 482,420 233 | 283,580 -> 283,234 234 | 667,966 -> 827,806 235 | 959,961 -> 959,931 236 | 461,845 -> 206,845 237 | 299,888 -> 299,836 238 | 680,828 -> 680,855 239 | 958,977 -> 26,45 240 | 847,419 -> 290,976 241 | 892,920 -> 892,180 242 | 487,945 -> 487,445 243 | 329,570 -> 583,570 244 | 110,940 -> 989,61 245 | 475,351 -> 882,351 246 | 953,229 -> 429,229 247 | 119,125 -> 749,125 248 | 834,103 -> 212,725 249 | 978,412 -> 978,343 250 | 916,310 -> 758,310 251 | 825,761 -> 720,761 252 | 353,954 -> 353,795 253 | 422,464 -> 422,356 254 | 662,964 -> 836,790 255 | 242,873 -> 242,570 256 | 742,972 -> 797,972 257 | 698,364 -> 360,26 258 | 258,633 -> 19,872 259 | 406,649 -> 406,685 260 | 386,710 -> 925,710 261 | 347,657 -> 524,480 262 | 812,905 -> 554,647 263 | 420,505 -> 420,231 264 | 908,693 -> 908,724 265 | 130,772 -> 130,898 266 | 560,23 -> 560,987 267 | 941,831 -> 941,544 268 | 817,940 -> 132,255 269 | 515,280 -> 515,811 270 | 544,102 -> 568,102 271 | 115,612 -> 67,660 272 | 743,762 -> 743,152 273 | 246,14 -> 691,459 274 | 766,492 -> 673,492 275 | 467,179 -> 351,63 276 | 655,779 -> 655,524 277 | 314,171 -> 314,108 278 | 414,64 -> 502,64 279 | 564,239 -> 894,239 280 | 984,974 -> 56,46 281 | 201,963 -> 201,223 282 | 238,194 -> 238,832 283 | 30,652 -> 477,652 284 | 818,735 -> 582,971 285 | 225,566 -> 673,566 286 | 172,865 -> 74,865 287 | 264,101 -> 264,812 288 | 487,916 -> 979,916 289 | 879,30 -> 10,899 290 | 797,657 -> 797,136 291 | 750,642 -> 593,799 292 | 550,244 -> 418,376 293 | 158,816 -> 668,816 294 | 505,648 -> 303,648 295 | 411,688 -> 263,688 296 | 544,35 -> 771,35 297 | 545,846 -> 286,846 298 | 284,760 -> 284,929 299 | 835,401 -> 708,401 300 | 533,591 -> 545,591 301 | 866,757 -> 475,757 302 | 202,62 -> 907,767 303 | 456,655 -> 456,123 304 | 367,714 -> 225,714 305 | 359,679 -> 926,679 306 | 623,853 -> 623,865 307 | 170,120 -> 213,120 308 | 481,741 -> 481,435 309 | 928,73 -> 41,960 310 | 551,282 -> 551,265 311 | 988,986 -> 12,10 312 | 351,172 -> 791,172 313 | 49,65 -> 952,968 314 | 725,617 -> 691,617 315 | 509,159 -> 697,159 316 | 83,985 -> 83,968 317 | 206,617 -> 334,489 318 | 880,682 -> 966,768 319 | 60,896 -> 60,617 320 | 501,686 -> 49,234 321 | 801,708 -> 738,771 322 | 548,883 -> 548,33 323 | 753,162 -> 29,162 324 | 102,478 -> 102,295 325 | 115,656 -> 637,134 326 | 924,970 -> 924,963 327 | 191,340 -> 191,515 328 | 764,481 -> 523,481 329 | 97,619 -> 97,890 330 | 228,183 -> 228,624 331 | 171,867 -> 68,867 332 | 797,685 -> 167,685 333 | 510,955 -> 464,955 334 | 930,955 -> 233,258 335 | 934,572 -> 934,900 336 | 217,822 -> 797,242 337 | 868,939 -> 369,440 338 | 861,811 -> 861,36 339 | 346,617 -> 346,153 340 | 754,526 -> 754,426 341 | 482,724 -> 482,21 342 | 328,984 -> 976,984 343 | 933,895 -> 325,287 344 | 965,973 -> 232,240 345 | 502,707 -> 767,972 346 | 353,680 -> 815,218 347 | 311,210 -> 311,157 348 | 156,944 -> 928,172 349 | 615,395 -> 101,909 350 | 107,500 -> 528,921 351 | 375,42 -> 375,796 352 | 13,292 -> 818,292 353 | 613,144 -> 613,541 354 | 340,677 -> 340,406 355 | 631,655 -> 744,655 356 | 22,242 -> 723,943 357 | 705,596 -> 980,321 358 | 316,955 -> 316,515 359 | 760,279 -> 44,279 360 | 391,328 -> 391,724 361 | 917,476 -> 917,668 362 | 66,907 -> 913,60 363 | 597,260 -> 362,25 364 | 568,584 -> 568,297 365 | 375,506 -> 375,300 366 | 988,31 -> 72,947 367 | 425,342 -> 154,342 368 | 196,395 -> 899,395 369 | 904,17 -> 94,17 370 | 546,159 -> 751,159 371 | 284,557 -> 175,448 372 | 69,201 -> 697,201 373 | 130,421 -> 224,421 374 | 646,462 -> 637,453 375 | 187,638 -> 621,638 376 | 832,212 -> 416,212 377 | 614,582 -> 348,582 378 | 677,404 -> 677,709 379 | 178,122 -> 915,859 380 | 81,849 -> 223,849 381 | 717,18 -> 646,18 382 | 723,666 -> 974,666 383 | 703,234 -> 130,234 384 | 317,107 -> 106,107 385 | 207,397 -> 207,375 386 | 688,465 -> 982,171 387 | 749,201 -> 610,201 388 | 280,313 -> 827,860 389 | 773,873 -> 917,873 390 | 337,908 -> 337,155 391 | 541,427 -> 385,583 392 | 611,314 -> 131,794 393 | 966,909 -> 104,47 394 | 785,556 -> 346,556 395 | 914,645 -> 914,718 396 | 683,941 -> 657,915 397 | 919,665 -> 310,56 398 | 743,978 -> 779,978 399 | 953,925 -> 953,854 400 | 899,347 -> 705,347 401 | 46,597 -> 46,255 402 | 332,364 -> 922,954 403 | 38,987 -> 832,193 404 | 77,585 -> 77,262 405 | 155,61 -> 734,640 406 | 953,136 -> 655,136 407 | 939,730 -> 158,730 408 | 903,458 -> 393,458 409 | 50,227 -> 50,249 410 | 536,814 -> 536,242 411 | 906,694 -> 259,47 412 | 317,237 -> 853,773 413 | 828,55 -> 509,55 414 | 40,664 -> 341,965 415 | 414,820 -> 53,459 416 | 244,344 -> 272,344 417 | 191,606 -> 308,606 418 | 329,409 -> 329,960 419 | 166,863 -> 938,91 420 | 655,396 -> 291,760 421 | 634,666 -> 625,666 422 | 360,622 -> 360,550 423 | 568,473 -> 840,201 424 | 534,162 -> 534,823 425 | 583,563 -> 583,521 426 | 124,447 -> 124,79 427 | 207,559 -> 207,649 428 | 688,238 -> 26,900 429 | 173,33 -> 117,33 430 | 665,800 -> 665,86 431 | 121,515 -> 121,132 432 | 32,472 -> 32,960 433 | 513,28 -> 513,299 434 | 881,612 -> 881,415 435 | 72,71 -> 977,976 436 | 169,821 -> 111,821 437 | 603,756 -> 254,756 438 | 182,129 -> 182,824 439 | 746,670 -> 942,670 440 | 143,15 -> 72,86 441 | 108,134 -> 963,989 442 | 860,388 -> 834,362 443 | 252,811 -> 473,811 444 | 575,306 -> 575,368 445 | 686,471 -> 686,38 446 | 673,59 -> 673,861 447 | 461,949 -> 491,949 448 | 915,373 -> 330,958 449 | 933,699 -> 588,699 450 | 254,798 -> 254,498 451 | 329,865 -> 329,926 452 | 569,243 -> 659,243 453 | 762,808 -> 921,967 454 | 722,460 -> 68,460 455 | 136,470 -> 355,470 456 | 133,919 -> 56,842 457 | 87,868 -> 853,102 458 | 622,102 -> 446,102 459 | 798,494 -> 135,494 460 | 281,858 -> 281,172 461 | 141,172 -> 765,796 462 | 794,194 -> 102,886 463 | 539,983 -> 539,895 464 | 841,755 -> 841,365 465 | 695,429 -> 166,958 466 | 965,933 -> 899,933 467 | 603,699 -> 603,708 468 | 598,635 -> 844,635 469 | 288,190 -> 288,946 470 | 559,383 -> 423,383 471 | 795,332 -> 409,718 472 | 600,645 -> 478,645 473 | 831,24 -> 905,24 474 | 13,817 -> 606,224 475 | 828,878 -> 96,146 476 | 32,197 -> 32,891 477 | 84,832 -> 84,756 478 | 404,281 -> 404,781 479 | 394,441 -> 489,536 480 | 845,876 -> 589,876 481 | 833,114 -> 833,834 482 | 979,130 -> 979,238 483 | 907,189 -> 396,700 484 | 448,740 -> 714,474 485 | 145,837 -> 100,837 486 | 982,983 -> 38,39 487 | 962,506 -> 962,764 488 | 773,922 -> 975,922 489 | 892,666 -> 904,654 490 | 754,201 -> 459,496 491 | 108,829 -> 108,894 492 | 122,381 -> 122,484 493 | 683,301 -> 630,354 494 | 47,103 -> 897,953 495 | 549,880 -> 942,487 496 | 944,15 -> 44,915 497 | 713,456 -> 713,402 498 | 83,865 -> 239,865 499 | 814,585 -> 814,105 500 | 980,439 -> 685,439 -------------------------------------------------------------------------------- /2021/data/day6.txt: -------------------------------------------------------------------------------- 1 | 1,1,3,5,1,1,1,4,1,5,1,1,1,1,1,1,1,3,1,1,1,1,2,5,1,1,1,1,1,2,1,4,1,4,1,1,1,1,1,3,1,1,5,1,1,1,4,1,1,1,4,1,1,3,5,1,1,1,1,4,1,5,4,1,1,2,3,2,1,1,1,1,1,1,1,1,1,1,1,1,1,5,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,5,1,1,1,3,4,1,1,1,1,3,1,1,1,1,1,4,1,1,3,1,1,3,1,1,1,1,1,3,1,5,2,3,1,2,3,1,1,2,1,2,4,5,1,5,1,4,1,1,1,1,2,1,5,1,1,1,1,1,5,1,1,3,1,1,1,1,1,1,4,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,3,2,1,1,1,1,2,2,1,2,1,1,1,5,5,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,4,2,1,4,1,1,1,1,1,1,1,2,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,5,1,1,1,1,1,1,1,1,3,1,1,3,3,1,1,1,3,5,1,1,4,1,1,1,1,1,4,1,1,3,1,1,1,1,1,1,1,1,2,1,5,1,1,1,1,1,1,1,1,1,1,4,1,1,1,1 -------------------------------------------------------------------------------- /2021/data/day7.txt: -------------------------------------------------------------------------------- 1 | 1101,1,29,67,1102,0,1,65,1008,65,35,66,1005,66,28,1,67,65,20,4,0,1001,65,1,65,1106,0,8,99,35,67,101,99,105,32,110,39,101,115,116,32,112,97,115,32,117,110,101,32,105,110,116,99,111,100,101,32,112,114,111,103,114,97,109,10,1425,266,740,842,335,1076,1125,108,728,131,553,757,316,361,475,1058,555,157,37,1501,287,61,22,394,886,535,235,734,1381,428,200,838,84,0,99,397,516,1260,1079,457,685,669,85,1161,851,1413,207,125,23,396,1024,637,712,942,320,507,32,686,1073,449,736,619,120,1092,674,769,519,26,42,366,187,261,389,583,170,700,695,531,57,263,1058,755,1215,413,201,617,311,443,694,285,677,722,1262,934,790,31,272,410,129,22,186,49,1040,399,19,624,132,1,35,515,423,1039,128,963,254,152,1306,33,360,484,463,483,254,741,284,14,155,6,16,1053,36,1299,637,985,470,476,383,717,304,31,209,263,70,1196,2,283,470,45,20,226,249,654,692,107,31,123,131,42,36,469,249,74,703,798,195,126,1699,135,143,1028,180,33,248,4,118,22,783,721,1033,1250,779,213,241,170,1026,0,124,709,672,349,286,494,134,361,938,985,539,267,240,951,496,431,449,242,804,422,24,202,76,947,414,396,681,142,366,342,256,978,373,677,1471,187,307,579,437,17,779,81,1380,241,69,61,758,1290,98,514,275,510,1427,185,139,816,1401,105,74,978,544,248,413,0,45,1107,223,332,723,745,71,70,330,727,261,1223,914,16,980,306,331,1011,132,70,1735,281,993,976,1,370,280,502,41,644,213,1191,518,464,693,446,44,930,1,23,1412,219,722,1028,84,552,1261,601,433,538,728,385,9,346,212,1017,7,80,88,336,480,1264,219,750,0,1080,711,1095,849,1270,175,20,314,452,620,1283,81,57,193,392,79,1330,220,396,184,922,921,902,199,56,107,32,67,275,91,202,49,4,312,372,262,49,172,493,1473,989,70,373,941,1116,798,709,865,105,442,555,1616,74,402,703,439,120,262,442,1704,1459,195,237,1763,376,734,28,867,370,6,1080,548,750,391,367,123,324,221,453,131,516,586,72,57,185,1667,468,439,225,1407,663,12,355,1320,595,60,59,158,279,365,670,505,14,240,1299,337,128,615,823,576,823,890,284,1196,717,955,1282,1002,20,176,32,222,33,248,634,885,703,543,368,585,1151,110,124,41,475,958,252,99,30,620,793,1021,540,154,635,1194,420,54,33,452,797,157,576,86,116,842,94,98,0,1162,38,483,138,949,316,1248,79,249,40,234,698,275,1239,573,649,815,348,48,78,1039,276,12,261,317,638,304,20,184,1152,711,1673,917,40,244,655,268,151,41,851,79,242,788,611,300,27,141,635,274,330,900,1023,498,269,267,46,436,844,1228,38,142,467,192,399,86,87,645,792,405,844,108,487,356,1251,332,146,128,383,1123,145,0,1148,688,127,316,579,15,215,293,73,1648,599,432,155,317,1054,205,155,451,1411,291,104,536,719,35,25,24,62,747,702,224,971,107,1210,114,41,472,29,286,4,920,0,197,135,112,308,191,1017,438,206,239,6,11,69,945,248,274,397,50,173,80,1349,268,585,590,1071,1127,351,929,106,989,396,209,691,17,149,1001,354,1296,473,179,152,141,1049,376,590,196,27,656,67,275,153,916,849,27,1093,73,156,30,1206,276,623,395,38,760,33,222,371,489,246,309,385,498,517,748,1384,1203,465,360,237,763,1173,94,431,48,770,491,132,564,84,472,1804,57,59,187,351,1340,265,1099,36,199,60,608,148,1209,1142,231,268,254,105,1020,200,1202,661,225,1313,55,808,770,80,522,185,129,36,476,815,1424,534,583,285,15,21,607,722,242,33,299,672,1253,1078,142,285,417,461,261,310,296,1934,271,144,1572,155,1039,881,1097,18,226,45,789,213,309,32,603,1102,5,81,511,672,314,7,1471,104,196,875,286,4,198,472,549,613,1453,139,596,270,164,417,709,437,27,86,758,1365,216,38,1047,124,96,255,72,67,1372,143,120,502,276,922,89,231,491,1330,245,473,25,944,266,1475,569,215,484,73,264,214,608,423,333,879,251,300,32,18,514,135,1349,80,493,569,784,2,794,846,596,30,862,318,207,546,551,1548,547,181,1219,354,650,791,53,20,629,52,105,98,312,140,111,1451,973,11,17,821,724,1836,376,82,248,86,730,1061,47,309,142,1039,114,157,26,307,1058,803,723,105,170,59,239,181,601,79,564,671,636,1465,530,533,75,261,1522,537,96,984,71,504,572,923,85,103,567,780,102,4,835,463,684,427,1091,1104,1163,626,1015,395,1881,43,490,906,1013,398,113,95,332,215,14,8,85,92,1579 -------------------------------------------------------------------------------- /2021/data/day8.txt: -------------------------------------------------------------------------------- 1 | ecbad fdeacg gaecbd gbae gfcdbea cadge fcagdb abc cfdbe ab | beag bac dacgbe aegb 2 | gad agcfb afegcd afed gacdf gdfce ad cfdgbe cfgdeba bdcgea | gbdecf cdgeaf abcgde ad 3 | ebadf ag efgcdab fgced edgbcf begcfa adgef gcaedf afg dgca | agcd agdc fagcbde gfa 4 | bgaefd gfcbe fgeda dbf dafbgc dfbge bd bdgcaef dfecga ebad | dbf db edab dbf 5 | ebfcgd fedbc adc da gafdce bdaec bdcegaf edbafc bdfa gbcea | afbcedg cedbf decfb eacbg 6 | fdabec adefcg dcf gabcf fedgcba gdaebf dfcga gfead decg dc | beafgd fcd dfc dcf 7 | cgfbd gfb cgfa dcgeb fg bdafge gcfbad acbfd fcdabe aefcgbd | abfdc cgfa gbf gf 8 | dfae aeg cfeag ea fgedac fdcbega agebdc cdegf fgcedb abcfg | feda fcgba ae efcgda 9 | eafdgb bfaceg fba bf bgdf agdecbf cdafe gabde dfbae agcdeb | bfeda ecdaf fb fab 10 | agebf dgbcef dagc ebcgadf da dfcge egdaf dea dfecag fabecd | gefab feadg ead agdc 11 | afbcg bdgcfe aecgf gb dcafgeb bgad agfcdb bfg bfdeca bafcd | gdba dabegfc decbagf acfdbe 12 | ag acdgfb fecgbd edacbgf dgcfb gbad gaf ecbaf cagbf gefacd | ag cebaf gbdfce ga 13 | ecbg gb acdbg dgceab acdegfb beadfc cfagd ecbda adfegb dbg | efdagb gebc gb bg 14 | cdafgb gdebca edgbf becf fb fegcbd fgb egdfa cadefgb bgced | bf cbfaegd fecb fceb 15 | bacgedf afdgb ebagf bfadec ebafcg ecabg fae fe ecfg cdabge | fe adcgebf gabef ef 16 | cdgbaf ebadfc afcbdge gfeadc fgcde egdbf ce cagfd geac cef | dgfaec agec fgdaec ce 17 | dcag dfeabc cba bfcdg ecdbfg egafb afgcb gcaefbd ca gfcabd | fcebdg dbegcf bcefadg gdfcb 18 | cdgefa fdebg abfdg dba agcdf bcadfg cbadfe dabfegc acbg ab | fgadceb fbcgead bda facgd 19 | fbg bf agbfde bgcdefa fcdb gcfebd efgcb ecgbd gefac gaedcb | cgbfe cfgbe fcaeg bgdfae 20 | dafcg cefd fcg geafbd deagcf fcdgbea fbgcea abgdc cf gdaef | gcf fcg dfec fc 21 | cbea gebdfa ecbgf cfgdbe afgcbe gae adgbefc eagfc ea gfdac | agbfec eacfbg ea begafc 22 | ba dfaegb afbd gfbea cegbf caegdb fdaeg dcfgeba feagcd abg | bafge dfba feagd gceafdb 23 | dea bgade geabf adcfbe adgebf adgf bdegacf cdebg da agcfbe | dfag dafecgb dcaegbf cedbfa 24 | fedcag fdebgca dfeab gdcaeb be fdeag fbge fadegb aeb bcadf | eba bae ebcfgda egfda 25 | dcfb cgf abgcf gdcab adcgfe cf dgcbfa fabeg beacgd fgdebac | cgfdab deagfc feabg cf 26 | adbgc cabgef adec dfgbec gdbfa cbgdafe dgc begac cbaged dc | cade bgafec gdc edca 27 | agef eac fbceg ecgbfa bcdgea fceadbg cbfda eabcf ebfdgc ea | gfae badgfce acgdeb ea 28 | cfb cdegfa badf gcaeb dbacgf cagdf eacgfdb fcagb dfgebc fb | bf gfdebc fcgdba cafgdb 29 | dbgfae bgfeac bc cgb gecfd facb fbega fdgbace gbefc adecbg | edafgb cbg dgeafb fabc 30 | geafcdb ec gcedfb acgbfd ecd cedfg gaefd bcfdg ecgb dcafeb | cde dfcbge acdfgb fegcd 31 | decab acegf bfgdec cabegf bfc aebfc cbdefga adgcfe bf bagf | aecbfgd cfb bf cfdgbea 32 | egf gfbade dbecg gdfeb edaf cadgbf fe cfaebg bgedcfa fadbg | fe gdfabc gfdbe fdbcag 33 | fdgecb geb gdcfeba edagf dcefga dgbac bfdgea be eadgb ebaf | fdegba caegdf deabfg dgbea 34 | egfbad efgacb bgfea cea gaefdcb cdeagf aecfb cgeb dbfac ec | ecbaf bafedcg ce dfaebcg 35 | gecad dbeag dfcgea bd deb eabgf eabdfgc agbdec bcad fdcgeb | edb adgfce eagbf db 36 | gdbac cbgea cdb gadfb cd faegdb dgfc dbceagf fbcadg ecadfb | facbdg cafdbe dc gcfd 37 | cagbe abdgcf ca fcbgea baedg gac gdbfce ecfbg aefc gcfadeb | cafe face abcge febgc 38 | gaebd fcba debca adc dacfge cfbde afdbce dgbefc ac fbceagd | ac becfd fcdbgae cefagd 39 | cfdgbae abcgdf afbcg aecbg eb gedac bfgcea cbef fdbage bea | eabcg gcfba be geacdbf 40 | cbfga faeg bcfae gbcda efbdac bfgcde bdefgac gf gfc agfbec | dgaebfc bdcfaeg gfea fage 41 | fb egacb bdacgfe afgbc cbf aebf adcgeb fbgace fedgbc cdafg | cfb cfbag ebaf fb 42 | beafd cafbe gedfca dfebagc bceg ec fcbdag fbecga gacfb ace | bgcfad afdgbec ec efcab 43 | abefdg bacgd ecfg fag ebfca fcgba gcefab beafdc fg agefcbd | fgec cfeba fga gf 44 | degf adgcf edcfgba ead cbaefd bcega cafdeg ed dagce gbcdfa | ead aebdfcg agbdfc egdf 45 | gfecdb dacfe dacgb fb facbd facedb bdf fbae bcdafeg aedfgc | bf cedaf fgacde dfb 46 | gabdf cfbegad dbagfc decaf bgdecf aedgf eg egab gaedfb edg | eg gadfb abdgf gde 47 | dgaf faecb bacfdg gbdac abdegc cbfgade fcbag efgcdb bfg gf | defacbg gcdfeb fgbadc bagcf 48 | adfgcb feg aedbg fdgbc gafcebd bdgef fe fcdegb eafbcg decf | ef fdce eabgd faebcg 49 | fb fgbde bdgefca cgbf fdb deacgb cefdgb bdafec aefdg degbc | bfcgde bdgec befcda dfb 50 | efcgb fgcaed fcdbga fed acfdbge eadbfg edgfb de deab bfgda | fbgda ed fgdbae aebd 51 | ecfabg dfegbac ecfbd cbdaf gceadb cgbdfa dagbc af fba gafd | fa bagfcd bafgdec af 52 | bae dcbfag fadgebc acgbf fageb cbfega bdafce ea bfgde cega | eba efbgd eab bdecfa 53 | dfgeacb fgcbed cfbdg gbcaed fcebg cd fced ecgbaf fdagb bdc | dc bdc bcgfde dcbfage 54 | cgbeaf adefgb gbefcd cbfa bcfedag bfage cb ceb gcdae gcbea | ecb cb cegabf eacfdgb 55 | gfbea adgfb dfbage fad fd agcbd defcga fdeb baecfg gcbdafe | df dgfab egbfa afegb 56 | acedbg becgdfa dcfe gbfda gdceb bcf fc fgbdce cdgfb efcbga | fcgdb fbc bcf bcf 57 | deb gfbdeca cead agbed dcefbg ecgdba bgacd gbfea de fdabgc | cegbfd feabg bed badfgce 58 | acegdf cdaefbg acbgf df agced aedgbf gbedac adf cfed gfacd | dcegfa fbeagd edcf df 59 | ecbfa dbegfc bcdga bgafedc bcadge gdcafb de bed bcade geda | caebf bdcafg eabgcd cbefa 60 | edbcfg agedf bacgfd bdagf dfgcaeb gdabc bgf gdbaec fabc bf | bgdcef bf gbf adgcb 61 | fg afegcb gbf aegf gbfceda fcbgad decbg fabec gcfbe bacdef | bgf dgbefca fg agfcebd 62 | eb fgebdc dcafge bgdeacf acedf bdae fecbda ecb fcgba cbfae | efgcda facdeb eadb ebc 63 | gbafecd bgaced cabed eg bega fgadc fadcbe dge cadge dcgbfe | edg cadbfe cfgad ageb 64 | badc fbcgde bgfaed cb febca fbc eadcbf gceaf aebfd bdfcage | acdb fcb bcad bdac 65 | ecgfa deafcg bcdgfea ed cdaeg acfgeb aedf ecd gcbad bgcfde | ecd befgac de cgbad 66 | cbeda bc ecbfdag gcabdf egbdca bgce aebfdg bcd gbade dcfae | decaf gacfdb bgce cbeg 67 | ecdgb dc dbc cfegb decf fgacbe dafcbg gbcefd bacdfge gbdea | fdabgc cd gecadbf cbfeg 68 | afbcdg gcaef degfca ec cge aedc efadbcg fgaeb gcfad fcdbge | aefcg fcbgda ec acde 69 | adcfgb afe acegf cdefgab dafegc aedbfc dfcga fegd ef ceagb | dafceb cdaegf gdfe fe 70 | gacdf bedgac bgfe bg gdb feabcdg fabdeg gdbaf bfade afdbce | begf bg egbcad gdb 71 | beda aecfdg dgfaceb fegbc gbaec cba dbfacg gaedc ba dbcage | acdegf gcbfda aedcg edab 72 | dbce ecgab cadge fcabg bfadegc ebdafg beg eb becdag fedacg | eb be efgdba be 73 | cagebd df agdec fegcdba abfdce gfda cdgfe gdecfa cbgfe fde | egadfc fd cgdef dfga 74 | da dgcafb acfbeg abgd dfbec fbacg fad fdagecb egafcd bfadc | feabcg fgaceb cbfeag bfgca 75 | dcegaf dabgcf bedac febgadc fcdaeb eagcb cdfae dab db fedb | efdagbc bfdcga ebcagfd dab 76 | bfc facgb deagbc fgeac badf bgdac bfdgac gcadfeb bf cdfbge | abgdecf afegc efgabcd fb 77 | afbcde da bcfdge dbecg cad dgfebac dgbac edag cgbfa baedgc | gdeabc dega abdegcf dage 78 | abfdc fa gabdcf gcbfd dfaebcg gbfeac bdeca acf cgbfde agdf | gdfa af caf fa 79 | cfdg bedfca cfdbeg fdceb edcbga agbfe cg fcgbe bgc gaecdbf | bfaegcd bgc bcg cg 80 | gcdafe fgec eafdcgb agdcf cfdea dgf fcaebd gf eadgbf adcbg | efcg cfge abgdef fg 81 | cadgf dfacb cb ebdcafg cbf ebcdgf dabfe fbaged bcea fdacbe | gdcaf gbcefd dagcf cfabed 82 | gcbdafe acd bacegd feca ac fgbdc facdg adegbf adegf dcgeaf | ebgacdf begdfca cgdaf cad 83 | bfdc debfac acdeg baegcf afecd afd fd beacf bfedga acdgfeb | baedfc egcafb dfa afecd 84 | geacfb efdacg eag cagdf cdea dgebf eagdf fgbacd dbgface ea | cdae acdgf acdgf efgdb 85 | gafced eacgf cgbfe egdca eaf af eacbgd bacefdg adcf ebafgd | dbgaef agedbc fcda geacdb 86 | eabcg gadb acgdeb db cegabf fecad dgefcab daceb dcb cbgdfe | db dgab gdba defgbc 87 | eacf acgdfeb dgace cgfda gbcfad ebdgc efbdga aed ae cegdfa | cfgad cgdfa ae gadfec 88 | bfdacg gdbfc cfbadge fcagb bcfdeg adfg dgebac ga agb bfaec | fgbeacd bdgeca ag ga 89 | fabedc ed abegfcd bdfga feacb fecd ebadf agecfb aed adcbeg | ed fcde agcbdef fadeb 90 | afgdce ecgabdf fc debaf cadbf gdabc cgadbf cebadg gfbc fca | fgbc eafdcg ecfdbag gdcabf 91 | gad agedcf gebfadc gafbd fbcgd da abdc begfa bcgdaf dcefbg | efdcga gbfecad befga bagfe 92 | feg afgb abdceg ecdgaf faedbgc afbcge cebdf efbcg cbage gf | gafbcde bgecaf feg egbfc 93 | ba fdcagb dab adcefbg edacg dfecb gdabec cgfead gbea cedab | adb abd baecd cedbf 94 | ged acgd dg cgabdfe cedgba fdcaeb baegd adecb bagef dgcbef | edg edg cdaeb ebfcad 95 | bgdfe dfgae eabgfdc fdaebg egb afbg fcdbe bg agdebc degacf | egb egb bge bcfedga 96 | adbfc ceabdgf aced facedb gadfcb dbe cdfbeg fdaeb efabg de | deabfc geadcfb ed fabdc 97 | bc badgce gecb dabcg egfcad bdfaec cdgae abgdf beagdfc bca | dcaegbf cb dcbfage gdbca 98 | debgafc becgda bdgfca dea bcdfe dcagb ae ecgadf egba ebdac | ebgdac gdaefc bgae eagb 99 | gbdae adegbc daf gadbf fd dgef bfacg eafdcb cgefadb eadgbf | dfgab df daf adf 100 | gbad fbdecg bcgfea bdafc defac dgbfc cgbfad ba bafecdg fba | bcgdf ba edcgbf efgdcb 101 | ged gfecab cgfbdea aedc agefdb aebcgd ed dbceg abgce gdcbf | ged ged aegfbc dge 102 | gbedcf be bfe afgdb aecb decafgb cgadef aebfd dacbfe faedc | be dcegbf cadbfeg cdfaeb 103 | adfeb ecfadgb cbdefg ebdfag efag af daf acdbfg caedb fbedg | fdgbe daf daf af 104 | gcbefda agfebc cedaf gface fecgad dc eadfb acd cdeg gfbcda | cgfdbea acd dcfea dc 105 | gecafd aebfgd cde gcdf gdafe adcbge ecfba cgbfade cd decfa | egfadcb gbfdace cagfed fgcd 106 | fgcdb gefcbd agb ag dcfegab bgcfda fbadge gacf bcgda dbace | degbafc agb dcgba gab 107 | abfgde acdgfbe gabd gfecdb dfeca abgfe fdaeg gfd dg begcfa | bdag dgab gdafebc dfcae 108 | eadcb dbcfe dgecbaf agdcfb cf fbc cbdfea abgedc fedbg ecaf | cf bfdace fbc fcb 109 | ad efdgc cdafbg fecadg dbcegfa fgbae gdfae fbecdg adg cdea | decgbf acgbfde gabef da 110 | gbf cdbgfea acfeb bedfgc adgbe gfeadb cegbad fg fdag afegb | gfb bgf cbefdga cafbe 111 | adbcf gefb agbce acfbg gbfaecd fg fcg gceafd edagbc cfaebg | beagc fdeagc gf gfc 112 | gdfbcea cdaeb egdbc fcgdbe gc cfdage gdbfe eadbfg fcbg cge | fbdecg fcegda bfdge bagdfe 113 | adfbgc aegdb dc ecgdab dceb cedag fcgea dac ebagdfc dfbgae | efacdgb abcgfd egdab dac 114 | dfg eacgbd ceadg gfac cefadg fg efagd gcfdbe begdacf eabdf | afgc acegd gf fg 115 | fe eagfbd cgfab egf cadge begacd cedf caefg ecfagd dgbfaec | adegcb fe gdecbfa ecdf 116 | da cedabg cfegad edacb bgcfdae dbcge gabd efbdgc adc ceabf | ceagfd bcefa cgdeb da 117 | cebgdf bgcad dgface agbecf dfceg ecdbfag ae edaf ecdag eac | eca decgbf daef acefdg 118 | aebgcd fdgcabe gecbfa fbgec bgfad gbecdf face cab ac acgbf | bfceg ca agdefbc efbgc 119 | cgf caedf dfgabce gf ceagb bgaf cegdab fagebc dfcgeb fcega | eabcdfg fg gfc fgadbec 120 | egfabdc gbfaed fcdea egadb fdgecb beacdg gc cge cedag gabc | bdgcef dceag gbac acedf 121 | ecfdgab bd cadb bdg cbgdfa dbfcge bdafg efgda acbfg afbcge | bgd bd bgd dbg 122 | aef acbefg ebcgf ecafdb degcbf fcadg afcge gaefdcb ae bage | daegbfc fgeabdc abge beag 123 | egdc dacgf cafegd ebfgca cadfe gc gdbfa gfc dgfcaeb dacbfe | dfgeacb gc cg fgc 124 | ebadgf acegfd ad debgfac efdba ebdcfg gbad gdfeb beacf aed | fagdbe da adgb gebcfda 125 | gecfb ebadcf gbdcae ecg fabce gbdef fabceg beacdgf cg cagf | ceg fcegb gce dfbeg 126 | dabcge gbdafe facbed fbacdge ecgfa dabeg bdgf fb bef fageb | bdeag bcdaef fbgd bdaeg 127 | ac cfabe ecfbgd cbefg gbceda efcagdb edbfa bca cafg ecagfb | cgefdb cfgaebd ac edgcfba 128 | cef abefcgd cabfe facgde cabgef agdecb fabdc fbge cgbae fe | agbec fcdabge gebf dfcega 129 | agcbed aefgdbc ca gfabd dca abgcdf cbfa efbadg fcagd fcgde | ca cad gedfc dca 130 | gadfcbe dc bcdag cdb dbcegf dbagce dabge gfdeab agcfb eacd | ecfgbd adce fgcdeab cead 131 | cbafed bcefag ga aefbdcg abcef fgabcd aegc bedfg afg gaefb | gfa gdbfe acbef ecag 132 | gdefa agedcfb gadbec fegbd gad da gdaefc cgabfe gfeca cdaf | dcgabef agd fcgea fcgea 133 | fgcea fab cgfbae cefab ecbfd cgfdae dgefab gebdfac ba agcb | deacfbg beadgfc cgab cbga 134 | dag dfebca gd bcdfa adbgc dfgeba cfgbad ebagc badcegf fgdc | gceab dag gd dag 135 | gefbd aedgbf dgebcf ea aefd gea fbgae decgbaf gbafc agbcde | bgfed efad agbfe fbecgd 136 | ebfc gfe ef ebgacfd cefdgb egcbd degfc dcabeg dfbgae dagfc | faegdb fge gefdc egf 137 | dgefab fbeadgc gcadbe bdgcef bcgae edca cbdeg gae cgabf ae | age ae cdgbe cfdgeb 138 | agdbf fe eabdc efd bfdaecg dbcage bfdae bdefcg cefa acbdef | fe ef efcgadb bedfacg 139 | fcebga badecg adcef cfg cdebg cbdegf gfbd gefcd dfbaegc fg | edcbfg bfgd fceda fg 140 | df dfgbca gfed feacb bdf bdfegc dagbcfe cgbeda bdecf ebdgc | acdbfg edfcb debcf debcf 141 | dbc beac edfgb afdce facdbe debcf cb abdcfg gdecfa aedcbfg | eacb becdfa deafcbg cbd 142 | gcdbfa afdceg abdfge befag gba efbgc ba cfeabgd dfaeg baed | feagb agb ba acdbgfe 143 | gfdace ecdgafb fdegb ebdagc gb fcegd dgfbce bge debaf fcbg | bcdage egfbd gdebcf gb 144 | bfa gface fb fabgdc dacfeb becgad bcead fbed dgbcfea eacbf | bedf beacgd gceaf caegbd 145 | adgcb de edafgc egfba eda abecgf geabd abfged egbcadf bdef | ebfdcga ebdf ed dae 146 | cgbed ebdgfc aebdcg bcdga efcbadg cfgab cfaged aedb da dag | bagcfed cdefgab cgdeba aegcbd 147 | efabdg aedc cd fdcge cbdafg dcbeafg ecbgf fdgae dgcfea gdc | gdc dc aegdf dc 148 | edgfca febgac egcfb efcgbd begcfda acg gdbea aegbc bcfa ac | bcaf fcegb bcaefdg bedfcga 149 | ecfba bg cgdafbe cbfag cgbe aegfbc dafecb efbgad agb dgafc | bag fcbea aefcbg cegb 150 | ebagdc fgaecd gcaefb dgceb ebfgd gcb dgfbeca bdac cb decag | cafebgd fcgdea adcbgfe cb 151 | caedfb bdcegf dgac fad cbfdg gfabd gacdfb feabcdg da afgbe | deagcfb adf dfcgb aefgb 152 | adgfbe ed eda dbaec bcagde egcd gacbe bfdac bagecf edfcbag | cedab bgfeda bdfac ed 153 | abcgf cd edbag gbacd fcgd gfebca dfbgca adc bcgdafe facebd | dac fcdg gacdb dc 154 | fagde badfe acdeg gbefacd gf bdgecf ecdgba fagc fecdga fdg | bfdgec dfg gf egcadbf 155 | aedcfb cadeb agbecd cfda aefbg ecabgfd fbecdg bfaec fc efc | dcfa acfd dcaeb fagbe 156 | ecbdga bacefg ea dcefb bcdae adeg dgbac fcgdba aeb cgafbde | dcbea ae cbefd aecdbg 157 | df ecabgf fbde efgba fad dbfgca fdebga fegad cdgbfae acdge | daf agced egfba fcdbega 158 | bfaecg gfdaebc dgec dcb baegc agdfb cd befdac bcdga cdgeba | decfab dcb cedg agdbc 159 | gbadecf gbef gadec ebdcg bg dgb gcbfad dcfbea bfdecg fcbed | dbg dgb gb bfeg 160 | bdfca cbdea dae ebgdfac cabedg efcbgd egdcb ae agce badfeg | dabcf dcabf dbecag cabedfg 161 | edcafb ed aedgbc cedbf dgfbc dafe abefc deb cdfbeag bagfec | fdea ecabgd fcbgd ecfab 162 | afbdce agc dcgf bcdag cedgfba dbgcfa bacfge gaedb bdfca cg | cbafd dcgf cg edbacf 163 | eabfgc cfaeg cbfde adgbfc bface eagb acdbefg ab acb edacgf | ba cfdgab ab ab 164 | egdfb dfbgaec dfaeg abgedf defcga egba feb dgbfc fabdec eb | efb eabg fbgcead aegdcfb 165 | df fbdace gdebcf efabdcg dbf cagbfe efgd gbcda cgdfb cebfg | bgfecd aedfcgb dfbcae abcgd 166 | ebgacf adcebf gcbaf df adbfcg bdcfega cfgbd dbf gecbd fadg | fcbga agbefdc fdb fadg 167 | bagfe efcab cbf cbfgad abgfed faecbg begc cb daebfcg feadc | bcafe ecgb fcb cb 168 | afdecg adbfeg cdgebf fecbgad eafc eacgd ec ceg cagbd afedg | gec ce ecfa fegdca 169 | fgcade fbadeg abcedf ebcgf adcgfbe eca dafge ac cagd agecf | agdc cdgfae begfc geafcdb 170 | cadbeg beagc ba afgbed cefdga bacd fecgb caedg gfebcda bag | gebacdf fcegb gdebaf ba 171 | fbgad fcad egdab fdb cbedfg cbafedg gdcfab fd agbfc abcegf | df dfagecb gbefcd aebgcf 172 | gbacfd ebacfd fcadb eagfbc ag adbgf cedfgab bag dfbge acgd | ga ag ag acbfgd 173 | gebdfc fbedac efbag cdebf dg decg fbgadce egfdb dfcgba bdg | fegdb dfbec fbdacge dg 174 | dbgfc fabcd fcegb bacdfe bgd eabdgc gd bdagfc fadg afdebgc | bcgdf dg dgb gd 175 | aefcgdb faegcb fead edc aecbd bgcad de bfaec bdegfc afdbce | badfec cfgeab gbacef baecdf 176 | fecdga cdgaf gba dbcafg dbfg cbfae agedcb dafgecb bgcaf bg | fdbg bgcfa dbagcf gefbdac 177 | fea gfdbec abdf abefg edbgf bacge dcebgfa af egdabf cefadg | abfgdce dacfegb efa efa 178 | bdgafc ebcgf bfea dgcbe abfcge egbcdaf efc gabcf ef cgdaef | fce fe fe fgbac 179 | gadefbc dg egdcaf fdcbe caegb gcfedb dfbg gde edcbg fedbca | aebgc bfeacd cgdafbe gebdc 180 | ec dcgfe aebgfd cagfbde fec dcgfa ebdc gebdf cbfdge ecbafg | egdbf cbegfa ebdc egcfba 181 | dcbgf dcgeb cf dfc fgdbeac eacdfg gcdabf gafbd adfgbe bafc | cgdafb bfac dgeafc fdabg 182 | aefbcd cadgf eacdg bgade facgbd eac ec dacegbf gfec acfged | gecf bedagfc geadc eac 183 | egcab eagdfc egcdfb aegdf dec afcd cgead eadcfgb agdfbe cd | eafcdg cgdae aedgc dbfacge 184 | ag bfdcge gca bgcef fgcae bagdfc egab bcdeafg afdce abcgfe | fdagcb ag egab faegc 185 | abdfgec bgdca edcg abedgf bcd cd cgeadb fgcab dbgea dacefb | cbd dgbca gabdce dcfbaeg 186 | eacbg gbe egacd dbecfg agedcb bg dgab edfacg cafeb fbgcaed | dgba dgab aecfb gb 187 | fcgabe fecab fabedcg edbca bdgfce afeg efbcg dabfcg fab af | bgedfc afb baf ebgcafd 188 | badcgf bef cgedbf fbagc ceafbdg begfa afgecb eabc egfad eb | abefcg fbgae gebafc gdcfeb 189 | dafecg defbc fbgcae dbcg abfed gecfd ebc cgefbd cb dfagcbe | cb ceb bdcg bgcd 190 | acgefb cae dgecbfa fcead abfdc gdcfe dbae bdcgaf ea dbface | cefdg cea eca cefdabg 191 | fab egfda fb egbcda bgfc gafdb afdbgc dfebac gbadcef cdabg | dbcfag fb bgfad ecafdb 192 | bgace badceg fdeacbg bedc gdebfa bge eb cdaeg dgefac fcgba | be fcabgde gdcafeb be 193 | cg dcg gdabcfe dcgfae gcdea abgdef fgec abedc bgcafd gadef | gfdea cbead ecfg dcg 194 | aecbfg edagc edc edcgfa gcbad gfcae gefd adecbgf bdafec de | cgaefd efcga cagef bgcaef 195 | fedgc dafecg bcedfag agdbc dgbfec bge dbceg bcgfea be bdfe | cdgefab gdabc gbe eadgfc 196 | eagf fcgbad edgabf cfegbd efb dbeaf decba fbgad bfedcag fe | dfbaeg ef ebf fbe 197 | cebfag dbefgc cdgba dcgaeb dfbagce dg bgeca aged adcbf gdc | cbdegaf gefcab abcgd daeg 198 | gafdb bdfea afbgcd fgd dgcfaeb gdbc facbg gd acdfeg efbcag | gdcb adfeb gcafb bagcef 199 | fdaec adbcf acegfbd efbdag afcedg ea gbefdc geac cfdge ead | aegc dgcef fdcae gcae 200 | afcbed dce fgadc gcea abfcgde dgefb ec bfagcd fadgce fcegd | efbdca bfdecag cde cefgd -------------------------------------------------------------------------------- /2021/data/day9.txt: -------------------------------------------------------------------------------- 1 | 5456789349886456890123985435578996543213456789656899996467789234989765442345789778999989652349879899 2 | 4349891298765348789339875323456789665434568996545698874356679959879898321457893569998879931998765668 3 | 1298910989873234595498764312345678976746899989656987563234567899767987442578954678987968899897654457 4 | 2987939875432123489999953201234599698657979979997965432023479998959876553689965789876856789789543345 5 | 9896899984321012668899865313546789569798965469879876553135568987643988767997896898765945697698722256 6 | 8765789965442143456789996579658895434999876398767987864589679876542099898966789999833123598589810123 7 | 9954629876553234667899987988767932129899989219755398878678989987943989959355678998921057987678924345 8 | 6543212989654345788999898999998941098789998998543229989789797999899876543134989997632345698789545456 9 | 8654543498765476899398759126679953997678987987632101297997656798678965432015699876546559989898756567 10 | 8767654579879989943297642014567899889567896597543223456789348976578976543126921998758698979999768979 11 | 9988765678998999765965432123789998765456997498654345789893219865458897654434890139769987867896979989 12 | 9899876989987899899876843234891249654369889329765567899994325976346789887565789349898765756975395699 13 | 8767987899876999997987755346910198773235679939876688989875634987497893999679899959999654248954234799 14 | 9653299999875789986599896467899987652134567899999789879876786798998932398789999898998643135932129978 15 | 8632102398764578965434987578978698743028979989998998866987899899989510129999987797987659239891098769 16 | 6543223987643589874323498678965469764167899878987897654398999989876431236789876576898798998789989756 17 | 7654564597532599993214998789975379894356899865476789762129789879876543345699765455789987684569877546 18 | 8799796798543489874109899899876123989456989874345678995345698765987876596998954314597998593498766434 19 | 9989987987654678965929799999993239979569876543234589986797987653298989989897895423456987432987655325 20 | 9876898998779899899898589998754998768998765432107678999989298942139599879766889435668986543498943212 21 | 9785799659989956798767467899769878657889877543234789998979109893013498765455679546899598665569954323 22 | 9654588949893245697654356999898767345678987698645679876767998782129987654343568958912459988798766534 23 | 7543567998732196899793234789999543236789699798759798765656897643298799973212389979101967999899887646 24 | 6432457898653989932989345699987684545893568999868979874545989654349698764324567899999899767999998787 25 | 7421348999769878949878996789999876657932378999979657953435679876598539875634689979876798657789429898 26 | 3210128799898767956965989899987988867891234989989345942124789998987621986875678967965987545679945929 27 | 4323235678923456899854567978976799978910349878991249873675678989798710197987989459893296534567896912 28 | 5454348789636567989765878967965456989321398767890956954578789977679821298998994299794987321457999899 29 | 7689656896547678979896989549876567895432999656799897967789897855569932459019865987689876432346899768 30 | 9798798998658999867998996432987678999549899245698689879892996743498643567999989876530998546456796547 31 | 9899899139769643456999876545698789598998778967789542989954985432129754979789997987421987698578899656 32 | 3956921019898752147898987676789993497987668989899901299875976593939878998668946799532398799989998997 33 | 2345892345999864234987698787896432986543445899999892989989987989899999976557899987643469896799997989 34 | 1016795469899975695995429898999999995432036789987799767898999879789998764345998987654567965678986879 35 | 2525679579789986989876210989878878986544125679986678956967999765678999855235687899768789654379875668 36 | 3434567989678999879998329876756569876543234589765459548456898764567899932123456969899997543268994345 37 | 7566798998989239868965498995435457987764547678955347932345679876689999899015897954966989875346789656 38 | 9789899867992198957896597954321349999975656889543136793656789997799975768976788963245976996657898769 39 | 9899997656893987645789986896440497898896787897665945679778997598899854356898899995139895987767899878 40 | 8989876545679998435699875789559976786797898998779897899899995439998765456999999989298784598998996999 41 | 7879987934567954324987654668998765345689959689898799910999989323689878767892198778997653239569985321 42 | 6567899895678965439876523456987643286789244567999667899989878934569989978999987667998732123489876432 43 | 5434998799789877598965412355698321098992153456796543498868767957878999999398799456789541025678997643 44 | 3129899678995998997894301234899532136789012568986432987659756899989999893298654345897632125989898856 45 | 4598797587894359876894213568998754245989193467965421098643237923499989789139885457998784534898759878 46 | 5999675466789299875689428689549895345678989979876533498754346935999767679099976868959987656789943989 47 | 9876543245699987654578938795430976467989667899998754579865467899898654568989899979249898767899899993 48 | 9985432125789998743567899894321987598992556998879867678987568998789843499876788989198779898989798921 49 | 7898743014569879852456789965939798679321349876765978789998979987679921989795667891098655999876567893 50 | 6987653123698765920378898979896549789210199765654989899979989875568999876654456789297643498765456989 51 | 9998754534899994321234567898789329895321987654323499998765698784459679765443234678989931019874359878 52 | 8979986785678987435345679987679434976433499876212578987644597643274598754320123799767892398765699967 53 | 7768997896789876587486889898569555986545689974323459954323998932123459866541234598756789469886987856 54 | 6456798987893987697578998766478976797969789865464567893219876543235579877532346689347898579998986543 55 | 4347899999932398798678998754367898899898993976789679987623998995468678998546456789456987678979897421 56 | 5456987891291999899989659765456789989697894987898799876534569989579789979798767897567898989469653210 57 | 7567896790989899956796539878677899978576989998999893989545698878998996869899878998678999993298964523 58 | 8879935789876788932986424989789999867485678899987932395987987659497895456989989659799899989987895634 59 | 9989323498765567891093212399899998754334799789876421034599997545376994345679896543986789876766989745 60 | 6695214998854458989989923569979876543212345698765432123498898434265679266989689959875698765454878957 61 | 4594349876543234568979894698667987656101356789876743649987654320124589356789567898764329954343459998 62 | 2987656987435156679965789987546499797219459899998654997698965434245678967892459929873219543212368999 63 | 1099878994321067789874689876432345989498968978998789876569876554356789988921378910989398654563567897 64 | 2178989965442128999943599984321259878987899567889898765459989866457891299543467899898989765687679956 65 | 4569399879674236789732398743210198767466789335678999654378999878968954397664578998787779876998789632 66 | 6891239998787645897653987654323987654345679126799198796459998989879765989876789999676567987899996543 67 | 7920198769898657998764598765459876543234678938894349986567897692999979975987998987543456798998987655 68 | 8941987654998789729978689876599987532145678956976499987778976543978898943299987976532102679987698786 69 | 9659998543239897539989798987989976541013799767898989898989987999865767892109876598799993568976539987 70 | 9998987654357999998599897899879997663123478988999875679297599789754456793298997329987889979765423498 71 | 7767899765468998897432986798768989893234567899698764799198988678963345989987789419876776898976434579 72 | 6756789976979767796521095679946679964545678924569953898999876567892259869876678923995665987897545678 73 | 5345999898989745689432194599834569875657899535679831987894324456891098754324567899874354556789696989 74 | 3234998789497659996543986987612346989798999947799762986543212367952169765913478998765212345678987891 75 | 0199879695398798789674987965401656999899587899987653987655423478943459899894589998754303456789698910 76 | 1987654569219899678995699876213457899945456989999768998766545678986567998789678999865412567896599932 77 | 2398543458901987567989789984345569989631345678999899469898758789997679989698999989986543456789387893 78 | 3987654567899895456778999995668979876520234567896952399969969898898798778456789976597654568895456794 79 | 4598897678998754234567899876779989987431345778995431989459878976789989656345467894398767678998768989 80 | 7679998789329895345978953987889296796532459889889549879321989345899876543234349943209879789899979978 81 | 9796999899902976567889992198999345986545669994679698767990993276799989854101247895499989896789898765 82 | 9895789999893597678999989239998456797676778933468987657789894387989998768212356976989998965899765754 83 | 3934598998789698789999878956987568998987889012457896545698765498978999978326979899678987654987654323 84 | 2123567997688999899898767999998678979998993233468993234569976999869899989545998787567899543499843212 85 | 3234979783467899998789956678999989568989654354569689156789989897456789987659898645456789532398765301 86 | 4569898672456789987695434599789995479679765457689589235679998756345679998798786534345789643999876412 87 | 5698765421345698768459996789589954234569879878797678946899987643234568979897654323245689659876986433 88 | 8789876510124569654347789993467893199979989989998789757998998743123458954999843210156799998765498764 89 | 9998765421267898542125678975678999987898793296789899867987689854234567893598764321277899899654359875 90 | 9329878632358987651014567896989998976799532135678999978976534965446789932349875432348998798765667986 91 | 8912998793479199432123678998999876565987673234567998989986549876767899953456986546556795659976889997 92 | 7894989895589298753234899769235965434598765345688997899987656998898998764567898657867954345989998998 93 | 6789976986678999954745678952139876512349998656899876569898967989989689877698949768978985466996567899 94 | 5689895499899888895677789543025987829467899767998775466789989879976578999789429899989876877895456789 95 | 4578789357998767797799998765434598998998999878989654345678999967896469989993210967999987998954345678 96 | 3435689467997655689899899879545679997889997999678921234589997656789359879879921256789798999543257789 97 | 2324579569889834578965789998976899876679876544567892346899986545992198765767893345997569987654568999 98 | 1012459698779323569954678967997987764589997432378965467999987956893987654556789457896456999765678967 99 | 2123468987656313467893212356789996543678986543567899578998898768954998643544579968998345899976899456 100 | 3654567896543202348932104567899987654569999864568998679997649879869876542123567899765456789987893237 -------------------------------------------------------------------------------- /2021/problems.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "id": "7109b6fc", 6 | "metadata": {}, 7 | "source": [ 8 | "# Advent of Code\n", 9 | "\n", 10 | "* 25 fun, interesting, tricky word problems that require programming\n", 11 | "* Make an account here - https://adventofcode.com/\n", 12 | "* Released December 1st each year\n", 13 | "* Problem statement is worked within a story\n", 14 | "* Visit website for full story\n", 15 | "* Relevant parts will be posted in the notebook\n", 16 | "* There is data for each problem\n", 17 | "* Every person's data is different\n", 18 | "* Your answer will be different than mine\n", 19 | "* Two parts to each problem\n", 20 | "\n", 21 | "## Using Pandas\n", 22 | "\n", 23 | "* Tutorial is for experienced pandas users\n", 24 | "* Assumes you know the fundamentals\n", 25 | "* Will show interesting and unusual pandas tricks to solve these problems\n", 26 | "* Some are easier with pandas, others without" 27 | ] 28 | }, 29 | { 30 | "cell_type": "code", 31 | "execution_count": 1, 32 | "id": "548a673a", 33 | "metadata": {}, 34 | "outputs": [], 35 | "source": [ 36 | "import pandas as pd\n", 37 | "import numpy as np\n", 38 | "\n", 39 | "def display_data(day, n):\n", 40 | " '''\n", 41 | " Displays the top n lines from day data\n", 42 | " \n", 43 | " Example\n", 44 | " -------\n", 45 | " display_data(1, 10) # displays the top 10 lines from the first day's data\n", 46 | " '''\n", 47 | " with open(f'data/day{day}.txt') as f:\n", 48 | " for _ in range(n):\n", 49 | " print(f.readline(), end='')" 50 | ] 51 | }, 52 | { 53 | "cell_type": "markdown", 54 | "id": "8d9d9840", 55 | "metadata": {}, 56 | "source": [ 57 | "## 1a\n", 58 | "\n", 59 | "Given a list of integers, determine how many are greater than the one before it." 60 | ] 61 | }, 62 | { 63 | "cell_type": "code", 64 | "execution_count": null, 65 | "id": "a2289ed4", 66 | "metadata": {}, 67 | "outputs": [], 68 | "source": [ 69 | "display_data(1, 10)" 70 | ] 71 | }, 72 | { 73 | "cell_type": "code", 74 | "execution_count": null, 75 | "id": "ff26e96c", 76 | "metadata": {}, 77 | "outputs": [], 78 | "source": [] 79 | }, 80 | { 81 | "cell_type": "code", 82 | "execution_count": null, 83 | "id": "f7512e71", 84 | "metadata": {}, 85 | "outputs": [], 86 | "source": [] 87 | }, 88 | { 89 | "cell_type": "markdown", 90 | "id": "25df85ce", 91 | "metadata": {}, 92 | "source": [ 93 | "## 1b\n", 94 | "\n", 95 | "Using a rolling window size of 3, calculate the sum, then determine how many are greater than the one before it." 96 | ] 97 | }, 98 | { 99 | "cell_type": "code", 100 | "execution_count": null, 101 | "id": "82ff313b", 102 | "metadata": {}, 103 | "outputs": [], 104 | "source": [] 105 | }, 106 | { 107 | "cell_type": "code", 108 | "execution_count": null, 109 | "id": "ebab680e", 110 | "metadata": {}, 111 | "outputs": [], 112 | "source": [] 113 | }, 114 | { 115 | "cell_type": "code", 116 | "execution_count": null, 117 | "id": "7fa1fe4c", 118 | "metadata": {}, 119 | "outputs": [], 120 | "source": [] 121 | }, 122 | { 123 | "cell_type": "markdown", 124 | "id": "c1881fe6", 125 | "metadata": {}, 126 | "source": [ 127 | "## 2a\n", 128 | "\n", 129 | "You are piloting a submarine. The data provides commands \n", 130 | "\n", 131 | "* forward X increases the horizontal position by X units\n", 132 | "* down X increases the depth by X units\n", 133 | "* up X decreases the depth by X units\n", 134 | "\n", 135 | "Down increases in the **positive** direction since you are in a submarine. After commands **multiply horizontal and vertical units**." 136 | ] 137 | }, 138 | { 139 | "cell_type": "code", 140 | "execution_count": null, 141 | "id": "8a9e90cb", 142 | "metadata": {}, 143 | "outputs": [], 144 | "source": [ 145 | "display_data(2, 15)" 146 | ] 147 | }, 148 | { 149 | "cell_type": "code", 150 | "execution_count": null, 151 | "id": "d22a59e2", 152 | "metadata": {}, 153 | "outputs": [], 154 | "source": [] 155 | }, 156 | { 157 | "cell_type": "code", 158 | "execution_count": null, 159 | "id": "226f6b5f", 160 | "metadata": {}, 161 | "outputs": [], 162 | "source": [] 163 | }, 164 | { 165 | "cell_type": "code", 166 | "execution_count": null, 167 | "id": "3eb2b81b", 168 | "metadata": {}, 169 | "outputs": [], 170 | "source": [] 171 | }, 172 | { 173 | "cell_type": "code", 174 | "execution_count": null, 175 | "id": "32536ded", 176 | "metadata": {}, 177 | "outputs": [], 178 | "source": [] 179 | }, 180 | { 181 | "cell_type": "markdown", 182 | "id": "4654e509", 183 | "metadata": {}, 184 | "source": [ 185 | "## 2b\n", 186 | "\n", 187 | "Commands mean something different\n", 188 | "\n", 189 | "* down X increases your aim by X units\n", 190 | "* up X decreases your aim by X units\n", 191 | "* forward X does two things:\n", 192 | " * It increases your horizontal position by X units\n", 193 | " * It increases your depth by your aim multiplied by X\n", 194 | " \n", 195 | "After commands **multiply horizontal and vertical units**." 196 | ] 197 | }, 198 | { 199 | "cell_type": "code", 200 | "execution_count": null, 201 | "id": "a572fd6b", 202 | "metadata": {}, 203 | "outputs": [], 204 | "source": [ 205 | "display_data(2, 10)" 206 | ] 207 | }, 208 | { 209 | "cell_type": "code", 210 | "execution_count": null, 211 | "id": "51289fd9", 212 | "metadata": {}, 213 | "outputs": [], 214 | "source": [] 215 | }, 216 | { 217 | "cell_type": "code", 218 | "execution_count": null, 219 | "id": "9fd674f2", 220 | "metadata": {}, 221 | "outputs": [], 222 | "source": [] 223 | }, 224 | { 225 | "cell_type": "code", 226 | "execution_count": null, 227 | "id": "afbd9b73", 228 | "metadata": {}, 229 | "outputs": [], 230 | "source": [] 231 | }, 232 | { 233 | "cell_type": "code", 234 | "execution_count": null, 235 | "id": "56b23396", 236 | "metadata": {}, 237 | "outputs": [], 238 | "source": [] 239 | }, 240 | { 241 | "cell_type": "markdown", 242 | "id": "acff51be", 243 | "metadata": {}, 244 | "source": [ 245 | "## 3a\n", 246 | "\n", 247 | "Each row is a binary number. Find the most common bit in each position (vertical). Convert each to base 10. Then find the least common bit and convert to base 10. Multiply these two numbers together." 248 | ] 249 | }, 250 | { 251 | "cell_type": "code", 252 | "execution_count": null, 253 | "id": "d34484c4", 254 | "metadata": {}, 255 | "outputs": [], 256 | "source": [ 257 | "display_data(3, 10)" 258 | ] 259 | }, 260 | { 261 | "cell_type": "code", 262 | "execution_count": null, 263 | "id": "057e1530", 264 | "metadata": {}, 265 | "outputs": [], 266 | "source": [] 267 | }, 268 | { 269 | "cell_type": "code", 270 | "execution_count": null, 271 | "id": "2ae9f514", 272 | "metadata": {}, 273 | "outputs": [], 274 | "source": [] 275 | }, 276 | { 277 | "cell_type": "code", 278 | "execution_count": null, 279 | "id": "5f5bb339", 280 | "metadata": {}, 281 | "outputs": [], 282 | "source": [] 283 | }, 284 | { 285 | "cell_type": "code", 286 | "execution_count": null, 287 | "id": "94b3de5e", 288 | "metadata": {}, 289 | "outputs": [], 290 | "source": [] 291 | }, 292 | { 293 | "cell_type": "markdown", 294 | "id": "bb19d5ef", 295 | "metadata": {}, 296 | "source": [ 297 | "## 3b\n", 298 | "\n", 299 | "Filter the data for most common bit in first position, repeating for all positions. If there is a tie, use 1. This will reduce data to one row. Convert to integer. Repeat for least common, using 0 for tie. Multiply numbers together." 300 | ] 301 | }, 302 | { 303 | "cell_type": "code", 304 | "execution_count": null, 305 | "id": "b5830376", 306 | "metadata": {}, 307 | "outputs": [], 308 | "source": [ 309 | "display_data(3, 10)" 310 | ] 311 | }, 312 | { 313 | "cell_type": "code", 314 | "execution_count": null, 315 | "id": "43f72488", 316 | "metadata": {}, 317 | "outputs": [], 318 | "source": [] 319 | }, 320 | { 321 | "cell_type": "code", 322 | "execution_count": null, 323 | "id": "98ada3a5", 324 | "metadata": {}, 325 | "outputs": [], 326 | "source": [] 327 | }, 328 | { 329 | "cell_type": "code", 330 | "execution_count": null, 331 | "id": "9995b5c4", 332 | "metadata": {}, 333 | "outputs": [], 334 | "source": [] 335 | }, 336 | { 337 | "cell_type": "code", 338 | "execution_count": null, 339 | "id": "4dcbd16d", 340 | "metadata": {}, 341 | "outputs": [], 342 | "source": [] 343 | }, 344 | { 345 | "cell_type": "markdown", 346 | "id": "f38bed93", 347 | "metadata": {}, 348 | "source": [ 349 | "## 4a\n", 350 | "\n", 351 | "Play bingo. Data has selected numbers followed by boards. Find first board to win (no diagonals), multiply sum of remaining numbers by last number selected." 352 | ] 353 | }, 354 | { 355 | "cell_type": "code", 356 | "execution_count": null, 357 | "id": "23efaf4c", 358 | "metadata": {}, 359 | "outputs": [], 360 | "source": [ 361 | "display_data(4, 18)" 362 | ] 363 | }, 364 | { 365 | "cell_type": "code", 366 | "execution_count": null, 367 | "id": "50159c0a", 368 | "metadata": {}, 369 | "outputs": [], 370 | "source": [] 371 | }, 372 | { 373 | "cell_type": "code", 374 | "execution_count": null, 375 | "id": "efaf9c51", 376 | "metadata": {}, 377 | "outputs": [], 378 | "source": [] 379 | }, 380 | { 381 | "cell_type": "code", 382 | "execution_count": null, 383 | "id": "fca8262a", 384 | "metadata": {}, 385 | "outputs": [], 386 | "source": [] 387 | }, 388 | { 389 | "cell_type": "code", 390 | "execution_count": null, 391 | "id": "861f1194", 392 | "metadata": {}, 393 | "outputs": [], 394 | "source": [] 395 | }, 396 | { 397 | "cell_type": "markdown", 398 | "id": "f328e264", 399 | "metadata": {}, 400 | "source": [ 401 | "## 4b\n", 402 | "\n", 403 | "Find last board to win (no diagonals), multiply sum of remaining numbers by last number selected." 404 | ] 405 | }, 406 | { 407 | "cell_type": "code", 408 | "execution_count": null, 409 | "id": "c093a3bf", 410 | "metadata": {}, 411 | "outputs": [], 412 | "source": [] 413 | }, 414 | { 415 | "cell_type": "code", 416 | "execution_count": null, 417 | "id": "7969bf31", 418 | "metadata": {}, 419 | "outputs": [], 420 | "source": [] 421 | }, 422 | { 423 | "cell_type": "code", 424 | "execution_count": null, 425 | "id": "83a25ec9", 426 | "metadata": {}, 427 | "outputs": [], 428 | "source": [] 429 | }, 430 | { 431 | "cell_type": "code", 432 | "execution_count": null, 433 | "id": "84e449b6", 434 | "metadata": {}, 435 | "outputs": [], 436 | "source": [] 437 | }, 438 | { 439 | "cell_type": "markdown", 440 | "id": "d6db3959", 441 | "metadata": {}, 442 | "source": [ 443 | "## 5a\n", 444 | "\n", 445 | "* Given line segments in the format x1,y1 -> x2,y2\n", 446 | "* Consider only horizontal or vertical lines - where x1 = x2 or y1 = y2\n", 447 | "* Find number of points where at least two points overlap" 448 | ] 449 | }, 450 | { 451 | "cell_type": "code", 452 | "execution_count": null, 453 | "id": "99eb7ccf", 454 | "metadata": {}, 455 | "outputs": [], 456 | "source": [ 457 | "display_data(5, 10)" 458 | ] 459 | }, 460 | { 461 | "cell_type": "code", 462 | "execution_count": null, 463 | "id": "4575af45", 464 | "metadata": {}, 465 | "outputs": [], 466 | "source": [] 467 | }, 468 | { 469 | "cell_type": "code", 470 | "execution_count": null, 471 | "id": "8c0fb8f6", 472 | "metadata": {}, 473 | "outputs": [], 474 | "source": [] 475 | }, 476 | { 477 | "cell_type": "code", 478 | "execution_count": null, 479 | "id": "2a8fc5db", 480 | "metadata": {}, 481 | "outputs": [], 482 | "source": [] 483 | }, 484 | { 485 | "cell_type": "code", 486 | "execution_count": null, 487 | "id": "32a553a5", 488 | "metadata": {}, 489 | "outputs": [], 490 | "source": [] 491 | }, 492 | { 493 | "cell_type": "markdown", 494 | "id": "944ff274", 495 | "metadata": {}, 496 | "source": [ 497 | "## 5b\n", 498 | "\n", 499 | "Include diagonals at 45 degree angles" 500 | ] 501 | }, 502 | { 503 | "cell_type": "code", 504 | "execution_count": null, 505 | "id": "dcf6016a", 506 | "metadata": {}, 507 | "outputs": [], 508 | "source": [] 509 | }, 510 | { 511 | "cell_type": "code", 512 | "execution_count": null, 513 | "id": "cdce2cf8", 514 | "metadata": {}, 515 | "outputs": [], 516 | "source": [] 517 | }, 518 | { 519 | "cell_type": "code", 520 | "execution_count": null, 521 | "id": "8c67c9d2", 522 | "metadata": {}, 523 | "outputs": [], 524 | "source": [] 525 | }, 526 | { 527 | "cell_type": "code", 528 | "execution_count": null, 529 | "id": "f33ad8db", 530 | "metadata": {}, 531 | "outputs": [], 532 | "source": [] 533 | }, 534 | { 535 | "cell_type": "markdown", 536 | "id": "0f89c96b", 537 | "metadata": {}, 538 | "source": [ 539 | "## 6a\n", 540 | "\n", 541 | "Given a list of integers such as 1, 5, 3, 2, 4, have them count done by 1 each day. On the day after they reach 0, reset it to 6 and append an 8 to the list. Here's an example progression\n", 542 | "\n", 543 | "* 1, 5, 3, 2, 4\n", 544 | "* 0, 4, 2, 1, 3\n", 545 | "* 6, 3, 1, 0, 2, 8\n", 546 | "* 5, 2, 0, 6, 1, 7, 8\n", 547 | "\n", 548 | "Find the number in the list after 80 days" 549 | ] 550 | }, 551 | { 552 | "cell_type": "code", 553 | "execution_count": null, 554 | "id": "a3839361", 555 | "metadata": {}, 556 | "outputs": [], 557 | "source": [ 558 | "display_data(6, 1)" 559 | ] 560 | }, 561 | { 562 | "cell_type": "code", 563 | "execution_count": null, 564 | "id": "e95eea49", 565 | "metadata": {}, 566 | "outputs": [], 567 | "source": [] 568 | }, 569 | { 570 | "cell_type": "code", 571 | "execution_count": null, 572 | "id": "0253016d", 573 | "metadata": {}, 574 | "outputs": [], 575 | "source": [] 576 | }, 577 | { 578 | "cell_type": "markdown", 579 | "id": "287e8dc9", 580 | "metadata": {}, 581 | "source": [ 582 | "## 6b\n", 583 | "\n", 584 | "Find the number in the list after 256 days" 585 | ] 586 | }, 587 | { 588 | "cell_type": "code", 589 | "execution_count": null, 590 | "id": "82000283", 591 | "metadata": {}, 592 | "outputs": [], 593 | "source": [] 594 | }, 595 | { 596 | "cell_type": "code", 597 | "execution_count": null, 598 | "id": "00c88ae3", 599 | "metadata": {}, 600 | "outputs": [], 601 | "source": [] 602 | }, 603 | { 604 | "cell_type": "markdown", 605 | "id": "443714f2", 606 | "metadata": {}, 607 | "source": [ 608 | "## 7a\n", 609 | "\n", 610 | "Given a list of integers, find an integer that produces the minimum total absolute error" 611 | ] 612 | }, 613 | { 614 | "cell_type": "code", 615 | "execution_count": null, 616 | "id": "a86312f3", 617 | "metadata": {}, 618 | "outputs": [], 619 | "source": [ 620 | "display_data(7, 1)" 621 | ] 622 | }, 623 | { 624 | "cell_type": "code", 625 | "execution_count": null, 626 | "id": "2411a410", 627 | "metadata": {}, 628 | "outputs": [], 629 | "source": [] 630 | }, 631 | { 632 | "cell_type": "markdown", 633 | "id": "2753bc25", 634 | "metadata": {}, 635 | "source": [ 636 | "## 7b\n", 637 | "\n", 638 | "Find the integer that produces the minimum total error where error is defined as (abs_e * (abs_e + 1)) / 2. And abs_e is the absolute error." 639 | ] 640 | }, 641 | { 642 | "cell_type": "code", 643 | "execution_count": null, 644 | "id": "8b82e708", 645 | "metadata": {}, 646 | "outputs": [], 647 | "source": [] 648 | }, 649 | { 650 | "cell_type": "markdown", 651 | "id": "21ea977b", 652 | "metadata": {}, 653 | "source": [ 654 | "## 8a\n", 655 | "\n", 656 | "Read question here - https://adventofcode.com/2021/day/8" 657 | ] 658 | }, 659 | { 660 | "cell_type": "code", 661 | "execution_count": null, 662 | "id": "6a802a2e", 663 | "metadata": {}, 664 | "outputs": [], 665 | "source": [] 666 | }, 667 | { 668 | "cell_type": "markdown", 669 | "id": "0a55f4da", 670 | "metadata": {}, 671 | "source": [ 672 | "## 8b" 673 | ] 674 | }, 675 | { 676 | "cell_type": "code", 677 | "execution_count": null, 678 | "id": "7239579e", 679 | "metadata": {}, 680 | "outputs": [], 681 | "source": [] 682 | }, 683 | { 684 | "cell_type": "markdown", 685 | "id": "1fb087d9", 686 | "metadata": {}, 687 | "source": [ 688 | "## 9a\n", 689 | "\n", 690 | "Given a grid of integers, find the ones that are lower than the ones surrounding them - for most this is 4 (left, right, up, down), for corners and edges there are 2/3 to check. The following grid has 3 \"low points\".\n", 691 | "\n", 692 | "```\n", 693 | "2199943210\n", 694 | "3987894921\n", 695 | "9856789892\n", 696 | "8767896789\n", 697 | "9899965678\n", 698 | "```" 699 | ] 700 | }, 701 | { 702 | "cell_type": "code", 703 | "execution_count": null, 704 | "id": "c533b463", 705 | "metadata": {}, 706 | "outputs": [], 707 | "source": [ 708 | "\n" 709 | ] 710 | } 711 | ], 712 | "metadata": { 713 | "kernelspec": { 714 | "display_name": "Python 3 (ipykernel)", 715 | "language": "python", 716 | "name": "python3" 717 | }, 718 | "language_info": { 719 | "codemirror_mode": { 720 | "name": "ipython", 721 | "version": 3 722 | }, 723 | "file_extension": ".py", 724 | "mimetype": "text/x-python", 725 | "name": "python", 726 | "nbconvert_exporter": "python", 727 | "pygments_lexer": "ipython3", 728 | "version": "3.8.11" 729 | } 730 | }, 731 | "nbformat": 4, 732 | "nbformat_minor": 5 733 | } 734 | -------------------------------------------------------------------------------- /2022/data/day10.txt: -------------------------------------------------------------------------------- 1 | addx 1 2 | noop 3 | addx 2 4 | addx 5 5 | addx 3 6 | noop 7 | addx -1 8 | addx 5 9 | noop 10 | noop 11 | addx 5 12 | noop 13 | addx 3 14 | noop 15 | addx 6 16 | addx -4 17 | noop 18 | noop 19 | addx 5 20 | noop 21 | addx -32 22 | addx 35 23 | addx 5 24 | addx -31 25 | addx 7 26 | addx -13 27 | addx 2 28 | addx 2 29 | addx 5 30 | addx 6 31 | addx -5 32 | addx 2 33 | addx 5 34 | addx 2 35 | addx 2 36 | addx -17 37 | addx 18 38 | addx 5 39 | addx 2 40 | addx -30 41 | addx 31 42 | addx 2 43 | addx 2 44 | addx -32 45 | addx -1 46 | addx 10 47 | addx -8 48 | noop 49 | noop 50 | addx 6 51 | addx 16 52 | noop 53 | addx -11 54 | addx 3 55 | addx -2 56 | addx 3 57 | noop 58 | addx 6 59 | noop 60 | addx -2 61 | noop 62 | addx 7 63 | addx 3 64 | addx -2 65 | addx 4 66 | addx -20 67 | noop 68 | addx -14 69 | addx -2 70 | addx 6 71 | addx 2 72 | addx 3 73 | noop 74 | addx 2 75 | addx -1 76 | addx 4 77 | noop 78 | addx 5 79 | noop 80 | addx 2 81 | addx 3 82 | addx -2 83 | addx 3 84 | noop 85 | addx 4 86 | noop 87 | addx 5 88 | noop 89 | addx 2 90 | addx -24 91 | addx -15 92 | addx 17 93 | addx -10 94 | addx 2 95 | addx -5 96 | addx 6 97 | noop 98 | addx 3 99 | addx 2 100 | addx 2 101 | noop 102 | addx 3 103 | addx 2 104 | addx 5 105 | addx -2 106 | addx 3 107 | addx 2 108 | addx 2 109 | addx 5 110 | addx 2 111 | addx -18 112 | addx -19 113 | noop 114 | addx 1 115 | addx 2 116 | addx 5 117 | addx 3 118 | noop 119 | noop 120 | noop 121 | noop 122 | addx 2 123 | addx 5 124 | addx 2 125 | addx 3 126 | noop 127 | addx -8 128 | addx 11 129 | noop 130 | noop 131 | addx 2 132 | addx 5 133 | addx 2 134 | addx 3 135 | noop 136 | addx -34 137 | noop -------------------------------------------------------------------------------- /2022/data/day11.txt: -------------------------------------------------------------------------------- 1 | Monkey 0: 2 | Starting items: 77, 69, 76, 77, 50, 58 3 | Operation: new = old * 11 4 | Test: divisible by 5 5 | If true: throw to monkey 1 6 | If false: throw to monkey 5 7 | 8 | Monkey 1: 9 | Starting items: 75, 70, 82, 83, 96, 64, 62 10 | Operation: new = old + 8 11 | Test: divisible by 17 12 | If true: throw to monkey 5 13 | If false: throw to monkey 6 14 | 15 | Monkey 2: 16 | Starting items: 53 17 | Operation: new = old * 3 18 | Test: divisible by 2 19 | If true: throw to monkey 0 20 | If false: throw to monkey 7 21 | 22 | Monkey 3: 23 | Starting items: 85, 64, 93, 64, 99 24 | Operation: new = old + 4 25 | Test: divisible by 7 26 | If true: throw to monkey 7 27 | If false: throw to monkey 2 28 | 29 | Monkey 4: 30 | Starting items: 61, 92, 71 31 | Operation: new = old * old 32 | Test: divisible by 3 33 | If true: throw to monkey 2 34 | If false: throw to monkey 3 35 | 36 | Monkey 5: 37 | Starting items: 79, 73, 50, 90 38 | Operation: new = old + 2 39 | Test: divisible by 11 40 | If true: throw to monkey 4 41 | If false: throw to monkey 6 42 | 43 | Monkey 6: 44 | Starting items: 50, 89 45 | Operation: new = old + 3 46 | Test: divisible by 13 47 | If true: throw to monkey 4 48 | If false: throw to monkey 3 49 | 50 | Monkey 7: 51 | Starting items: 83, 56, 64, 58, 93, 91, 56, 65 52 | Operation: new = old + 5 53 | Test: divisible by 19 54 | If true: throw to monkey 1 55 | If false: throw to monkey 0 -------------------------------------------------------------------------------- /2022/data/day11a.txt: -------------------------------------------------------------------------------- 1 | Monkey 0: 2 | Starting items: 79, 98 3 | Operation: new = old * 19 4 | Test: divisible by 23 5 | If true: throw to monkey 2 6 | If false: throw to monkey 3 7 | 8 | Monkey 1: 9 | Starting items: 54, 65, 75, 74 10 | Operation: new = old + 6 11 | Test: divisible by 19 12 | If true: throw to monkey 2 13 | If false: throw to monkey 0 14 | 15 | Monkey 2: 16 | Starting items: 79, 60, 97 17 | Operation: new = old * old 18 | Test: divisible by 13 19 | If true: throw to monkey 1 20 | If false: throw to monkey 3 21 | 22 | Monkey 3: 23 | Starting items: 74 24 | Operation: new = old + 3 25 | Test: divisible by 17 26 | If true: throw to monkey 0 27 | If false: throw to monkey 1 -------------------------------------------------------------------------------- /2022/data/day12.txt: -------------------------------------------------------------------------------- 1 | abccccccccccccccccccccaaaaaaaacccccccccccccaacaaaaacccccccccccccccccccccaaaaaacccccaaaaaccccccccccccccccccccaaaccccccccccccccccccccccccccccccccccccccccccccccccccccccccccaaaa 2 | abcccccccccccccccccccaaaaaaaaacccccccccccccaaaaaaaaccccccccccccccaacccccaaaaaaaaaaaaaaaaccccccccccccccccccccaaaccccccccccccccccccccccccaccaccccccccccccccccccccccccccccaaaaaa 3 | abccccccccccccccccccaaaaaaaaaacccccaacccccccaaaaaccccccccccccccaaaaaacccaaaaaaaaaaaaaaaaccccccccccccccccccaacaaaaacccccccccccccccccccccaaaaccccccccccccccccccccccccccccaaaaaa 4 | abccccccccccaaacaaacaaacaaacccccacaaaccccccccaaaaacccccccccccccaaaaaacaaaaaaaaaaaaaaaaaaccccccccccccccccccaaaaaaaaccccccccccccccccccccaaaaaccccccccaaaccccaaaccccccccccaaacaa 5 | abccccccccaaaaaccaaaaaccaaaccccaaaaaaaacccccaaacaaccccccccccccccaaaaccaaaaaaaaccccaaaaaacccccccccccccccccccaaaaaccccccccccccccccccccccaaaaaacccccccaaaacccaaaccccccccccccccaa 6 | abccccccccaaaaaaccaaaaaaaaaaaccaaaaaaaaccccccaacccccccccccccccccaaaacaaaacaaaacccccaaacccccccaacaaccccccccccaaaaacccaaccccccccccccccccaaaaaaccccccccaaaaaaaacccccccccccccccaa 7 | abccccccccaaaaaaaaaaaaaaaaaaacccaaaaaaccccccccccccccccccccccccccaccaccccccaaaaaccccccccccccccaaaaacccccccccaaacaacaaaaaaccccccccccccccccaacccccccckkkkkkaaaaccccccccccccccccc 8 | abccccccccaaaaacaaaaaccaaaaaaaacaaaaaccccccccccccccccccccccccccccccccccccccaaaccccccccccccccccaaaaacccccccccaaccccaaaaaaccccccccccccccccccccccccckkkkkkklaaccccccccaacccccccc 9 | abccccccccaaaaacaacaaacaaaaaaaacaaaaaacccccccccccccccccccccaacccccccccccccccaaaccccccccccccccaaaaaacccccccccccccccaaaaaacccccccccccccccccccccccckkkkkkkklllccccccccccaaaacccc 10 | abcaaccccccccccccccaaaccaaaaaaaccccaaccccccccccccccccccaaccaacccccccccccccccccccaacccccccccccaaaacccccccccccccccccaaaaacccccccaaaacccccccccccccckkkoppppllllllccccccccaaccccc 11 | abcaacccccccccccccccccccaaaaaccccccccccccccccccccccccccaaaaaacccccccccccccccccaaaaaacccccccccccaaccccccccccccccccccaaaacccccccaaaaacccccccccccckkkooppppplllllllllccccdaccccc 12 | abaaaccccccaaacccccccccaaaaaaccccccccaaaccccccccccccccccaaaaaaacccccccccccccccaaaaaacccccccccccccccccccccccccccccccccccccccccaaaaaaccccccccccccjkoooopuppplllllllmmmddddacccc 13 | abaaaaaccccaaaaacccccccccccaaaaacccccaaaaccccccccccccccccaaaaaaccccccccccccccccaaaacccccccccccccccccaaaccccccccccccccccccccccaaaaaacccccccccccjjjooouuuuppppppqqmmmmmdddacccc 14 | abaaaaacccaaaaaacccaacaaacccaaaaaacccaaaacccccccccccccccaaaaaccccccccccaaccccccaaaaccccccaacccccacccaaccccccccccaacaaccccccccaaaaaacccaaaccccjjjjoouuuuuuppppqqqqqmmmdddacccc 15 | abaaccacccaaaaaacccaaaaaacccaaaaaacccaaacccccccccccccccaaaaaaccccccccaaaaaaccccaccacccccaaaacccaaaaaaaccccccccccaaaaaccccccccccaacacccaaccccjjjjooouuuxuuupppqqqqqmmmdddccccc 16 | abaaaccccccaaaaacccaaaaaacccaaaaaccccccccccccccccccccccccccaaccccccccaaaaaacccccccccccccaaaaccccaaaaaaaaccccccccaaaaaaccccccccccccaaaaaaacjjjjjoooouuxxxuuvvvvvvqqqmmdddccccc 17 | abaaaccccccaacaacccaaaaaaacccaaaaacccccccccccccccaaacccccccccccccccccaaaaaccccaaacccccccaaaaccccaaaaaaaaacccccccaaaaaaccccccccccccaaaaaacjjjjjoooouuuxxxuuvvvvvvqqqmmdddccccc 18 | abccccccccccccccccaaaaaaaacccaaaaacccccccccccccccaaaccccccccccccccccccaaaaacccaaacacccccccccccccaaaaaaaaacccccccaaaaaccccccaacccccaaaaaaajjjnoooottuuxxxxvyyyvvvqqmmmdddccccc 19 | abccccccccccccccccaaaaaaaacccccccccccccccccaaaaaaaaaccaaccccccccccccccaaaaacaacaaaaaccccccccccccaaaaaaaaccccccccccaaacccccaaaaccccaaaaaajjjnnnntttttxxxxyyyyyvvvqqmmmdddccccc 20 | abccccccaaaccccccccccaaacccaaccccccccccccccaaaaaaaaaaaaaaaccccccccaaacccccccaaaaaaaacccccccccccaaaaaaaaccccccccccccaacccccaaaaacacaaaaaaiiinnntttxxxxxxxyyyyyvvqqqmmdddcccccc 21 | SbccccccaaaaaccccccccaaccccaaaccccccccccccccaaaaaaaaaaaaaacccccccaaaaaaccccccaaaaaccccccccacccaaaccaaacccccccccaaacaaccaaaaaaaaaaaaaaaaaiiinnntttxxxEzzzzyyyvvqqqmmmeeecccccc 22 | abcccccaaaaaacccccccccccaaaaaaaaccccccccccccaaaaaaaaaaaaaccccccccaaaaaacccccccaaaaacccccccaacaaaccccaaacccccccccaaaaaccaaaaaaaaaacaccaaaiiinnntttxxxxxyyyyyvvvqqqnnneeecccccc 23 | abaacccaaaaaacccccccccccaaaaaaaaccccaaaccccaaaaaaaaaaaaaaacccccccaaaaaccccccccaacaaaaaccccaaaaacccccccccccccccccaaaaaaaccaaaaaacccccccaaiiinnnttttxxxxyyyyyyvvvrrnnneeecccccc 24 | abaaaaaaaaaaaccccccccccccaaaaaaccccaaaacccaaaaaaaaaaaaacaaccccccccaaaaacccccccaaccccaaaacccaaaaaacaacaaccccccccaaaaaaaaccaaaaaaccccccccciiiinnnttttxxwyywyyyyvvrrrnneeecccccc 25 | abaaaaacaacaaccccccccccccaaaaaaccccaaaacccaaacaaaacaaaccccccccccccaacaaccccaacccccaaaaaacaaaaaaaacaaaaacccccaaaaaaaaaaaccaaaaaacccccccccciiiinnnttttwwyywwywwwvrrrnneeecccccc 26 | abaaaacccccccccccccccccccaaaaaacccccaaacccccccaaacccacaaccccccccccccccccccaaccccccaaaaaccaaaaaaaaaaaaaccccccaaaaaaaaacccaaaaaaaacccccccccciiinnnnntswwywwwwwwwwrrrnnneecccccc 27 | abaaaaaccccccccccccccccccaacaaacccccccccccccccaacaaacaaacccccccccccccccaaaaacaaccccaaaaaccccaacccaaaaaacccccaaacaaaaaccccacccccccaaacccccciiiiinnmsswwwwwswwwwrrrrnnneecccccc 28 | abaaaaaaccaaaccccccccccccccccccccccccccccccccccccaaaaaaaccccccccaaaccccaaaaaaaaccccaaccaccccaacccccaaaaccaaaaaaaaaaccccccccccccccaaaaacccccciihmmmsswwwwssrrrrrrrrnnneecccccc 29 | abaaccaacaaaaccccccccccccccccccccccccccccccccccccaaaaaacccccccccaaaaaccccaaaaacccccccccccccccccccccacccccaaaaaaaaacccccccaaccaacaaaaacccccccchhhmmssswwsssrrrrrrrnnneeecccccc 30 | abaacccccaaaacccccccccccccccccccccccccccccccccccccaaaaaaaacccccaaaaaacccaaaaacccccccccccccccccccccccccccccaaaaaaaccccccccaaaaaacaaaaacccccccchhhmmssssssslllllllnnnnfeecccccc 31 | abccccccccaaacccccccccccccccaaccccccccccccccaaaccaaaaaaaaacccccaaaaaacccaacaaaccccccccccccccccccccccccaacccaaaaaaccccccccaaaaacccaaaaaccccccchhhmmmssssslllllllllnnfffeaacccc 32 | abcccccccccccccccccccccccacaaaccccccccccccccaaaaaaaaaaaaaaccaaccaaaaaccccccaaccaacccccccccccccccccccccaaaccaaaaaaacccccccaaaaaaccaaccccccccccchhhmmmmsmllllllllllfffffaaacccc 33 | abccccccccccccccccccccccaaaaaaaaccccccccccccaaaaaaacaaacaaaaaaccaaaaccccccccccaaaacccccccccccccccccaaaaaaaaaaacaaaccccccaaaaaaaacccccccccccccchhhmmmmmmlllggfffffffffaacccccc 34 | abccccccccccccccccccccccaaaaaaaaccccccccccccaaacccccaaacaaaaacccccccccccaaacccaaaacccccccccccccccccaaaaaaaaaacccccccccccaaaaaaaaccccccccccccccchhhmmmmmlggggffffffffaaacccccc 35 | abccccccccccccccccaaaacccaaaaaacccccccccccccccccccccaaacaaaaaaccccccccccaaacccaaaaccccccacccccccccccaaaaaacccccccccccccccccaacccaaccccccccccccchhhhgmgggggggffaccccccaacccccc 36 | abccccccccccccccccaaaacccaaaaacccccccccccccccccccccccccaaaaaaaacccccccccaaaaccaaacccccccaaacaaacccccaaaaaacccccccccccccccccaaccaaccccccccccccccchhhgggggggaaaaacccccccccccccc 37 | abccccccccccccccccaaaacccaaaaaaccccccccccccccccccccccccaaaaaaaaccccccccccaaaaaaaaaccccccaaaaaaacccccaaaaaaccccccccccccccccccaaaaacaaccccccccccccchggggggaacccccccccccccccccca 38 | abcccccccccccccccccaacccccccaaccccccccccccccccccccccccccccaacaccaaacccaacaaaaaaaacccccccaaaaaaccccccaaccaacaaaccacccccaaccccaaaaaaaaccccccccccccccccccaaaccccccccccccccccccca 39 | abcccccaaccccccccccccccccaaccccccccaacccccccccaaacccccccccaacaaaaaacccaaacaaaaaacccccccaaaaaaacccccccccccccaaaaaacccaaaaccccccaaaaaccccaaacccccccccccccaaccccccccccccccaaaaaa 40 | abccccaaaacccccccccccccccaaaacccaaaaccccccccccaaaacccccccccccaaaaaaccaaaaaaaaaacccccccaaaaaaaaaaccccccccccccaaaaacccaaaaaacccaaaaacccccaaaacccccccccccaaccccccccccccccccaaaaa 41 | abccccaaaacccccccccccccaaaaaacccaaaaaaccccccccaaaaccccccccccaaaaaaaacaaaaaaaaaaaaaccccaaaaaaaaaaccccccccccaaaaaaaacccaaaaccccaacaaaccccaaaacccccccccccccccccccccccccccccaaaaa -------------------------------------------------------------------------------- /2022/data/day12a.txt: -------------------------------------------------------------------------------- 1 | Sabqponm 2 | abcryxxl 3 | accszExk 4 | acctuvwj 5 | abdefghi -------------------------------------------------------------------------------- /2022/data/day13a.txt: -------------------------------------------------------------------------------- 1 | [1,1,3,1,1] 2 | [1,1,5,1,1] 3 | 4 | [[1],[2,3,4]] 5 | [[1],4] 6 | 7 | [9] 8 | [[8,7,6]] 9 | 10 | [[4,4],4,4] 11 | [[4,4],4,4,4] 12 | 13 | [7,7,7,7] 14 | [7,7,7] 15 | 16 | [] 17 | [3] 18 | 19 | [[[]]] 20 | [[]] 21 | 22 | [1,[2,[3,[4,[5,6,7]]]],8,9] 23 | [1,[2,[3,[4,[5,6,0]]]],8,9] -------------------------------------------------------------------------------- /2022/data/day14.txt: -------------------------------------------------------------------------------- 1 | 516,97 -> 516,94 -> 516,97 -> 518,97 -> 518,87 -> 518,97 -> 520,97 -> 520,92 -> 520,97 -> 522,97 -> 522,94 -> 522,97 -> 524,97 -> 524,95 -> 524,97 -> 526,97 -> 526,89 -> 526,97 -> 528,97 -> 528,89 -> 528,97 -> 530,97 -> 530,94 -> 530,97 -> 532,97 -> 532,91 -> 532,97 2 | 495,26 -> 495,27 -> 507,27 -> 507,26 3 | 516,97 -> 516,94 -> 516,97 -> 518,97 -> 518,87 -> 518,97 -> 520,97 -> 520,92 -> 520,97 -> 522,97 -> 522,94 -> 522,97 -> 524,97 -> 524,95 -> 524,97 -> 526,97 -> 526,89 -> 526,97 -> 528,97 -> 528,89 -> 528,97 -> 530,97 -> 530,94 -> 530,97 -> 532,97 -> 532,91 -> 532,97 4 | 516,97 -> 516,94 -> 516,97 -> 518,97 -> 518,87 -> 518,97 -> 520,97 -> 520,92 -> 520,97 -> 522,97 -> 522,94 -> 522,97 -> 524,97 -> 524,95 -> 524,97 -> 526,97 -> 526,89 -> 526,97 -> 528,97 -> 528,89 -> 528,97 -> 530,97 -> 530,94 -> 530,97 -> 532,97 -> 532,91 -> 532,97 5 | 502,42 -> 502,45 -> 496,45 -> 496,51 -> 507,51 -> 507,45 -> 506,45 -> 506,42 6 | 516,97 -> 516,94 -> 516,97 -> 518,97 -> 518,87 -> 518,97 -> 520,97 -> 520,92 -> 520,97 -> 522,97 -> 522,94 -> 522,97 -> 524,97 -> 524,95 -> 524,97 -> 526,97 -> 526,89 -> 526,97 -> 528,97 -> 528,89 -> 528,97 -> 530,97 -> 530,94 -> 530,97 -> 532,97 -> 532,91 -> 532,97 7 | 516,97 -> 516,94 -> 516,97 -> 518,97 -> 518,87 -> 518,97 -> 520,97 -> 520,92 -> 520,97 -> 522,97 -> 522,94 -> 522,97 -> 524,97 -> 524,95 -> 524,97 -> 526,97 -> 526,89 -> 526,97 -> 528,97 -> 528,89 -> 528,97 -> 530,97 -> 530,94 -> 530,97 -> 532,97 -> 532,91 -> 532,97 8 | 506,30 -> 510,30 9 | 527,130 -> 527,122 -> 527,130 -> 529,130 -> 529,121 -> 529,130 -> 531,130 -> 531,129 -> 531,130 -> 533,130 -> 533,121 -> 533,130 -> 535,130 -> 535,122 -> 535,130 -> 537,130 -> 537,128 -> 537,130 10 | 516,97 -> 516,94 -> 516,97 -> 518,97 -> 518,87 -> 518,97 -> 520,97 -> 520,92 -> 520,97 -> 522,97 -> 522,94 -> 522,97 -> 524,97 -> 524,95 -> 524,97 -> 526,97 -> 526,89 -> 526,97 -> 528,97 -> 528,89 -> 528,97 -> 530,97 -> 530,94 -> 530,97 -> 532,97 -> 532,91 -> 532,97 11 | 503,67 -> 503,59 -> 503,67 -> 505,67 -> 505,60 -> 505,67 -> 507,67 -> 507,60 -> 507,67 -> 509,67 -> 509,58 -> 509,67 -> 511,67 -> 511,60 -> 511,67 -> 513,67 -> 513,59 -> 513,67 -> 515,67 -> 515,61 -> 515,67 12 | 548,117 -> 553,117 13 | 503,33 -> 507,33 14 | 527,130 -> 527,122 -> 527,130 -> 529,130 -> 529,121 -> 529,130 -> 531,130 -> 531,129 -> 531,130 -> 533,130 -> 533,121 -> 533,130 -> 535,130 -> 535,122 -> 535,130 -> 537,130 -> 537,128 -> 537,130 15 | 539,149 -> 544,149 16 | 489,38 -> 489,39 -> 503,39 -> 503,38 17 | 527,130 -> 527,122 -> 527,130 -> 529,130 -> 529,121 -> 529,130 -> 531,130 -> 531,129 -> 531,130 -> 533,130 -> 533,121 -> 533,130 -> 535,130 -> 535,122 -> 535,130 -> 537,130 -> 537,128 -> 537,130 18 | 533,111 -> 538,111 19 | 516,97 -> 516,94 -> 516,97 -> 518,97 -> 518,87 -> 518,97 -> 520,97 -> 520,92 -> 520,97 -> 522,97 -> 522,94 -> 522,97 -> 524,97 -> 524,95 -> 524,97 -> 526,97 -> 526,89 -> 526,97 -> 528,97 -> 528,89 -> 528,97 -> 530,97 -> 530,94 -> 530,97 -> 532,97 -> 532,91 -> 532,97 20 | 516,97 -> 516,94 -> 516,97 -> 518,97 -> 518,87 -> 518,97 -> 520,97 -> 520,92 -> 520,97 -> 522,97 -> 522,94 -> 522,97 -> 524,97 -> 524,95 -> 524,97 -> 526,97 -> 526,89 -> 526,97 -> 528,97 -> 528,89 -> 528,97 -> 530,97 -> 530,94 -> 530,97 -> 532,97 -> 532,91 -> 532,97 21 | 489,38 -> 489,39 -> 503,39 -> 503,38 22 | 516,97 -> 516,94 -> 516,97 -> 518,97 -> 518,87 -> 518,97 -> 520,97 -> 520,92 -> 520,97 -> 522,97 -> 522,94 -> 522,97 -> 524,97 -> 524,95 -> 524,97 -> 526,97 -> 526,89 -> 526,97 -> 528,97 -> 528,89 -> 528,97 -> 530,97 -> 530,94 -> 530,97 -> 532,97 -> 532,91 -> 532,97 23 | 527,130 -> 527,122 -> 527,130 -> 529,130 -> 529,121 -> 529,130 -> 531,130 -> 531,129 -> 531,130 -> 533,130 -> 533,121 -> 533,130 -> 535,130 -> 535,122 -> 535,130 -> 537,130 -> 537,128 -> 537,130 24 | 510,76 -> 510,78 -> 503,78 -> 503,84 -> 521,84 -> 521,78 -> 516,78 -> 516,76 25 | 503,67 -> 503,59 -> 503,67 -> 505,67 -> 505,60 -> 505,67 -> 507,67 -> 507,60 -> 507,67 -> 509,67 -> 509,58 -> 509,67 -> 511,67 -> 511,60 -> 511,67 -> 513,67 -> 513,59 -> 513,67 -> 515,67 -> 515,61 -> 515,67 26 | 503,67 -> 503,59 -> 503,67 -> 505,67 -> 505,60 -> 505,67 -> 507,67 -> 507,60 -> 507,67 -> 509,67 -> 509,58 -> 509,67 -> 511,67 -> 511,60 -> 511,67 -> 513,67 -> 513,59 -> 513,67 -> 515,67 -> 515,61 -> 515,67 27 | 516,97 -> 516,94 -> 516,97 -> 518,97 -> 518,87 -> 518,97 -> 520,97 -> 520,92 -> 520,97 -> 522,97 -> 522,94 -> 522,97 -> 524,97 -> 524,95 -> 524,97 -> 526,97 -> 526,89 -> 526,97 -> 528,97 -> 528,89 -> 528,97 -> 530,97 -> 530,94 -> 530,97 -> 532,97 -> 532,91 -> 532,97 28 | 516,97 -> 516,94 -> 516,97 -> 518,97 -> 518,87 -> 518,97 -> 520,97 -> 520,92 -> 520,97 -> 522,97 -> 522,94 -> 522,97 -> 524,97 -> 524,95 -> 524,97 -> 526,97 -> 526,89 -> 526,97 -> 528,97 -> 528,89 -> 528,97 -> 530,97 -> 530,94 -> 530,97 -> 532,97 -> 532,91 -> 532,97 29 | 503,67 -> 503,59 -> 503,67 -> 505,67 -> 505,60 -> 505,67 -> 507,67 -> 507,60 -> 507,67 -> 509,67 -> 509,58 -> 509,67 -> 511,67 -> 511,60 -> 511,67 -> 513,67 -> 513,59 -> 513,67 -> 515,67 -> 515,61 -> 515,67 30 | 544,114 -> 549,114 31 | 502,42 -> 502,45 -> 496,45 -> 496,51 -> 507,51 -> 507,45 -> 506,45 -> 506,42 32 | 503,67 -> 503,59 -> 503,67 -> 505,67 -> 505,60 -> 505,67 -> 507,67 -> 507,60 -> 507,67 -> 509,67 -> 509,58 -> 509,67 -> 511,67 -> 511,60 -> 511,67 -> 513,67 -> 513,59 -> 513,67 -> 515,67 -> 515,61 -> 515,67 33 | 533,161 -> 538,161 34 | 503,67 -> 503,59 -> 503,67 -> 505,67 -> 505,60 -> 505,67 -> 507,67 -> 507,60 -> 507,67 -> 509,67 -> 509,58 -> 509,67 -> 511,67 -> 511,60 -> 511,67 -> 513,67 -> 513,59 -> 513,67 -> 515,67 -> 515,61 -> 515,67 35 | 527,130 -> 527,122 -> 527,130 -> 529,130 -> 529,121 -> 529,130 -> 531,130 -> 531,129 -> 531,130 -> 533,130 -> 533,121 -> 533,130 -> 535,130 -> 535,122 -> 535,130 -> 537,130 -> 537,128 -> 537,130 36 | 527,130 -> 527,122 -> 527,130 -> 529,130 -> 529,121 -> 529,130 -> 531,130 -> 531,129 -> 531,130 -> 533,130 -> 533,121 -> 533,130 -> 535,130 -> 535,122 -> 535,130 -> 537,130 -> 537,128 -> 537,130 37 | 547,161 -> 552,161 38 | 510,76 -> 510,78 -> 503,78 -> 503,84 -> 521,84 -> 521,78 -> 516,78 -> 516,76 39 | 527,130 -> 527,122 -> 527,130 -> 529,130 -> 529,121 -> 529,130 -> 531,130 -> 531,129 -> 531,130 -> 533,130 -> 533,121 -> 533,130 -> 535,130 -> 535,122 -> 535,130 -> 537,130 -> 537,128 -> 537,130 40 | 531,100 -> 531,102 -> 524,102 -> 524,105 -> 538,105 -> 538,102 -> 535,102 -> 535,100 41 | 516,97 -> 516,94 -> 516,97 -> 518,97 -> 518,87 -> 518,97 -> 520,97 -> 520,92 -> 520,97 -> 522,97 -> 522,94 -> 522,97 -> 524,97 -> 524,95 -> 524,97 -> 526,97 -> 526,89 -> 526,97 -> 528,97 -> 528,89 -> 528,97 -> 530,97 -> 530,94 -> 530,97 -> 532,97 -> 532,91 -> 532,97 42 | 510,76 -> 510,78 -> 503,78 -> 503,84 -> 521,84 -> 521,78 -> 516,78 -> 516,76 43 | 549,146 -> 554,146 44 | 527,130 -> 527,122 -> 527,130 -> 529,130 -> 529,121 -> 529,130 -> 531,130 -> 531,129 -> 531,130 -> 533,130 -> 533,121 -> 533,130 -> 535,130 -> 535,122 -> 535,130 -> 537,130 -> 537,128 -> 537,130 45 | 546,149 -> 551,149 46 | 527,130 -> 527,122 -> 527,130 -> 529,130 -> 529,121 -> 529,130 -> 531,130 -> 531,129 -> 531,130 -> 533,130 -> 533,121 -> 533,130 -> 535,130 -> 535,122 -> 535,130 -> 537,130 -> 537,128 -> 537,130 47 | 514,73 -> 524,73 -> 524,72 48 | 516,97 -> 516,94 -> 516,97 -> 518,97 -> 518,87 -> 518,97 -> 520,97 -> 520,92 -> 520,97 -> 522,97 -> 522,94 -> 522,97 -> 524,97 -> 524,95 -> 524,97 -> 526,97 -> 526,89 -> 526,97 -> 528,97 -> 528,89 -> 528,97 -> 530,97 -> 530,94 -> 530,97 -> 532,97 -> 532,91 -> 532,97 49 | 503,67 -> 503,59 -> 503,67 -> 505,67 -> 505,60 -> 505,67 -> 507,67 -> 507,60 -> 507,67 -> 509,67 -> 509,58 -> 509,67 -> 511,67 -> 511,60 -> 511,67 -> 513,67 -> 513,59 -> 513,67 -> 515,67 -> 515,61 -> 515,67 50 | 502,42 -> 502,45 -> 496,45 -> 496,51 -> 507,51 -> 507,45 -> 506,45 -> 506,42 51 | 539,155 -> 544,155 52 | 527,130 -> 527,122 -> 527,130 -> 529,130 -> 529,121 -> 529,130 -> 531,130 -> 531,129 -> 531,130 -> 533,130 -> 533,121 -> 533,130 -> 535,130 -> 535,122 -> 535,130 -> 537,130 -> 537,128 -> 537,130 53 | 557,152 -> 562,152 54 | 553,149 -> 558,149 55 | 499,53 -> 499,54 -> 509,54 -> 509,53 56 | 535,133 -> 535,136 -> 530,136 -> 530,140 -> 547,140 -> 547,136 -> 540,136 -> 540,133 57 | 502,42 -> 502,45 -> 496,45 -> 496,51 -> 507,51 -> 507,45 -> 506,45 -> 506,42 58 | 510,76 -> 510,78 -> 503,78 -> 503,84 -> 521,84 -> 521,78 -> 516,78 -> 516,76 59 | 514,73 -> 524,73 -> 524,72 60 | 516,97 -> 516,94 -> 516,97 -> 518,97 -> 518,87 -> 518,97 -> 520,97 -> 520,92 -> 520,97 -> 522,97 -> 522,94 -> 522,97 -> 524,97 -> 524,95 -> 524,97 -> 526,97 -> 526,89 -> 526,97 -> 528,97 -> 528,89 -> 528,97 -> 530,97 -> 530,94 -> 530,97 -> 532,97 -> 532,91 -> 532,97 61 | 535,133 -> 535,136 -> 530,136 -> 530,140 -> 547,140 -> 547,136 -> 540,136 -> 540,133 62 | 527,130 -> 527,122 -> 527,130 -> 529,130 -> 529,121 -> 529,130 -> 531,130 -> 531,129 -> 531,130 -> 533,130 -> 533,121 -> 533,130 -> 535,130 -> 535,122 -> 535,130 -> 537,130 -> 537,128 -> 537,130 63 | 534,117 -> 539,117 64 | 497,23 -> 497,21 -> 497,23 -> 499,23 -> 499,17 -> 499,23 -> 501,23 -> 501,20 -> 501,23 65 | 502,42 -> 502,45 -> 496,45 -> 496,51 -> 507,51 -> 507,45 -> 506,45 -> 506,42 66 | 543,152 -> 548,152 67 | 527,130 -> 527,122 -> 527,130 -> 529,130 -> 529,121 -> 529,130 -> 531,130 -> 531,129 -> 531,130 -> 533,130 -> 533,121 -> 533,130 -> 535,130 -> 535,122 -> 535,130 -> 537,130 -> 537,128 -> 537,130 68 | 510,76 -> 510,78 -> 503,78 -> 503,84 -> 521,84 -> 521,78 -> 516,78 -> 516,76 69 | 527,130 -> 527,122 -> 527,130 -> 529,130 -> 529,121 -> 529,130 -> 531,130 -> 531,129 -> 531,130 -> 533,130 -> 533,121 -> 533,130 -> 535,130 -> 535,122 -> 535,130 -> 537,130 -> 537,128 -> 537,130 70 | 503,67 -> 503,59 -> 503,67 -> 505,67 -> 505,60 -> 505,67 -> 507,67 -> 507,60 -> 507,67 -> 509,67 -> 509,58 -> 509,67 -> 511,67 -> 511,60 -> 511,67 -> 513,67 -> 513,59 -> 513,67 -> 515,67 -> 515,61 -> 515,67 71 | 503,67 -> 503,59 -> 503,67 -> 505,67 -> 505,60 -> 505,67 -> 507,67 -> 507,60 -> 507,67 -> 509,67 -> 509,58 -> 509,67 -> 511,67 -> 511,60 -> 511,67 -> 513,67 -> 513,59 -> 513,67 -> 515,67 -> 515,61 -> 515,67 72 | 542,146 -> 547,146 73 | 516,97 -> 516,94 -> 516,97 -> 518,97 -> 518,87 -> 518,97 -> 520,97 -> 520,92 -> 520,97 -> 522,97 -> 522,94 -> 522,97 -> 524,97 -> 524,95 -> 524,97 -> 526,97 -> 526,89 -> 526,97 -> 528,97 -> 528,89 -> 528,97 -> 530,97 -> 530,94 -> 530,97 -> 532,97 -> 532,91 -> 532,97 74 | 503,67 -> 503,59 -> 503,67 -> 505,67 -> 505,60 -> 505,67 -> 507,67 -> 507,60 -> 507,67 -> 509,67 -> 509,58 -> 509,67 -> 511,67 -> 511,60 -> 511,67 -> 513,67 -> 513,59 -> 513,67 -> 515,67 -> 515,61 -> 515,67 75 | 497,23 -> 497,21 -> 497,23 -> 499,23 -> 499,17 -> 499,23 -> 501,23 -> 501,20 -> 501,23 76 | 509,33 -> 513,33 77 | 535,133 -> 535,136 -> 530,136 -> 530,140 -> 547,140 -> 547,136 -> 540,136 -> 540,133 78 | 516,97 -> 516,94 -> 516,97 -> 518,97 -> 518,87 -> 518,97 -> 520,97 -> 520,92 -> 520,97 -> 522,97 -> 522,94 -> 522,97 -> 524,97 -> 524,95 -> 524,97 -> 526,97 -> 526,89 -> 526,97 -> 528,97 -> 528,89 -> 528,97 -> 530,97 -> 530,94 -> 530,97 -> 532,97 -> 532,91 -> 532,97 79 | 502,42 -> 502,45 -> 496,45 -> 496,51 -> 507,51 -> 507,45 -> 506,45 -> 506,42 80 | 506,36 -> 510,36 81 | 516,97 -> 516,94 -> 516,97 -> 518,97 -> 518,87 -> 518,97 -> 520,97 -> 520,92 -> 520,97 -> 522,97 -> 522,94 -> 522,97 -> 524,97 -> 524,95 -> 524,97 -> 526,97 -> 526,89 -> 526,97 -> 528,97 -> 528,89 -> 528,97 -> 530,97 -> 530,94 -> 530,97 -> 532,97 -> 532,91 -> 532,97 82 | 497,23 -> 497,21 -> 497,23 -> 499,23 -> 499,17 -> 499,23 -> 501,23 -> 501,20 -> 501,23 83 | 503,67 -> 503,59 -> 503,67 -> 505,67 -> 505,60 -> 505,67 -> 507,67 -> 507,60 -> 507,67 -> 509,67 -> 509,58 -> 509,67 -> 511,67 -> 511,60 -> 511,67 -> 513,67 -> 513,59 -> 513,67 -> 515,67 -> 515,61 -> 515,67 84 | 500,36 -> 504,36 85 | 535,133 -> 535,136 -> 530,136 -> 530,140 -> 547,140 -> 547,136 -> 540,136 -> 540,133 86 | 535,133 -> 535,136 -> 530,136 -> 530,140 -> 547,140 -> 547,136 -> 540,136 -> 540,133 87 | 497,23 -> 497,21 -> 497,23 -> 499,23 -> 499,17 -> 499,23 -> 501,23 -> 501,20 -> 501,23 88 | 550,152 -> 555,152 89 | 527,130 -> 527,122 -> 527,130 -> 529,130 -> 529,121 -> 529,130 -> 531,130 -> 531,129 -> 531,130 -> 533,130 -> 533,121 -> 533,130 -> 535,130 -> 535,122 -> 535,130 -> 537,130 -> 537,128 -> 537,130 90 | 503,67 -> 503,59 -> 503,67 -> 505,67 -> 505,60 -> 505,67 -> 507,67 -> 507,60 -> 507,67 -> 509,67 -> 509,58 -> 509,67 -> 511,67 -> 511,60 -> 511,67 -> 513,67 -> 513,59 -> 513,67 -> 515,67 -> 515,61 -> 515,67 91 | 536,158 -> 541,158 92 | 503,67 -> 503,59 -> 503,67 -> 505,67 -> 505,60 -> 505,67 -> 507,67 -> 507,60 -> 507,67 -> 509,67 -> 509,58 -> 509,67 -> 511,67 -> 511,60 -> 511,67 -> 513,67 -> 513,59 -> 513,67 -> 515,67 -> 515,61 -> 515,67 93 | 497,23 -> 497,21 -> 497,23 -> 499,23 -> 499,17 -> 499,23 -> 501,23 -> 501,20 -> 501,23 94 | 495,26 -> 495,27 -> 507,27 -> 507,26 95 | 535,133 -> 535,136 -> 530,136 -> 530,140 -> 547,140 -> 547,136 -> 540,136 -> 540,133 96 | 516,97 -> 516,94 -> 516,97 -> 518,97 -> 518,87 -> 518,97 -> 520,97 -> 520,92 -> 520,97 -> 522,97 -> 522,94 -> 522,97 -> 524,97 -> 524,95 -> 524,97 -> 526,97 -> 526,89 -> 526,97 -> 528,97 -> 528,89 -> 528,97 -> 530,97 -> 530,94 -> 530,97 -> 532,97 -> 532,91 -> 532,97 97 | 503,67 -> 503,59 -> 503,67 -> 505,67 -> 505,60 -> 505,67 -> 507,67 -> 507,60 -> 507,67 -> 509,67 -> 509,58 -> 509,67 -> 511,67 -> 511,60 -> 511,67 -> 513,67 -> 513,59 -> 513,67 -> 515,67 -> 515,61 -> 515,67 98 | 537,114 -> 542,114 99 | 516,97 -> 516,94 -> 516,97 -> 518,97 -> 518,87 -> 518,97 -> 520,97 -> 520,92 -> 520,97 -> 522,97 -> 522,94 -> 522,97 -> 524,97 -> 524,95 -> 524,97 -> 526,97 -> 526,89 -> 526,97 -> 528,97 -> 528,89 -> 528,97 -> 530,97 -> 530,94 -> 530,97 -> 532,97 -> 532,91 -> 532,97 100 | 530,114 -> 535,114 101 | 502,42 -> 502,45 -> 496,45 -> 496,51 -> 507,51 -> 507,45 -> 506,45 -> 506,42 102 | 527,130 -> 527,122 -> 527,130 -> 529,130 -> 529,121 -> 529,130 -> 531,130 -> 531,129 -> 531,130 -> 533,130 -> 533,121 -> 533,130 -> 535,130 -> 535,122 -> 535,130 -> 537,130 -> 537,128 -> 537,130 103 | 516,97 -> 516,94 -> 516,97 -> 518,97 -> 518,87 -> 518,97 -> 520,97 -> 520,92 -> 520,97 -> 522,97 -> 522,94 -> 522,97 -> 524,97 -> 524,95 -> 524,97 -> 526,97 -> 526,89 -> 526,97 -> 528,97 -> 528,89 -> 528,97 -> 530,97 -> 530,94 -> 530,97 -> 532,97 -> 532,91 -> 532,97 104 | 503,67 -> 503,59 -> 503,67 -> 505,67 -> 505,60 -> 505,67 -> 507,67 -> 507,60 -> 507,67 -> 509,67 -> 509,58 -> 509,67 -> 511,67 -> 511,60 -> 511,67 -> 513,67 -> 513,59 -> 513,67 -> 515,67 -> 515,61 -> 515,67 105 | 516,97 -> 516,94 -> 516,97 -> 518,97 -> 518,87 -> 518,97 -> 520,97 -> 520,92 -> 520,97 -> 522,97 -> 522,94 -> 522,97 -> 524,97 -> 524,95 -> 524,97 -> 526,97 -> 526,89 -> 526,97 -> 528,97 -> 528,89 -> 528,97 -> 530,97 -> 530,94 -> 530,97 -> 532,97 -> 532,91 -> 532,97 106 | 545,143 -> 550,143 107 | 516,97 -> 516,94 -> 516,97 -> 518,97 -> 518,87 -> 518,97 -> 520,97 -> 520,92 -> 520,97 -> 522,97 -> 522,94 -> 522,97 -> 524,97 -> 524,95 -> 524,97 -> 526,97 -> 526,89 -> 526,97 -> 528,97 -> 528,89 -> 528,97 -> 530,97 -> 530,94 -> 530,97 -> 532,97 -> 532,91 -> 532,97 108 | 499,53 -> 499,54 -> 509,54 -> 509,53 109 | 516,97 -> 516,94 -> 516,97 -> 518,97 -> 518,87 -> 518,97 -> 520,97 -> 520,92 -> 520,97 -> 522,97 -> 522,94 -> 522,97 -> 524,97 -> 524,95 -> 524,97 -> 526,97 -> 526,89 -> 526,97 -> 528,97 -> 528,89 -> 528,97 -> 530,97 -> 530,94 -> 530,97 -> 532,97 -> 532,91 -> 532,97 110 | 489,38 -> 489,39 -> 503,39 -> 503,38 111 | 503,67 -> 503,59 -> 503,67 -> 505,67 -> 505,60 -> 505,67 -> 507,67 -> 507,60 -> 507,67 -> 509,67 -> 509,58 -> 509,67 -> 511,67 -> 511,60 -> 511,67 -> 513,67 -> 513,59 -> 513,67 -> 515,67 -> 515,61 -> 515,67 112 | 531,100 -> 531,102 -> 524,102 -> 524,105 -> 538,105 -> 538,102 -> 535,102 -> 535,100 113 | 510,76 -> 510,78 -> 503,78 -> 503,84 -> 521,84 -> 521,78 -> 516,78 -> 516,76 114 | 531,100 -> 531,102 -> 524,102 -> 524,105 -> 538,105 -> 538,102 -> 535,102 -> 535,100 115 | 503,67 -> 503,59 -> 503,67 -> 505,67 -> 505,60 -> 505,67 -> 507,67 -> 507,60 -> 507,67 -> 509,67 -> 509,58 -> 509,67 -> 511,67 -> 511,60 -> 511,67 -> 513,67 -> 513,59 -> 513,67 -> 515,67 -> 515,61 -> 515,67 116 | 495,26 -> 495,27 -> 507,27 -> 507,26 117 | 512,36 -> 516,36 118 | 503,67 -> 503,59 -> 503,67 -> 505,67 -> 505,60 -> 505,67 -> 507,67 -> 507,60 -> 507,67 -> 509,67 -> 509,58 -> 509,67 -> 511,67 -> 511,60 -> 511,67 -> 513,67 -> 513,59 -> 513,67 -> 515,67 -> 515,61 -> 515,67 119 | 531,100 -> 531,102 -> 524,102 -> 524,105 -> 538,105 -> 538,102 -> 535,102 -> 535,100 120 | 503,67 -> 503,59 -> 503,67 -> 505,67 -> 505,60 -> 505,67 -> 507,67 -> 507,60 -> 507,67 -> 509,67 -> 509,58 -> 509,67 -> 511,67 -> 511,60 -> 511,67 -> 513,67 -> 513,59 -> 513,67 -> 515,67 -> 515,61 -> 515,67 121 | 527,117 -> 532,117 122 | 516,97 -> 516,94 -> 516,97 -> 518,97 -> 518,87 -> 518,97 -> 520,97 -> 520,92 -> 520,97 -> 522,97 -> 522,94 -> 522,97 -> 524,97 -> 524,95 -> 524,97 -> 526,97 -> 526,89 -> 526,97 -> 528,97 -> 528,89 -> 528,97 -> 530,97 -> 530,94 -> 530,97 -> 532,97 -> 532,91 -> 532,97 123 | 527,130 -> 527,122 -> 527,130 -> 529,130 -> 529,121 -> 529,130 -> 531,130 -> 531,129 -> 531,130 -> 533,130 -> 533,121 -> 533,130 -> 535,130 -> 535,122 -> 535,130 -> 537,130 -> 537,128 -> 537,130 124 | 516,97 -> 516,94 -> 516,97 -> 518,97 -> 518,87 -> 518,97 -> 520,97 -> 520,92 -> 520,97 -> 522,97 -> 522,94 -> 522,97 -> 524,97 -> 524,95 -> 524,97 -> 526,97 -> 526,89 -> 526,97 -> 528,97 -> 528,89 -> 528,97 -> 530,97 -> 530,94 -> 530,97 -> 532,97 -> 532,91 -> 532,97 125 | 497,23 -> 497,21 -> 497,23 -> 499,23 -> 499,17 -> 499,23 -> 501,23 -> 501,20 -> 501,23 126 | 531,100 -> 531,102 -> 524,102 -> 524,105 -> 538,105 -> 538,102 -> 535,102 -> 535,100 127 | 531,100 -> 531,102 -> 524,102 -> 524,105 -> 538,105 -> 538,102 -> 535,102 -> 535,100 128 | 536,152 -> 541,152 129 | 531,100 -> 531,102 -> 524,102 -> 524,105 -> 538,105 -> 538,102 -> 535,102 -> 535,100 130 | 497,23 -> 497,21 -> 497,23 -> 499,23 -> 499,17 -> 499,23 -> 501,23 -> 501,20 -> 501,23 131 | 497,23 -> 497,21 -> 497,23 -> 499,23 -> 499,17 -> 499,23 -> 501,23 -> 501,20 -> 501,23 132 | 535,133 -> 535,136 -> 530,136 -> 530,140 -> 547,140 -> 547,136 -> 540,136 -> 540,133 133 | 541,117 -> 546,117 134 | 499,53 -> 499,54 -> 509,54 -> 509,53 135 | 516,97 -> 516,94 -> 516,97 -> 518,97 -> 518,87 -> 518,97 -> 520,97 -> 520,92 -> 520,97 -> 522,97 -> 522,94 -> 522,97 -> 524,97 -> 524,95 -> 524,97 -> 526,97 -> 526,89 -> 526,97 -> 528,97 -> 528,89 -> 528,97 -> 530,97 -> 530,94 -> 530,97 -> 532,97 -> 532,91 -> 532,97 136 | 540,111 -> 545,111 137 | 527,130 -> 527,122 -> 527,130 -> 529,130 -> 529,121 -> 529,130 -> 531,130 -> 531,129 -> 531,130 -> 533,130 -> 533,121 -> 533,130 -> 535,130 -> 535,122 -> 535,130 -> 537,130 -> 537,128 -> 537,130 138 | 543,158 -> 548,158 139 | 503,67 -> 503,59 -> 503,67 -> 505,67 -> 505,60 -> 505,67 -> 507,67 -> 507,60 -> 507,67 -> 509,67 -> 509,58 -> 509,67 -> 511,67 -> 511,60 -> 511,67 -> 513,67 -> 513,59 -> 513,67 -> 515,67 -> 515,61 -> 515,67 140 | 536,108 -> 541,108 141 | 510,76 -> 510,78 -> 503,78 -> 503,84 -> 521,84 -> 521,78 -> 516,78 -> 516,76 142 | 540,161 -> 545,161 -------------------------------------------------------------------------------- /2022/data/day15.txt: -------------------------------------------------------------------------------- 1 | Sensor at x=489739, y=1144461: closest beacon is at x=-46516, y=554951 2 | Sensor at x=2543342, y=3938: closest beacon is at x=2646619, y=229757 3 | Sensor at x=3182359, y=3999986: closest beacon is at x=3142235, y=3956791 4 | Sensor at x=3828004, y=1282262: closest beacon is at x=3199543, y=2310713 5 | Sensor at x=871967, y=3962966: closest beacon is at x=-323662, y=4519876 6 | Sensor at x=1323641, y=2986163: closest beacon is at x=2428372, y=3303736 7 | Sensor at x=2911492, y=2576579: closest beacon is at x=3022758, y=2461675 8 | Sensor at x=3030965, y=2469848: closest beacon is at x=3022758, y=2461675 9 | Sensor at x=3299037, y=3402462: closest beacon is at x=3142235, y=3956791 10 | Sensor at x=1975203, y=1672969: closest beacon is at x=1785046, y=2000000 11 | Sensor at x=3048950, y=2452864: closest beacon is at x=3022758, y=2461675 12 | Sensor at x=336773, y=2518242: closest beacon is at x=1785046, y=2000000 13 | Sensor at x=1513936, y=574443: closest beacon is at x=2646619, y=229757 14 | Sensor at x=3222440, y=2801189: closest beacon is at x=3199543, y=2310713 15 | Sensor at x=2838327, y=2122421: closest beacon is at x=2630338, y=2304286 16 | Sensor at x=2291940, y=2502068: closest beacon is at x=2630338, y=2304286 17 | Sensor at x=2743173, y=3608337: closest beacon is at x=2428372, y=3303736 18 | Sensor at x=3031202, y=2452943: closest beacon is at x=3022758, y=2461675 19 | Sensor at x=3120226, y=3998439: closest beacon is at x=3142235, y=3956791 20 | Sensor at x=2234247, y=3996367: closest beacon is at x=2428372, y=3303736 21 | Sensor at x=593197, y=548: closest beacon is at x=-46516, y=554951 22 | Sensor at x=2612034, y=2832157: closest beacon is at x=2630338, y=2304286 23 | Sensor at x=3088807, y=3929947: closest beacon is at x=3142235, y=3956791 24 | Sensor at x=2022834, y=2212455: closest beacon is at x=1785046, y=2000000 25 | Sensor at x=3129783, y=3975610: closest beacon is at x=3142235, y=3956791 26 | Sensor at x=3150025, y=2333166: closest beacon is at x=3199543, y=2310713 27 | Sensor at x=3118715, y=2376161: closest beacon is at x=3199543, y=2310713 28 | Sensor at x=3951193, y=3181929: closest beacon is at x=4344952, y=3106256 29 | Sensor at x=2807831, y=2401551: closest beacon is at x=2630338, y=2304286 30 | Sensor at x=3683864, y=2906786: closest beacon is at x=4344952, y=3106256 31 | Sensor at x=2723234, y=3206978: closest beacon is at x=2428372, y=3303736 32 | Sensor at x=3047123, y=3891244: closest beacon is at x=3142235, y=3956791 33 | Sensor at x=3621967, y=3793314: closest beacon is at x=3142235, y=3956791 34 | Sensor at x=2384506, y=1814055: closest beacon is at x=2630338, y=2304286 35 | Sensor at x=83227, y=330275: closest beacon is at x=-46516, y=554951 36 | Sensor at x=3343176, y=75114: closest beacon is at x=2646619, y=229757 -------------------------------------------------------------------------------- /2022/data/day3.txt: -------------------------------------------------------------------------------- 1 | FzQrhQpJtJMFzlpplrTWjTnTTrjVsVvvTnTs 2 | mScqSqqgcfPCqGPZcfGNSvTNsVVNSjNvWSNsNz 3 | fPcPGqgCcHgFzQpJJtHtJH 4 | DZDqqlrjplDHrNCmnBcHBMCRcJzb 5 | RQFLStFvdcBbzdJbJM 6 | PThQtwftTPFvtTPhvtFtfFtpZZllwjRNlsqNqqZjwpGlrZ 7 | pPwtqgwJZPJLgQqSFlqhFFlqMd 8 | DBmCWBBDWTRGvcVRTCCnnfQlFSdlzfhfdMWQfjhhQz 9 | drmBVVCRgprPtrZp 10 | HznjQjvmzDMVrQnMLJMMlfWgPSlJGWWJPl 11 | BdcqqhcdBRpFhhZBthhctdJSJJWfgGFlJCSFgbWPCDJS 12 | NdRTZdNqBwqtthpRBTTRqdtZrsLQVzrrzjzDwDsnmrQrnsrr 13 | HZFZCFzZWszqsRTBZTNMhmthVTmhDppmMQVPpm 14 | wjvSbJddvrvlrvnJSJJvlJmhPlhVPVtGVpQDBVMpphQP 15 | frbrfrcvvnvjfwbcJgrrCBRsCFsNzRgRCHCqssRH 16 | dDFNqNqZqPLNqvqTTvCLSPdZssGHClJQJcRHJGHHcHBcsMsQ 17 | lrjmWgWWrhjgrppQHHMQrsQRJGcBJc 18 | lVlmnwjmdTTSvVFN 19 | FWNFHvQPmLGwwwSHtswwln 20 | RfMJcDdfdcfdddfZjdchrtZmSmCZVtqVnZmrnrtC 21 | JMmJcfjjphcghpgjhRGzGzBBGPFGNBvPTpFL 22 | cVPVwStmmcQPBQPpSCppwhHZNNqHszNBhsNRNjqHzj 23 | MfWdDgvdbnvgMTWgvgZfzmsZJHzNhqjqjRhJ 24 | MDWMWGndMgFDnFLDwQrPPCSrCSVrlmGS 25 | QLZmPdRdWmMsMDWZmsLWWrhMHcHGzHvGzFcvrvzNrc 26 | tplSbLVBlvHHcFNnSr 27 | VqfgwLlCJWmWQTfW 28 | nRWvlvRbtLvdMCPFGL 29 | wrfsJNNGhNzGrTgDMDLgPMLPfq 30 | wcVhJQhwhrrBpmVblBRGSG 31 | HHHcggrZLcQQcQll 32 | GzfzTRTzmmFMwSNSwdSJQtNLNB 33 | TGbmLMFTzVVVTMzmFMfFPMHPZhnjZCpHnhgnZnPWCPZZ 34 | MRwwpVMHRspqVqwmccDlDrcHBBZgBl 35 | jQfQQQjWWFBgmcgDfcZg 36 | hvvSQzSnQQSWWQWSjTZVTRMshwVCssppwV 37 | pvrTvCvtFppCHMMZcdDFdcZM 38 | wLjTQnqljjSnlwjqjRgLcHHHMBDMZhBMHgHcbBDh 39 | mqjqlSNqRqwSRrWCvzGmtfTfzs 40 | TWScDCqCQQVBWDqWHsHswwBgRJzRhhHp 41 | dPttGrvFfGjMjnjvshsJgsJLgghRgH 42 | rFMlGdtjPffNnnrffSNcVCDqQqCQRqQRRN 43 | GmBRbVpPbmJcwggBBgWW 44 | LjsTCNNtddjHqLLgWwccqgfq 45 | nsjNjntNtjHCsDwZmwZZVmmGSvSD 46 | bwDDgNFtMMDbFsMbFwWWVcRcSpcgjgQWhWSp 47 | lfTJJlvdfCffccWppRjRlcSc 48 | RnzGdJJmsMNnMFtM 49 | bsBTFsqqTTmFZTsQBWWznWCRshlJNJlCVh 50 | GjGnDvDjvjPppHwwpwgrPPClJhNVRCzhhzJWlWlhNlvJ 51 | ffdgLrgdLrDjdfHPbbZbttcBbcbLmntn 52 | TNTwwvTTHNtTHNLLVqtqTSZBJnrnhhbrFJjZjnVZgghF 53 | cplWfRlzcWfRCZZhFrGjBfjZjn 54 | pddzDsRpDcclzCQMWBvNSmTTSqdvPPvqwqtT 55 | DQTttwwLtQtVSDMJDRmmSS 56 | ffsWfvrBWrPvwJhPhPSMPMVn 57 | WsvsggFvwNLgHtNQ 58 | llBbVDMTlFVdFDTbVggSVsqZqZZZqqvNJZJRNRWgtv 59 | HhpjcHHvjPsqCsWcNcsq 60 | GfpvnPvwFDTTFFDw 61 | GMmFGMGFFgVwQHQwwM 62 | cJtZNtZTbThcZtcZJJtTZWJPllgNgpPvVgpjHvQpRpHQNg 63 | hWcJZcnhcJznbcBZLqSLDfCmHqnqCLsD 64 | zQpjLpnhnsHTnlQLrMCCHPFrvvCMPcHm 65 | ZfgdSBtNqBwlgSDfZDwtqSFvJCvrPrVvFmwCJFvrmmFV 66 | dfbRNZBqDtgRNBNNNljLLjhGRGGWGLGTRhjz 67 | hhrnfBzhtzZgDgDnBfrfDZsRpMNCNNWjwCCfGQGGNGCGQC 68 | lcdPmHLSPDSdFDpQMLjCQQQCRGpN 69 | lJSSbmPdVdVvdHbvSDFHHPlZqgBnttzgTsssTrqgbZbsTT 70 | FsdsShrgggLDdbSDsgrGrlWHTpfRpTjjfFTzRTRjBWWp 71 | mPvqCmJCqJNnPvPNPCvvLTTVjHjzNWHHTWRBRVTWVz 72 | wJLvqPZmJtccncvZmJqqrghDGQwbdSGdsgGgQgQr 73 | zFwtNJGtNFlpnwHccZjZbcpprsmc 74 | PWQfBWhBgQgTWQRLThBqMSVDSbbDRsVDmsmZsSZDjr 75 | fvQfWBfLqfTqhLhCvNFttJlCwGrrCC 76 | fNrGLNrfNrGjllRRRPmWVL 77 | tbJdcFbSSssZSmmpFcsSbwDWVWBlllVPDnnjBFjDRnBF 78 | ZZJcvZctgNmmvMGhQm 79 | HhhjFRhgrcRTFLvWVJVQWJVHDHQJPP 80 | GwCmwBfGzfSCzCfwtmtzzJVWSVJJZrbWQQQqJJDZVJ 81 | mtfzpGdststtBmfmCwrGRFcTcvjngjFnRcLnpLLn 82 | rrwjdwLgVmVwHrfPCJPQBCBGmPtt 83 | ccNZqbNnMMblNpTlNpnhhBPSJsQhJtJtChPJqS 84 | vTWvNcWNWTFvnnvcgjzDLVQLgHVwWDrW 85 | jNPgbNHbfLJgLzfz 86 | ShvhhFVVDShFVqMSSSvZfffvPLtBBBBJJlpfLJJv 87 | DqhnShhMnZZwCSDCMhChrRnNrNdNQbHNNPmjmdHN 88 | VQVZGQFnzFTSsBfgzgfs 89 | rjlpjtDrtMLZPMtPtpPZPwCsgSHgMHCCmCTWsgBWSBmg 90 | pjvDqLwrlDtwqtqNLvtjpPPwRNbQRncQVQddZhRhJQbJncbG 91 | PsBSqnSdQsFhmmmnppFc 92 | TRhNvrTCvNTHVcfHbJVTpc 93 | rhtWvGWLrjRqdSqqLLqdld 94 | vPhfqPJvrMrnffDDhvpMjdzGMLdLLQpllLGQ 95 | mbmcFSScGbSCcQlzwQQlclsg 96 | BSGVCmCTZWCGGvnvfZHqqrDhHN 97 | GSRfrzGRhzsGChjTBBlqBgjgCTCn 98 | wHQwtDVDHwHHDJcDWJZwzHZBqTnnBFlvjFgBqnljjvBdBZ 99 | JNmVJpVmNtDHJWHrbfPLhbGhrzRbpr 100 | WcWcbzNPbDwBNvWBwRMPQmJZQRQZftRZGP 101 | LhVHFgggTHCFHhfMQQSMMGQRMLLM 102 | qnrqppFVHphqfDsNbzjrzbrN 103 | cwgDrdLSrBrvvhDzCljjTW 104 | VHtVZpspQtMQsVRQppFVQVHtCdPTPTzdjvhTzTTPRvjjvWhn 105 | QQZpMdJsQFJHtMHdScwLwLJGrSScSwqw 106 | ZsjNflGfRfRPrZNRFcffLwJdwcLdDBnwzzzDznVn 107 | CTGvhhTqbtbgTqLJWdDntzWWdnLw 108 | phCMgmQGvvHCvMhbTQQFsNsNFPZSfZjffmNsll 109 | CNpCJHLNhhSSHZPgrFlFFWgpFpmzjj 110 | qQttDVDwQGdQGvqDQfwbcVrrlljjzzmzrVJgrr 111 | nvMDsqqqQvfvsqDnRSZHJPPZHhLHLS 112 | RNNrrPfDNRQwQhjscghMqs 113 | WVZlHvnZqtlLVLvwjwhsggTstMhwTw 114 | vGHWLJlVWlmLVqRCGCFFNfqqGf 115 | MNzqCnvqvqvCVLBvvCVCpVcRssncrPSTWGrPSPdGTcrP 116 | hmHwFmQjFlhtZmHwtZjjddSSGcsdPrrGcQQQRGPW 117 | fHbbFjlhZwmtwhfjmmwmmLbpLqzqvBzLzCvLNRMbNB 118 | tQfLrtQPrrfDSSCVlDfLSrmbBjGvWjjLmWWWpWNNppmv 119 | wdHhRTTndnRThdvnBFGpNBMnpvvp 120 | JdqTHTHHRdqzsJRRzTRHscJdDSGCfDlqQZqlfZrZZCffqSSQ 121 | hQMWLsgGJMMhsCHggQWhgspDWFPzZvPvptDvzvmtdtdF 122 | BrBlrTBrNRbfnjNQlZDztPvpmpppmzvfdd 123 | jQlQlqQVbVcsMgMgChhJVs 124 | MtFMCTWRFRRtCRTTRTMGJddjLdstHvBzBHzHVVpL 125 | lZSDnbDlnZPrbHpzJJsdSVJpBL 126 | nNghhPrlZlgDTFhCfMFJRMQF 127 | RGpPFZPRQZPFRGvpPQPpjvpmhnnCMjhmhgBgVgMVWBVgVM 128 | wLtfNdNHmrNthCBgCbhnngWd 129 | srSfwHfszsNmtswlrqQDGQFDRPJGDvzRppRJ 130 | GVFFGvVWZLFsmssFRNfVvmGGJPpJTTqDBvTpqlpDvqbBtTPl 131 | gQhzzChzrMQhjpzlzWzJpPpBJb 132 | ghgWjcCjMgCHWdQMhdjChCmfwmRRGZZGVHLZHRfmNwVs 133 | DnDVhdnrfSfpcGGjQQGdJddJ 134 | bPWPRbRsRMsHNzDqTZcGBcqZqmmN 135 | HvwPvvzMPwDCChDVwS 136 | vTCCvTfWFDTtRPMvfWFlDFHBqGLpLzbwBgWwqzGqbBbB 137 | cQcSNchSJSZShVJNnZrhSqBpgwGHHtGwqtbwLbqpbr 138 | JNnJVsJscNstNhQsjnVVNlFfMmTMFfCTfjFvfPRPPF 139 | VLFBsgffNFNqRvbz 140 | ChltjTdjDhHpHZvdpjjZhwCpbNrbSzzbrNGMTMMNSMbWWNSN 141 | vQjpttQhHnLsBQVLsQ 142 | mbzQgTzRVVbsVdQgzzVRddmztFGWNGNNWnGtFSGBsrCNWCrC 143 | jfJjvPPwLDcHDPvDDPDppLCWCFBGWntCBnrtFcrFWTGn 144 | wpJPLjvpTTDpwhfgzmVMbqhdhVRgzl 145 | PlcqbWClLmnqZVLq 146 | THwdrrhddhhfJJhwLJhpQnDVnznnmZQQnSpfpD 147 | vrFdvGsGHhhhwHjFGrFGJHdMCCcNgbWMPccRRccMFLNPPP 148 | tbppJqcNtJnZzRJbPFsFPHfZrrshFDjj 149 | GdwgwlLgGCndsDFrhDHHFF 150 | SSlLnmmvqWNqmcqb 151 | ZPFPPTZpZSWzCMMSzPBsFvhtlQvJQQtJhsVs 152 | dmNbmgbrwDNmbcDgwNdcwdLsnhlJlnvtsBJnhVQqqnstLB 153 | bNGfDGgHHVwbwNwVfgmRMzCzzCSHjSRZSZCTRS 154 | dDTffQdqQQLBLnVLLQvL 155 | rrBHZZcgJcrLvNLtLgRLbN 156 | cjjJhrFlhZwFFzwJzmTBBdmTsDPzDsBP 157 | ClGrJJMNCrGQqlcPvWgnDP 158 | ZBvbjHpSwBVVVcWjjjqQ 159 | BLSbbwsHSTBHwmLHHLbBsSTFdrfvCrtmdzfGJzrdzGJddGfh 160 | gljWRwmSjtJWjJtJjgjSZfVSTVVHGZSVHcVchZ 161 | pBzLFQpPsFBGcGBTThfB 162 | pFpQzFLPLpvQFQnLbsqqGddgjbmwRldwtWmlGWwj 163 | PDQDMFQBMfWPvjdLLndLjrmsMj 164 | qZqVzTRRqHtvZGGtVqTTzVjLLsrmJCddnLjrjHsrhdCr 165 | GzwcZtqNzqvNqwzZVGRwSzbpWfFbWPlWFpNDBfQfFNNf 166 | dfRszdzVdsjwdhLwCCqwGllHvPGPwG 167 | SpJtBLFgcGqHQClqZF 168 | JrttrtcTmSSLrmtBTrNgnBJjbNhhbhzRdsVdMhNjhMMhVd 169 | MPFSCfSMqVSBGrtzlvccfQctzbzl 170 | hZNjTHWWTZwshbLvmlWpBzmbmm 171 | dRTTJNDNhjsJqBBMMgrJPVVr 172 | WnVzDMjlDVWwwHgwhmgNhNNsJh 173 | qfvrLNCcbLdvpcvbrPPqCsGhSJGTTBspTshBpTBBms 174 | ZLvvZfrPfPCLbCFFzjVQzRnNNMVzDQ 175 | nllbFTTpTFTBcnCjQPqQdZRQZhCb 176 | tvWszrrztvSmzQQvrDmZRjjjPPDVqPRdZRdCPd 177 | gfzvSsftgQHQHgQl 178 | GVbHRRGRLpdmGWTm 179 | gSPPltPlrlvccFccPlcJNCTpnnmpMCLMMmWfdRmMSS 180 | FzNJRhhvPFRvQwzqjqzBHZZj 181 | PhZSpFBPBFsNmjBVllltBj 182 | JMGLnrrnbfffrdqRqPHnnqLDVTDDjgmRgwtmjDljlDVlwl 183 | LHMqPqPnnqGLWJPMnndrGfSWppzvvFSChFFFvvzQSQZz 184 | RSWWssbvnnCqZnWsRCnssWrTggNhgbNHBgQjhhQBgjNT 185 | mcpzcppzczcDGVcPcDLLGLjmrMNTNtQNHhMHrQBQNTgN 186 | LVpPfcjjWvsFFnFf 187 | MpddpdCpJdJlbdMvBHMnnsHqSRvG 188 | PWvZfFmZrrfmwWwFznBnqRRSGcsBVmVBRG 189 | zjzzhQPQvzjLPQzwffrwrtlTCDtJDlgJLltpTTJlTl 190 | TvTWjjzpznGttFFZccrrPrSZllcB 191 | gNNSqHMqsMHQJHNZCDDCZDqLZdlZBD 192 | SMQNSRNbRRHwhwhsRmtnvWVmmnbGnjmpGn 193 | ccSVQjCQddTsFJcH 194 | gLppBfgfmvCRFdsddTJJgb 195 | WMLMmWGGBZWZLCtvDhlSSDGlwhSPSzSP 196 | TpqVGVHFQGmqSqPZdccNCzzhdwCjNG 197 | fffbbvftMrBMDDcCccCZCjlvhCCd 198 | RLWMnbftDhnMRtfBftRJMtLMgFgHmmpmPmSmmQFPPLHHVTQS 199 | nRvwQSDNcpVJJcJR 200 | qZMjBhjhZMMBzLBGLGrjJbTPVTpbdPPdVbVb 201 | ZZpmFFZlfGqfmmGMzlfmMmnWQDtHtSvnWWNSHSSstFtS 202 | bFDGZjGDbbRSgLtN 203 | CphJVfJWCTBgvfLHNRcwnt 204 | WVhPWBTzzChzhhhBmrpPPCJZDQtdMlrjFQdrFqsjdrQsFG 205 | ZBpVQHHVMMWWdmmLWw 206 | lQhhrjcRttrqbvQLNwdDWzmNSDmStz 207 | QbGqhcbvcsqvCCHnsCZHCnTn 208 | tlWtQTTTJjTQtVnmrbnPWVShVC 209 | MDMGGzsHcwFgGZBqrmmPSnbqVmNVGC 210 | sZFPwHcMZDBRTlvQQJttTQTR 211 | FhVRfGptMGMnZhRFBNRBCCNHHNvTNTRC 212 | zmwrLLSjrbzmNlcvvrHvDPCN 213 | JLwjQdSbjdbSdqJQFGVqFVMgnGHMfGVV 214 | fffZWrJqZSHWTWHqSvrgDhggzRjttsDhpDgs 215 | PGlBLcBBbnnbLLFbGLBjRgjFTFVzshtzpgsppz 216 | TGCPnMPQlGnPmclPlnnQmbmHJvNvfHdqwddwvvZfCNHCfW 217 | ClLwpspTPrTFZCdzFbZdbQ 218 | RRMWfRgWVRMRQBZZScVczVGFbjNb 219 | MfnvMqWmslvDhQPw 220 | hdndSdqsTddBhdcmmNHFDcqHttPF 221 | JjMzzMZQGwZGZJzMzZJQzGJFvPvNPtFmvmNmDvcFtvDHMv 222 | gZwzQwJfGVJQJbGLBsSTSTdTbCWDBSnd 223 | ZZCHZRzMZGRMhMMVVFNThrdd 224 | SgsccSPmmgqssSlqsgcmscSqlhpFdVThjphNrdrhjdwdhFJN 225 | vmttqTcqvLqqmPccmqSBbRWnWzQZZZZBHnQCzHDH 226 | GgPnGdSPBpGsLTBL 227 | rVNJjmwZqtZZshltFTtvRFsL 228 | mqmWrZVqWjrqZMNwPMQQbsddgdsbsgPz 229 | LZLVvjZrggHLJggSZDgrnPnQnRnppVRllntRdPFz 230 | chMCzbqGmhNhhbBCMBdFnpfqFnltRRQnlPpQ 231 | TChmWcMMTmBswJzZZrWrvzgg 232 | gngRNBNRBsNFFBgfgbLLLnqdSLvLTcbLbd 233 | GWtlChlVMllcZSDWSLbdZL 234 | lljjGlhMGrGJpsFdRJfsfzfz 235 | jVTdrnGQcQtTTTFQqBqsgHHFgsqf 236 | ZZLbPLzDzPZCmsgqsBHt 237 | wDzDlPblRDPLPvhvwtdnnhdrnrMGWMVGMThj 238 | spjjpjvjpjmQjrpCMfSlfzrPBl 239 | dHFntHWnnbRVFtnbcqHFzBCCCPzfPMlcCSlgllzc 240 | RLbVWHnnSWtnHFbdbVRdNNtQsjsQTjDLwmGTmTssQwmLGJ 241 | JbJJSLMhRMSLhNqqwFDwFNcFqL 242 | GcpnGnznnpzpzGpffNTNTwTfwdDNNdTFdD 243 | nllnlPGWQWHcGpzzQGGzGvHGJbVVtJSChQVbmtmVJrmrmbRm 244 | GFsFrzwrflmtdtbltG 245 | ggLPDngCJncNLJRDwgnllmJqjWMjhjhjWWmWjj 246 | nBNRNPgpRgDLTgNwfsSHVBQHVHwsZr 247 | WwvnvWvcFtwtSFSF 248 | zBZZZRQSzMBSgSVJGjGTPTGFzCzmmj 249 | fZDrpZZfRfMgSQDDBhgQghDHsnbrcNlWnnLWHLrHsWnllc 250 | ZVncdPPwVPdhZngnqHWHNNvTHvlMvn 251 | fSLjjLSGGBjTTHqvBqrMNT 252 | RSSSDGRtSGZthTTctmtg 253 | rtzrfJbgJHRfGRZLPR 254 | hdVhlllmFlFPLwHmsRGGZP 255 | nTWhRjTBTWlvNQgnJSSbrJtz 256 | JgVTpBpfvgpTDDJFJvTgggtlFlNNMRLNNzNNZRNHMRCLlF 257 | wbPWcSGbGqWDlnNWMMMCLMWZ 258 | wrsGcbrcbcqwDwbcmGvQBQgTTsdVJgJsVdQf 259 | mztrhgJtDrhgcrZmnhbnzbhcMTMPlBCPBGVGTMVGslCCPGDs 260 | FLRQmjjFSQpQwLlPsMsCpvslvPCB 261 | fNLLwSdSwWSWjwmrtczZhhrJzdzh 262 | HHwCwJFmHZttZCfCSffSMHcVDMcPBRPcPRDhPghM 263 | nvQLsTnLslnLvpzGTssnsRPDMhPgVPVgtcVMRPgVQQ 264 | vnsTGWlTLsWTLLvNsGWlsZrwmZCJddjFmtJJNZFftj 265 | hbjSTvSJTfcSwcPSPfTbfHszVVFpGnpJpsHFnHVVls 266 | rtZrcQrRZZQrmZBQlCGppnppHzpVFCGR 267 | WmLqmgNtcLNQWTbPvfPwbbdb 268 | HzZgsdHglHlzdHsFtsNNJSlNcSpjcjlrrNVv 269 | wqqWRPPqwmbcqPjQVvSPJJrVpv 270 | qqBBqmWRhqRLqcBnhzzztgnTdDHnHsFsHn 271 | rJPFVwwsrJwmdVrLWJvvRBWBvbzWlb 272 | nDZcNGNpjTpHncvpZCDnTNZGhlWzQhWbpRRQlQhpWWSWLlQb 273 | CDNntnCCHnvmqPfwtFdVqd 274 | gqBwgBjCswwgqNBNCVDDTVdhlSDTDcZc 275 | HvRRFMzRRRRMpHrtTllfhZHHSShHTf 276 | PmlGLPrppMrrmFFmLMWRjbsjnsjwQNJWnbQjWgBN 277 | pDggpFgRghZjBFPPnPPFrt 278 | cwTfLwBVwCWbLcVTVVvrdndGjMHrnGJtnttdMC 279 | NTVcWNvcBSpgNqspRQlN 280 | DLDgFlDmNZfjfnJZSF 281 | tctvttzvGGzvrHqtVVdwnJGSSnnjjZdWTdwW 282 | zvpcrbpHpqJJsPbPlLlhmhglPQ 283 | pvHHvssFCFZQNCftttdQdd 284 | VgTGTTVGgLjDjlLGzgPVMTNwmcwQmMQfQtmdcmwMJwNm 285 | TPjTDjfGWTLLljgzrWpZZbsqrFqhqbps 286 | ppVLcfcwSLgpSLVLgWwtfshDNDqvWvGvlQZvDNHQHjqq 287 | MPrzmdRrPPrCJFnMnMRRFRPdqqZQNQvjvZDGDlHhQvGNDG 288 | BmBMBBJTMmPBJMMFCCFJRmrsTlVpVbpwLSVwLsgcwTVlVc 289 | SSGzmFRzmRGLgSSmGMJFnvfvJnJVnJQnMl 290 | cBpjHtjwNfcpNZtppHtCMlMPMlJBVlVQlvJPvJ 291 | dNtNZwqWfqtqZWtHttsqHqrRrrdRTLbmmzSLmTGGmbrg 292 | RrrddnrgnRbbgWdGrfnwgQwjDjDpvTpBQTwBPP 293 | MHCStZJzSwvPjWQD 294 | mcJWVHCCLcGLbdcn 295 | PlMsdjPdGMjdPSrSjgddbLbmHHTszHZzpHmsTFvmpzZzmN 296 | ntRJQVRfcQhcQWhnchBJWntTFTTTNTSpFtztmZFDTpDZ 297 | hQfcfCBSwCccVJhSJnrPPGLqPlbPLCrqldgb 298 | vgvWDMZvGpcqgqsP 299 | tSdtjLHLQLHjdFdDddQSQhwlsGqwQlqqqhQsPhGc 300 | tbRjtTLFRvTZDBrMrV -------------------------------------------------------------------------------- /2022/data/day4.txt: -------------------------------------------------------------------------------- 1 | 51-88,52-87 2 | 41-55,22-56 3 | 6-74,74-86 4 | 51-98,52-86 5 | 8-77,3-94 6 | 76-76,77-97 7 | 29-42,29-35 8 | 59-97,60-60 9 | 9-86,27-86 10 | 58-85,59-85 11 | 23-41,26-39 12 | 87-91,74-93 13 | 13-83,83-84 14 | 16-82,15-82 15 | 15-95,14-96 16 | 1-1,2-93 17 | 3-87,2-74 18 | 6-47,7-78 19 | 47-68,47-92 20 | 4-64,5-68 21 | 14-14,8-45 22 | 38-52,52-53 23 | 8-19,25-85 24 | 34-80,35-81 25 | 64-64,64-80 26 | 28-54,53-64 27 | 10-97,16-98 28 | 9-94,93-95 29 | 15-67,16-67 30 | 7-83,8-83 31 | 6-95,90-99 32 | 2-4,3-52 33 | 21-50,20-50 34 | 47-49,15-47 35 | 4-38,7-38 36 | 5-72,13-59 37 | 7-82,2-7 38 | 3-85,4-91 39 | 11-79,6-9 40 | 87-94,77-88 41 | 10-10,8-12 42 | 44-59,58-60 43 | 94-97,5-90 44 | 30-73,29-30 45 | 1-87,10-78 46 | 16-53,6-9 47 | 26-88,27-53 48 | 21-68,67-69 49 | 49-62,50-61 50 | 20-32,10-34 51 | 28-29,21-31 52 | 47-55,89-98 53 | 84-85,23-85 54 | 10-54,11-54 55 | 52-92,19-51 56 | 66-85,48-98 57 | 43-44,44-85 58 | 44-97,43-58 59 | 24-76,68-70 60 | 35-52,13-53 61 | 46-62,43-80 62 | 2-99,21-58 63 | 29-73,28-29 64 | 56-71,56-71 65 | 16-80,14-81 66 | 22-64,16-63 67 | 42-59,42-74 68 | 39-79,39-79 69 | 21-98,20-98 70 | 48-49,49-97 71 | 9-88,10-88 72 | 72-73,51-72 73 | 7-81,6-82 74 | 68-70,15-69 75 | 98-99,70-75 76 | 82-82,16-82 77 | 38-42,38-80 78 | 96-99,1-95 79 | 46-92,45-45 80 | 38-44,37-45 81 | 94-97,93-96 82 | 7-59,43-58 83 | 2-86,85-87 84 | 17-26,22-26 85 | 6-68,5-10 86 | 8-91,91-99 87 | 7-93,13-93 88 | 61-92,61-81 89 | 40-67,30-68 90 | 25-53,38-50 91 | 2-64,3-98 92 | 58-70,58-68 93 | 57-89,57-89 94 | 32-69,31-76 95 | 14-90,4-90 96 | 58-82,32-86 97 | 47-70,46-69 98 | 5-82,3-5 99 | 7-47,42-43 100 | 98-98,1-99 101 | 60-84,60-83 102 | 10-38,9-91 103 | 12-98,10-99 104 | 57-74,56-56 105 | 11-96,10-11 106 | 25-92,24-24 107 | 61-82,99-99 108 | 52-67,54-56 109 | 2-81,1-81 110 | 48-49,1-47 111 | 22-68,36-69 112 | 2-90,7-89 113 | 24-57,31-56 114 | 1-65,46-63 115 | 1-87,39-86 116 | 78-82,80-99 117 | 66-68,35-74 118 | 13-92,14-93 119 | 32-80,32-40 120 | 98-98,4-99 121 | 98-98,2-7 122 | 28-28,28-81 123 | 27-53,15-54 124 | 3-84,1-1 125 | 3-34,9-31 126 | 40-97,19-96 127 | 13-60,7-60 128 | 24-76,40-75 129 | 91-92,5-91 130 | 40-42,8-41 131 | 73-75,28-74 132 | 95-95,44-96 133 | 13-16,16-74 134 | 22-71,21-71 135 | 7-7,5-15 136 | 1-80,4-81 137 | 36-71,37-72 138 | 84-85,68-85 139 | 16-63,12-12 140 | 11-50,4-49 141 | 30-94,10-95 142 | 2-73,2-98 143 | 10-85,10-85 144 | 49-58,30-59 145 | 48-67,15-32 146 | 31-69,32-68 147 | 71-94,70-98 148 | 10-93,9-93 149 | 5-5,6-95 150 | 71-89,70-71 151 | 41-66,6-42 152 | 7-90,6-90 153 | 78-79,17-78 154 | 83-84,2-84 155 | 2-99,1-99 156 | 65-86,66-82 157 | 44-49,44-46 158 | 58-90,90-91 159 | 7-38,8-97 160 | 14-74,88-99 161 | 54-91,53-88 162 | 34-56,34-76 163 | 13-55,14-55 164 | 64-64,63-76 165 | 24-89,4-92 166 | 69-83,68-70 167 | 11-92,10-95 168 | 41-63,35-63 169 | 42-65,43-64 170 | 26-64,64-78 171 | 25-47,16-20 172 | 14-54,13-55 173 | 77-77,76-93 174 | 15-15,16-85 175 | 67-71,66-70 176 | 9-17,12-18 177 | 12-95,12-95 178 | 70-76,29-70 179 | 6-13,7-12 180 | 9-77,8-12 181 | 57-94,7-57 182 | 86-87,87-90 183 | 45-89,63-98 184 | 45-55,63-93 185 | 81-82,7-81 186 | 7-77,76-78 187 | 19-58,9-19 188 | 1-93,2-92 189 | 57-83,56-58 190 | 2-98,4-98 191 | 1-18,1-9 192 | 39-74,27-44 193 | 5-73,3-95 194 | 36-62,94-95 195 | 62-73,61-81 196 | 33-63,53-62 197 | 34-45,33-33 198 | 13-25,12-12 199 | 91-92,25-91 200 | 19-23,41-85 201 | 4-10,24-92 202 | 29-35,35-80 203 | 19-23,22-76 204 | 4-70,5-52 205 | 4-90,3-89 206 | 49-84,19-85 207 | 7-65,6-6 208 | 37-81,31-37 209 | 18-77,76-76 210 | 20-88,87-89 211 | 16-91,79-90 212 | 82-84,39-83 213 | 3-23,39-47 214 | 26-94,95-99 215 | 8-98,7-9 216 | 4-54,21-27 217 | 5-78,20-79 218 | 21-52,22-35 219 | 4-53,2-77 220 | 26-71,18-71 221 | 11-71,12-12 222 | 10-77,9-9 223 | 88-97,41-87 224 | 60-97,96-98 225 | 2-7,8-60 226 | 59-63,60-63 227 | 81-82,31-81 228 | 92-92,86-93 229 | 75-82,16-75 230 | 32-76,33-33 231 | 69-93,70-93 232 | 25-59,24-57 233 | 56-57,41-69 234 | 56-94,55-74 235 | 6-94,28-58 236 | 44-93,45-92 237 | 44-44,44-92 238 | 33-45,46-56 239 | 4-55,11-54 240 | 11-98,12-99 241 | 35-61,37-61 242 | 2-3,8-99 243 | 2-2,4-29 244 | 29-49,21-49 245 | 4-17,19-85 246 | 47-75,47-92 247 | 11-12,11-98 248 | 84-85,21-84 249 | 55-99,54-96 250 | 24-28,4-32 251 | 22-88,21-23 252 | 12-93,11-92 253 | 13-80,13-79 254 | 89-91,3-90 255 | 16-72,57-59 256 | 16-82,82-82 257 | 26-39,13-19 258 | 72-78,73-77 259 | 18-87,96-98 260 | 73-90,60-73 261 | 44-44,3-95 262 | 5-94,4-95 263 | 28-68,29-49 264 | 13-72,14-73 265 | 10-99,5-98 266 | 25-38,11-48 267 | 30-98,97-99 268 | 12-91,13-92 269 | 1-85,2-20 270 | 6-6,8-98 271 | 16-86,86-94 272 | 6-99,3-99 273 | 77-81,3-76 274 | 1-30,9-14 275 | 43-74,42-43 276 | 33-93,32-92 277 | 3-68,4-69 278 | 2-96,2-21 279 | 65-81,80-88 280 | 19-19,20-93 281 | 14-41,32-34 282 | 34-80,34-82 283 | 3-81,9-82 284 | 72-96,72-99 285 | 16-43,42-60 286 | 8-88,54-60 287 | 92-94,93-95 288 | 80-95,80-95 289 | 81-82,29-81 290 | 12-85,13-43 291 | 5-93,91-92 292 | 34-78,51-65 293 | 10-75,9-75 294 | 61-65,33-77 295 | 18-18,19-97 296 | 69-80,70-81 297 | 90-92,68-91 298 | 4-29,5-30 299 | 71-80,70-83 300 | 4-85,5-84 301 | 99-99,26-87 302 | 8-35,35-97 303 | 64-66,30-65 304 | 24-85,21-86 305 | 4-9,10-92 306 | 4-29,3-5 307 | 11-72,11-72 308 | 76-78,62-80 309 | 38-80,48-79 310 | 30-86,2-90 311 | 14-98,15-87 312 | 11-39,7-39 313 | 6-99,7-7 314 | 45-87,13-18 315 | 13-84,12-12 316 | 79-80,79-94 317 | 22-81,23-29 318 | 6-7,7-54 319 | 8-75,9-19 320 | 62-89,62-76 321 | 54-99,53-99 322 | 21-74,5-75 323 | 44-44,46-81 324 | 34-92,34-92 325 | 94-94,11-95 326 | 4-95,13-94 327 | 65-68,67-97 328 | 13-52,12-13 329 | 3-17,17-18 330 | 24-94,67-95 331 | 57-74,56-56 332 | 31-58,18-41 333 | 71-78,70-71 334 | 80-90,80-89 335 | 64-75,4-65 336 | 19-70,46-69 337 | 2-5,4-79 338 | 52-95,73-96 339 | 28-57,15-90 340 | 21-59,53-58 341 | 10-27,6-10 342 | 21-98,58-97 343 | 81-93,82-93 344 | 81-84,50-82 345 | 19-29,20-25 346 | 95-97,1-96 347 | 3-65,38-39 348 | 24-98,25-97 349 | 42-69,15-43 350 | 50-51,37-50 351 | 17-97,16-84 352 | 26-58,41-57 353 | 25-66,24-24 354 | 21-61,57-69 355 | 7-83,6-84 356 | 43-76,51-75 357 | 26-30,32-87 358 | 55-55,56-56 359 | 41-58,57-87 360 | 49-82,48-83 361 | 25-46,45-45 362 | 7-88,1-94 363 | 8-89,7-8 364 | 9-18,11-12 365 | 19-94,94-97 366 | 2-98,1-1 367 | 40-60,41-85 368 | 13-14,13-99 369 | 30-34,29-33 370 | 22-22,21-21 371 | 27-28,25-27 372 | 5-23,16-22 373 | 37-54,54-72 374 | 16-21,25-42 375 | 33-70,47-70 376 | 57-65,57-64 377 | 78-78,15-79 378 | 44-49,44-98 379 | 27-56,20-33 380 | 81-85,71-95 381 | 91-92,1-92 382 | 52-76,50-51 383 | 21-94,21-94 384 | 20-94,21-28 385 | 57-60,59-98 386 | 21-42,22-62 387 | 48-48,42-52 388 | 27-86,21-94 389 | 63-96,63-96 390 | 1-71,1-71 391 | 5-48,47-80 392 | 90-91,28-90 393 | 13-67,13-65 394 | 97-97,13-98 395 | 6-20,7-55 396 | 1-65,2-65 397 | 83-98,98-99 398 | 11-46,45-69 399 | 6-68,6-55 400 | 52-73,53-74 401 | 77-82,77-80 402 | 89-98,6-98 403 | 63-65,17-64 404 | 8-26,1-8 405 | 11-79,3-12 406 | 7-95,2-99 407 | 92-99,50-93 408 | 14-84,83-83 409 | 1-99,1-99 410 | 47-76,46-77 411 | 3-55,2-56 412 | 43-79,79-94 413 | 14-64,43-65 414 | 58-63,59-62 415 | 5-99,2-5 416 | 64-66,6-65 417 | 17-91,16-90 418 | 82-92,91-93 419 | 15-77,16-47 420 | 27-98,59-91 421 | 18-93,17-90 422 | 11-26,17-82 423 | 75-83,66-83 424 | 14-66,2-8 425 | 21-73,74-89 426 | 21-88,22-89 427 | 40-40,60-84 428 | 6-61,13-62 429 | 9-96,7-7 430 | 12-84,7-99 431 | 14-70,9-17 432 | 44-44,15-43 433 | 1-55,2-56 434 | 26-91,25-92 435 | 76-87,36-86 436 | 1-52,52-93 437 | 28-41,27-40 438 | 51-95,67-71 439 | 49-78,34-79 440 | 30-38,30-31 441 | 7-99,6-6 442 | 49-80,14-50 443 | 7-98,9-92 444 | 15-80,14-80 445 | 10-86,8-11 446 | 28-35,27-74 447 | 1-9,10-60 448 | 4-63,9-62 449 | 36-37,36-36 450 | 54-73,54-94 451 | 24-91,92-92 452 | 48-50,16-49 453 | 26-41,26-41 454 | 18-20,19-46 455 | 11-16,16-88 456 | 40-79,27-40 457 | 4-53,4-53 458 | 30-40,56-59 459 | 97-99,2-98 460 | 92-94,10-93 461 | 12-64,12-64 462 | 78-84,13-67 463 | 25-27,26-65 464 | 50-87,27-88 465 | 32-57,18-33 466 | 92-93,24-93 467 | 1-12,12-33 468 | 7-99,6-97 469 | 14-58,3-57 470 | 17-45,18-90 471 | 9-35,29-34 472 | 2-78,46-77 473 | 3-39,23-39 474 | 82-87,10-94 475 | 64-75,64-74 476 | 26-99,25-99 477 | 15-97,96-98 478 | 44-45,26-44 479 | 52-97,34-38 480 | 19-42,7-20 481 | 9-72,31-73 482 | 12-12,11-53 483 | 4-4,6-90 484 | 76-99,98-98 485 | 53-55,54-95 486 | 64-69,8-73 487 | 11-97,14-98 488 | 43-82,83-83 489 | 14-47,13-47 490 | 60-64,59-78 491 | 87-88,1-87 492 | 3-82,5-65 493 | 4-4,5-98 494 | 10-85,84-86 495 | 37-99,37-99 496 | 15-89,16-88 497 | 10-97,9-99 498 | 35-92,97-97 499 | 77-97,78-98 500 | 1-79,5-80 501 | 26-35,27-65 502 | 3-98,4-98 503 | 63-63,1-64 504 | 63-97,67-84 505 | 5-7,9-69 506 | 16-32,17-44 507 | 12-98,13-13 508 | 6-87,49-86 509 | 91-91,24-92 510 | 23-87,23-87 511 | 10-26,16-26 512 | 48-72,3-73 513 | 38-39,38-61 514 | 79-79,54-80 515 | 42-42,43-48 516 | 4-99,11-96 517 | 17-70,18-49 518 | 46-96,85-95 519 | 13-77,14-14 520 | 33-35,34-37 521 | 38-43,42-43 522 | 19-94,5-94 523 | 24-26,25-91 524 | 4-90,4-90 525 | 94-99,30-40 526 | 29-89,30-93 527 | 63-95,20-96 528 | 5-71,4-4 529 | 31-54,21-54 530 | 88-89,4-88 531 | 5-88,2-98 532 | 6-98,19-46 533 | 2-63,96-98 534 | 61-95,61-95 535 | 22-79,21-65 536 | 44-87,43-86 537 | 18-93,34-92 538 | 35-42,41-43 539 | 5-73,16-72 540 | 76-80,52-76 541 | 11-20,7-75 542 | 1-92,9-92 543 | 81-83,45-82 544 | 56-86,55-56 545 | 27-62,18-22 546 | 13-13,12-80 547 | 30-69,31-87 548 | 8-96,1-3 549 | 53-53,52-78 550 | 59-99,58-94 551 | 48-71,5-48 552 | 21-40,40-41 553 | 37-64,40-65 554 | 5-84,6-83 555 | 4-98,12-99 556 | 73-85,69-87 557 | 46-79,21-47 558 | 25-27,26-26 559 | 9-17,8-90 560 | 19-19,20-34 561 | 59-98,58-58 562 | 1-9,9-78 563 | 3-3,4-92 564 | 88-89,46-88 565 | 3-91,2-91 566 | 34-44,45-84 567 | 1-88,2-89 568 | 18-96,6-99 569 | 48-79,39-83 570 | 73-88,41-73 571 | 3-93,6-60 572 | 15-94,93-93 573 | 12-80,11-79 574 | 14-23,51-77 575 | 23-24,3-28 576 | 36-60,6-60 577 | 43-48,44-57 578 | 13-96,6-92 579 | 54-91,53-92 580 | 6-76,5-64 581 | 5-28,26-29 582 | 3-63,5-64 583 | 20-49,30-49 584 | 8-97,6-9 585 | 4-72,8-71 586 | 57-67,56-88 587 | 51-65,25-65 588 | 1-8,3-9 589 | 64-91,64-99 590 | 82-93,92-94 591 | 53-74,4-96 592 | 40-40,41-76 593 | 11-85,52-84 594 | 33-44,44-89 595 | 3-95,95-96 596 | 15-49,48-90 597 | 17-96,95-97 598 | 94-96,3-95 599 | 2-92,3-93 600 | 66-70,65-66 601 | 6-82,53-82 602 | 1-36,3-37 603 | 78-84,71-85 604 | 21-74,15-21 605 | 21-68,42-89 606 | 36-92,65-92 607 | 59-83,59-81 608 | 8-80,93-93 609 | 16-93,5-13 610 | 6-40,5-41 611 | 2-13,13-98 612 | 59-73,25-60 613 | 52-75,68-74 614 | 31-43,32-67 615 | 22-71,22-70 616 | 26-26,27-79 617 | 21-22,23-87 618 | 56-98,17-57 619 | 48-49,13-48 620 | 19-54,19-92 621 | 11-38,10-11 622 | 39-51,46-71 623 | 2-58,57-57 624 | 20-87,45-84 625 | 25-37,21-26 626 | 82-83,4-82 627 | 72-96,73-96 628 | 28-90,27-95 629 | 1-4,3-98 630 | 57-77,1-78 631 | 27-88,21-88 632 | 11-51,51-81 633 | 40-94,79-93 634 | 6-52,52-53 635 | 17-98,18-77 636 | 33-33,4-34 637 | 15-38,8-8 638 | 2-16,22-42 639 | 1-95,96-96 640 | 90-95,13-90 641 | 10-63,9-97 642 | 5-7,5-11 643 | 6-94,93-93 644 | 19-46,46-99 645 | 19-72,20-73 646 | 54-55,55-64 647 | 10-96,7-7 648 | 2-80,1-80 649 | 8-96,6-9 650 | 3-27,1-2 651 | 6-77,5-76 652 | 22-42,3-18 653 | 4-5,3-4 654 | 28-67,66-68 655 | 1-94,99-99 656 | 11-13,10-12 657 | 79-80,74-79 658 | 31-83,35-84 659 | 63-63,59-67 660 | 86-88,45-87 661 | 2-93,2-52 662 | 1-6,6-39 663 | 16-70,27-37 664 | 72-95,94-98 665 | 3-82,3-81 666 | 8-77,7-78 667 | 7-8,9-96 668 | 64-65,64-65 669 | 35-88,34-89 670 | 8-97,7-98 671 | 2-94,4-95 672 | 50-51,4-50 673 | 5-98,1-4 674 | 56-93,1-92 675 | 33-33,34-98 676 | 46-88,66-87 677 | 35-97,34-97 678 | 4-96,1-4 679 | 68-72,69-72 680 | 58-85,59-95 681 | 18-96,72-97 682 | 19-32,20-94 683 | 16-63,15-63 684 | 47-47,9-46 685 | 96-97,18-97 686 | 21-89,5-21 687 | 9-42,20-41 688 | 34-94,19-93 689 | 60-76,59-80 690 | 76-80,77-78 691 | 13-94,23-94 692 | 30-88,22-89 693 | 34-34,35-87 694 | 92-98,40-93 695 | 20-99,20-99 696 | 5-90,6-29 697 | 6-78,40-79 698 | 46-73,44-74 699 | 1-96,37-95 700 | 21-91,91-95 701 | 6-85,3-85 702 | 13-64,79-89 703 | 41-82,81-90 704 | 7-84,8-36 705 | 23-30,23-30 706 | 28-29,29-55 707 | 98-99,13-98 708 | 28-89,88-98 709 | 95-98,94-94 710 | 78-78,79-97 711 | 81-81,81-82 712 | 2-89,1-90 713 | 27-29,28-62 714 | 17-95,36-86 715 | 1-99,3-97 716 | 10-99,11-46 717 | 24-53,23-83 718 | 34-47,17-33 719 | 7-66,7-89 720 | 24-55,20-32 721 | 40-41,18-40 722 | 17-59,33-60 723 | 59-82,60-62 724 | 4-4,3-60 725 | 25-94,24-94 726 | 30-42,41-43 727 | 69-69,5-68 728 | 23-84,24-83 729 | 13-71,13-76 730 | 10-84,7-7 731 | 57-86,51-61 732 | 66-68,62-67 733 | 9-85,10-86 734 | 29-97,4-98 735 | 95-96,46-95 736 | 2-50,1-3 737 | 24-72,6-24 738 | 61-61,29-60 739 | 24-28,24-72 740 | 5-97,2-98 741 | 1-88,16-72 742 | 38-38,37-38 743 | 18-94,66-93 744 | 35-36,36-48 745 | 45-98,45-99 746 | 17-84,85-98 747 | 26-26,25-34 748 | 78-80,29-79 749 | 31-43,30-30 750 | 25-35,29-73 751 | 20-93,27-92 752 | 28-90,29-91 753 | 17-32,31-32 754 | 14-56,7-55 755 | 39-96,3-12 756 | 97-97,35-98 757 | 18-34,35-51 758 | 32-79,9-84 759 | 30-32,13-31 760 | 27-95,31-96 761 | 30-30,31-44 762 | 37-82,38-81 763 | 8-85,7-62 764 | 4-99,5-5 765 | 11-13,12-64 766 | 20-96,19-79 767 | 52-72,29-53 768 | 40-74,73-74 769 | 15-54,16-36 770 | 3-96,4-95 771 | 13-14,16-87 772 | 22-41,39-42 773 | 60-65,59-59 774 | 74-80,15-74 775 | 61-61,4-60 776 | 38-84,39-84 777 | 6-16,6-6 778 | 1-96,96-97 779 | 1-98,97-98 780 | 2-99,1-99 781 | 25-96,12-24 782 | 30-62,30-63 783 | 4-88,5-89 784 | 8-86,7-7 785 | 12-97,4-97 786 | 81-88,80-88 787 | 8-82,6-6 788 | 94-96,3-95 789 | 2-98,1-99 790 | 53-92,75-85 791 | 18-18,19-95 792 | 23-39,23-39 793 | 5-94,93-93 794 | 62-96,26-97 795 | 1-98,35-97 796 | 39-53,8-53 797 | 10-67,9-66 798 | 85-90,14-81 799 | 10-69,11-39 800 | 69-74,39-96 801 | 12-35,12-35 802 | 25-56,24-64 803 | 20-76,75-77 804 | 13-78,10-13 805 | 3-43,43-80 806 | 52-71,21-84 807 | 40-48,33-96 808 | 3-98,9-98 809 | 29-38,37-39 810 | 18-27,26-26 811 | 6-82,4-89 812 | 18-56,19-57 813 | 28-76,6-77 814 | 12-73,11-46 815 | 10-40,11-41 816 | 99-99,34-91 817 | 32-91,91-94 818 | 38-53,27-60 819 | 36-88,35-89 820 | 3-68,2-53 821 | 6-85,6-85 822 | 47-49,6-56 823 | 31-92,30-92 824 | 6-42,11-43 825 | 1-1,9-64 826 | 48-65,24-47 827 | 18-65,2-5 828 | 28-86,1-27 829 | 4-26,5-94 830 | 15-75,14-15 831 | 11-48,10-19 832 | 13-75,14-75 833 | 51-90,47-89 834 | 60-92,13-95 835 | 14-57,14-57 836 | 5-96,4-5 837 | 27-33,20-32 838 | 15-49,1-48 839 | 44-70,43-56 840 | 62-90,88-88 841 | 38-58,13-80 842 | 9-94,8-93 843 | 42-88,42-52 844 | 39-91,42-92 845 | 4-74,75-81 846 | 73-75,72-77 847 | 49-78,50-67 848 | 22-64,9-23 849 | 3-89,55-60 850 | 64-88,76-87 851 | 29-60,60-92 852 | 56-99,98-98 853 | 45-96,19-95 854 | 48-65,49-66 855 | 59-88,90-91 856 | 43-78,20-20 857 | 24-65,15-24 858 | 70-76,67-70 859 | 24-99,25-98 860 | 76-98,75-77 861 | 34-56,34-56 862 | 70-86,85-86 863 | 33-98,32-99 864 | 27-30,28-29 865 | 72-99,72-97 866 | 4-33,1-33 867 | 22-95,21-96 868 | 13-19,22-59 869 | 59-77,6-59 870 | 5-59,3-5 871 | 20-61,60-62 872 | 9-98,10-99 873 | 11-91,19-86 874 | 2-93,4-42 875 | 33-41,61-65 876 | 4-98,4-72 877 | 50-68,13-51 878 | 97-98,21-97 879 | 21-72,22-71 880 | 37-84,2-85 881 | 2-85,18-85 882 | 42-96,41-97 883 | 29-84,52-66 884 | 20-98,57-89 885 | 3-91,3-91 886 | 38-80,39-79 887 | 89-89,11-88 888 | 10-40,40-70 889 | 39-80,38-87 890 | 62-63,52-62 891 | 1-52,2-52 892 | 97-97,2-97 893 | 5-59,58-58 894 | 31-59,28-70 895 | 27-88,21-24 896 | 13-41,13-84 897 | 3-42,3-42 898 | 70-94,69-93 899 | 16-53,15-52 900 | 90-96,13-57 901 | 63-75,60-76 902 | 87-87,4-55 903 | 3-44,4-85 904 | 7-98,10-87 905 | 2-65,3-65 906 | 27-93,27-92 907 | 35-54,34-53 908 | 40-75,98-99 909 | 14-14,13-53 910 | 16-16,17-97 911 | 39-96,41-96 912 | 70-72,71-97 913 | 35-35,32-36 914 | 48-84,85-95 915 | 7-81,11-81 916 | 31-94,31-94 917 | 1-2,4-72 918 | 3-99,3-99 919 | 92-94,21-28 920 | 39-73,38-83 921 | 6-57,6-57 922 | 68-90,67-98 923 | 9-81,10-82 924 | 57-81,57-81 925 | 16-59,57-60 926 | 10-42,2-43 927 | 14-77,12-15 928 | 88-88,3-87 929 | 88-89,13-89 930 | 68-69,7-69 931 | 63-92,92-98 932 | 37-87,85-86 933 | 4-56,5-22 934 | 15-52,51-51 935 | 92-93,74-92 936 | 9-98,7-10 937 | 17-17,18-53 938 | 55-88,61-72 939 | 38-81,65-78 940 | 98-99,59-73 941 | 17-22,18-22 942 | 69-94,68-69 943 | 84-85,6-84 944 | 12-12,13-95 945 | 8-34,7-8 946 | 2-38,3-38 947 | 20-29,28-80 948 | 21-52,22-52 949 | 36-91,90-92 950 | 5-90,4-91 951 | 1-41,1-36 952 | 3-76,10-98 953 | 14-41,2-14 954 | 18-64,19-64 955 | 37-93,83-92 956 | 31-36,32-60 957 | 53-83,47-84 958 | 2-89,70-77 959 | 28-83,84-84 960 | 31-59,58-71 961 | 10-98,10-87 962 | 19-80,20-81 963 | 11-17,9-18 964 | 29-76,48-52 965 | 10-33,33-65 966 | 20-83,68-99 967 | 14-43,13-13 968 | 44-71,62-70 969 | 59-63,49-64 970 | 14-94,94-95 971 | 5-89,2-2 972 | 83-95,84-95 973 | 2-9,8-93 974 | 63-69,68-68 975 | 73-75,5-74 976 | 82-92,91-93 977 | 5-5,4-57 978 | 35-39,35-83 979 | 71-83,56-83 980 | 87-87,8-88 981 | 95-98,2-30 982 | 10-60,59-89 983 | 13-23,25-93 984 | 73-86,22-85 985 | 32-47,46-90 986 | 5-79,3-16 987 | 20-92,28-69 988 | 30-31,19-31 989 | 41-70,9-36 990 | 1-49,2-98 991 | 1-96,41-96 992 | 44-50,44-71 993 | 1-28,2-27 994 | 13-93,74-92 995 | 37-38,31-37 996 | 4-79,3-80 997 | 14-50,37-37 998 | 5-68,46-68 999 | 23-63,22-63 1000 | 3-94,1-3 -------------------------------------------------------------------------------- /2022/data/day5.txt: -------------------------------------------------------------------------------- 1 | [J] [B] [W] 2 | [T] [W] [F] [R] [Z] 3 | [Q] [M] [J] [R] [W] [H] 4 | [F] [L] [P] [R] [N] [Z] [G] 5 | [F] [M] [S] [Q] [M] [P] [S] [C] 6 | [L] [V] [R] [V] [W] [P] [C] [P] [J] 7 | [M] [Z] [V] [S] [S] [V] [Q] [H] [M] 8 | [W] [B] [H] [F] [L] [F] [J] [V] [B] 9 | 1 2 3 4 5 6 7 8 9 10 | 11 | move 3 from 5 to 7 12 | move 2 from 8 to 9 13 | move 4 from 3 to 5 14 | move 2 from 1 to 7 15 | move 1 from 3 to 6 16 | move 2 from 1 to 7 17 | move 1 from 8 to 7 18 | move 4 from 2 to 8 19 | move 10 from 9 to 1 20 | move 6 from 6 to 2 21 | move 1 from 6 to 7 22 | move 9 from 8 to 6 23 | move 4 from 2 to 4 24 | move 2 from 4 to 1 25 | move 6 from 1 to 6 26 | move 1 from 3 to 2 27 | move 2 from 1 to 4 28 | move 2 from 4 to 3 29 | move 2 from 1 to 3 30 | move 4 from 3 to 1 31 | move 15 from 7 to 9 32 | move 4 from 5 to 9 33 | move 13 from 9 to 4 34 | move 10 from 4 to 8 35 | move 1 from 7 to 4 36 | move 6 from 9 to 5 37 | move 11 from 6 to 7 38 | move 4 from 5 to 7 39 | move 3 from 8 to 7 40 | move 4 from 2 to 4 41 | move 1 from 5 to 1 42 | move 5 from 8 to 4 43 | move 1 from 5 to 4 44 | move 10 from 7 to 1 45 | move 8 from 7 to 9 46 | move 12 from 1 to 9 47 | move 8 from 9 to 1 48 | move 2 from 6 to 9 49 | move 2 from 8 to 4 50 | move 1 from 6 to 9 51 | move 13 from 4 to 2 52 | move 13 from 4 to 2 53 | move 1 from 6 to 1 54 | move 1 from 6 to 4 55 | move 1 from 4 to 5 56 | move 14 from 1 to 8 57 | move 1 from 5 to 4 58 | move 13 from 9 to 5 59 | move 9 from 8 to 2 60 | move 8 from 2 to 1 61 | move 5 from 8 to 2 62 | move 5 from 1 to 6 63 | move 3 from 1 to 3 64 | move 1 from 4 to 8 65 | move 9 from 5 to 9 66 | move 18 from 2 to 8 67 | move 3 from 3 to 5 68 | move 2 from 6 to 4 69 | move 14 from 2 to 7 70 | move 1 from 4 to 2 71 | move 1 from 6 to 9 72 | move 1 from 2 to 5 73 | move 1 from 6 to 2 74 | move 1 from 4 to 6 75 | move 6 from 8 to 1 76 | move 2 from 6 to 9 77 | move 5 from 5 to 3 78 | move 1 from 7 to 8 79 | move 10 from 9 to 7 80 | move 13 from 8 to 5 81 | move 5 from 5 to 2 82 | move 6 from 5 to 7 83 | move 1 from 8 to 5 84 | move 5 from 5 to 9 85 | move 5 from 9 to 7 86 | move 4 from 3 to 8 87 | move 6 from 1 to 6 88 | move 4 from 2 to 4 89 | move 3 from 7 to 5 90 | move 2 from 2 to 9 91 | move 1 from 3 to 7 92 | move 29 from 7 to 9 93 | move 4 from 5 to 2 94 | move 5 from 6 to 4 95 | move 3 from 7 to 9 96 | move 3 from 8 to 6 97 | move 1 from 2 to 6 98 | move 3 from 2 to 5 99 | move 1 from 8 to 4 100 | move 1 from 5 to 9 101 | move 8 from 4 to 9 102 | move 15 from 9 to 2 103 | move 1 from 5 to 1 104 | move 10 from 9 to 4 105 | move 5 from 4 to 5 106 | move 5 from 5 to 4 107 | move 1 from 1 to 9 108 | move 1 from 4 to 3 109 | move 8 from 2 to 4 110 | move 7 from 2 to 7 111 | move 1 from 3 to 8 112 | move 1 from 5 to 6 113 | move 4 from 7 to 3 114 | move 1 from 8 to 2 115 | move 7 from 4 to 7 116 | move 11 from 9 to 7 117 | move 5 from 4 to 2 118 | move 3 from 9 to 6 119 | move 3 from 3 to 8 120 | move 4 from 2 to 4 121 | move 5 from 9 to 5 122 | move 1 from 2 to 1 123 | move 3 from 8 to 5 124 | move 2 from 9 to 1 125 | move 1 from 2 to 5 126 | move 2 from 9 to 6 127 | move 3 from 7 to 5 128 | move 7 from 4 to 1 129 | move 4 from 4 to 9 130 | move 3 from 7 to 2 131 | move 3 from 1 to 9 132 | move 1 from 2 to 3 133 | move 2 from 7 to 9 134 | move 6 from 5 to 4 135 | move 6 from 4 to 3 136 | move 5 from 5 to 1 137 | move 6 from 7 to 8 138 | move 1 from 5 to 1 139 | move 2 from 9 to 4 140 | move 1 from 4 to 3 141 | move 10 from 6 to 4 142 | move 2 from 2 to 1 143 | move 6 from 4 to 1 144 | move 5 from 8 to 3 145 | move 1 from 8 to 2 146 | move 7 from 3 to 9 147 | move 1 from 6 to 9 148 | move 2 from 7 to 3 149 | move 20 from 1 to 6 150 | move 7 from 3 to 8 151 | move 2 from 9 to 6 152 | move 1 from 2 to 3 153 | move 2 from 3 to 6 154 | move 1 from 1 to 4 155 | move 6 from 4 to 7 156 | move 5 from 8 to 3 157 | move 22 from 6 to 4 158 | move 2 from 9 to 7 159 | move 3 from 3 to 4 160 | move 6 from 4 to 2 161 | move 11 from 9 to 3 162 | move 9 from 3 to 7 163 | move 5 from 4 to 2 164 | move 5 from 7 to 2 165 | move 5 from 7 to 6 166 | move 10 from 2 to 4 167 | move 3 from 2 to 1 168 | move 1 from 6 to 3 169 | move 1 from 1 to 7 170 | move 17 from 4 to 1 171 | move 1 from 8 to 4 172 | move 2 from 7 to 5 173 | move 3 from 2 to 5 174 | move 3 from 3 to 8 175 | move 4 from 5 to 1 176 | move 3 from 3 to 7 177 | move 1 from 4 to 5 178 | move 21 from 1 to 5 179 | move 3 from 8 to 3 180 | move 4 from 7 to 5 181 | move 1 from 1 to 7 182 | move 1 from 6 to 3 183 | move 4 from 4 to 1 184 | move 1 from 8 to 1 185 | move 3 from 4 to 9 186 | move 5 from 1 to 8 187 | move 3 from 9 to 3 188 | move 5 from 6 to 1 189 | move 5 from 1 to 4 190 | move 6 from 3 to 2 191 | move 1 from 3 to 2 192 | move 3 from 8 to 1 193 | move 7 from 2 to 1 194 | move 10 from 5 to 2 195 | move 12 from 5 to 7 196 | move 2 from 8 to 3 197 | move 5 from 5 to 8 198 | move 8 from 1 to 6 199 | move 5 from 4 to 5 200 | move 3 from 8 to 6 201 | move 1 from 8 to 3 202 | move 6 from 6 to 7 203 | move 2 from 3 to 8 204 | move 3 from 2 to 1 205 | move 6 from 2 to 9 206 | move 2 from 8 to 4 207 | move 1 from 3 to 9 208 | move 1 from 8 to 6 209 | move 1 from 6 to 9 210 | move 7 from 9 to 5 211 | move 1 from 9 to 7 212 | move 1 from 4 to 6 213 | move 2 from 6 to 5 214 | move 1 from 4 to 1 215 | move 1 from 2 to 7 216 | move 5 from 1 to 2 217 | move 10 from 7 to 4 218 | move 12 from 5 to 7 219 | move 6 from 4 to 8 220 | move 2 from 5 to 6 221 | move 1 from 8 to 9 222 | move 1 from 9 to 5 223 | move 30 from 7 to 9 224 | move 4 from 8 to 4 225 | move 1 from 8 to 7 226 | move 2 from 1 to 4 227 | move 6 from 6 to 3 228 | move 1 from 4 to 1 229 | move 1 from 1 to 2 230 | move 8 from 4 to 8 231 | move 1 from 4 to 5 232 | move 2 from 5 to 6 233 | move 2 from 9 to 8 234 | move 3 from 2 to 1 235 | move 4 from 3 to 2 236 | move 1 from 6 to 4 237 | move 1 from 7 to 1 238 | move 2 from 8 to 2 239 | move 1 from 9 to 2 240 | move 2 from 3 to 2 241 | move 1 from 4 to 2 242 | move 4 from 9 to 6 243 | move 3 from 6 to 4 244 | move 21 from 9 to 8 245 | move 13 from 2 to 7 246 | move 9 from 8 to 5 247 | move 3 from 1 to 4 248 | move 14 from 7 to 2 249 | move 5 from 8 to 9 250 | move 1 from 1 to 2 251 | move 7 from 8 to 6 252 | move 2 from 8 to 2 253 | move 8 from 6 to 9 254 | move 1 from 4 to 5 255 | move 5 from 8 to 2 256 | move 4 from 5 to 9 257 | move 9 from 9 to 6 258 | move 2 from 7 to 6 259 | move 1 from 8 to 7 260 | move 9 from 6 to 4 261 | move 1 from 6 to 5 262 | move 1 from 7 to 3 263 | move 1 from 4 to 7 264 | move 1 from 7 to 2 265 | move 9 from 2 to 3 266 | move 8 from 4 to 1 267 | move 8 from 9 to 2 268 | move 2 from 6 to 5 269 | move 4 from 5 to 2 270 | move 2 from 9 to 5 271 | move 1 from 4 to 9 272 | move 10 from 3 to 7 273 | move 1 from 9 to 2 274 | move 1 from 5 to 3 275 | move 7 from 2 to 8 276 | move 7 from 1 to 5 277 | move 1 from 1 to 2 278 | move 2 from 8 to 2 279 | move 1 from 3 to 5 280 | move 2 from 8 to 6 281 | move 2 from 8 to 9 282 | move 2 from 4 to 6 283 | move 3 from 2 to 8 284 | move 3 from 6 to 7 285 | move 7 from 5 to 8 286 | move 7 from 2 to 7 287 | move 1 from 6 to 8 288 | move 5 from 2 to 7 289 | move 6 from 8 to 3 290 | move 2 from 7 to 1 291 | move 7 from 2 to 5 292 | move 1 from 3 to 5 293 | move 1 from 1 to 5 294 | move 2 from 9 to 7 295 | move 4 from 3 to 7 296 | move 2 from 4 to 6 297 | move 1 from 1 to 6 298 | move 1 from 2 to 4 299 | move 16 from 5 to 6 300 | move 1 from 4 to 9 301 | move 19 from 6 to 1 302 | move 1 from 3 to 5 303 | move 1 from 9 to 1 304 | move 1 from 8 to 5 305 | move 5 from 8 to 3 306 | move 5 from 7 to 2 307 | move 3 from 2 to 9 308 | move 5 from 1 to 7 309 | move 2 from 5 to 1 310 | move 3 from 9 to 4 311 | move 4 from 1 to 9 312 | move 2 from 2 to 8 313 | move 2 from 8 to 6 314 | move 1 from 6 to 9 315 | move 4 from 3 to 8 316 | move 4 from 8 to 3 317 | move 2 from 3 to 8 318 | move 1 from 8 to 2 319 | move 1 from 9 to 7 320 | move 10 from 1 to 7 321 | move 26 from 7 to 6 322 | move 3 from 9 to 3 323 | move 1 from 4 to 6 324 | move 2 from 1 to 4 325 | move 1 from 1 to 6 326 | move 1 from 9 to 3 327 | move 1 from 2 to 3 328 | move 4 from 4 to 9 329 | move 10 from 7 to 8 330 | move 3 from 7 to 4 331 | move 4 from 9 to 4 332 | move 4 from 4 to 7 333 | move 4 from 3 to 9 334 | move 5 from 7 to 5 335 | move 3 from 5 to 1 336 | move 3 from 9 to 8 337 | move 3 from 1 to 5 338 | move 2 from 3 to 5 339 | move 7 from 8 to 1 340 | move 7 from 8 to 9 341 | move 4 from 6 to 3 342 | move 3 from 3 to 6 343 | move 1 from 3 to 4 344 | move 2 from 4 to 1 345 | move 1 from 9 to 6 346 | move 4 from 1 to 3 347 | move 3 from 5 to 1 348 | move 1 from 5 to 2 349 | move 6 from 1 to 2 350 | move 6 from 2 to 7 351 | move 2 from 7 to 4 352 | move 1 from 2 to 6 353 | move 1 from 1 to 4 354 | move 3 from 5 to 7 355 | move 6 from 7 to 4 356 | move 1 from 9 to 3 357 | move 1 from 3 to 6 358 | move 4 from 4 to 3 359 | move 9 from 6 to 1 360 | move 10 from 1 to 6 361 | move 7 from 4 to 5 362 | move 28 from 6 to 4 363 | move 3 from 6 to 7 364 | move 3 from 3 to 8 365 | move 4 from 5 to 7 366 | move 1 from 8 to 4 367 | move 18 from 4 to 7 368 | move 8 from 7 to 6 369 | move 6 from 4 to 1 370 | move 2 from 5 to 4 371 | move 8 from 6 to 1 372 | move 2 from 8 to 9 373 | move 1 from 5 to 3 374 | move 1 from 9 to 1 375 | move 5 from 9 to 2 376 | move 2 from 9 to 3 377 | move 1 from 2 to 5 378 | move 2 from 1 to 5 379 | move 6 from 7 to 5 380 | move 1 from 6 to 4 381 | move 6 from 5 to 9 382 | move 2 from 4 to 1 383 | move 8 from 1 to 8 384 | move 4 from 9 to 7 385 | move 1 from 5 to 6 386 | move 1 from 1 to 6 387 | move 2 from 1 to 2 388 | move 1 from 9 to 7 389 | move 3 from 2 to 4 390 | move 2 from 8 to 3 391 | move 5 from 8 to 2 392 | move 4 from 2 to 5 393 | move 1 from 8 to 9 394 | move 12 from 3 to 2 395 | move 2 from 6 to 2 396 | move 12 from 2 to 4 397 | move 6 from 2 to 3 398 | move 4 from 1 to 9 399 | move 8 from 4 to 7 400 | move 3 from 3 to 4 401 | move 1 from 5 to 4 402 | move 5 from 9 to 6 403 | move 3 from 5 to 8 404 | move 1 from 9 to 1 405 | move 2 from 8 to 5 406 | move 3 from 5 to 6 407 | move 1 from 8 to 4 408 | move 4 from 7 to 8 409 | move 1 from 1 to 3 410 | move 2 from 8 to 3 411 | move 7 from 6 to 7 412 | move 1 from 3 to 7 413 | move 2 from 8 to 6 414 | move 22 from 7 to 8 415 | move 6 from 4 to 8 416 | move 5 from 8 to 6 417 | move 5 from 6 to 2 418 | move 4 from 2 to 3 419 | move 6 from 8 to 5 420 | move 4 from 4 to 7 421 | move 1 from 3 to 7 422 | move 4 from 4 to 5 423 | move 1 from 5 to 4 424 | move 2 from 6 to 5 425 | move 9 from 5 to 6 426 | move 10 from 6 to 7 427 | move 1 from 2 to 1 428 | move 3 from 4 to 8 429 | move 16 from 7 to 9 430 | move 1 from 7 to 8 431 | move 1 from 1 to 8 432 | move 1 from 8 to 3 433 | move 2 from 7 to 4 434 | move 15 from 8 to 1 435 | move 1 from 8 to 1 436 | move 4 from 8 to 4 437 | move 7 from 9 to 7 438 | move 3 from 5 to 9 439 | move 10 from 9 to 6 440 | move 2 from 9 to 2 441 | move 7 from 7 to 4 442 | move 9 from 3 to 2 443 | move 8 from 2 to 7 444 | move 1 from 8 to 4 445 | move 3 from 2 to 1 446 | move 9 from 7 to 1 447 | move 9 from 4 to 1 448 | move 2 from 7 to 5 449 | move 1 from 5 to 4 450 | move 1 from 5 to 2 451 | move 6 from 1 to 3 452 | move 16 from 1 to 2 453 | move 9 from 2 to 1 454 | move 5 from 6 to 9 455 | move 2 from 1 to 9 456 | move 1 from 2 to 5 457 | move 4 from 4 to 8 458 | move 2 from 8 to 2 459 | move 2 from 2 to 3 460 | move 17 from 1 to 2 461 | move 2 from 1 to 9 462 | move 13 from 2 to 8 463 | move 1 from 2 to 4 464 | move 11 from 8 to 3 465 | move 3 from 3 to 4 466 | move 3 from 9 to 2 467 | move 1 from 5 to 2 468 | move 1 from 9 to 3 469 | move 3 from 4 to 3 470 | move 1 from 4 to 9 471 | move 3 from 3 to 4 472 | move 1 from 8 to 7 473 | move 7 from 2 to 9 474 | move 3 from 1 to 7 475 | move 3 from 2 to 8 476 | move 3 from 7 to 9 477 | move 10 from 3 to 5 478 | move 3 from 6 to 9 479 | move 8 from 9 to 4 480 | move 1 from 2 to 1 481 | move 1 from 7 to 9 482 | move 2 from 2 to 3 483 | move 4 from 4 to 8 484 | move 1 from 6 to 2 485 | move 7 from 5 to 3 486 | move 1 from 5 to 2 487 | move 9 from 8 to 9 488 | move 12 from 3 to 8 489 | move 1 from 1 to 9 490 | move 9 from 8 to 6 491 | move 1 from 5 to 7 492 | move 1 from 5 to 4 493 | move 2 from 2 to 9 494 | move 1 from 2 to 6 495 | move 2 from 4 to 3 496 | move 9 from 4 to 8 497 | move 6 from 3 to 6 498 | move 12 from 6 to 2 499 | move 2 from 6 to 7 500 | move 8 from 8 to 3 501 | move 5 from 8 to 7 502 | move 3 from 6 to 5 503 | move 6 from 3 to 7 504 | move 6 from 7 to 6 505 | move 1 from 4 to 9 506 | move 4 from 6 to 5 507 | move 20 from 9 to 6 508 | move 4 from 9 to 8 509 | move 2 from 8 to 7 510 | move 4 from 6 to 4 511 | move 10 from 6 to 1 -------------------------------------------------------------------------------- /2022/data/day6.txt: -------------------------------------------------------------------------------- 1 | hrbbjllllspssblslvvrdrbbpbbmcccfppvbbwvbbmrmjrjrfrgfgbffgfqfqlltlwttscsncscchssrppffvwwvvpnnwwwpvwvhhnvhhbttvzzdlzdlzzwmmjhhznnjdnnnqddbtdbdbsdsmdsdrrdpdwpdppgcgqgcctftsfszslljbljbjwbwbnwnqqrnnztntmtrmmzwzdwzwgwwwjhjsjgjtjjhpjhhppqzqdqffrvrtvvsmmgwmgwgbbclltctptzpzhpzptzppcfpcfftflfzftztddzgzmmfsmsrmmsstttvbvmbvvsmsqmqlldjdtthwtwbwggrzzjrzrcctffsshqshhpthhlnhlhqhdqqrwrmmcttpfttzfzgzdgdzzwrrtsrrsnrnccrbbsssbpbjjvzzwlwtwjwsjwjggzqgzzrsszzjnzjzwjzzcrzczncnqqztzfzhfhvvtjvjdvjjmrjrppvzppczpczcggshghvhnhhsrsnsdszzdpzpzlpzzhwwmnwmwmcwwfnwfwjjcbcncllcsllqdqzzhqhmqmbbjvjjwwcjjpnpllzfzddtmtccqrcrtrwrpphpmpplslmltthnnvhhvrvbblhhrrdqqmbqqgtqggdgcdcvvsbsswvvpggbbtftlflglzlmlbbfhhrshswhshffhhdnnrfrvrmrnrprrmfmpmnpnfnggvvcncdcrczrzccpmmssrbbdjdtdrdwrrwhrrvrtvvszvvwvzzmhhjhhwlhlqlvlttzftztdtstftrfrdddmtmzzsqzqvvpdpdcpcncnrrtntznzrzgznztnznhhsqqnrqrhhlzhzthhfddrzdrrqmqggcmmllnjjvwwjccfjfqfcfzccwvcwvcvjcjtjtnnqsqmqrmrzrszrszzfwfggnmmcdmdjmmhwwgfwfnwnlwwcffsrffvnvbvnvwnwgnwnmmbzbmbpplmplpspzpmzpzdzgzrzrtrjrbbppwvwgwmggqwgghqqshhcwcqwcqcfcbbnsnrrtztzrtrvtvhthzhmmrqqrwqqsjqjcctgtwthhqmmnffmgmdgdlgljjhwjwggrqqfrqqjvqvhqqgsqsgsttmrrbprbppmjppslpsllvlfvlvrvhvtqmrjcdzwsbzfmgmwmwqwhztqrsdzhqjqvbjbntnbndflthljcczdmmhszfgsplrtlqnfzbrlqngwdqtfwcmrdjrsmdpmjmqwrbwfjzwnvqhfmlqtvvnlfzbfccwslqpbzzjccbvrzhghqwtvqgwrmsfzqnmnqqjsjtpcmngpqgllfsnpqtjjbqcdppnsmtwrslnrbqtwvnbctzvwfmgctscmzjbqqgqdwbpzmrdwgfcjzftzgmfcjhchbnmnqnrgtqngwrmncjvptqqdtjtgtpzzdrfsdgmwlwrjnqldbwrqjrhwcczlzvlhpgrnwzhbwjnpthggczfgtrjnzvnlfdfbwcnzfbwlwlmgnnjnpvhbhqgnzhqsnmvbcftsmrcgpvnnnmgnrvpbzlpwnbwpzmwpgqvbfgjwfrjqnvvgmqwwcfddqmdznmfhpjcfgptqdqwmplrglbwlmsqzjshrlhflcjvptgrcfhjfgqmlfzrtphpbvcqzwpcnwljjdlmqzhcctqshdngrgtlfsrfccdtlvmqcdgnpcvphdsrpzfzwclvsqcpzqlfvvqzggdhpfzdvhshglvfzfmcllrdfjfsjtngjgddcpqnlmrnplwtlvwdvzftltnsnspcdztgqhlhvvbnwvnmhscfnqbngpvprzfrjcmfpfzfftrlnwgllhnjndpjdrwcgqpcgcqngnbfzlvzvhnqdjthflmwvppmbdssddmgsbgrqnpjzrjpzdddqgsdlmwnhhpjbthclvqhgrsnrbqgtnsjhncnzbhrdgftvbptrqssvsqfpqnddhmgwcrfqndqjsqgffmhdvqhjrdlmrlcqctqccprwlbqgqrwmtfhwmfjfqzdqbsdsjbtsvfvgbsrvqwnqqqqthpsqgcfslsqtnjwtsrcdcctggdghrjwpbfccrtwgszwbrsjswmjmjbcqrsgbcfsdjzsbjnnssnddnnvwgftlrqvphnqcgjszscrlhhjnljlqcjqtqfwbmdmrgdlcqqwmbsmsdhpplvlfglqwspbfptlbzqjwhqmfvzvsvpjclcdzsbvntmhdqdvhghcmmflpjbglsghbswdshtsbdrgpsrsclrmfwwqbrgdjsqztgttqpwhnfhszlgbfpzhczsnwqflmshlgbrpmdzgpqwtsbssgfjbtrwbmztlwwfmsdgpgfgdjfdccwlfgztbcbqjvjtvslmddjplrswwcszspgplsrhrnwnmrrfbcgdmntcrlvnfqtwwcczsglrhtrfqnmhvgzjpmlplqvqhmnfgvzqcmzhqszgslvndqtqhvrbvbmclbcbjdswvcjrzgfdmdwnnlzlzqcffsrqdfmmpzfnmdsnqlpcrhzsdnsflblcjsfsgcnsspftjrlmdjsmfpqtmlgfvnlfnjscsgwzwvpjrvvclhsbqldlnmtglhbjfwlzmvrbvgtprfjbjhhnlqnbrswwlqtcgrjrltdrnfrjhrntllptlsbhqrwvdsfrlghtfcndznzjwcgmtdvffltgrdmljlqhdtmdvnfsfsrvdpmhlrrsttvqlwfptddwbpfrbclwwzmfpttmrmmqzjnbbnnfvzwmmcfshvrlbdbjzprftbqvdsghnnzwbjccpthdsvsdlgvphsgjdqjwsgmzqnqpqvgqjvwgjtzpmqqwnlwrwhqqjjclcbhjgpwhqdclwmqfmwbwmwwvcbhfznfhcfbprfcdqlbcttnvgnjwswcmpbrghtzgdbppbprffzjgvddzpwmdctrhnrfzdfhtmnfrsfdqvzcnrtncflhvldcndwqtvbggmwlzhchlcwtcbqcvlfhdwljgddwpvcfczvfqmphgtdsnsqwdpvvmwnwqjbrjwbdhhgtffphsdrvspsbgmfrmwmhnrgqdfppzgfpgmqjcsnglczgwhjthfhztzrlpgzjhcfrjpjvtjptptbvflftjtcfhmbwlhlbhvnjnbfmwjrgbvvhmdlncdgncgfjcnnpdljfcjsmsfscqpwsgcmlhhqmldsnjfrrqpghwncmgwgnjsdtvbhrbbnmpqjrrctqqnqzztmbqmdsgdvmmlwmbvprllzgntnmttrlzrttmjjlrwpwmtfznmwnsjmjhjdnsppfhcrjpzhjqzdtdbsjshfzzvrwvjbjbgtsfpgggbdztczwlhpmthfjdgsbrvlwmlrvgdrpjzccwmgpcnqqzmqdjqmwsrzwsmtmdjdhmjrwfwnzlmfnqtcgtslwtlnwhvmqntmglhntnsjlnmzfvfdztcfwmpchsrsdmqvqcwljzrmmssjvbmvvnmqlbsdwnrbmqctdtmfzlgfzpmjcnftgftvjpfbwwmzfdrrwjwcfwfcfmzbbnppgjrmbcvmvnjpdrzmvndvddtvshlnjjwgtsvnwtwnhcbfpnthpjlrhgrqccdgppjvdqjwqrfrrgnvhfwvjhnwhntnpmghphrtgqhwtbrqhqljfdjbgnlgmqqgfcqpqfhcpgspdbvlbfjvlrgmtjztwdzlrhqwwtcpdvsqgssjbjjgqlwbcctzzqvvmdzpfrmspmqhtzwgcfsslpnhpjfwqrrfbwbndrvhnnsjnlvlvqdsgwzjsrprhgtvsfbhbcpljdczbtdwzcnhzntrwcrjctmhtjfdlthznzmqblppzcqgpjhlzjrmcvpptfjjzltdhmvwphwlccscwrwfcqpqwwrzcmnltzdcfvtjrcvsqwtchrmdfzjmzjfhppjzbhglwqggzqqnspfmzrfwrqdqdrsdbsdhcgdqrrnjlwrqhfhpzjhrvjndqphndnnnbwhrjvqrrbvlhhbljjcwmfpvnhcszfshlsnczgtcfhjslbhzczdqdmdnvqdzhbmbpcnbntwgllfscrcwhfrgtfvftmwhbgfhjzjrbvvwc -------------------------------------------------------------------------------- /2022/data/day7.txt: -------------------------------------------------------------------------------- 1 | $ cd / 2 | $ ls 3 | dir dscbfp 4 | 283653 fsdfddfv 5 | dir mjzqq 6 | 241330 rcm.psp 7 | dir sjbpgc 8 | dir zfsbvs 9 | $ cd dscbfp 10 | $ ls 11 | dir fgtvzpl 12 | dir hgfrgbv 13 | dir hmwqgjnl 14 | dir jvr 15 | dir lcvdgm 16 | dir mmhtpz 17 | dir wqc 18 | dir znl 19 | dir zph 20 | dir zwlpm 21 | $ cd fgtvzpl 22 | $ ls 23 | dir fvrghzfg 24 | 28513 lbbg.rhq 25 | $ cd fvrghzfg 26 | $ ls 27 | 212295 cjb.nwg 28 | dir ftqs 29 | $ cd ftqs 30 | $ ls 31 | 250415 mmhtpz 32 | $ cd .. 33 | $ cd .. 34 | $ cd .. 35 | $ cd hgfrgbv 36 | $ ls 37 | 86365 cdrgnzrz.hwf 38 | 175318 wqtmwb 39 | $ cd .. 40 | $ cd hmwqgjnl 41 | $ ls 42 | dir dscbfp 43 | dir dwtfrgj 44 | 130223 fnl.whg 45 | 66339 mtcv 46 | dir rgvvz 47 | $ cd dscbfp 48 | $ ls 49 | 146043 wpzr 50 | $ cd .. 51 | $ cd dwtfrgj 52 | $ ls 53 | dir jwmw 54 | dir pntqg 55 | $ cd jwmw 56 | $ ls 57 | dir dscbfp 58 | 243410 lbbg.phv 59 | dir mmhtpz 60 | $ cd dscbfp 61 | $ ls 62 | dir mmhtpz 63 | $ cd mmhtpz 64 | $ ls 65 | dir mdrddz 66 | $ cd mdrddz 67 | $ ls 68 | 167704 fgjsq.bpb 69 | $ cd .. 70 | $ cd .. 71 | $ cd .. 72 | $ cd mmhtpz 73 | $ ls 74 | 233626 dtcmsq.pdl 75 | 163642 jczs.rgg 76 | 111667 msfmjd.vlr 77 | 23137 ndhvh.jbq 78 | $ cd .. 79 | $ cd .. 80 | $ cd pntqg 81 | $ ls 82 | 68578 lnjvpcgq.zqs 83 | 62492 rcm.psp 84 | $ cd .. 85 | $ cd .. 86 | $ cd rgvvz 87 | $ ls 88 | dir hmwqgjnl 89 | dir jrjgnch 90 | 110656 lnjvpcgq.zqs 91 | 206537 mmhtpz.wgd 92 | 198736 msfmjd.vlr 93 | 110172 rrl.wqz 94 | dir wrb 95 | $ cd hmwqgjnl 96 | $ ls 97 | 141962 bsgljmww.whq 98 | dir hsmr 99 | 123313 msfmjd.vlr 100 | 223573 rcm.psp 101 | $ cd hsmr 102 | $ ls 103 | 229737 fzptbrzb.lqv 104 | $ cd .. 105 | $ cd .. 106 | $ cd jrjgnch 107 | $ ls 108 | 4426 lbbg.fzh 109 | dir zbnp 110 | $ cd zbnp 111 | $ ls 112 | 65658 cjqbfv.fjf 113 | 270282 pwv.bcz 114 | $ cd .. 115 | $ cd .. 116 | $ cd wrb 117 | $ ls 118 | dir fgwnpp 119 | 249291 lbbg 120 | dir mbd 121 | dir rdnf 122 | dir rgvvz 123 | dir rnrr 124 | dir vzjh 125 | $ cd fgwnpp 126 | $ ls 127 | dir gdfrtgl 128 | 230060 lbbg.qfm 129 | 275250 rbd.fqj 130 | dir zlgpdb 131 | $ cd gdfrtgl 132 | $ ls 133 | dir gvw 134 | dir rgvvz 135 | $ cd gvw 136 | $ ls 137 | 123285 mmhtpz.vbl 138 | 167405 qhfqz 139 | $ cd .. 140 | $ cd rgvvz 141 | $ ls 142 | 254625 rcm.psp 143 | $ cd .. 144 | $ cd .. 145 | $ cd zlgpdb 146 | $ ls 147 | 72966 cjjl.wzp 148 | 217828 ndhvh.jbq 149 | 141199 wbnl.qdc 150 | $ cd .. 151 | $ cd .. 152 | $ cd mbd 153 | $ ls 154 | dir hmwqgjnl 155 | $ cd hmwqgjnl 156 | $ ls 157 | 13420 mmhtpz.snz 158 | $ cd .. 159 | $ cd .. 160 | $ cd rdnf 161 | $ ls 162 | dir frqb 163 | dir jjjzcjdh 164 | dir mwpd 165 | dir nvz 166 | 152893 rcm.psp 167 | $ cd frqb 168 | $ ls 169 | dir dscbfp 170 | 231903 gwlj.lgn 171 | dir mmhtpz 172 | 298674 nhc.hpl 173 | 193867 rfmv.dzd 174 | dir sqt 175 | $ cd dscbfp 176 | $ ls 177 | 280820 rgvvz.glj 178 | $ cd .. 179 | $ cd mmhtpz 180 | $ ls 181 | 137192 jczs.rgg 182 | 273426 rcm.psp 183 | $ cd .. 184 | $ cd sqt 185 | $ ls 186 | dir fwvgbgbs 187 | 245416 rgvvz.cgh 188 | 12489 wnjgq 189 | $ cd fwvgbgbs 190 | $ ls 191 | dir mfpd 192 | 170052 msfmjd.vlr 193 | 278273 mwr.stv 194 | 177661 vgwstqlt.zml 195 | $ cd mfpd 196 | $ ls 197 | 264130 gmwhsj.jvp 198 | $ cd .. 199 | $ cd .. 200 | $ cd .. 201 | $ cd .. 202 | $ cd jjjzcjdh 203 | $ ls 204 | dir cnjnnzw 205 | dir flprjhlm 206 | 266398 fqclzm.mfw 207 | dir gftmlvmh 208 | 113237 jgnmbml.rnr 209 | 148723 ljfg.vmc 210 | 237722 rrzvq.cqr 211 | $ cd cnjnnzw 212 | $ ls 213 | 231497 ldqdwn.bvf 214 | $ cd .. 215 | $ cd flprjhlm 216 | $ ls 217 | 185486 hmwqgjnl.jdn 218 | $ cd .. 219 | $ cd gftmlvmh 220 | $ ls 221 | dir blpt 222 | 41840 qbr.tjw 223 | $ cd blpt 224 | $ ls 225 | dir sbtg 226 | $ cd sbtg 227 | $ ls 228 | 7518 wsh.vrp 229 | $ cd .. 230 | $ cd .. 231 | $ cd .. 232 | $ cd .. 233 | $ cd mwpd 234 | $ ls 235 | 35589 flgh 236 | $ cd .. 237 | $ cd nvz 238 | $ ls 239 | 147018 mpmcpwnl.hqg 240 | $ cd .. 241 | $ cd .. 242 | $ cd rgvvz 243 | $ ls 244 | 280057 dhwzlmgn 245 | 156280 gmzvl.gtg 246 | dir hmwqgjnl 247 | dir pfcjgrgp 248 | dir prhzdjqv 249 | 132543 qlwqmd.wmj 250 | 223249 rcm.psp 251 | 124899 zvzjh.sbg 252 | $ cd hmwqgjnl 253 | $ ls 254 | 99756 mvdpfcvs.wft 255 | $ cd .. 256 | $ cd pfcjgrgp 257 | $ ls 258 | dir lbbg 259 | dir nlgf 260 | 130799 wtrdvzhs 261 | $ cd lbbg 262 | $ ls 263 | 193125 lnjvpcgq.zqs 264 | dir vnlmr 265 | $ cd vnlmr 266 | $ ls 267 | 39935 lgd.hzz 268 | $ cd .. 269 | $ cd .. 270 | $ cd nlgf 271 | $ ls 272 | 106563 jfr 273 | $ cd .. 274 | $ cd .. 275 | $ cd prhzdjqv 276 | $ ls 277 | dir jhhq 278 | $ cd jhhq 279 | $ ls 280 | 135155 mzjdptfm.fln 281 | $ cd .. 282 | $ cd .. 283 | $ cd .. 284 | $ cd rnrr 285 | $ ls 286 | 249039 jczs.rgg 287 | 154853 whlwl 288 | $ cd .. 289 | $ cd vzjh 290 | $ ls 291 | dir hjrs 292 | $ cd hjrs 293 | $ ls 294 | 146991 mmhtpz 295 | $ cd .. 296 | $ cd .. 297 | $ cd .. 298 | $ cd .. 299 | $ cd .. 300 | $ cd jvr 301 | $ ls 302 | 13268 gwsldhjc.vbf 303 | dir hbpwd 304 | 34369 mjtwr.rpv 305 | dir tfvztnb 306 | $ cd hbpwd 307 | $ ls 308 | 253823 bzqc 309 | dir dscbfp 310 | 237051 ggvvcpg.gmj 311 | 23097 mhl 312 | 211524 ndhvh.jbq 313 | 133936 qzslmmz.fzp 314 | $ cd dscbfp 315 | $ ls 316 | 184190 msfmjd.vlr 317 | 238872 ndhvh.jbq 318 | dir pfsq 319 | dir pljsm 320 | dir tlgtcb 321 | $ cd pfsq 322 | $ ls 323 | dir hmwqgjnl 324 | 249351 mmhtpz 325 | $ cd hmwqgjnl 326 | $ ls 327 | 301132 rcm.psp 328 | $ cd .. 329 | $ cd .. 330 | $ cd pljsm 331 | $ ls 332 | 263279 bqh.vhl 333 | $ cd .. 334 | $ cd tlgtcb 335 | $ ls 336 | 50558 bgzrlnzz.rfm 337 | 83169 gtrjzl.hhh 338 | 212764 mgf.zlg 339 | 210599 mmhtpz.dqm 340 | dir tqsvhc 341 | $ cd tqsvhc 342 | $ ls 343 | 264513 lnjvpcgq.zqs 344 | $ cd .. 345 | $ cd .. 346 | $ cd .. 347 | $ cd .. 348 | $ cd tfvztnb 349 | $ ls 350 | dir mdz 351 | $ cd mdz 352 | $ ls 353 | 209155 dqjh 354 | $ cd .. 355 | $ cd .. 356 | $ cd .. 357 | $ cd lcvdgm 358 | $ ls 359 | 135165 lbbg.gsz 360 | 282211 vlbwsps.plg 361 | $ cd .. 362 | $ cd mmhtpz 363 | $ ls 364 | dir dscbfp 365 | dir mmhtpz 366 | 70564 msfmjd.vlr 367 | dir nzdvqb 368 | 59232 rgvvz 369 | dir ztbht 370 | $ cd dscbfp 371 | $ ls 372 | dir cddzd 373 | dir dscbfp 374 | dir hmwqgjnl 375 | 142689 qnnc 376 | dir whbjm 377 | $ cd cddzd 378 | $ ls 379 | 255928 dtnn.hzf 380 | $ cd .. 381 | $ cd dscbfp 382 | $ ls 383 | dir brvf 384 | 182587 fhmzbc.nlb 385 | 129514 lbbg 386 | 177841 ngw.tlj 387 | dir qttp 388 | dir zdmb 389 | 269964 zqn.htj 390 | $ cd brvf 391 | $ ls 392 | 24071 tzsvg.pwc 393 | 174118 vtdntn 394 | $ cd .. 395 | $ cd qttp 396 | $ ls 397 | 54613 ccdnjnwz 398 | 131277 zzppc 399 | $ cd .. 400 | $ cd zdmb 401 | $ ls 402 | 117682 bwjhr.gvw 403 | dir hmwqgjnl 404 | 138816 jczs.rgg 405 | 273129 mmhtpz 406 | 89710 rcm.psp 407 | dir rgvvz 408 | $ cd hmwqgjnl 409 | $ ls 410 | 102907 mmhtpz.dnp 411 | 235885 ndhvh.jbq 412 | 239856 rcm.psp 413 | $ cd .. 414 | $ cd rgvvz 415 | $ ls 416 | dir fpzzfc 417 | 292842 lbbg 418 | 70603 msfmjd.vlr 419 | 157797 qjs.zlm 420 | dir zgn 421 | $ cd fpzzfc 422 | $ ls 423 | dir rgvvz 424 | $ cd rgvvz 425 | $ ls 426 | 222407 crrwlp.zcd 427 | $ cd .. 428 | $ cd .. 429 | $ cd zgn 430 | $ ls 431 | 70915 hmwqgjnl.zdg 432 | 276918 lbbg.wlg 433 | $ cd .. 434 | $ cd .. 435 | $ cd .. 436 | $ cd .. 437 | $ cd hmwqgjnl 438 | $ ls 439 | 207726 cqn.rds 440 | $ cd .. 441 | $ cd whbjm 442 | $ ls 443 | 44954 ndhvh.jbq 444 | 136649 pphznj 445 | dir ptq 446 | 215264 rmpbqgrl.mqt 447 | 276795 tbtv 448 | 292696 vddnpnp 449 | dir wnqgpj 450 | $ cd ptq 451 | $ ls 452 | 191976 jczs.rgg 453 | 59747 ncbs.mjc 454 | 77874 njqmf 455 | dir zss 456 | $ cd zss 457 | $ ls 458 | 209276 vnv.nvm 459 | $ cd .. 460 | $ cd .. 461 | $ cd wnqgpj 462 | $ ls 463 | 211738 jczs.rgg 464 | $ cd .. 465 | $ cd .. 466 | $ cd .. 467 | $ cd mmhtpz 468 | $ ls 469 | dir hmwqgjnl 470 | $ cd hmwqgjnl 471 | $ ls 472 | dir jzb 473 | dir mmhtpz 474 | $ cd jzb 475 | $ ls 476 | 138393 drqp.ttd 477 | 250098 jczs.rgg 478 | dir mfq 479 | $ cd mfq 480 | $ ls 481 | dir nfn 482 | $ cd nfn 483 | $ ls 484 | 239922 rcm.psp 485 | $ cd .. 486 | $ cd .. 487 | $ cd .. 488 | $ cd mmhtpz 489 | $ ls 490 | 158815 jvwqttqn 491 | 72929 jvzfccm 492 | 18353 lwz.clt 493 | 144822 rnvfllt.fwn 494 | $ cd .. 495 | $ cd .. 496 | $ cd .. 497 | $ cd nzdvqb 498 | $ ls 499 | 226139 rcm.psp 500 | $ cd .. 501 | $ cd ztbht 502 | $ ls 503 | 279766 jczs.rgg 504 | 222685 msfmjd.vlr 505 | $ cd .. 506 | $ cd .. 507 | $ cd wqc 508 | $ ls 509 | dir cndf 510 | dir hmwqgjnl 511 | dir lbbg 512 | $ cd cndf 513 | $ ls 514 | dir hmwqgjnl 515 | 284014 qsr.pjg 516 | $ cd hmwqgjnl 517 | $ ls 518 | 91921 zrsp.qwd 519 | $ cd .. 520 | $ cd .. 521 | $ cd hmwqgjnl 522 | $ ls 523 | dir fccbrtcn 524 | 23864 msfmjd.vlr 525 | 286035 nrbmbpm 526 | dir pwvgqth 527 | 91650 rgvvz 528 | dir wllwhm 529 | $ cd fccbrtcn 530 | $ ls 531 | 87931 bmjdngzq.zbv 532 | dir cwr 533 | dir djngvdp 534 | 266568 lnjvpcgq.zqs 535 | dir zdwhqb 536 | $ cd cwr 537 | $ ls 538 | dir cmnv 539 | $ cd cmnv 540 | $ ls 541 | dir dscbfp 542 | dir dwdnwdz 543 | 291794 rcm.psp 544 | $ cd dscbfp 545 | $ ls 546 | dir gtcg 547 | $ cd gtcg 548 | $ ls 549 | 73017 pgzcm.qbz 550 | $ cd .. 551 | $ cd .. 552 | $ cd dwdnwdz 553 | $ ls 554 | dir hvgwfj 555 | $ cd hvgwfj 556 | $ ls 557 | 235064 rnjjh.qnp 558 | $ cd .. 559 | $ cd .. 560 | $ cd .. 561 | $ cd .. 562 | $ cd djngvdp 563 | $ ls 564 | 264940 jczs.rgg 565 | 162343 rgvvz 566 | $ cd .. 567 | $ cd zdwhqb 568 | $ ls 569 | 233875 ggd 570 | 230766 ggqrt.pqn 571 | $ cd .. 572 | $ cd .. 573 | $ cd pwvgqth 574 | $ ls 575 | dir nrm 576 | dir rgvvz 577 | 289164 sgdsg.fbs 578 | $ cd nrm 579 | $ ls 580 | 135745 hmwqgjnl.fwb 581 | $ cd .. 582 | $ cd rgvvz 583 | $ ls 584 | 269675 rcm.psp 585 | $ cd .. 586 | $ cd .. 587 | $ cd wllwhm 588 | $ ls 589 | 14033 rptrszg.lfh 590 | $ cd .. 591 | $ cd .. 592 | $ cd lbbg 593 | $ ls 594 | dir fsz 595 | dir hmwqgjnl 596 | 2856 jpmw.tsp 597 | 156026 ndhvh.jbq 598 | dir rgmmpm 599 | dir vzg 600 | $ cd fsz 601 | $ ls 602 | 29744 cdsr 603 | dir frjzv 604 | dir hmwqgjnl 605 | 75723 hmwqgjnl.jcj 606 | 222555 jczs.rgg 607 | dir lbbg 608 | dir pplp 609 | 184370 vzb 610 | $ cd frjzv 611 | $ ls 612 | 87553 lnjvpcgq.zqs 613 | $ cd .. 614 | $ cd hmwqgjnl 615 | $ ls 616 | 94991 hsjmzpq 617 | $ cd .. 618 | $ cd lbbg 619 | $ ls 620 | 177441 dscbfp 621 | 9637 lnjvpcgq.zqs 622 | $ cd .. 623 | $ cd pplp 624 | $ ls 625 | 230787 gcjfcbg.sds 626 | 54478 twnslqqv.gtw 627 | 54723 wzwcw.pfj 628 | $ cd .. 629 | $ cd .. 630 | $ cd hmwqgjnl 631 | $ ls 632 | dir drpt 633 | dir dscbfp 634 | 18560 jczs.rgg 635 | dir tpt 636 | $ cd drpt 637 | $ ls 638 | dir gmcpd 639 | 10052 jczs.rgg 640 | 87927 mmhtpz.jdt 641 | dir rgvvz 642 | $ cd gmcpd 643 | $ ls 644 | dir rgvvz 645 | $ cd rgvvz 646 | $ ls 647 | dir tjqcj 648 | $ cd tjqcj 649 | $ ls 650 | 273175 bgsjwb 651 | $ cd .. 652 | $ cd .. 653 | $ cd .. 654 | $ cd rgvvz 655 | $ ls 656 | 104452 fbv 657 | $ cd .. 658 | $ cd .. 659 | $ cd dscbfp 660 | $ ls 661 | dir bjn 662 | dir rvm 663 | $ cd bjn 664 | $ ls 665 | 119619 mmhtpz.slf 666 | $ cd .. 667 | $ cd rvm 668 | $ ls 669 | dir hgl 670 | $ cd hgl 671 | $ ls 672 | 9146 jczs.rgg 673 | 294696 rcm.psp 674 | $ cd .. 675 | $ cd .. 676 | $ cd .. 677 | $ cd tpt 678 | $ ls 679 | 102194 tmlbnm 680 | $ cd .. 681 | $ cd .. 682 | $ cd rgmmpm 683 | $ ls 684 | 25462 dcp.zfg 685 | 99756 frmlbqp 686 | 71786 msfmjd.vlr 687 | 275455 mvrszdhp.jbr 688 | $ cd .. 689 | $ cd vzg 690 | $ ls 691 | dir hmwqgjnl 692 | 160612 msfmjd.vlr 693 | 103726 pprnm.rmw 694 | $ cd hmwqgjnl 695 | $ ls 696 | 130188 ndhvh.jbq 697 | $ cd .. 698 | $ cd .. 699 | $ cd .. 700 | $ cd .. 701 | $ cd znl 702 | $ ls 703 | 256149 qcd 704 | dir rgrhdq 705 | dir wfhcc 706 | $ cd rgrhdq 707 | $ ls 708 | dir nqpz 709 | 17930 rglm.wrj 710 | $ cd nqpz 711 | $ ls 712 | 253269 rcm.psp 713 | $ cd .. 714 | $ cd .. 715 | $ cd wfhcc 716 | $ ls 717 | dir dpds 718 | dir hmwqgjnl 719 | 82595 rcm.psp 720 | dir rgvvz 721 | $ cd dpds 722 | $ ls 723 | 143467 bljj.ddw 724 | 283261 rcm.psp 725 | $ cd .. 726 | $ cd hmwqgjnl 727 | $ ls 728 | dir fnmqpt 729 | $ cd fnmqpt 730 | $ ls 731 | 288739 dscbfp 732 | $ cd .. 733 | $ cd .. 734 | $ cd rgvvz 735 | $ ls 736 | 41475 srcnvmj.tqb 737 | $ cd .. 738 | $ cd .. 739 | $ cd .. 740 | $ cd zph 741 | $ ls 742 | dir hmwqgjnl 743 | dir tbwhzrtt 744 | $ cd hmwqgjnl 745 | $ ls 746 | 67069 rcm.psp 747 | 219165 rgvvz 748 | $ cd .. 749 | $ cd tbwhzrtt 750 | $ ls 751 | 198892 gwlw.hbb 752 | 94996 mmhtpz 753 | dir wwwj 754 | $ cd wwwj 755 | $ ls 756 | dir lcttc 757 | 14000 lnjvpcgq.zqs 758 | $ cd lcttc 759 | $ ls 760 | 141874 jhlrtbjw.thr 761 | $ cd .. 762 | $ cd .. 763 | $ cd .. 764 | $ cd .. 765 | $ cd zwlpm 766 | $ ls 767 | 206595 ctvmprqd.nwz 768 | 292861 dscbfp.bpv 769 | 171719 ldmrl.zhz 770 | 23134 lnjvpcgq.zqs 771 | dir mmhtpz 772 | 283001 msfmjd.vlr 773 | dir pwrfgjdg 774 | dir qdztzhl 775 | $ cd mmhtpz 776 | $ ls 777 | 90712 lzv.smr 778 | 102181 mcntll.fgt 779 | 260630 nhn.fll 780 | 219684 tlws 781 | dir tpsvqmgb 782 | $ cd tpsvqmgb 783 | $ ls 784 | dir bpmqlq 785 | $ cd bpmqlq 786 | $ ls 787 | 67400 lnjvpcgq.zqs 788 | $ cd .. 789 | $ cd .. 790 | $ cd .. 791 | $ cd pwrfgjdg 792 | $ ls 793 | 30612 fflm 794 | 174894 jczs.rgg 795 | $ cd .. 796 | $ cd qdztzhl 797 | $ ls 798 | dir dscbfp 799 | dir gcpjnrb 800 | dir nlffhf 801 | dir vnrgqg 802 | dir zrpgb 803 | $ cd dscbfp 804 | $ ls 805 | dir gdjvclf 806 | dir mbhdvsq 807 | dir tqb 808 | dir vlqqslp 809 | $ cd gdjvclf 810 | $ ls 811 | 104663 hwwlf.mhv 812 | $ cd .. 813 | $ cd mbhdvsq 814 | $ ls 815 | 98749 gqsjtd.rbv 816 | 200237 lbbg.nwb 817 | $ cd .. 818 | $ cd tqb 819 | $ ls 820 | 101550 cqjmfvd.grg 821 | dir hmwqgjnl 822 | $ cd hmwqgjnl 823 | $ ls 824 | dir mlmmr 825 | $ cd mlmmr 826 | $ ls 827 | dir rgvvz 828 | $ cd rgvvz 829 | $ ls 830 | 188297 gprgzd.rjf 831 | $ cd .. 832 | $ cd .. 833 | $ cd .. 834 | $ cd .. 835 | $ cd vlqqslp 836 | $ ls 837 | 191754 lbbg 838 | $ cd .. 839 | $ cd .. 840 | $ cd gcpjnrb 841 | $ ls 842 | 254902 nzzsg.bds 843 | $ cd .. 844 | $ cd nlffhf 845 | $ ls 846 | 295353 hhjqvqnc 847 | dir mmhb 848 | 58446 rgvvz.hsj 849 | 120084 rvgctqpr.qpp 850 | 302397 wtmlrm 851 | $ cd mmhb 852 | $ ls 853 | 57621 ndhvh.jbq 854 | $ cd .. 855 | $ cd .. 856 | $ cd vnrgqg 857 | $ ls 858 | dir fpmpzvj 859 | dir gtqwbhc 860 | 213709 hmwqgjnl 861 | 283893 hmwqgjnl.bbc 862 | dir lnw 863 | dir mmhtpz 864 | 177958 rcm.psp 865 | 68642 vzr.gwd 866 | 297210 zqcvpgfm.sgv 867 | $ cd fpmpzvj 868 | $ ls 869 | 62127 mmhtpz.mwv 870 | $ cd .. 871 | $ cd gtqwbhc 872 | $ ls 873 | 174559 rgvvz 874 | $ cd .. 875 | $ cd lnw 876 | $ ls 877 | dir lbbg 878 | 162886 mlsb 879 | dir rgvvz 880 | dir szgmtgb 881 | 253283 zpvqj.crr 882 | $ cd lbbg 883 | $ ls 884 | dir jgwj 885 | dir ndljhbv 886 | dir smhzdbn 887 | 68451 sznhpr 888 | $ cd jgwj 889 | $ ls 890 | 290222 fnpmb 891 | 148122 lnjvpcgq.zqs 892 | dir ptwrtdcf 893 | 4669 rcm.psp 894 | 76708 thgtnwhq 895 | $ cd ptwrtdcf 896 | $ ls 897 | dir gcjpt 898 | $ cd gcjpt 899 | $ ls 900 | dir hmwqgjnl 901 | $ cd hmwqgjnl 902 | $ ls 903 | 259660 lnjvpcgq.zqs 904 | $ cd .. 905 | $ cd .. 906 | $ cd .. 907 | $ cd .. 908 | $ cd ndljhbv 909 | $ ls 910 | 226511 qmtttllc.wgt 911 | $ cd .. 912 | $ cd smhzdbn 913 | $ ls 914 | 161029 mjwqn.bfs 915 | 49691 msfmjd.vlr 916 | 77941 ncwrv.fjc 917 | 12615 ndhvh.jbq 918 | 19222 rlrnrcqw.cgh 919 | $ cd .. 920 | $ cd .. 921 | $ cd rgvvz 922 | $ ls 923 | 270852 msfmjd.vlr 924 | $ cd .. 925 | $ cd szgmtgb 926 | $ ls 927 | 167819 ndhvh.jbq 928 | $ cd .. 929 | $ cd .. 930 | $ cd mmhtpz 931 | $ ls 932 | 6153 msfmjd.vlr 933 | $ cd .. 934 | $ cd .. 935 | $ cd zrpgb 936 | $ ls 937 | dir dgcrgg 938 | dir dscbfp 939 | dir gcdtbrnj 940 | dir hmwqgjnl 941 | 284848 hnfqrh.nll 942 | dir jsjrg 943 | 16735 lbbg.lpg 944 | 274897 vrp.fvm 945 | $ cd dgcrgg 946 | $ ls 947 | dir gpvhhh 948 | 210466 lbbg 949 | 161257 tqc.qgg 950 | dir zggnvwcb 951 | $ cd gpvhhh 952 | $ ls 953 | 100124 msfmjd.vlr 954 | $ cd .. 955 | $ cd zggnvwcb 956 | $ ls 957 | 76550 dsmvrsp.hht 958 | 106682 swj.pnq 959 | $ cd .. 960 | $ cd .. 961 | $ cd dscbfp 962 | $ ls 963 | 297842 msfmjd.vlr 964 | $ cd .. 965 | $ cd gcdtbrnj 966 | $ ls 967 | 78674 jmc.sst 968 | $ cd .. 969 | $ cd hmwqgjnl 970 | $ ls 971 | 280262 hmwqgjnl 972 | dir hrl 973 | dir mmhtpz 974 | 159812 rcm.psp 975 | $ cd hrl 976 | $ ls 977 | dir cqwbgn 978 | dir nlqd 979 | dir wmgqpt 980 | $ cd cqwbgn 981 | $ ls 982 | 91489 msfmjd.vlr 983 | $ cd .. 984 | $ cd nlqd 985 | $ ls 986 | 1982 jczs.rgg 987 | 172223 rcm.psp 988 | $ cd .. 989 | $ cd wmgqpt 990 | $ ls 991 | dir hmwqgjnl 992 | 91172 jczs.rgg 993 | 125726 lbbg 994 | 147883 rgvvz 995 | 99929 rhzwrpw.jml 996 | 145844 tzzqwr 997 | $ cd hmwqgjnl 998 | $ ls 999 | 198790 mlccths 1000 | 284058 mmhtpz.dvb 1001 | $ cd .. 1002 | $ cd .. 1003 | $ cd .. 1004 | $ cd mmhtpz 1005 | $ ls 1006 | 60918 hmwqgjnl.jhw 1007 | 220709 lnjvpcgq.zqs 1008 | $ cd .. 1009 | $ cd .. 1010 | $ cd jsjrg 1011 | $ ls 1012 | 230757 czg 1013 | $ cd .. 1014 | $ cd .. 1015 | $ cd .. 1016 | $ cd .. 1017 | $ cd .. 1018 | $ cd mjzqq 1019 | $ ls 1020 | 33792 fsrws.tdp 1021 | dir lbbg 1022 | 50734 lnz.fwp 1023 | 268057 wbgjwnb 1024 | $ cd lbbg 1025 | $ ls 1026 | 207413 cqf 1027 | $ cd .. 1028 | $ cd .. 1029 | $ cd sjbpgc 1030 | $ ls 1031 | 73862 lbbg.ddv 1032 | $ cd .. 1033 | $ cd zfsbvs 1034 | $ ls 1035 | dir lbbg 1036 | 10390 lqgh.fpl 1037 | 147426 mqw.fmr 1038 | 273227 rcm.psp 1039 | $ cd lbbg 1040 | $ ls 1041 | dir mmhtpz 1042 | $ cd mmhtpz 1043 | $ ls 1044 | 25218 dtdt -------------------------------------------------------------------------------- /2022/data/day8.txt: -------------------------------------------------------------------------------- 1 | 313213123212200312011243203120214010202554420335045116203101005212525131015305511140012431022113113 2 | 222021333112322244231542054023354511304431216312534453560105660253445311020244233130144313440030322 3 | 200012220300132310233100025524032003355144536126232161330106115213441450552235514000243120210031130 4 | 102111124044033113241415155401056014506203413216651520206613342353052505445000321043121021430440021 5 | 221134021010031320101542213340113552161113350123516154134654046250223033000413443321231233142213010 6 | 112241233114245202523201433013460320664034202602144006022621253536213222400131120345151014014131133 7 | 132211130114141401325141212460540656525106651152012063404633651340223361443201520054113541144043031 8 | 323140320024314005210155316202152552621415660063112177564603241212312025036551350313225504314404112 9 | 014013242041230510442265205625331115540222744516266167254216354043533020346502032534231121044441220 10 | 233414030101315255335126055263144512111777464611565216157441673706100506241423030403420343112342030 11 | 133144314412553330012446404244433465434666762135116677765213463444460612511131340332552424201204120 12 | 010320402332512110363213044530335655613562223756572424746437567672262256431540210005310544243444101 13 | 324403411232230200215144254550257275144535323452276762234354361552536153612012260502425410505314212 14 | 044143021304533036524115200363122146144443357746134567133417572143572217253466665420004544002052304 15 | 031301205442313664253200353721523337451137554555385833341715227554331566151244334446363035232422032 16 | 412021132254126340642250212415471513377143653545744364662761514364426436251422450305502445230351142 17 | 423013525424334650512351242132544127615655738268233852527877887577454317715373566210510633013145020 18 | 314013042244622602006117664713652263528475833433263846468763678447134716635345050225504112315124312 19 | 210530032555051320514661111414734263472852682724485772623266565822423365264512541061226540103142223 20 | 202523210140346233027372362557125436368725536228624865344774378537888747171665564143331101501212340 21 | 312102150200503360534132445517484678583587678756766763747725475724228724317675166660536246102044404 22 | 014501150514404506226424155762432386227846258625478334768375862827476433553651311460116133631440213 23 | 145345025402132601222234271268834838244287765994936689397836424284644676342577451356463132062234232 24 | 030520533600060465674743543832435622275594666933473957864637427284284528866426734257033413611153542 25 | 111125222126126664625217555874224623337857863456948836785373353757744683247375632677514312554402024 26 | 454344234313551645731724622525365832657894545768964536939387863978465673442253722125752553236132004 27 | 141351656653224237252122854224855258938593946648537669944575478986734723225856761571634036114323202 28 | 301354130411223555466416844555847677853855433636774857897563386873392265447728545634555234214003555 29 | 324351500351156142554654722557458488698547355994463766454687489898485753473777574124613414652504004 30 | 000202526603566624271288867428799685358698759656849978553895836996388433252545546266753551322305123 31 | 142140450656776227714466585833798874975635767795445874946645465477849772464684527525213236023524220 32 | 324262353505673315724236445748536388973668654588599896854469535494838643744387872721615221063235321 33 | 552206463167666154577658258569744567339446596474586868848866645743399869362886626547344767533546153 34 | 352323434663437355725427826449799477395999565764668865854945787936654594832633678767541225131001503 35 | 440166362233562667478335763956389857755767497475848959778498799895595785387844464757513162265652640 36 | 104122124642766642664452283555537376598457767558647554969995685645795999475473687336165523560052001 37 | 255352243015641217534667849769975859955778464876555786747474774794864778373768452562637255330444232 38 | 456220432747476336866782246873698697677699688678997975678548856759743777979632262638565415133210633 39 | 354641641663166247236463863687744889449497969668886767686756898498698544578857834482516366746042103 40 | 125201564115437683566423743488648645944969969766988857659599646944656843556585768447477145122536100 41 | 565166453317161563746425435958546648857589858689866779576599554476785965354884443284615264253254316 42 | 121246126671552573824643637663796768749697876859599686798755755668478994537789677336675255111501306 43 | 360355134677155672632437676667797548778989878956585555755888869798448799556895227877387243567410342 44 | 201045427623176635776469999883749944896899977995889968875595559556975886998744463243563112165201326 45 | 352250115546124536536769454447786744475757988989886986985776968688899563536676844455461472345336201 46 | 444012305276547277522595375654994558855859877987996678887769879954854599865599846623773465534004160 47 | 003621673437674224248486547979885878957565757686996887766986595599447858644667462254244517674205046 48 | 045265132276456334554365893935749649965989576778789869677576755756899986563778785582684657425224532 49 | 256151375615717542563666894835779554876779596976976699887778577957456866545674477228666746346403631 50 | 161152464371764263643334333389748956969597666797767878866755966565484647664843525828682412373755454 51 | 502011544714165463843278447485479797867666888668797796768977767569575788836334565474627531473704246 52 | 151460364232447443233565968759985868786557997798976867676959589967898874545836432537554441566122314 53 | 325354014323767722264889584534897666569996596668678778968696799996649764974489874252576563221244356 54 | 300165663442414468382638967476995984959988868887699967676597986577798947648889527728225341345144126 55 | 523044146537227284236854867884546566896896589678689877799567996884747789569869374746443236356121631 56 | 623520016256236672238393557665746588457977578897867867689877778857948885353767526367472655634211324 57 | 513112323743777428355697564974758755988785986568979868979685685997847967586943842248473255451053311 58 | 450020506764535784366644976997588757498856779786876686775868855996746554394579645638756632417635430 59 | 333302106653766675873339799535474646879996789788987875587977755587884588498366525263657241244563411 60 | 021603345313213632267754575346995947848565695878969885767869775868759846376874235783854235221066060 61 | 451051105676415353834239879477689664878678578559658579558858859685656646333643282578751361221450043 62 | 323133151167312457234657559765757999468467698869969666865897797857485499569838464565771443341433624 63 | 351226435216677645378442636393858569688464696659679658777559879978765539986842833528347477142364355 64 | 312522015134552576843564246393479975856585945659576986575979678487794748787843877358147735663364153 65 | 436221405132742616333723774335457748498747869445768557777496645469557694497322763335217424704452516 66 | 531453464276746646458848784658447874499485559877948986585644748765566863496685884585514544145343261 67 | 124004035175455643547236885494794479865464946999998568586788689967343377758845738571672264321061003 68 | 200155306351543777457257657968974568856495865454798449784799858884637386375422526864243565062364102 69 | 445601414321444235648773664866559437996644487476459565964785659539635568456223755627145663416360463 70 | 450034302502443262354377457789598776596746648495968457946465588399656898646426472411777146341644150 71 | 023146264504256441756645634487555664987468946766784647877558359936934483654774826324735714633603030 72 | 333342045300642417421427522458538378785933374679488696549488964673985948667688553344343522163201010 73 | 455545402043235615564685485576228935958544883643955984493945756635487843653852747147246556553523510 74 | 521503005555124536565566284723484688885348465998948435535997783785742684873228712152117622054235215 75 | 312504066020457274731625463858577544637764966338466339435677364997568623562286441516367015430243140 76 | 205031053461063473777474186844553532897797357638539497889554739476455778658267742121765420506102155 77 | 234254241452503617412556672484735427269749864873783849964559983463526474536714377341620430652445005 78 | 005122256601541121767617243673775345873688335643477574686454362545566824655271216641353663405312143 79 | 433412443503526366274346321587248483458325774873734889987843368227357425636513234740304061623033442 80 | 150425005143315445343366357776572258884478742563678357783845862235758564513525337622046146253440425 81 | 225155323264631456635462325511885764326675428846268646575225734474437376612544667111053406332354205 82 | 035014011000365630427277363261244836668367562448734772533252234588746775752633154601553624254020455 83 | 012332415442566650666617225747354638747746384682743326746678826728355131225614470132623462424342514 84 | 013524113311511615516563562155256314453777643324383464236254565752742637247411046651633511302344051 85 | 212122212430404140032134131564756752725322885466434352224875446515552517267614410524244004301240143 86 | 311400235445132520254065617566464245641623888587556667385287735312776421161334445544251524420400232 87 | 440215452341344043062300567544524332733611636552822742567416277354477557756312354353622415135520342 88 | 212430430313114143406656305336551452762327233736172563224242725162751616161102623013055041203553040 89 | 321010353433305435042151016603142762425754273737777221111751751754217734105034366116400050235001301 90 | 141012030043441152515110066520525231112547624256173331346341451761472053411546323404310404443302411 91 | 133133034522454043232213312145664546126452755453724144154261454733124054403605004150535010413000334 92 | 331412441152240551104612131344064131112564126362561532523311462604061151623121543003234021543312303 93 | 010301442302500534021525552205536466144454523741535255444641345430402356234514221410435324321440211 94 | 222301014410242404221240250563134040056104626021173454550103400400616550340400310015454450242211021 95 | 233412422204111420244300456264320032401430366334634641441411125102262216452333414201235210001133200 96 | 132244430320123233143125240232350142156620032556633233042303530460352401020133104323414224314240333 97 | 003213243020203044035550441012322051645661162162123160565554312321050133555533333123214002014231123 98 | 000032030402033315113220225514041611664662663525144303562161423513133325130431534323303033322212313 99 | 101211324120322333355055001035515221630532526633042003421442155144120444232152535003241233413001002 -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Advent of Code using Pandas 2 | 3 | A repository of fun and exciting ways to use the pandas library to solve Advent of Code problems 4 | 5 | ## Current year 6 | 7 | Add the four digit year to the URL to access a specific year - https://adventofcode.com/2022 8 | 9 | ## Video Tutorials 10 | 11 | * [2022 Advent of Code Playlist](https://www.youtube.com/watch?v=U7DSfPFZX0w&list=PLVyhfExBT1XCSIMAKmErW1RqFaD5uzc4-) 12 | * [2021 Advent fo Code comprehensive tutorial](https://www.youtube.com/watch?v=6aH4RMrhbVc) 13 | 14 | ## Advent of Code 15 | 16 | * 25 fun, interesting, tricky word problems that require programming 17 | * Make an account here - https://adventofcode.com/ 18 | * Released December 1st each year 19 | * Problem statement is worked within a story 20 | * Visit website for full story 21 | * Relevant parts will be posted in the notebook 22 | * There is data for each problem 23 | * Every person's data is different 24 | * Your answer will be different than mine 25 | * Two parts to each problem 26 | 27 | ## Using Pandas 28 | 29 | * Tutorial is for experienced pandas users 30 | * Assumes you know the fundamentals 31 | * Will show interesting and unusual pandas tricks to solve these problems 32 | * Some are easier with pandas, others without 33 | 34 | ## Master Data Analysis with Python 35 | 36 | If you are interestd in becoming an expert at Pandas so that you can manipulate data in any way imaginable as shown in these tricks, then purchase [Master Data Analysis with Python](https://dunderdata.com/master-data-analysis-with-python). It contains 500+ exercises, projects, and detailed solutions. -------------------------------------------------------------------------------- /pandas_tricks.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tdpetrou/Advent-of-Code-Pandas/ecacffcd574ee54306d62b05b0df82b15ffbfdaf/pandas_tricks.png --------------------------------------------------------------------------------