Compare commits
25 Commits
44b07c2f8f
...
master
Author | SHA1 | Date | |
---|---|---|---|
|
bdfb7e1ff3 | ||
|
3f9df3ee38 | ||
|
028097d209 | ||
|
9b26d17786 | ||
|
0ed2beea43 | ||
1e43c1d1b2 | |||
21ebe11abb | |||
|
7789002a2e | ||
5094014b93 | |||
|
1bf812ce9d | ||
bbd18bcfd0 | |||
|
81abf00d17 | ||
812abb8562 | |||
14a148f454 | |||
|
0fc3fcc67b | ||
|
9174bfc690 | ||
da41491861 | |||
594bc3f198 | |||
2af544717c | |||
|
8bfc4fec97 | ||
|
40682f6cb6 | ||
7d2923a6bc | |||
6e5155d169 | |||
|
865bb99c90 | ||
|
12bcda2d22 |
18
aoc.jl
18
aoc.jl
@@ -35,15 +35,29 @@ end
|
|||||||
|
|
||||||
|
|
||||||
function _run_parts(day)
|
function _run_parts(day)
|
||||||
|
input = _input(day)
|
||||||
|
if "precompile" ∈ ARGS
|
||||||
|
@info "precompilation is on"
|
||||||
|
end
|
||||||
if isdefined(Main, :p1)
|
if isdefined(Main, :p1)
|
||||||
p1_res = @time Main.p1(_input(day))
|
if "precompile" ∈ ARGS
|
||||||
|
i = copy(input)
|
||||||
|
Main.p1(i)
|
||||||
|
end
|
||||||
|
i = copy(input)
|
||||||
|
p1_res = @time Main.p1(i)
|
||||||
@info "Part 1: $p1_res"
|
@info "Part 1: $p1_res"
|
||||||
else
|
else
|
||||||
@info "p1() not defined. skipping..."
|
@info "p1() not defined. skipping..."
|
||||||
end
|
end
|
||||||
|
|
||||||
if isdefined(Main, :p2)
|
if isdefined(Main, :p2)
|
||||||
p2_res = @time Main.p2(_input(day))
|
if "precompile" ∈ ARGS
|
||||||
|
i = copy(input)
|
||||||
|
Main.p2(i)
|
||||||
|
end
|
||||||
|
i = copy(input)
|
||||||
|
p2_res = @time Main.p2(i)
|
||||||
@info "Part 2: $p2_res"
|
@info "Part 2: $p2_res"
|
||||||
else
|
else
|
||||||
@info "p2() not defined. skipping..."
|
@info "p2() not defined. skipping..."
|
||||||
|
2000
data/day_1.txt
Normal file
2000
data/day_1.txt
Normal file
File diff suppressed because it is too large
Load Diff
102
data/day_10.txt
Normal file
102
data/day_10.txt
Normal file
@@ -0,0 +1,102 @@
|
|||||||
|
([({<(({<[(<([{}<>])<(()<>){<>[]}>>[[{<>{}}[<>{}]][(<>[])<{}<>>]]){[{{[][]}[[]{}]}({{}[]}[{}<>])]({({}{})
|
||||||
|
([{{[(<{[{{<[{{}[]}{(){}}]{[{}{})([]())}>}(({{{}}{<>{}}}{(()[])(()<>)}){<<{}()><[][]>>})}(<<<(<
|
||||||
|
((<[[<([[({{[([]{})([][])]{({}())(()}}}({[[][]](()<>)}(<[]{}>[[]{}]))}<[[{()<>}<[][]>]]{{{
|
||||||
|
{{[{{<[{[[(<((<>())(<><>))<<()[]>>>)<<<(<><>)[()()]><([])<[]>>>{{({}()){[][]}}<[[]]>}>]]<[
|
||||||
|
[<{(<{<<[[[[(<{}()>{{}()})[[()()]<{}()>]]{{<<><>>({}<>)}(([]{})[{}<>]}}]{{({[]<>}{[][]})<[<>[]]<{}()>>}[{
|
||||||
|
<<{<{<<{<<[(([<>()][<>{}])[<()<>>{()[]}])[<({})<<>[]>><<[][]>[[]<>]>]]>>((<<<(<>[])[{}{}]>[<[]{}>({})]>>)<
|
||||||
|
<[[[(<{[{((<{(()[])[{}<>]}([[][]][()<>])>[(<[]())<<><>>){({}{}){<>[]}}]))}]}>{<([<<[<(()<>)
|
||||||
|
({{{<<<{({[{[<()[]>({}())]{<{}()>({}{})}}]{([(<>)<[]<>>]{([]<>)(()())})(<<<><>>{{}{}}>[({}{})<()
|
||||||
|
{{<<[<[{<(({{({}<>)<<>()>}{{{}<>}}}{<({}())({}<>)>([<><>]{()[]})}))<[<{<[]{}>([][])}((<>())({}[]
|
||||||
|
[[<([({<<<<{<{<><>}{()<>}>}>{(([[]{}>[{}()])[[[][]]])(<[[]<>](())>(<()[]>({}<>)))}>{<[<{{}{}}
|
||||||
|
<<<[[(<[<<<{([{}[]]<[][]>){{(){}}[<>{}]}}><([{<><>}<[]()>]<[[]()]<{}{}>>)>>{(<[[(){}]](<<>()>[<><>]
|
||||||
|
<<[<[<{[<[(<[<()[]>]{[{}[]][[]<>]}>)[{{[()()]{{}()}}{{<>}{{}<>}}}<{(()[]]{[]<>}}([<>()]<[]()>)>]]><{{<
|
||||||
|
([([(<([((<{<[[][]](()[])}{<[]()>[<>[]]}}{({(){}}[{}[]]){{<>[]}[()[]]}}>[<({[]()}<()<>>)(<[]{}>([])
|
||||||
|
<<{{([<<[{({[<{}[]>{()()}](<<>()>)}[[<()<>>{{}{}}]((<>[]){[][]})])([{((){}){[]{}}>{[{}{}]<()<>>}
|
||||||
|
[(<[[<{({{{{{{<>()}([]{})}([()()])}([[()()]([])](<<>()>({}[])))}[{[[()[]][()()]]{[{}<>]}}<{({}())<[]{}>}<<<>[
|
||||||
|
[({{{[(<{[[(<[<>[]]<[]()>>{{[]<>}})]<{([[]<>]([][])){{()()}{{}{}}}}>]}{{{[<({}())>(([]()){
|
||||||
|
<({([<[([<<(<<<>{}>>[{<>[]}])>><<<(((){})[<>{}])<(()[])<{}<>>>>>([[[()][()]]])>]{<([<{[]<>}[{}<>]>]<{[()
|
||||||
|
[([[{<({(([[{{{}<>)[[]()]}(({}<>)[{}{}])]]<<{({}<>)(()())}>{[[(){}]({}[])]<{{}{}}>}>)<{([[
|
||||||
|
<(<<[{<<((<(<{<>[]}>[([]{}){<><>}])[{([]<>)(<>[])}(<()[]><[]<>>)]>))><[(<[([<>[]]<<>[]>){<()()}<{}>}
|
||||||
|
<{{<([<{[{({({<><>}({}()))<({}<>)<(){}>>}[(<(){}>[{}<>])<(<>[])([]())>])}[[{({()<>}({}<>)){(<>())<{}
|
||||||
|
[[(<({{<(({[{<()[]>{()[]}}]<[<()[]>{<>[]}]{{()[]}[{}{}]}>}(({({}<>)[[]{}]}[[[]()](()<>}])({{{}{}}}
|
||||||
|
({<<[[[<<[(<([()()]{(){}})>)]((([<()><(){}>]<{[]<>}[[]]>)<(<[]<>>(<>[]))>)({[(<><>)[<>]]{<()
|
||||||
|
{[((<{{{<(<<{{()()}}<({}<>)<[]<>>>}{{<(){}><<>[]>}{[<>{}]<()<>>}}>{<[([])<(){}>]><{[()<>](<>{})
|
||||||
|
({([{<<(<{[[{[{}()][()[]]}([()[]]((){}))]<([<><>}{{}<>}){<[]<>>(<>[])}>]}[<[({(){}}(<>()))]>]><<({({<>{}
|
||||||
|
[<{([<{({{<[<<()[]>[(){}]>{{{}()}(<>[])}]>[{((<>{})<{}{}>){<{}[]>}}[(([]<>)(<>[])){({}())[{}<>]}]]}<[[[{{}()}
|
||||||
|
([{{({{{[(<(({<>{}}<[]<>>))((<<><>>){<{}>{<><>}})><<[([][]){{}()}]([[]<>])><({()<>}[[]{}])<({
|
||||||
|
(([[<[[[([<<(<<>()>{(){}})<([]())<<>[]>>>{[<<><>>[[]]]}>])({({[<[]{}>]<[(){}][[]()]>}([<[]()>[()
|
||||||
|
(<[[<[({(({[{[[]()][[]()]}]}(<[(()<>)[<>]]{(()())[<>{}]}><{([]{}){{}()}}>)))})({[[<[[<<>()>(()())]{<()[]
|
||||||
|
[[([<<[[<<<((((){}){{}[]}){<{}<>><{}{}>}){{<{}[]>[<>[]]}(<{}>(()()))}>[(<(<>{}){{}()}>(([])<()>)}<(<<>()>)<{[
|
||||||
|
{({{[[({{{{<({[]()}<[][]>)>}{(({[][]}[()<>])<<[]{}><[]()>>)<([[]](()()))[{[]<>}(()[])]>}}}}((
|
||||||
|
{[(([({[[(<{([[]][[]<>])<<<><>>[{}{}]>}{<({}{}>{{}()}>{(<>{})[[]<>]}}>)((([{{}()}({}[])])[[{<>{}}]([()()])]
|
||||||
|
[[{(((<(<<<((((){})[()()])<[()()]{[]<>}>)>><<{([[]{}])}>[{({<>{}})((<>{})<[][]>)}({([][])[<
|
||||||
|
{({{<[<{(([[<<<>{}><()<>>>{(()())([][])}]{{{(){}}[()<>]}(<<><>>{[][]})}]{[<[[]{}]<{}()>>((<><>)(()()))]<(<()<
|
||||||
|
<[({(<[{(<([<<<><>>>{{()[]}<[]>}]<[(<>{})({}<>)]((()[]){[]{}})>)<<[[()()]]{<[]<>>(()())}>>}<[{([<>()]<(
|
||||||
|
<([<{[(((<((<{[]<>}<[]<>>>{<(){}>}))([[{<><>}{<>{}}]])>)(([[[({}())<<><>>][<<>[]>(<>())]]<<<<>{})[[]
|
||||||
|
<{<{[(<<[<<{{{()<>}(()[])}((()[]){(){}})}>[{({<>()}[[]<>])[{{}()}<()[]>]}{([()<>][[]{}]][[{}<>][(){}]
|
||||||
|
{([[{<({{[[{<<{}{}>{[]}}[(()<>){{}<>}]}(({[][]}{[]<>})[(<>)[()()]])]](<(<{()()}[<>]><[<>()]>
|
||||||
|
({<[[([{[{({[<()()>[<>{}]]{[<>[]]<{}<>>}})}[([<{[]}<<>{}>>[([]<>)]][[([]())<<><>>]])]]}])]{<([({[(
|
||||||
|
{{{{[[[{[[{(({[]()})){{(()[])<[]<>>}{<()[]>(<>())}}}]<{{<[<><>][{}()]>}[<{[][]}(<>[])>({[]()}
|
||||||
|
[<{{([(<<{[<[[{}()]]<{{}<>}<[]()>>>[<<()<>>[<>[]]>]][[{<<>()>[(){}]}[<{}>{{}{}}]](((()>{{}}){[[]<>][
|
||||||
|
[(<((({(<{<(({[]{}}(<><>))({{}()}{{}<>}))[<[<>()][[]()]><{{}[]}([][])>]>((<[[][]]>({{}()}<[]
|
||||||
|
<[{{<[({{<(<<<{}<>>{(){}}>{{<><>}{{}()}}){([{}[]](()[]))[{{}<>}[<><>]]})(<[[{}<>]{(){}}]<{()[]}[<><>]
|
||||||
|
<<({{[(({<{{{((){})<()()>}{[<>{}]{{}<>>}}{({()<>})[([][])<{}[]>]}}[{{{()<>}<[]()>}[<[]{}>{[]{}}]}[[[()[]]][({
|
||||||
|
{{[[([([[{<<{[[][]]}>{<<<><>>{()[]}>{[{}()][{}{}]}}>}][[<([{<>[]}{<>()}]{{()<>}({}[])>)(<<[]{}>{[]<>}
|
||||||
|
[[(<<{<[<[[<({<>[]}([]<>)}{<()()>}>]]{{<([(){}]{<>()})<[[]()][(){}]>><{<[]()>[<><>]}{(<>[])(()[])}>}}>[{
|
||||||
|
<([{{<<{<({[<[{}<>][{}()]>[[()[]]{{}{}}]]<({[]<>}([][]))([(){}](()<>))>}<<({<><>}<<>()>)>>){[[([()<>]<{}
|
||||||
|
{<<[[[[{<(<[[(()())<(){}>](<()[]><[]<>>)]<(<()[]>[<>[]])(<{}[]>({}{}))>><{(([]{})[<>()])<<{}[]>>}>)<({<{{}{}}
|
||||||
|
<(({{([{{<([({()()}{{}{}})({[]<>}{<>[]})][(({}()){[]{}})({[]{}})]){<([<>]{<><>})[{{}[]}]><[
|
||||||
|
[[{<<<<[<(<<<<[][]>(<>()]>{[<>()]{(){}}}>>{[<<{}()><<>()>><{[]()}{{}[]}>]<(<{}[]><<>()>)({[][]}([]{
|
||||||
|
{[([(([[{{{[{{<>[]}}(<[]{}>)]>(((<{}{}><(){}>)([[]{}]))(<[{}{}]{{}()}>{[[][]][(){}]}))}}]](<(((<{<<
|
||||||
|
<{{([[((({{[[[[]<>]<<>{}>][{()<>}{(){}}]]}[<<<[]<>><<>[]>>>]}<{[(<<>[]>(<>{}))[<{}()>(<><>)]]([{{}[]}{{}[
|
||||||
|
[<[[{{([<<<{{[(){}](<>[])]<<(){}>{{}[]}>}<[{()<>}{<>[]}][<{}>[[]]]>>{[[({}())]<<<><>>>][({{}[]}
|
||||||
|
[[(<[{[(({{[<<<><>><{}()>>{({}[])<<>{}>}}}}[[[<[()()]<{}()>><((){})(()[])>]]{[{{<><>}<()[]>}[({}<>)<[][]>
|
||||||
|
({{[[<([<[{<[([]<>){[][]}]<((){})<<>[]>>><<<{}<>>[()<>]><{<>{}}{<>[]}>>]](([[(()<>){(){}}]<[<><>][{}{
|
||||||
|
{([([<{([{[[[{[][]}<()[]>]](<<<><>>>{<<>()>({})})]}[(<<[{}[]][[]()]>[<[]<>>([]<>)]>)<{[<()(
|
||||||
|
<(({[[<{{{[({(<>){{}[]}}[({}()){[][]}])[[{()()}<[][]>][<()<>>([]<>)]])}{[<[(<>{}){()}][(()()){[]<>}]>(([
|
||||||
|
[<<[[<([([[[([[]<>]<<>{}}){<[]{}>[{}<>]}]((({}{})){{[]<>}([][])})](([((){}){{}{}}]){({{}[]}<{
|
||||||
|
[[{{<{[<<[({<<()()>[[]<>]>[(()<>){()()}]}[<<{}<>>([]())>{<()[]>[{}<>]}])]><[{{{{[]<>}(<>())}[(()())([
|
||||||
|
{<([{{(<<{([{<()()>{<>[]}}]{((()[])([]()))})}>{(<({<{}<>>}{[[][]](<>[])})><{<[<>]>[{()[]}{()[]}]}{{
|
||||||
|
({(<{<{[{<{{([()[]]([]{}))[(()){[]{}}]}({{[][]}([][])})}<<<(<>[])[[]{}]>{[<>()](()())}><<[
|
||||||
|
{[[<[<<[[{({{{[][]}<[]()>}}([{[][]}(()<>)][[<>()](()[])]))}([[({{}<>}(()[])){{[]()}(<>{})}][{
|
||||||
|
<{[({{[{[[[<<({}[])<()>>(({}{})[[]()])>]<({(()<>)]<[()[]]>)[(((){})){((){}){<>[]}}]>]]}][{[[[(<
|
||||||
|
(<(<{(<{{[{{{[<><>][[]]}}{(((){})[<>{}])}}{{{<[]()><(){}>}(<[]>{()()})}[<([]<>)>]}]}[<((({(){}}<
|
||||||
|
{<(((([[{{[<{[()[]]{<>[]}}[<{}<>>{()()}]>](([<[]{}>[{}{}]]{{()[]}{(){}}})<{({}[])[{}<>]}({<>[]}({}()))>
|
||||||
|
[<<(<({[[<{([[<>{}]<{}<>>]{{<>{}}[[][]]})<(<(){}>{[]{}}){([]())[()()]}>}[<({<><>}[<>{}])[(<>())[<>{}]]
|
||||||
|
(<{<{[[<(((<[{<>()}<{}()>]><[[[]{}]]({(){}}{<>()})>){<<[[]()]{<>[]}>>[[<<>[]><{}[]>][{[]{}}
|
||||||
|
({[{(([[([[[[{()[]}]][{[()]}({[][]}([][]))]](<{<{}[]>((){})}{[()<>]<{}[]>}>[(([][]){[]<>})[(<>()
|
||||||
|
{[{((<{<{[<[{[<><>](()())}]>(<(<()()>)>{(([])<[]()>)<<()<>>[<>[]]>})]([<([<>[]](<><>))((<><>))>])}
|
||||||
|
<[<[[<<<{[[{((<>{})[<>()]){[<>[]]<{}<>>}}(<[(){}]{{}()}>{({}{}){{}{}}})]]([[[[()()](()[])][{(){}}(()()
|
||||||
|
([{<[{<{<{<<<(())[<>()]>[<<><>>]>(<[<><>]<{}<>>><{{}{}}[()[]>>)>[<[[<>()][[]{}]]<[()()][<>[]]>>(<({}[])<{
|
||||||
|
{[[{<{<<<(<[<(()())[<>[]]><[()[]]>>[<[(){}]<<>[]>>{<{}{}>[()<>]}]>)>>><<<[(<[<{}()>[<>()]]
|
||||||
|
(<[[(({<<[((<(<>())>[[[]()]([])])<{[<>()]{<>[]}}[<<>[]>]>)(<<[<>{}]<[]()>>>[{{[]{}}<()<>>}{(
|
||||||
|
{{<<[<<<[[{{{<<>()>(<>())}[<<>()><[]<>>]}<(<<>()>{(){}}){<<>()>}>}[<{(<>[]){{}<>}}[{(){}}[(){}]]>{
|
||||||
|
([{<(<[{[([(<{{}[]}((){})>[<<>()>[()[]]])]({<([][]){{}<>}>})){[{({[]{}}([]<>))<[[]<>]>}]}]}[<[{[<[<>
|
||||||
|
(<{{([<<<{([[<()>([]<>)]<[[]{}]>]){({<<>()><<>()>}[[[]<>><[]>])<{([])[[]<>]}<<<>{}>{[]()}>>}}><[(({{{}()}
|
||||||
|
<{<<[[([(<(({[<>{}]<<>[]>}[([][])[[]()]])[{<<>[]}{[]()}}{[()()]([][])}])>[(<({<>[]}<(){}>)<<()<>>[[][]]
|
||||||
|
((<([[[<<{{[<(()())>]}}[{<<{{}{}}{()[]}>{{<>{}}}>{([[]{}][()<>])({(){}}<<>[]>)]}{<<<<>()>><<(){}>{{}[]}
|
||||||
|
[<<<{<{[[{{<<[[]](()[])>{({}{})[{}()]}>[([{}]([]())){(()[])<{}<>>}]){[{{[]}[[]]}<{[]{}}<()()>>]}
|
||||||
|
[[(<((<{[<<[[[(){}]<()()>]{(<><>)[<>[]]}]>((<{()<>}[<>[]]>((()())<{}[]>)))>[([<<{}<>>({}[])>((()<>){[][
|
||||||
|
[<(<(({[{<<<[({}[])[[]()]]>{<<<><>>[()()]><[[]()]{<><>})}>[[<([])(<>)>{[(){}](<>{})}][{[[]()][{}<>]}<
|
||||||
|
([<{[{((<[([({{}[]}[{}[]])<{[]{}}<<><>>>]{<(<>{})[<><>]>({[][]}<()<>>)})[<(<{}[]>({}{})){{[]()}}>(
|
||||||
|
[<[<({<({((<[{[]<>}({}{})](<{}()>{[]()})>{{[[][]][()()]}([[]()]([]{}))}){[<[[]()]>[<[]()>{()<>}]]})}<[[{{<[]
|
||||||
|
<{[[[[[{(<((<{[]{}}({}[]]>(<()[]>))){[({<>[]}{{}()})<[[][]]<[]<>>>][{{()[]}(()<>)}{(<>{})<[]<>>}]}>({[([
|
||||||
|
[(([[<[{<[[<{{()<>}[<>()]}(({}()){()<>})>]]<[{{{()[]}{<><>})[{[][]}]}]>>[[[{[{()<>}[<>()]]({
|
||||||
|
([[([([<{{((([<><>]){[<>{}](()[])}){<<<>()>[{}()]>})[[<[{}()]([]{})>]]}{[{{([]()){(){}}}(<{}{}>)}{[<
|
||||||
|
{{{{(<[(<(<[{([][])[<>()]}<{{}()}>][<(<><>)<[]<>>>{{<><>}[()()]>]>([({[]()}(()[]))[({}[])((){}
|
||||||
|
<[<<<<({<[[{(<{}()>[[]])}]{<([{}()]>{<{}<>>[[]<>]}><(([]()){[][]})[(<>()){<>[]}]>}]({{<<()<>>(<>())>[({}
|
||||||
|
[{(<<([[{(<{<[()[]][<>]>[{<>[]}<()[]>]}>[([{[]<>}{()<>}])({(<>())}{<{}[]>{[]()}})]){([[<[]<>>{{}{}}]([[]{}][[
|
||||||
|
<[(<<<<<<{{([[<>()]{{}()}]<({}[])({}<>)>){{[[]<>]({}[])}}}({<(<>())(<>())><([]){[]<>}>})}{{(<({}{}
|
||||||
|
[[<[{{<<<([[<{<><>}<()<>>>{{()}({}{})}]{[<{}[]>{[]{}}][{<><>}(<><>)]}](({<<>()>})[<<[][]>[<>()
|
||||||
|
[[{<{((<((<([<[]<>>(<>())])(<[{}[]][()<>}>(((){}){[]()}))>[{(<<>[]>{<><>}){<(){}>}}[<(()[]){()}>]]){(({{{}[]}
|
||||||
|
(({{{[{([<[<[{()()}][(()[])(<>())]>{{<[]<>>{[]()}}{[<>[]]<{}()>}}]<([{()()}<(){}>]{[<>[]}<()<>>})>>([<<{{}[]
|
||||||
|
{<<({<[({{{(<({}{})<[]()>><({}[]){()[]}>)(((()<>)<{}{}>)({<>()}({}[])>)}{({<{}{}>{(){}}}(<[]{}>{<
|
||||||
|
<<[<{<<[<{([([{}[]][(){}]){([]())[{}()]}])}>{{([{[()()]<[][]>}[({}[])((){})]]{({[]{}}[[]<>]){(()())({}[]
|
||||||
|
[[({<{[(({<({<<>{}><[]{}>}[({}()){<>[]}])>})[[<([<[]>[{}<>]][([]{}){[]}])>(<[[<>()}{<>{}}][{()[]
|
||||||
|
{[<[[[{[<[{{<{{}<>}{<>[]}>{([]<>){{}{}}]}}<{((<>{})[()()]){{<>()}<{}[]>}}<<<<>[]>>{[()[]][{}{}]}>>]{[({{<>()}
|
||||||
|
[([[<<[([[<[{[<><>][()<>]}[[[]<>]<{}>]](([[]<>]<<>{}>))>(<{<[][]>{{}()}}{[[]()]{<>[]}}>[[<()<>>({}<>)]]
|
||||||
|
[{<(({<[<[[[[{<>[]}]]([{()<>}<()[]>]([[]<>]<<><>>))][{<{[]}{[][]}>[[<>{}]<[][]]]}<[(<><>)[<
|
||||||
|
<[[<{<<<(([([[{}{}](()<>)][([]<>)[<>()]])][<<({}())[[][]]>>])<<<[({}<>){()<>}]>[[[(){}][[]]]<<()<>>}]>[<(<<>{
|
||||||
|
(({{((<{[{({(([]{})<()>>{{{}()}([]<>)}}){<((<>())(())){<()()>([]())}>}}[{(<<<>{}>>[<(){}>{()<>}])}
|
||||||
|
<[<[(([{<[{(<<<>()>[{}<>]><<<>()>[{}{}]>)<({[]{}}[{}[]])[[()<>]({}<>)]>}<[<{[][]}<[][]>>[<<><>>]][{({}[])
|
||||||
|
{[{<[([[[[({{[{}{}]{[]()}}<([][])[[][]]>}{({<>()}(<>[]))[({}<>)[<>{}]]})]]]{{{{[[[{}[]](()<>)][
|
10
data/day_11.txt
Normal file
10
data/day_11.txt
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
4781623888
|
||||||
|
1784156114
|
||||||
|
3265645122
|
||||||
|
4371551414
|
||||||
|
3377154886
|
||||||
|
7882314455
|
||||||
|
6421348681
|
||||||
|
7175424287
|
||||||
|
5488242184
|
||||||
|
2448568261
|
22
data/day_12.txt
Normal file
22
data/day_12.txt
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
ax-end
|
||||||
|
xq-GF
|
||||||
|
end-xq
|
||||||
|
im-wg
|
||||||
|
ax-ie
|
||||||
|
start-ws
|
||||||
|
ie-ws
|
||||||
|
CV-start
|
||||||
|
ng-wg
|
||||||
|
ng-ie
|
||||||
|
GF-ng
|
||||||
|
ng-av
|
||||||
|
CV-end
|
||||||
|
ie-GF
|
||||||
|
CV-ie
|
||||||
|
im-xq
|
||||||
|
start-GF
|
||||||
|
GF-ws
|
||||||
|
wg-LY
|
||||||
|
CV-ws
|
||||||
|
im-CV
|
||||||
|
CV-wg
|
789
data/day_13.txt
Normal file
789
data/day_13.txt
Normal file
@@ -0,0 +1,789 @@
|
|||||||
|
103,224
|
||||||
|
624,491
|
||||||
|
808,688
|
||||||
|
1076,130
|
||||||
|
700,26
|
||||||
|
55,794
|
||||||
|
119,724
|
||||||
|
773,809
|
||||||
|
875,33
|
||||||
|
922,135
|
||||||
|
509,260
|
||||||
|
801,176
|
||||||
|
1143,85
|
||||||
|
619,526
|
||||||
|
1250,138
|
||||||
|
753,431
|
||||||
|
1260,654
|
||||||
|
276,457
|
||||||
|
637,718
|
||||||
|
1183,115
|
||||||
|
284,137
|
||||||
|
539,757
|
||||||
|
279,85
|
||||||
|
1128,474
|
||||||
|
406,469
|
||||||
|
1086,170
|
||||||
|
927,673
|
||||||
|
310,702
|
||||||
|
35,796
|
||||||
|
268,892
|
||||||
|
202,249
|
||||||
|
820,878
|
||||||
|
992,121
|
||||||
|
339,649
|
||||||
|
1275,796
|
||||||
|
1113,290
|
||||||
|
336,616
|
||||||
|
522,471
|
||||||
|
755,764
|
||||||
|
631,204
|
||||||
|
241,393
|
||||||
|
455,546
|
||||||
|
1165,176
|
||||||
|
304,276
|
||||||
|
855,859
|
||||||
|
582,380
|
||||||
|
437,9
|
||||||
|
944,400
|
||||||
|
199,770
|
||||||
|
124,473
|
||||||
|
522,423
|
||||||
|
167,85
|
||||||
|
606,493
|
||||||
|
1158,688
|
||||||
|
1186,473
|
||||||
|
981,54
|
||||||
|
790,507
|
||||||
|
704,493
|
||||||
|
788,362
|
||||||
|
971,201
|
||||||
|
512,889
|
||||||
|
758,810
|
||||||
|
1101,770
|
||||||
|
325,840
|
||||||
|
734,873
|
||||||
|
725,586
|
||||||
|
416,105
|
||||||
|
1183,365
|
||||||
|
1233,725
|
||||||
|
698,256
|
||||||
|
418,112
|
||||||
|
520,507
|
||||||
|
276,773
|
||||||
|
634,185
|
||||||
|
483,693
|
||||||
|
612,256
|
||||||
|
651,603
|
||||||
|
1225,53
|
||||||
|
1268,759
|
||||||
|
35,339
|
||||||
|
311,474
|
||||||
|
984,592
|
||||||
|
1237,770
|
||||||
|
1093,129
|
||||||
|
755,639
|
||||||
|
671,278
|
||||||
|
788,471
|
||||||
|
430,810
|
||||||
|
693,231
|
||||||
|
281,227
|
||||||
|
454,178
|
||||||
|
1,54
|
||||||
|
1290,499
|
||||||
|
619,407
|
||||||
|
1081,575
|
||||||
|
1252,266
|
||||||
|
1186,421
|
||||||
|
698,638
|
||||||
|
1218,561
|
||||||
|
954,763
|
||||||
|
692,402
|
||||||
|
923,532
|
||||||
|
281,631
|
||||||
|
222,777
|
||||||
|
1047,316
|
||||||
|
1109,215
|
||||||
|
513,824
|
||||||
|
771,645
|
||||||
|
802,640
|
||||||
|
769,471
|
||||||
|
42,256
|
||||||
|
619,80
|
||||||
|
913,425
|
||||||
|
340,68
|
||||||
|
397,833
|
||||||
|
539,137
|
||||||
|
1136,654
|
||||||
|
515,18
|
||||||
|
507,247
|
||||||
|
1274,402
|
||||||
|
970,364
|
||||||
|
913,362
|
||||||
|
328,410
|
||||||
|
775,404
|
||||||
|
164,16
|
||||||
|
356,763
|
||||||
|
545,353
|
||||||
|
790,506
|
||||||
|
780,46
|
||||||
|
378,569
|
||||||
|
276,437
|
||||||
|
878,777
|
||||||
|
159,613
|
||||||
|
313,137
|
||||||
|
377,418
|
||||||
|
134,22
|
||||||
|
483,14
|
||||||
|
1207,670
|
||||||
|
1238,738
|
||||||
|
528,268
|
||||||
|
913,761
|
||||||
|
1009,501
|
||||||
|
1217,805
|
||||||
|
865,361
|
||||||
|
460,801
|
||||||
|
358,715
|
||||||
|
857,775
|
||||||
|
552,842
|
||||||
|
771,197
|
||||||
|
627,40
|
||||||
|
765,577
|
||||||
|
1071,704
|
||||||
|
862,638
|
||||||
|
811,686
|
||||||
|
219,413
|
||||||
|
904,425
|
||||||
|
728,738
|
||||||
|
1020,588
|
||||||
|
1240,225
|
||||||
|
619,78
|
||||||
|
611,180
|
||||||
|
610,474
|
||||||
|
388,135
|
||||||
|
957,582
|
||||||
|
194,43
|
||||||
|
1027,842
|
||||||
|
917,864
|
||||||
|
537,770
|
||||||
|
831,26
|
||||||
|
1240,669
|
||||||
|
1034,582
|
||||||
|
1210,49
|
||||||
|
1036,282
|
||||||
|
1217,537
|
||||||
|
271,100
|
||||||
|
537,691
|
||||||
|
584,290
|
||||||
|
224,618
|
||||||
|
1111,546
|
||||||
|
610,26
|
||||||
|
726,221
|
||||||
|
1053,509
|
||||||
|
1295,278
|
||||||
|
1094,859
|
||||||
|
725,245
|
||||||
|
552,52
|
||||||
|
981,168
|
||||||
|
448,190
|
||||||
|
905,64
|
||||||
|
700,126
|
||||||
|
132,179
|
||||||
|
930,648
|
||||||
|
692,189
|
||||||
|
659,291
|
||||||
|
1027,852
|
||||||
|
984,78
|
||||||
|
318,121
|
||||||
|
1026,757
|
||||||
|
889,385
|
||||||
|
184,596
|
||||||
|
746,50
|
||||||
|
850,93
|
||||||
|
233,173
|
||||||
|
234,130
|
||||||
|
201,679
|
||||||
|
290,588
|
||||||
|
510,0
|
||||||
|
284,869
|
||||||
|
939,628
|
||||||
|
147,303
|
||||||
|
1265,78
|
||||||
|
445,361
|
||||||
|
763,477
|
||||||
|
1250,586
|
||||||
|
1178,715
|
||||||
|
282,196
|
||||||
|
1290,617
|
||||||
|
719,191
|
||||||
|
460,93
|
||||||
|
932,325
|
||||||
|
529,343
|
||||||
|
112,829
|
||||||
|
967,567
|
||||||
|
43,714
|
||||||
|
545,541
|
||||||
|
541,423
|
||||||
|
612,759
|
||||||
|
1262,196
|
||||||
|
473,522
|
||||||
|
878,117
|
||||||
|
512,596
|
||||||
|
182,446
|
||||||
|
783,529
|
||||||
|
797,70
|
||||||
|
768,65
|
||||||
|
477,270
|
||||||
|
552,810
|
||||||
|
373,227
|
||||||
|
502,682
|
||||||
|
378,121
|
||||||
|
430,724
|
||||||
|
592,565
|
||||||
|
180,254
|
||||||
|
145,718
|
||||||
|
184,298
|
||||||
|
748,354
|
||||||
|
127,147
|
||||||
|
845,400
|
||||||
|
951,485
|
||||||
|
393,260
|
||||||
|
898,357
|
||||||
|
480,667
|
||||||
|
541,871
|
||||||
|
507,199
|
||||||
|
1267,714
|
||||||
|
407,406
|
||||||
|
288,494
|
||||||
|
152,654
|
||||||
|
827,14
|
||||||
|
1028,698
|
||||||
|
1000,192
|
||||||
|
549,169
|
||||||
|
490,211
|
||||||
|
1111,592
|
||||||
|
535,404
|
||||||
|
26,854
|
||||||
|
372,126
|
||||||
|
455,859
|
||||||
|
236,340
|
||||||
|
716,808
|
||||||
|
387,532
|
||||||
|
1101,361
|
||||||
|
857,119
|
||||||
|
999,420
|
||||||
|
276,878
|
||||||
|
373,417
|
||||||
|
923,670
|
||||||
|
92,729
|
||||||
|
179,703
|
||||||
|
619,555
|
||||||
|
455,348
|
||||||
|
668,266
|
||||||
|
674,217
|
||||||
|
1139,880
|
||||||
|
442,530
|
||||||
|
1042,2
|
||||||
|
594,586
|
||||||
|
890,354
|
||||||
|
13,757
|
||||||
|
698,759
|
||||||
|
268,677
|
||||||
|
1125,276
|
||||||
|
314,826
|
||||||
|
1210,889
|
||||||
|
207,42
|
||||||
|
691,78
|
||||||
|
241,277
|
||||||
|
42,638
|
||||||
|
176,82
|
||||||
|
445,891
|
||||||
|
315,649
|
||||||
|
1081,95
|
||||||
|
880,810
|
||||||
|
782,268
|
||||||
|
472,229
|
||||||
|
2,826
|
||||||
|
769,23
|
||||||
|
974,616
|
||||||
|
898,537
|
||||||
|
102,674
|
||||||
|
604,374
|
||||||
|
415,480
|
||||||
|
1154,453
|
||||||
|
1110,14
|
||||||
|
798,695
|
||||||
|
562,333
|
||||||
|
336,809
|
||||||
|
254,508
|
||||||
|
412,313
|
||||||
|
271,221
|
||||||
|
763,171
|
||||||
|
883,255
|
||||||
|
992,773
|
||||||
|
999,327
|
||||||
|
818,36
|
||||||
|
1081,215
|
||||||
|
974,278
|
||||||
|
1274,588
|
||||||
|
808,234
|
||||||
|
373,477
|
||||||
|
43,42
|
||||||
|
552,674
|
||||||
|
609,816
|
||||||
|
440,486
|
||||||
|
1081,679
|
||||||
|
105,723
|
||||||
|
281,667
|
||||||
|
865,96
|
||||||
|
574,442
|
||||||
|
290,140
|
||||||
|
1289,294
|
||||||
|
338,682
|
||||||
|
299,264
|
||||||
|
1268,638
|
||||||
|
1154,5
|
||||||
|
42,759
|
||||||
|
999,474
|
||||||
|
502,688
|
||||||
|
35,787
|
||||||
|
452,400
|
||||||
|
1116,679
|
||||||
|
571,684
|
||||||
|
420,781
|
||||||
|
1056,396
|
||||||
|
1309,467
|
||||||
|
1238,193
|
||||||
|
1287,204
|
||||||
|
448,638
|
||||||
|
418,844
|
||||||
|
832,82
|
||||||
|
1053,385
|
||||||
|
1290,395
|
||||||
|
1101,768
|
||||||
|
1027,42
|
||||||
|
1146,858
|
||||||
|
768,787
|
||||||
|
716,674
|
||||||
|
765,541
|
||||||
|
504,82
|
||||||
|
512,471
|
||||||
|
1206,565
|
||||||
|
691,80
|
||||||
|
391,764
|
||||||
|
1208,514
|
||||||
|
1,427
|
||||||
|
23,690
|
||||||
|
994,212
|
||||||
|
837,522
|
||||||
|
1265,750
|
||||||
|
209,320
|
||||||
|
952,715
|
||||||
|
999,687
|
||||||
|
329,726
|
||||||
|
1233,85
|
||||||
|
126,626
|
||||||
|
117,462
|
||||||
|
803,143
|
||||||
|
652,712
|
||||||
|
142,298
|
||||||
|
582,50
|
||||||
|
370,309
|
||||||
|
20,838
|
||||||
|
903,488
|
||||||
|
380,515
|
||||||
|
681,536
|
||||||
|
1128,446
|
||||||
|
291,75
|
||||||
|
502,206
|
||||||
|
70,673
|
||||||
|
233,721
|
||||||
|
127,81
|
||||||
|
99,255
|
||||||
|
765,765
|
||||||
|
102,871
|
||||||
|
388,51
|
||||||
|
612,135
|
||||||
|
763,723
|
||||||
|
387,425
|
||||||
|
639,278
|
||||||
|
1191,180
|
||||||
|
728,514
|
||||||
|
607,869
|
||||||
|
199,302
|
||||||
|
699,282
|
||||||
|
420,354
|
||||||
|
823,64
|
||||||
|
527,747
|
||||||
|
405,64
|
||||||
|
564,50
|
||||||
|
35,526
|
||||||
|
524,334
|
||||||
|
913,61
|
||||||
|
542,667
|
||||||
|
582,722
|
||||||
|
492,36
|
||||||
|
765,353
|
||||||
|
1074,340
|
||||||
|
840,450
|
||||||
|
875,400
|
||||||
|
937,477
|
||||||
|
2,264
|
||||||
|
1146,260
|
||||||
|
1027,714
|
||||||
|
1101,320
|
||||||
|
182,474
|
||||||
|
801,767
|
||||||
|
1260,381
|
||||||
|
72,253
|
||||||
|
195,73
|
||||||
|
390,497
|
||||||
|
1056,508
|
||||||
|
107,275
|
||||||
|
753,504
|
||||||
|
699,180
|
||||||
|
890,540
|
||||||
|
894,105
|
||||||
|
509,270
|
||||||
|
530,249
|
||||||
|
378,94
|
||||||
|
50,65
|
||||||
|
870,486
|
||||||
|
1029,667
|
||||||
|
728,840
|
||||||
|
974,809
|
||||||
|
803,751
|
||||||
|
92,354
|
||||||
|
749,509
|
||||||
|
1198,206
|
||||||
|
144,0
|
||||||
|
290,208
|
||||||
|
1195,249
|
||||||
|
470,647
|
||||||
|
1233,809
|
||||||
|
801,270
|
||||||
|
874,793
|
||||||
|
903,406
|
||||||
|
310,192
|
||||||
|
1109,551
|
||||||
|
806,812
|
||||||
|
1069,841
|
||||||
|
1161,158
|
||||||
|
1044,311
|
||||||
|
1168,23
|
||||||
|
542,227
|
||||||
|
1268,361
|
||||||
|
1166,446
|
||||||
|
421,385
|
||||||
|
782,432
|
||||||
|
478,82
|
||||||
|
1034,885
|
||||||
|
1154,217
|
||||||
|
216,859
|
||||||
|
677,497
|
||||||
|
372,660
|
||||||
|
806,82
|
||||||
|
612,704
|
||||||
|
483,201
|
||||||
|
820,260
|
||||||
|
933,418
|
||||||
|
873,885
|
||||||
|
744,789
|
||||||
|
147,143
|
||||||
|
594,220
|
||||||
|
45,144
|
||||||
|
1268,135
|
||||||
|
699,119
|
||||||
|
383,221
|
||||||
|
27,854
|
||||||
|
328,352
|
||||||
|
499,880
|
||||||
|
1298,75
|
||||||
|
437,317
|
||||||
|
102,52
|
||||||
|
1184,432
|
||||||
|
996,826
|
||||||
|
448,25
|
||||||
|
1211,764
|
||||||
|
987,165
|
||||||
|
913,133
|
||||||
|
35,595
|
||||||
|
271,436
|
||||||
|
1036,155
|
||||||
|
1255,624
|
||||||
|
1287,690
|
||||||
|
1298,714
|
||||||
|
492,688
|
||||||
|
827,693
|
||||||
|
1129,521
|
||||||
|
1028,196
|
||||||
|
1176,388
|
||||||
|
654,190
|
||||||
|
967,106
|
||||||
|
340,364
|
||||||
|
201,215
|
||||||
|
59,670
|
||||||
|
495,606
|
||||||
|
768,227
|
||||||
|
576,873
|
||||||
|
746,844
|
||||||
|
618,82
|
||||||
|
1238,253
|
||||||
|
387,84
|
||||||
|
50,325
|
||||||
|
631,690
|
||||||
|
705,418
|
||||||
|
937,711
|
||||||
|
1207,152
|
||||||
|
152,682
|
||||||
|
768,829
|
||||||
|
528,686
|
||||||
|
716,220
|
||||||
|
1183,141
|
||||||
|
277,866
|
||||||
|
35,487
|
||||||
|
44,749
|
||||||
|
798,889
|
||||||
|
705,476
|
||||||
|
326,816
|
||||||
|
1251,224
|
||||||
|
1310,381
|
||||||
|
1109,343
|
||||||
|
1211,255
|
||||||
|
60,138
|
||||||
|
1081,103
|
||||||
|
659,603
|
||||||
|
214,65
|
||||||
|
835,703
|
||||||
|
1290,838
|
||||||
|
534,645
|
||||||
|
539,249
|
||||||
|
1074,50
|
||||||
|
406,425
|
||||||
|
209,768
|
||||||
|
652,182
|
||||||
|
512,838
|
||||||
|
316,212
|
||||||
|
820,16
|
||||||
|
35,147
|
||||||
|
985,691
|
||||||
|
604,65
|
||||||
|
407,488
|
||||||
|
811,880
|
||||||
|
1193,432
|
||||||
|
937,675
|
||||||
|
344,416
|
||||||
|
400,325
|
||||||
|
1145,168
|
||||||
|
868,530
|
||||||
|
769,871
|
||||||
|
1298,404
|
||||||
|
134,388
|
||||||
|
1039,436
|
||||||
|
1033,812
|
||||||
|
681,393
|
||||||
|
517,337
|
||||||
|
582,844
|
||||||
|
725,201
|
||||||
|
1012,187
|
||||||
|
480,675
|
||||||
|
654,704
|
||||||
|
1275,144
|
||||||
|
115,249
|
||||||
|
12,588
|
||||||
|
1028,644
|
||||||
|
306,220
|
||||||
|
326,592
|
||||||
|
671,431
|
||||||
|
97,431
|
||||||
|
1146,16
|
||||||
|
380,648
|
||||||
|
955,686
|
||||||
|
604,325
|
||||||
|
119,842
|
||||||
|
1086,618
|
||||||
|
1309,54
|
||||||
|
562,540
|
||||||
|
1146,464
|
||||||
|
996,523
|
||||||
|
311,327
|
||||||
|
758,471
|
||||||
|
92,281
|
||||||
|
671,655
|
||||||
|
550,565
|
||||||
|
125,103
|
||||||
|
699,404
|
||||||
|
228,752
|
||||||
|
1298,371
|
||||||
|
576,649
|
||||||
|
552,380
|
||||||
|
1260,513
|
||||||
|
821,427
|
||||||
|
783,141
|
||||||
|
0,78
|
||||||
|
683,40
|
||||||
|
806,826
|
||||||
|
552,276
|
||||||
|
371,567
|
||||||
|
431,0
|
||||||
|
267,532
|
||||||
|
1086,808
|
||||||
|
336,278
|
||||||
|
372,234
|
||||||
|
530,46
|
||||||
|
58,628
|
||||||
|
12,371
|
||||||
|
855,546
|
||||||
|
282,644
|
||||||
|
938,660
|
||||||
|
1176,22
|
||||||
|
995,649
|
||||||
|
49,476
|
||||||
|
1238,514
|
||||||
|
1279,485
|
||||||
|
539,697
|
||||||
|
50,513
|
||||||
|
1190,256
|
||||||
|
490,235
|
||||||
|
430,84
|
||||||
|
18,217
|
||||||
|
453,215
|
||||||
|
1103,42
|
||||||
|
274,164
|
||||||
|
242,537
|
||||||
|
884,752
|
||||||
|
550,329
|
||||||
|
855,299
|
||||||
|
100,845
|
||||||
|
328,526
|
||||||
|
910,514
|
||||||
|
933,476
|
||||||
|
100,49
|
||||||
|
2,378
|
||||||
|
301,501
|
||||||
|
1298,180
|
||||||
|
939,842
|
||||||
|
470,298
|
||||||
|
35,528
|
||||||
|
746,498
|
||||||
|
156,453
|
||||||
|
857,439
|
||||||
|
564,554
|
||||||
|
144,777
|
||||||
|
1165,718
|
||||||
|
840,695
|
||||||
|
546,793
|
||||||
|
749,385
|
||||||
|
576,201
|
||||||
|
529,103
|
||||||
|
835,751
|
||||||
|
1266,26
|
||||||
|
1093,577
|
||||||
|
207,852
|
||||||
|
1297,757
|
||||||
|
933,866
|
||||||
|
841,724
|
||||||
|
1201,129
|
||||||
|
199,859
|
||||||
|
1074,560
|
||||||
|
335,649
|
||||||
|
271,794
|
||||||
|
1125,724
|
||||||
|
838,229
|
||||||
|
1183,779
|
||||||
|
782,686
|
||||||
|
413,393
|
||||||
|
765,129
|
||||||
|
77,725
|
||||||
|
1146,430
|
||||||
|
59,224
|
||||||
|
870,107
|
||||||
|
656,704
|
||||||
|
164,270
|
||||||
|
865,320
|
||||||
|
181,521
|
||||||
|
1063,40
|
||||||
|
229,95
|
||||||
|
142,392
|
||||||
|
987,515
|
||||||
|
838,644
|
||||||
|
276,9
|
||||||
|
103,670
|
||||||
|
790,58
|
||||||
|
174,240
|
||||||
|
1298,819
|
||||||
|
1131,703
|
||||||
|
435,861
|
||||||
|
1308,712
|
||||||
|
782,626
|
||||||
|
806,147
|
||||||
|
523,261
|
||||||
|
979,379
|
||||||
|
1026,137
|
||||||
|
591,191
|
||||||
|
726,540
|
||||||
|
92,561
|
||||||
|
400,392
|
||||||
|
1309,427
|
||||||
|
728,380
|
||||||
|
937,417
|
||||||
|
171,880
|
||||||
|
1308,182
|
||||||
|
1218,540
|
||||||
|
311,119
|
||||||
|
104,565
|
||||||
|
201,343
|
||||||
|
266,583
|
||||||
|
363,371
|
||||||
|
397,89
|
||||||
|
119,714
|
||||||
|
919,130
|
||||||
|
142,502
|
||||||
|
773,691
|
||||||
|
995,245
|
||||||
|
1265,816
|
||||||
|
748,540
|
||||||
|
1185,103
|
||||||
|
1072,789
|
||||||
|
185,170
|
||||||
|
1020,754
|
||||||
|
946,626
|
||||||
|
677,600
|
||||||
|
93,805
|
||||||
|
1081,791
|
||||||
|
633,294
|
||||||
|
512,840
|
||||||
|
728,50
|
||||||
|
771,137
|
||||||
|
520,506
|
||||||
|
897,393
|
||||||
|
1154,565
|
||||||
|
541,471
|
||||||
|
1297,137
|
||||||
|
967,474
|
||||||
|
499,208
|
||||||
|
639,879
|
||||||
|
318,269
|
||||||
|
629,281
|
||||||
|
975,649
|
||||||
|
490,260
|
||||||
|
545,577
|
||||||
|
156,5
|
||||||
|
383,669
|
||||||
|
913,532
|
||||||
|
119,164
|
||||||
|
162,688
|
||||||
|
1092,793
|
||||||
|
|
||||||
|
fold along x=655
|
||||||
|
fold along y=447
|
||||||
|
fold along x=327
|
||||||
|
fold along y=223
|
||||||
|
fold along x=163
|
||||||
|
fold along y=111
|
||||||
|
fold along x=81
|
||||||
|
fold along y=55
|
||||||
|
fold along x=40
|
||||||
|
fold along y=27
|
||||||
|
fold along y=13
|
||||||
|
fold along y=6
|
102
data/day_14.txt
Normal file
102
data/day_14.txt
Normal file
@@ -0,0 +1,102 @@
|
|||||||
|
HHKONSOSONSVOFCSCNBC
|
||||||
|
|
||||||
|
OO -> N
|
||||||
|
VK -> B
|
||||||
|
KS -> N
|
||||||
|
PK -> H
|
||||||
|
FB -> H
|
||||||
|
BF -> S
|
||||||
|
BB -> V
|
||||||
|
KO -> N
|
||||||
|
SP -> K
|
||||||
|
HK -> O
|
||||||
|
PV -> K
|
||||||
|
BP -> O
|
||||||
|
VO -> V
|
||||||
|
OP -> C
|
||||||
|
BS -> V
|
||||||
|
OK -> V
|
||||||
|
KN -> H
|
||||||
|
KC -> N
|
||||||
|
PP -> F
|
||||||
|
NB -> V
|
||||||
|
CH -> V
|
||||||
|
HO -> K
|
||||||
|
PN -> H
|
||||||
|
SS -> O
|
||||||
|
CK -> P
|
||||||
|
VV -> K
|
||||||
|
FN -> O
|
||||||
|
BH -> B
|
||||||
|
SC -> B
|
||||||
|
HH -> P
|
||||||
|
FO -> O
|
||||||
|
CC -> H
|
||||||
|
OS -> H
|
||||||
|
FP -> S
|
||||||
|
HC -> F
|
||||||
|
BO -> F
|
||||||
|
CF -> S
|
||||||
|
NC -> S
|
||||||
|
HS -> V
|
||||||
|
KF -> O
|
||||||
|
ON -> C
|
||||||
|
CN -> K
|
||||||
|
VF -> F
|
||||||
|
NO -> K
|
||||||
|
CP -> N
|
||||||
|
HF -> K
|
||||||
|
CV -> N
|
||||||
|
HN -> K
|
||||||
|
VH -> B
|
||||||
|
KK -> P
|
||||||
|
CS -> O
|
||||||
|
VS -> P
|
||||||
|
NH -> F
|
||||||
|
CB -> S
|
||||||
|
BV -> P
|
||||||
|
FK -> F
|
||||||
|
NV -> O
|
||||||
|
OV -> K
|
||||||
|
SB -> N
|
||||||
|
NF -> O
|
||||||
|
VN -> S
|
||||||
|
OH -> O
|
||||||
|
PS -> N
|
||||||
|
HB -> H
|
||||||
|
SV -> V
|
||||||
|
CO -> H
|
||||||
|
SO -> P
|
||||||
|
FV -> N
|
||||||
|
PF -> O
|
||||||
|
NN -> S
|
||||||
|
KB -> P
|
||||||
|
NP -> F
|
||||||
|
OC -> S
|
||||||
|
FS -> P
|
||||||
|
FH -> P
|
||||||
|
VP -> K
|
||||||
|
BN -> O
|
||||||
|
NS -> H
|
||||||
|
VB -> V
|
||||||
|
PO -> K
|
||||||
|
KP -> N
|
||||||
|
SN -> O
|
||||||
|
BC -> H
|
||||||
|
SF -> V
|
||||||
|
PC -> O
|
||||||
|
NK -> F
|
||||||
|
BK -> V
|
||||||
|
KH -> S
|
||||||
|
SH -> S
|
||||||
|
SK -> H
|
||||||
|
OB -> V
|
||||||
|
PH -> N
|
||||||
|
PB -> C
|
||||||
|
HV -> N
|
||||||
|
HP -> V
|
||||||
|
FF -> B
|
||||||
|
OF -> P
|
||||||
|
VC -> S
|
||||||
|
KV -> C
|
||||||
|
FC -> F
|
100
data/day_15.txt
Normal file
100
data/day_15.txt
Normal file
@@ -0,0 +1,100 @@
|
|||||||
|
7715611621811483411121929153345417926121654738244558184333228256741518593939121351941172244538819793
|
||||||
|
5978192582116933121967117233221363821218169348147142177193168221219699236451313112198933914323123492
|
||||||
|
3523162115513315258921111444182316618172925755923799136271191151813516522171176112647162541858173363
|
||||||
|
7931931461145231897547234134741682994126523123999252325119362919742719127391146114344331291116971777
|
||||||
|
3912157144212332298711374454411326743116179131395281613188171189221945922126933817119198199326455346
|
||||||
|
2219143418191822913131432991534835872531239119117118416185912111192962531111319326176629318111185111
|
||||||
|
9116687994992138729148521124241932317616396617951124297314235138854797168842416251775729287611967414
|
||||||
|
7851151594489117347687963146449123171411231791678721232616848894581346355912616826231169619235952732
|
||||||
|
2851861191919753472141651266114831227654463284483498521612827841418971981411931436113213396426946112
|
||||||
|
6712388671398963172123321653869646551586461492219377899341274966231951164199917165932561616983929924
|
||||||
|
3677326111792395522936119111175266111868435913873231478188182951214919133631271356331241911265195215
|
||||||
|
2411238217381994191274413116991994522732518981599292983991998111631182731112386631322271192212411843
|
||||||
|
1924296312792281346181932776933796211556871296835132761484192932264311663412971542122254194197225125
|
||||||
|
5193911629511224247133119192711512118326922142611261829118422127224838641841967498792466123922241611
|
||||||
|
3518421332332225373982119933189183848164192326315196127257111819966291868392125511182719699513213126
|
||||||
|
1243423697719296145178212414496848356131291919119337192521512383952691111818938552679591331194252815
|
||||||
|
1114134841622115582771529171517131623995521325269361158192181119511123926429217441181915118546111129
|
||||||
|
3413463671141433362959518115315279211752711714921711141946919111126196926192311117361329611368827123
|
||||||
|
1372787612785741712553922962223999622392124621931191746293231951121499351641599723992929211182183521
|
||||||
|
1646324114562413462565234121468141622211633146398136728423519196521422661392274137424189885124111979
|
||||||
|
8593927754728491812319341327322619591487122534343481851326173126244497617119592817617578171431611211
|
||||||
|
3544996545112122938226413169257256114389524779177813732798495971419433331931141513863257159222211327
|
||||||
|
1317112599316491522993299211918262655114758519194159564179393912978824213816415221134382876196791131
|
||||||
|
2992415411131212997526331872111112996344865592792815133565817171814172837534233288248214812739937128
|
||||||
|
7399281754443127946141431876481961612345132118851715323452891116597132773351188234354812269914136314
|
||||||
|
1353222121126771342784863118971948121131151269737693294597543471364852531536931711275612918142912339
|
||||||
|
1231143322424173511217841979211499894524361726733118828862941949323516193769441834412128333517121219
|
||||||
|
4153113123817117759341379297738315498194824968743168793739217211372842125911549919617297111441613631
|
||||||
|
9731976338891216952882213198614419772196764362991958541418412247316741111113414519698991177561491619
|
||||||
|
1549968122497536224817279413173193149141335731431114111191969373537193295361951832648538349971115651
|
||||||
|
3141199162911153239685453949619182151714537212236218628247835892234915714197151176914515494168817613
|
||||||
|
2321634214222164696761674371984136262645585522114118771793891255516343661843273111241429184252481112
|
||||||
|
1323271335941123627134295288123814147892434111122433863111883333942311312165717429336197351684297515
|
||||||
|
1799383479828119861997991252537621715111112211243118199888781621163257948541164311576771111337441297
|
||||||
|
3474558728714311424212121852197696651899775852781115664112735924716128287452112718142116441487711179
|
||||||
|
1212211282414612598188336251113541918828321262911122168152739929958181711329326391542161816879229457
|
||||||
|
9369141739122111275981911719178226989791269152711118514211312351951888312115211119912146165111417274
|
||||||
|
1557942397217218772114458897214197121496239971221799298121731791112838411839164943531148113513822329
|
||||||
|
2116511928331138153519713938955192461891971295394211113118549975869129341915148999142791221429844338
|
||||||
|
1216615164189449189844291299217862321339427481291811189889121368125354184186711881158278233714798812
|
||||||
|
2131462662132519141953391411117681836144434719816111765876594111661972132119291718521288742511921812
|
||||||
|
1352178182113553243431145717611728111429117626322671124512968719613828222757811142112237112915916411
|
||||||
|
9111861843583342173156761182486951611273911221233459621981815173222733765922411929621144273182167173
|
||||||
|
6461614968141185513751845166496129581174136991312882746411333574211232145145411259791494747636513831
|
||||||
|
8395826326831481781816141231151946694412171233118734118443712934188141261953428112498397283833996953
|
||||||
|
3224325116954176581173265389433772885221125196135137181681253382516579111971122321919261361455573426
|
||||||
|
5612711314828933927115772517317242878121717862126961211324793885131324871781627863678621349344985162
|
||||||
|
9219113183181524712318355994194342313255174114168321236494161659235237996744938323416519175154774368
|
||||||
|
1455219173629652263128124278132571923466188331613694112619643242969214341411691592236981126229531246
|
||||||
|
9997212872235551519294812463451816576987351769737341319699248495132218138849526591159541452141311227
|
||||||
|
9439551788914742428219371619927339189298769319132111753411511544151872351486489786185314584942895521
|
||||||
|
4623921912121114189211698941781144517423493925244616879259454219595112526216227151411539965913122341
|
||||||
|
9233881249291833812284319142291868129327632421241354425437738985391254261131535339322529281581561495
|
||||||
|
6621816747917191382495161833567118397773372129721681832591214252274233112632684542595451911924821133
|
||||||
|
1961985912891945611341231799388123719733816334154627934522422918536573253556769424412919116426182323
|
||||||
|
8613914491619713822131419117143163659542154519169992171969135131941141557529457324123161951111765294
|
||||||
|
4268219915611518484714151351482241221275914371738124149239386327831219359136247361161375174224223839
|
||||||
|
2417628752221923911251535153892648194748229231761133182371314159657511173541128258975114145282143131
|
||||||
|
1149132123898111199247912341113411962434312877836882119771691759571972141321747138787951211139182122
|
||||||
|
8589114128711558917336937119159115193482491549524442733618822133531142619542652131192519259679572118
|
||||||
|
8417549457115646563131638317315161112292939814589243166226251236828614439212129983319595172328298496
|
||||||
|
7132261193213112392744229915239441239812134161721522541289116993632721981519211498478878212229136195
|
||||||
|
5284114931928992331114192299645884318993264292231979919528343172899594924111575491982184914671211943
|
||||||
|
4138427142832314543311113423227271112997816549131893391237171313241261242672582112128835619821371121
|
||||||
|
4918821233299337972289281128133411678349812271421157479832992298658193248154113222111521996724714323
|
||||||
|
9174191481421563857184797521172297912449121127431641255195914981149724121258184197136514813734273234
|
||||||
|
4112626214511388118211446512388876694313187965929168166814111113382224115821767413172111376427638393
|
||||||
|
3231154459742912972641231118291138185681466529142819182885451441118191771984959111111623683628161113
|
||||||
|
5841171953222465917336112439651628888517153249964599148991263916813419222189131513441336935294361738
|
||||||
|
1816982764214991569342131547714487273197791551197149221141426622298772319696223747144351291172292314
|
||||||
|
9475574461545913358168363336339111314873371711345178219127111194927223149613171931929322893211152758
|
||||||
|
4858113211241899116852635135769311112114182724528552311872195867129114349887193381564631182288641431
|
||||||
|
9742923193935298412422519924115919956189443126116429369399671331114348991891115412454184715126299998
|
||||||
|
9121814433419188117111757994391996912918393911152421324919462957262487176581182129438199211342711241
|
||||||
|
9152171557731172939156141661228213792961792411377162925187423286231921473559751361928233131516412191
|
||||||
|
7288111938512228994743624943311448872522112536176928681443419899213241329198212953522514116811911197
|
||||||
|
9349832181421346375192594111125921597518122235122992135833853191479358257121815429654613383832118393
|
||||||
|
5787987676213718162591455312614145484267395142381485479118249352234818169546988191111121531915975846
|
||||||
|
1593328873913943873678371287612191117251139167998756142661344997618573521246115295381218111199353123
|
||||||
|
7792811294182231635163292331735316144325221519124512326112978344515322371153671145111948211314111961
|
||||||
|
2318518221984644229891593834523191322527124556185113492672653928784664122218293847186517161551631851
|
||||||
|
1112829983141931112651721133161412432143348121156512484214145542131639818492551211129611431998577181
|
||||||
|
3592613729447389151192925815192425191916611234864255478391561193394996337454189464938128832119348811
|
||||||
|
1271921732441182191447179913999221292183221141274914288646297111212268851116317378213664353119951955
|
||||||
|
1952724641973599331362393291821311217123755111853629765725951319311313197419922547371189952219569671
|
||||||
|
9175174929918626863191261492871635282719323944341514814391991254113352393192263965371316169319756114
|
||||||
|
7796162132715959911612986171614281934119795141614191521216692472181723351815721531573126767456111621
|
||||||
|
1929441344612524315169915972256329374194651851188791336975193211635164981382125948798143115991218147
|
||||||
|
3196918124398432195448219783729332721415743182553947677319291263569111194212214141296123149311195918
|
||||||
|
3158114419662114389969334121776231616687394316562465952127448362341922599962916219531841316418231911
|
||||||
|
7689421696457392537729119321129879691967715569123191226313319112314943111466159111416157881113611939
|
||||||
|
7831513935396926282212738725323211942958912226993621996662133721199282226293728546453712751822771285
|
||||||
|
2123699211953181196938911293262179311281131944194219219814973246548631519123711749121712622686521314
|
||||||
|
5191342118926287865138111129119915719811398331646995511667311198221618374236169145912891632927912111
|
||||||
|
8214442493117223193442175221522611659488871176512331552482329112125141241921222999759248511345262843
|
||||||
|
1914183724394277228911926796911512739125432271261643511196439716723711131491717732211162514393511298
|
||||||
|
1119745958685726562282127671296828241734389837168591468985891281128335925991724159212218314375287914
|
||||||
|
9517519684395161899187861919321914215994991181859919191641351832193212127643354718852685876126577315
|
||||||
|
3342917922251914252338185581691191842316989111841311466776912683629971312998965551711141287138724241
|
||||||
|
8176221727998313186834559714891971413547985825489911732617146966111238282644811394895278181837711185
|
1
data/day_16.txt
Normal file
1
data/day_16.txt
Normal file
@@ -0,0 +1 @@
|
|||||||
|
020D78804D397973DB5B934D9280CC9F43080286957D9F60923592619D3230047C0109763976295356007365B37539ADE687F333EA8469200B666F5DC84E80232FC2C91B8490041332EB4006C4759775933530052C0119FAA7CB6ED57B9BBFBDC153004B0024299B490E537AFE3DA069EC507800370980F96F924A4F1E0495F691259198031C95AEF587B85B254F49C27AA2640082490F4B0F9802B2CFDA0094D5FB5D626E32B16D300565398DC6AFF600A080371BA12C1900042A37C398490F67BDDB131802928F5A009080351DA1FC441006A3C46C82020084FC1BE07CEA298029A008CCF08E5ED4689FD73BAA4510C009981C20056E2E4FAACA36000A10600D45A8750CC8010989716A299002171E634439200B47001009C749C7591BD7D0431002A4A73029866200F1277D7D8570043123A976AD72FFBD9CC80501A00AE677F5A43D8DB54D5FDECB7C8DEB0C77F8683005FC0109FCE7C89252E72693370545007A29C5B832E017CFF3E6B262126E7298FA1CC4A072E0054F5FBECC06671FE7D2C802359B56A0040245924585400F40313580B9B10031C00A500354009100300081D50028C00C1002C005BA300204008200FB50033F70028001FE60053A7E93957E1D09940209B7195A56BCC75AE7F18D46E273882402CCD006A600084C1D8ED0E8401D8A90BE12CCF2F4C4ADA602013BC401B8C11360880021B1361E4511007609C7B8CA8002DC32200F3AC01698EE2FF8A2C95B42F2DBAEB48A401BC5802737F8460C537F8460CF3D953100625C5A7D766E9CB7A39D8820082F29A9C9C244D6529C589F8C693EA5CD0218043382126492AD732924022CE006AE200DC248471D00010986D17A3547F200CA340149EDC4F67B71399BAEF2A64024B78028200FC778311CC40188AF0DA194CF743CC014E4D5A5AFBB4A4F30C9AC435004E662BB3EF0
|
1
data/day_17.txt
Normal file
1
data/day_17.txt
Normal file
@@ -0,0 +1 @@
|
|||||||
|
target area: x=156..202, y=-110..-69
|
100
data/day_18.txt
Normal file
100
data/day_18.txt
Normal file
@@ -0,0 +1,100 @@
|
|||||||
|
[[[[4,9],[1,7]],[9,8]],[[7,9],[7,9]]]
|
||||||
|
[[[1,[1,5]],9],[[[8,0],[8,8]],[[7,2],[4,6]]]]
|
||||||
|
[[3,7],[[7,[4,6]],[[8,0],[7,8]]]]
|
||||||
|
[[[[0,1],2],4],[[9,[2,8]],7]]
|
||||||
|
[[[[9,0],9],7],[[1,0],8]]
|
||||||
|
[[4,[[1,2],1]],1]
|
||||||
|
[[[[6,1],[0,2]],[[2,3],4]],[[9,1],8]]
|
||||||
|
[[[5,9],[1,0]],[[7,0],3]]
|
||||||
|
[[9,1],[[4,7],[5,[8,6]]]]
|
||||||
|
[[5,[[3,2],[1,9]]],[[[3,8],9],3]]
|
||||||
|
[[0,[[5,6],2]],9]
|
||||||
|
[6,[2,[[4,2],6]]]
|
||||||
|
[[[[8,2],[9,1]],[9,1]],7]
|
||||||
|
[9,1]
|
||||||
|
[[[[9,8],[5,3]],5],[[6,9],[9,[6,8]]]]
|
||||||
|
[0,[[2,[2,5]],2]]
|
||||||
|
[[2,6],[[[2,8],1],[[0,2],[0,7]]]]
|
||||||
|
[[[[7,8],[8,5]],[[3,2],[4,0]]],[2,[[1,0],[2,6]]]]
|
||||||
|
[[[7,[7,0]],[[1,9],9]],7]
|
||||||
|
[[[[5,1],[0,9]],4],[[0,[9,7]],[8,[6,8]]]]
|
||||||
|
[[8,2],[2,[6,0]]]
|
||||||
|
[[2,6],[[[4,0],6],2]]
|
||||||
|
[[9,[7,[0,1]]],8]
|
||||||
|
[[[[3,8],[4,3]],[7,[0,6]]],[[[5,5],[0,4]],[[8,2],0]]]
|
||||||
|
[[[[9,1],[9,3]],[1,[0,1]]],[[[9,6],8],[9,6]]]
|
||||||
|
[[[[2,3],[7,1]],[[6,8],6]],[[[6,0],0],0]]
|
||||||
|
[[7,[[5,0],4]],[[[8,8],[6,2]],[8,2]]]
|
||||||
|
[[[0,[3,8]],[[0,0],[6,1]]],[[4,5],[[3,9],[5,8]]]]
|
||||||
|
[4,[[1,[9,6]],[8,2]]]
|
||||||
|
[[9,[[9,2],3]],[[[5,6],2],[1,[0,9]]]]
|
||||||
|
[[9,9],[[0,[9,6]],[[8,6],3]]]
|
||||||
|
[[4,[[8,3],2]],[[[9,9],9],[2,[2,0]]]]
|
||||||
|
[[[[7,3],[4,2]],7],[4,6]]
|
||||||
|
[[[2,6],[[4,0],[0,8]]],[[5,0],[3,5]]]
|
||||||
|
[[[[9,3],[0,3]],[[0,0],[1,1]]],[3,[[8,4],[8,6]]]]
|
||||||
|
[[[[3,6],8],1],[[4,[4,1]],[[5,1],[3,0]]]]
|
||||||
|
[[[[8,1],[2,0]],[5,[2,1]]],[[9,[0,0]],[[7,2],[1,0]]]]
|
||||||
|
[[[6,6],[2,3]],[[7,6],[[9,8],2]]]
|
||||||
|
[[[0,9],3],[[[9,5],5],[[6,8],[0,4]]]]
|
||||||
|
[[[0,3],9],[5,[5,[0,5]]]]
|
||||||
|
[[0,[[9,1],4]],[2,4]]
|
||||||
|
[[[9,7],[0,[7,8]]],[[[3,3],5],[[0,9],[1,5]]]]
|
||||||
|
[[0,[[8,0],[5,2]]],[[[1,8],[1,2]],[3,8]]]
|
||||||
|
[5,[0,[[9,8],9]]]
|
||||||
|
[[6,[[9,2],[3,5]]],[[[2,3],9],3]]
|
||||||
|
[1,[1,1]]
|
||||||
|
[[6,[[0,0],1]],[[7,[4,9]],7]]
|
||||||
|
[[3,[[3,5],3]],[[[9,9],6],[[5,0],8]]]
|
||||||
|
[1,5]
|
||||||
|
[[0,4],[8,7]]
|
||||||
|
[[7,[[9,2],1]],5]
|
||||||
|
[[[[6,8],[6,5]],0],4]
|
||||||
|
[[[4,1],[9,0]],[[[4,3],6],[5,9]]]
|
||||||
|
[[8,[[1,9],[5,4]]],[[[9,0],4],[5,5]]]
|
||||||
|
[[0,9],[[[5,5],[7,7]],6]]
|
||||||
|
[[8,[8,5]],[8,[2,6]]]
|
||||||
|
[[[[8,4],4],0],[[3,[2,6]],[6,6]]]
|
||||||
|
[[5,[[5,2],6]],[[[2,3],[5,0]],[[2,9],0]]]
|
||||||
|
[[[[5,9],6],[[8,9],[5,7]]],[0,[8,[2,5]]]]
|
||||||
|
[[[[9,0],7],1],2]
|
||||||
|
[[[9,3],6],[[[6,6],[9,6]],1]]
|
||||||
|
[[[2,0],[0,[4,6]]],[[[5,7],6],[9,5]]]
|
||||||
|
[[[3,[4,3]],8],[[[6,3],[0,5]],2]]
|
||||||
|
[[[[2,8],8],[5,[2,4]]],[[3,7],[2,1]]]
|
||||||
|
[[1,[[2,7],4]],7]
|
||||||
|
[[2,[4,[5,9]]],[[[7,0],6],[4,[9,1]]]]
|
||||||
|
[[[9,[3,5]],[[9,5],[5,2]]],[[2,[4,3]],[[0,5],[1,9]]]]
|
||||||
|
[[1,[9,0]],[[[0,9],[9,3]],0]]
|
||||||
|
[[[[7,8],[3,6]],3],[[[2,6],[2,9]],[[1,3],[1,3]]]]
|
||||||
|
[[[7,[1,4]],[4,7]],[[[0,7],[0,6]],5]]
|
||||||
|
[[[6,0],[3,[2,3]]],6]
|
||||||
|
[[0,[3,[1,3]]],[[2,3],9]]
|
||||||
|
[[[8,6],[0,2]],[[[8,9],[7,0]],9]]
|
||||||
|
[[[[4,9],6],2],[[[8,9],[1,5]],[9,3]]]
|
||||||
|
[[[1,5],[6,[2,7]]],[7,[1,7]]]
|
||||||
|
[5,[3,[9,1]]]
|
||||||
|
[[[7,5],[1,5]],1]
|
||||||
|
[2,[[[5,0],[4,0]],[[3,7],5]]]
|
||||||
|
[[[5,9],1],[[[3,9],4],6]]
|
||||||
|
[[3,[[5,2],[9,2]]],[4,[[3,6],[8,9]]]]
|
||||||
|
[[[5,4],[8,8]],1]
|
||||||
|
[[[[8,9],[5,8]],0],[[9,5],[6,[7,1]]]]
|
||||||
|
[[[4,[8,8]],[[9,5],4]],3]
|
||||||
|
[[6,[6,[4,3]]],[[7,[3,9]],[4,8]]]
|
||||||
|
[[5,[[4,2],[7,3]]],[[[9,0],[0,1]],[[5,8],0]]]
|
||||||
|
[[[[6,1],6],[9,[0,8]]],[9,9]]
|
||||||
|
[[4,0],[[[1,4],4],[4,4]]]
|
||||||
|
[[7,[[0,0],[1,6]]],7]
|
||||||
|
[[6,3],[5,[[2,7],5]]]
|
||||||
|
[[1,[7,5]],[0,[4,1]]]
|
||||||
|
[[[3,7],3],[[3,[0,2]],2]]
|
||||||
|
[[[0,8],[[7,0],[9,8]]],[[[0,3],4],[[6,0],6]]]
|
||||||
|
[[[[4,6],[1,7]],[[6,4],[1,5]]],[3,[9,9]]]
|
||||||
|
[[[2,[1,7]],[9,9]],[[0,[7,8]],[0,[9,6]]]]
|
||||||
|
[[9,8],[5,[6,[1,8]]]]
|
||||||
|
[[[7,2],[[0,6],[2,6]]],[[9,[0,4]],[9,[5,8]]]]
|
||||||
|
[[[8,[6,8]],[[5,5],[9,9]]],[[[2,0],6],[8,1]]]
|
||||||
|
[[[[0,8],4],[3,4]],[[0,[0,8]],[[7,5],2]]]
|
||||||
|
[7,[[[3,4],[5,4]],8]]
|
||||||
|
[[[2,8],[0,2]],6]
|
136
data/day_19.txt
Normal file
136
data/day_19.txt
Normal file
@@ -0,0 +1,136 @@
|
|||||||
|
--- scanner 0 ---
|
||||||
|
404,-588,-901
|
||||||
|
528,-643,409
|
||||||
|
-838,591,734
|
||||||
|
390,-675,-793
|
||||||
|
-537,-823,-458
|
||||||
|
-485,-357,347
|
||||||
|
-345,-311,381
|
||||||
|
-661,-816,-575
|
||||||
|
-876,649,763
|
||||||
|
-618,-824,-621
|
||||||
|
553,345,-567
|
||||||
|
474,580,667
|
||||||
|
-447,-329,318
|
||||||
|
-584,868,-557
|
||||||
|
544,-627,-890
|
||||||
|
564,392,-477
|
||||||
|
455,729,728
|
||||||
|
-892,524,684
|
||||||
|
-689,845,-530
|
||||||
|
423,-701,434
|
||||||
|
7,-33,-71
|
||||||
|
630,319,-379
|
||||||
|
443,580,662
|
||||||
|
-789,900,-551
|
||||||
|
459,-707,401
|
||||||
|
|
||||||
|
--- scanner 1 ---
|
||||||
|
686,422,578
|
||||||
|
605,423,415
|
||||||
|
515,917,-361
|
||||||
|
-336,658,858
|
||||||
|
95,138,22
|
||||||
|
-476,619,847
|
||||||
|
-340,-569,-846
|
||||||
|
567,-361,727
|
||||||
|
-460,603,-452
|
||||||
|
669,-402,600
|
||||||
|
729,430,532
|
||||||
|
-500,-761,534
|
||||||
|
-322,571,750
|
||||||
|
-466,-666,-811
|
||||||
|
-429,-592,574
|
||||||
|
-355,545,-477
|
||||||
|
703,-491,-529
|
||||||
|
-328,-685,520
|
||||||
|
413,935,-424
|
||||||
|
-391,539,-444
|
||||||
|
586,-435,557
|
||||||
|
-364,-763,-893
|
||||||
|
807,-499,-711
|
||||||
|
755,-354,-619
|
||||||
|
553,889,-390
|
||||||
|
|
||||||
|
--- scanner 2 ---
|
||||||
|
649,640,665
|
||||||
|
682,-795,504
|
||||||
|
-784,533,-524
|
||||||
|
-644,584,-595
|
||||||
|
-588,-843,648
|
||||||
|
-30,6,44
|
||||||
|
-674,560,763
|
||||||
|
500,723,-460
|
||||||
|
609,671,-379
|
||||||
|
-555,-800,653
|
||||||
|
-675,-892,-343
|
||||||
|
697,-426,-610
|
||||||
|
578,704,681
|
||||||
|
493,664,-388
|
||||||
|
-671,-858,530
|
||||||
|
-667,343,800
|
||||||
|
571,-461,-707
|
||||||
|
-138,-166,112
|
||||||
|
-889,563,-600
|
||||||
|
646,-828,498
|
||||||
|
640,759,510
|
||||||
|
-630,509,768
|
||||||
|
-681,-892,-333
|
||||||
|
673,-379,-804
|
||||||
|
-742,-814,-386
|
||||||
|
577,-820,562
|
||||||
|
|
||||||
|
--- scanner 3 ---
|
||||||
|
-589,542,597
|
||||||
|
605,-692,669
|
||||||
|
-500,565,-823
|
||||||
|
-660,373,557
|
||||||
|
-458,-679,-417
|
||||||
|
-488,449,543
|
||||||
|
-626,468,-788
|
||||||
|
338,-750,-386
|
||||||
|
528,-832,-391
|
||||||
|
562,-778,733
|
||||||
|
-938,-730,414
|
||||||
|
543,643,-506
|
||||||
|
-524,371,-870
|
||||||
|
407,773,750
|
||||||
|
-104,29,83
|
||||||
|
378,-903,-323
|
||||||
|
-778,-728,485
|
||||||
|
426,699,580
|
||||||
|
-438,-605,-362
|
||||||
|
-469,-447,-387
|
||||||
|
509,732,623
|
||||||
|
647,635,-688
|
||||||
|
-868,-804,481
|
||||||
|
614,-800,639
|
||||||
|
595,780,-596
|
||||||
|
|
||||||
|
--- scanner 4 ---
|
||||||
|
727,592,562
|
||||||
|
-293,-554,779
|
||||||
|
441,611,-461
|
||||||
|
-714,465,-776
|
||||||
|
-743,427,-804
|
||||||
|
-660,-479,-426
|
||||||
|
832,-632,460
|
||||||
|
927,-485,-438
|
||||||
|
408,393,-506
|
||||||
|
466,436,-512
|
||||||
|
110,16,151
|
||||||
|
-258,-428,682
|
||||||
|
-393,719,612
|
||||||
|
-211,-452,876
|
||||||
|
808,-476,-593
|
||||||
|
-575,615,604
|
||||||
|
-485,667,467
|
||||||
|
-680,325,-822
|
||||||
|
-627,-443,-432
|
||||||
|
872,-547,-609
|
||||||
|
833,512,582
|
||||||
|
807,604,487
|
||||||
|
839,-516,451
|
||||||
|
891,-625,532
|
||||||
|
-652,-548,-490
|
||||||
|
30,-46,-14
|
1000
data/day_2.txt
Normal file
1000
data/day_2.txt
Normal file
File diff suppressed because it is too large
Load Diff
102
data/day_20.txt
Normal file
102
data/day_20.txt
Normal file
@@ -0,0 +1,102 @@
|
|||||||
|
##..#.#...##.####..#..###.#.#.#.#.####.#.##.....#####.##..#..#.#.##.......##.##.#.#...#....#.####..#.##.##....###..##.#####.##....##.#.#.#.#....####...##.#......#.#..##......##..#..###.#..####.###...##.#.##.#..##.##..#.#.#..###..##.####.#.#.#..#.##...#..##...##.#####..##.##..#...#..###.#.#...#..#..##...#.#..........#...#...#.#.#.#..#.###..##....####..#######.##.#.....#.#.###...##...###...#.##.##.##..#......#.###...#.#.#.#...##.#.#.##.#..###.#...##...##.......####.##..#.#....#.#####..#..#####.#.....#....#.#.
|
||||||
|
|
||||||
|
.##.#...##..##.#..........#####..#.##..######.##..#....#..#####.#.#####.#..#...#..#####..#.......##.
|
||||||
|
.#.#.#.#####..##.#.###..#.##.##.......#.####.#............#.#....####..#.#####.##.##.#.###..#..##...
|
||||||
|
.##.#.#...##....#.#..#...........##.#.#..#####...#..##.###..##.###..........#####..##..##.#.####....
|
||||||
|
##..####.####.###.......#....#.#####.##...#....###...##...###...#...##..####....####..#####..##..###
|
||||||
|
...###.##.....#......###.#.###..#..###...#.#..#.#######.##..#..#..#..##.##..#####.#####.###...#.###.
|
||||||
|
##.###.#....##..####.#..#.###.##.#.##..#...#...###.###.#..#..#.#.###.##.#..###.#.###....###.###.....
|
||||||
|
#.#.##..#.....#.....##....######...#........#.#.#.#.######..#...##.#.######...#.##########..#.###..#
|
||||||
|
.##.#...##.#......###..####.##.#...#..##.#.####...##..####..#####..##.###.#.###...#.#.######.#.#####
|
||||||
|
..#..##..#.#.#...####..###.#..#...#..#.#.#.#.###..####.#...#......#..#..####.#...#.#.#......#...#..#
|
||||||
|
#...###..#.#.###.#.##.##.#.#.#####....#....#.....#####...#..#..#.#####..##.....#..###.#..###.#..#...
|
||||||
|
..##.#.#..##.#.#...#...#.#.#..#.#.##....#####....#.##...#..#..#.#....###...##..#.#.##.##.#.......#.#
|
||||||
|
##.##.#######.###.#..#....#..##..#.###.....#.###..#.#..#....#.#..###.##.#.....#.#.#.##.#...#..##.#..
|
||||||
|
.....#.#.#.#.####.#..####.#....##.###.###...########.#.#....#..##.#.#####...##....##....#.......#.#.
|
||||||
|
##..#...#..#.#.####..#.#..####.#####.#####.###..#.#####.#..#...##.######.###.#..#.##.#.#..#..#.####.
|
||||||
|
#.##.##.#.####...#.#.#.#..####.#.#...###...#.#....##...####.#..#####.#.####.#..#.....###.#..#...#.#.
|
||||||
|
.#..#.##...####...##.####...###..####.##........#.#.##..#..#.##...#....##.#.#..#.#.###...##.......#.
|
||||||
|
..#..#..#.###.##...###....#.#..#..##..#...###.###...#..#.....#..#.####.#.#.#.##..###...#....##.#.###
|
||||||
|
###.##....##.#.##..####.#.###...###.###.#####..##.###.....#.#####....#.##..##.#####.##..###....#....
|
||||||
|
###..#...###..#....#..#.#...#....###.#.####.##..#.#..#.###..#..#.##.#.#.......#...#....#...###..#.##
|
||||||
|
#...#.#.#...#.####.##.#.#..#...##.....#..##....#..#.##..##.####.#.#.###..##..#.#.#.###.#.#..####..##
|
||||||
|
.###..###.##..###..#..#.##..#...#.##.#.......####.#..##.#...#.##..#..........##..####..##.###..###..
|
||||||
|
###.#.#...###..#...#####.####..#..#######.#.#.###.##.###.#.####.##.#####..###.#####.#...####.##..##.
|
||||||
|
.##..##..##.#...######.###...#.##.##....##.#...##.#####.#...##..#.#...#.#..#.##.#....##.####.#.##.#.
|
||||||
|
...####..#...#...####.#.#...#...###..#.##...####.#..######.##.....##..#...#...####.###.#..##.##..#..
|
||||||
|
#.#####.##.##..#..##.#.####..##.#.#...#..####.##..###.####.##.##...#.#...#.#.#####.####.#.###..#..#.
|
||||||
|
..#.....#..##..#...#####..##.###..##.#..##..##..####.#..#.####.###...#####.#.###.....#..#.####.#.##.
|
||||||
|
#####....###..##.#.######.#.##..##.#.#####.##########.#...##...###....###.#.....#.....###.#.#.#.##.#
|
||||||
|
##.....#.###.###.#.##.########....##.##.###...#######..##..#.#.#..#.##..####..#.###.#.###.#.#......#
|
||||||
|
..##..#...#.#.#.#.###.#..#####.#.#..#......####..#.###..###...##...##.##..#..#..#.##.#..###..##.#.#.
|
||||||
|
.#.#..#..###.##.#.#...#.#...##...#.###..#.#.##.#....#..####..#.#.##.#..#...##.#.....##...####.....#.
|
||||||
|
##.#..##...#..##.####.##....##..#####.###...#..######..#....#..#######..#..#.####.#...##.##..##..#..
|
||||||
|
..##.#.###....#..#.....#..#.#.#.#........#..##.#.#.......####.##...#.#.##.######..##..#....#.#......
|
||||||
|
.....#....#.#.##...#..######.###.###.##....##.#.##.###.....#..#.#....#####.#..##.#.....#..#.##....##
|
||||||
|
##.....#.#...####...##.##.#.##.#.##......#.#########.#.##..##...###.##.#..#....#..##.####..#######..
|
||||||
|
##...#.########.###.#....#...#..##.##.###....##...#####..##.####..##..#..#####.#..######.####...#.#.
|
||||||
|
##.####..##.#####..#..###...##.......#...#.###.#.#..#..#....#.#..##.....#.#....####.###...#.#..##.#.
|
||||||
|
#.#.#.#.###..#.#####.#...##...#.###.##..#.#####.....#...#.#.#..#...##....#...####.####.##.#.....####
|
||||||
|
..###.##.#......#######..#...##..###.##....#....#.#..###...#..###.#.#...#..##...####.###.###..#.#.##
|
||||||
|
.#..#.#.##..###########.#.#..#.###.######...###.##..#.###..##.#...#.#...###.#.##.##.#..#..#..#.#...#
|
||||||
|
.#..#.#..##....#....####.#..##....#.###.####..#.##.#.#..###.#.##.#........##.#...###.#.......##.#...
|
||||||
|
...###.#.#.##.##.##.....#.#.#..#..#.##.#######...##....#.#......##....##.#.####.####.###.#....##..#.
|
||||||
|
.#.##..#.##.##.####.....##...#..###.###.###..#..##.####..##...#.###.##..##..#####.#..###....###.##.#
|
||||||
|
#.###...#####.#..#.####...##.#..#...######.....#.#....##.#.#...##....#...........##.##.##.#...######
|
||||||
|
##..#..##.....##..#.#..##.##.#..#...####.######.......###..#..##.##..##..##..###..##.##.#.#.....#...
|
||||||
|
#......###..#####..#######.#.#..#.###..##.#..##.##.##.#..###.###..##.##.....#.#..####.#.##...##..###
|
||||||
|
.##...#..###..##..#.#####.#####.###...#.........#.##.##.###.#.#.#...###.#..###.##.##.#..#..#...###.#
|
||||||
|
#.###.###.###.#.###.#.##....##..##.......#....##.###.###.#.###..#..###.#.##.##..#.#...######.####..#
|
||||||
|
..#####.###.##.#..##.##.#..#.###..#.####....#...##.#.......#.#..##.#.......##.##.#######...######.##
|
||||||
|
#.##...###..#..##.....#.#.##.#..##...##.#####..#...##...#..#.####.#.##.##.#....##.###.#.##..##..#.#.
|
||||||
|
..#.###.#.##...#..##.#..####.###..#####.##.####.#.##..####.###..##..#...#.##...#.###....####...####.
|
||||||
|
.###.....###.#....######.#####..#..#..#.#.#..#..#.###.#........##.###...#...##..#..#...#.....#.###.#
|
||||||
|
..###.##.#.#####.#..########..##..##.#..###.#.##.#....#.###........#....#...#.#...##.#.##..#..##.##.
|
||||||
|
###.#.#.#...#..##....#.##....##.#######.#.##.#.##....#....###.#.#.....#.##..###..##..#..##..#.#..##.
|
||||||
|
.#.##..#.##..##.##.##..#.###.#..##.###.#.###.##......##.#...##.##..##...##.#...##.#..#..#.##..#.##..
|
||||||
|
####..####.###..#..#####...###.#....###.#...##........#.#...#..#.#.###..####.#.#.######...#..##.#.#.
|
||||||
|
#...#..#.##..#.#.#.#.#...##.#.##..#...#.###.###.#....##.#..##.#.###..##....#.###.#.##..#..##....#...
|
||||||
|
#.###.#.##.###.#..#...####.#....#..#.#####.#...#.###.##.##.###.###..#...#.#.####..###..........##.#.
|
||||||
|
##.##.#.###.#.##.####...###.#.###..###...####..#####.###...#.##...###.##..#.####.#.##...#....##.#.##
|
||||||
|
#....#..##.##.##......##...##.##..#####...#.##.###.##...##..##..###..#..#..#...###.##.#..#..#.#...##
|
||||||
|
###.####.....#.#....####..#.##.........#....##.....#....##.#..##.##..####..###.####.#...##....##.##.
|
||||||
|
#.......###.#..####.##..#..##...#....###...##.......##.....###.######.#..#..##..#....#.###.#..##.###
|
||||||
|
#.###.##..##..##.##...#.........####..####..#..##...##.#..#..#######.###...#......#.##.####.#..##...
|
||||||
|
#.####...##.#...#.#.###...##...#....#.##.##.####.#.#....###....#...#........##.##..#.#.####..#.#.#..
|
||||||
|
.#..###.#..#.....##..#..#.###..###.#.##...#.#.....#...#....#.##.#..#.#...#..#.#..###..#.#...###.....
|
||||||
|
.####....####....#.#.....#..#.#.##........#..#.####.##.##...#.#.####.#..#.##..##..#...#.#.##...#.#.#
|
||||||
|
#####.#...####.#.####.#...#..#...#.#.##.#..#...##..#.#...##.###.##.#.###.###.#...#..#.###.##.##...#.
|
||||||
|
#.#....#.###.##..##.##..##.#...#.###....###....###..#.####.###..#.#.##...#..####....#.####...###.#..
|
||||||
|
.#...#.###.#.####..#.#####...##...#..##........#....#..#.#.##..##.##.#######.#.#.#.##.#.#.#.##..#...
|
||||||
|
#....#....#.#.##.##.##..###..###.##..#.##.....###.###......#.#....#..#.##......#.###.#..#.#.#.#..###
|
||||||
|
#####.#####.##...#.#..#..##.####.#......######..####..##.##.##.#.......#...####..#..###.#..##.#.#.#.
|
||||||
|
#.##...##..##......###...#.#.##...#.#...#..##.###.#..#.##...#.#.#.##.###.##.#####....#...#.....##..#
|
||||||
|
..##....##..#..##..##...#..#.##.####.##........###..##.##.#.#.##..#..###...#..#...##.#.##.########.#
|
||||||
|
#...#.#####.###.#....#....#######.###..#..#.#..##..#.###.#.####.##.#..###..#....###.###....###.#..##
|
||||||
|
.......###.#.#.#..#.#..###...#.##..#..#...#..#....#..#...#.#####.#...##.#.###.###.#..#.##.#..##.....
|
||||||
|
....#.##...#.##.#.###..#####..#.######.###...###..##.#.#.##.###.##.####..#..#.....#.......#.######.#
|
||||||
|
##..####......##...##.#..#..#..#..##.#.#..##..####.#.######.#...##..#..#.##.##..###..#..#.#..#..#...
|
||||||
|
.##.#..#..##.#.##..#..#.#.#...##.##...##.#.########..##..#...#####.....#.#..###.#.##.##.###..#..#.##
|
||||||
|
..##...#.#..#.#.##.###..#....#..###...#..##....##.#..######..###.#.#####..#.###.##.###..#####...####
|
||||||
|
#.#..###.##.#...#..###..#.##.##...####.####.#.....##....###..#..#...####.####.###...#..#.#.#.#.##..#
|
||||||
|
###..##...#.#..##..#...##..###.#.....#...##.###.#..###...###.####..###.#..#.#...##.....#............
|
||||||
|
.#####..##...##....######...#..###.#.#......#...######.#..#...###.#...#..####.#......##..#..#.#...#.
|
||||||
|
.#..####.#.#..###..#.#.##.####..#.#....#.####..##...#..#.#.#..###.........##.#.#####...###...#.#..#.
|
||||||
|
.#.#....#..####..##..#########.#..#.##..###..#..#...###....##.....####...#..#.##....#######.####.##.
|
||||||
|
##.#.####..#...#..#.##.#..#....##.####..####..###.#.#...#######.#.###..###.###..#.###.##...##.##..#.
|
||||||
|
.#####.....##.#....##...##...#.#..####.##..#....##.###.#####.##.#.#.#...#...#.#.#.......##..##.##.#.
|
||||||
|
.##..#.#.###.#.#.#....##.#...#....#...#...#..#######....##.#.#.#####.#.###..#..#...#......#..#.##..#
|
||||||
|
...##.....#..#.####.###...#####.#.#....##.#.#.#.#...####.####.#..##.#.##.##.###..##...##.....#...###
|
||||||
|
####.###..###.####..###.##..#.#####.#...##.#..#.#.##.####.#..####..#..##....####.#....#...#.####.#.#
|
||||||
|
##....##.#.#.##.###..#####.##..##..#..##..##..#.#..###.##.#####...#..#.##.#.####.####..#...##..#..##
|
||||||
|
#.#..###..##..#..#..####..#..#.#..#.##...###.#.#.#.#...####.#.#...####.##..#.#.#..#.##..##..##.#....
|
||||||
|
##.#.####....##..##..####.#######..##....######.##.#....#..#...#.#..#.##.#...#.#.#.#.#..###....#.#.#
|
||||||
|
.##.###..#.###..##...####.###.#.##.###.#...#..#......######.##.##.##.####.##.##....#.#......####.#.#
|
||||||
|
#..###.####.#...#.###.###.#..##.###..#.#.#####..#.##.##.#.##.##..###.####...####..#..###...#.##.####
|
||||||
|
#...............#.##.###...#..#..#.##.##.#.##.#.#...#.#....#..#.######..#..#..##....#.##..#..#..#.##
|
||||||
|
###.###...#...#..#....##.......#.#..#...##...#....#..######..#.....##.####..#....#...##...######..##
|
||||||
|
..##..#..##.#.##..###.#...............####...##..##......#...#.....#..#....#.#...#.....##..#####..##
|
||||||
|
#.....##.#.##.###......###.#.##..###....###..#...#..###.#..#..##...#..#.##...#.#...#..#.....##...#.#
|
||||||
|
..##....#..#.#.#.####..#.#.#....#.#.#.#.##.#..#.#..#..#.#.##.####......##..#...##..#.#.##..#.....#..
|
||||||
|
.#..##....###.###..##....#####.#....####....#.#.##..#...#.###.##..#.....##........###.###.####..#.#.
|
||||||
|
.###.##..#..#...#.#.#######.##.#.#.#.#.###.#.#.#.#......#####.###.#.#.#......#.#..#.#.##..#.##.#.#.#
|
2
data/day_21.txt
Normal file
2
data/day_21.txt
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
Player 1 starting position: 7
|
||||||
|
Player 2 starting position: 8
|
420
data/day_22.txt
Normal file
420
data/day_22.txt
Normal file
@@ -0,0 +1,420 @@
|
|||||||
|
on x=-8..38,y=-15..37,z=-49..5
|
||||||
|
on x=-35..13,y=-26..26,z=-47..-2
|
||||||
|
on x=-44..9,y=-47..7,z=-18..35
|
||||||
|
on x=-24..20,y=-46..8,z=-10..38
|
||||||
|
on x=-32..21,y=-27..18,z=-43..6
|
||||||
|
on x=-36..18,y=-7..44,z=1..45
|
||||||
|
on x=-48..2,y=-38..16,z=-45..6
|
||||||
|
on x=-47..-3,y=-8..42,z=-4..49
|
||||||
|
on x=-26..25,y=-26..19,z=-37..17
|
||||||
|
on x=-8..36,y=-48..4,z=-26..19
|
||||||
|
off x=-22..-6,y=0..11,z=4..18
|
||||||
|
on x=-5..47,y=-41..12,z=-26..27
|
||||||
|
off x=10..29,y=2..18,z=-22..-10
|
||||||
|
on x=-41..4,y=-33..17,z=-43..10
|
||||||
|
off x=23..39,y=34..43,z=0..18
|
||||||
|
on x=-22..31,y=-28..17,z=-46..-2
|
||||||
|
off x=-34..-20,y=10..27,z=-39..-24
|
||||||
|
on x=-19..34,y=-5..48,z=-36..8
|
||||||
|
off x=-22..-3,y=6..23,z=-33..-23
|
||||||
|
on x=-31..14,y=-41..6,z=-42..11
|
||||||
|
on x=15335..50364,y=23326..35316,z=55710..82802
|
||||||
|
on x=-45558..-26562,y=-2400..4809,z=63478..81702
|
||||||
|
on x=-32547..-2093,y=-80247..-60455,z=-38776..-12398
|
||||||
|
on x=3464..34355,y=-53573..-44765,z=-72270..-45885
|
||||||
|
on x=-9807..20039,y=-68478..-43761,z=-57797..-44099
|
||||||
|
on x=40079..61797,y=-61859..-31418,z=38360..45565
|
||||||
|
on x=62170..82174,y=8028..39169,z=-12590..14034
|
||||||
|
on x=-38651..-30945,y=27847..31103,z=61105..82258
|
||||||
|
on x=37522..61641,y=37254..59332,z=-25804..-10671
|
||||||
|
on x=-60797..-42266,y=-41852..-22898,z=33729..67815
|
||||||
|
on x=-16830..10919,y=-85429..-52622,z=38655..47942
|
||||||
|
on x=-79023..-63744,y=-29720..-25509,z=-13690..6232
|
||||||
|
on x=-4302..17673,y=65726..84939,z=-24802..-1510
|
||||||
|
on x=51984..58644,y=-50863..-29318,z=-62134..-38340
|
||||||
|
on x=17315..32243,y=-78736..-61172,z=-48782..-36452
|
||||||
|
on x=43538..74153,y=-64825..-48158,z=-2168..17349
|
||||||
|
on x=-88874..-56782,y=31756..39638,z=-6822..22577
|
||||||
|
on x=-32751..-16062,y=21829..33445,z=-80369..-58366
|
||||||
|
on x=-53991..-37739,y=24044..41509,z=-63198..-60191
|
||||||
|
on x=45511..57768,y=-60217..-38779,z=4772..14616
|
||||||
|
on x=582..26199,y=-84737..-68753,z=-30138..-10832
|
||||||
|
on x=-76660..-44924,y=-45685..-28606,z=-45497..-26288
|
||||||
|
on x=-16527..7531,y=71113..90437,z=-31015..963
|
||||||
|
on x=-45308..-33442,y=-55174..-46890,z=-62805..-38852
|
||||||
|
on x=-97917..-77721,y=-14020..19196,z=-9834..12916
|
||||||
|
on x=9547..37293,y=47382..79218,z=-40988..-38084
|
||||||
|
on x=11900..40311,y=-88398..-73419,z=-16149..17264
|
||||||
|
on x=-76272..-57431,y=9110..28569,z=-43875..-35650
|
||||||
|
on x=44316..75678,y=49414..51289,z=-16923..614
|
||||||
|
on x=-31873..-16382,y=-86726..-59516,z=-35550..-16645
|
||||||
|
on x=-2001..12126,y=-74226..-66970,z=27937..35348
|
||||||
|
on x=22600..38219,y=-89770..-65203,z=-2468..27615
|
||||||
|
on x=-29020..-18296,y=-40849..-28739,z=-76954..-49958
|
||||||
|
on x=-69947..-45370,y=-26764..-3205,z=-62596..-39633
|
||||||
|
on x=11106..25350,y=-10816..603,z=61373..88869
|
||||||
|
on x=-44616..-19892,y=-58959..-34216,z=58473..65795
|
||||||
|
on x=-8795..947,y=-13768..11224,z=62325..94888
|
||||||
|
on x=65157..94625,y=13584..36634,z=-19744..409
|
||||||
|
on x=8842..29765,y=-76600..-64290,z=-53640..-20221
|
||||||
|
on x=72119..80400,y=-10518..17427,z=-21981..-8210
|
||||||
|
on x=-5366..6510,y=59148..78095,z=24053..43978
|
||||||
|
on x=13458..29969,y=54416..76907,z=-41187..-26771
|
||||||
|
on x=-93261..-60882,y=-24991..-8501,z=12612..18878
|
||||||
|
on x=-65813..-47821,y=-63936..-49169,z=-19769..7195
|
||||||
|
on x=-64400..-34269,y=-35835..-33505,z=46829..66233
|
||||||
|
on x=50461..83244,y=-18960..-12216,z=-50711..-23716
|
||||||
|
on x=30337..47289,y=13642..33900,z=48160..76508
|
||||||
|
on x=-8112..10344,y=1355..15516,z=71137..84477
|
||||||
|
on x=51524..63806,y=17375..48797,z=28977..50170
|
||||||
|
on x=58448..76178,y=21032..43228,z=-27666..-23037
|
||||||
|
on x=-72668..-59446,y=31279..44252,z=25311..54211
|
||||||
|
on x=-27331..-6649,y=-75402..-45015,z=39353..52026
|
||||||
|
on x=-83915..-52531,y=-56122..-21235,z=-15204..8932
|
||||||
|
on x=20340..34983,y=13459..45255,z=67208..82734
|
||||||
|
on x=52204..80044,y=-56662..-21103,z=-6139..5434
|
||||||
|
on x=48343..56665,y=-66449..-46287,z=9391..32105
|
||||||
|
on x=18326..43597,y=63443..65306,z=-58929..-19969
|
||||||
|
on x=-2999..2718,y=-61788..-32532,z=52591..69302
|
||||||
|
on x=35428..65034,y=-55534..-39929,z=29073..56505
|
||||||
|
on x=-564..14337,y=73556..93104,z=-1379..20976
|
||||||
|
on x=-81741..-61409,y=17237..33536,z=44407..50551
|
||||||
|
on x=-87050..-59613,y=-11189..3245,z=-53237..-24697
|
||||||
|
on x=34259..54145,y=20441..36300,z=45810..58640
|
||||||
|
on x=34106..47786,y=61578..84112,z=-12070..1856
|
||||||
|
on x=20918..24706,y=-79156..-61039,z=-9799..16667
|
||||||
|
on x=35957..45020,y=29650..58514,z=-64107..-44220
|
||||||
|
on x=3605..23761,y=-87881..-67369,z=28828..38438
|
||||||
|
on x=-70621..-52430,y=37486..66736,z=-4981..30
|
||||||
|
on x=-33825..-12291,y=-44236..-16695,z=61030..69673
|
||||||
|
on x=-49593..-18848,y=-23981..-11323,z=-79284..-57866
|
||||||
|
on x=-94854..-58471,y=624..16087,z=-31578..-20200
|
||||||
|
on x=-56555..-41220,y=-30410..-5416,z=-78098..-48820
|
||||||
|
on x=-29310..-5333,y=-377..16272,z=-92588..-64906
|
||||||
|
on x=10354..36468,y=45324..65408,z=31417..60527
|
||||||
|
on x=28022..48159,y=61268..65663,z=12438..25427
|
||||||
|
on x=-62602..-33068,y=51567..61033,z=-35345..-28008
|
||||||
|
on x=59685..96646,y=-17225..7947,z=-21655..-929
|
||||||
|
on x=2571..26494,y=-34041..-16342,z=-79107..-62634
|
||||||
|
on x=-69128..-43671,y=37174..57503,z=3638..28066
|
||||||
|
on x=-67589..-48147,y=-73385..-56850,z=-1860..2972
|
||||||
|
on x=-13132..7845,y=-45253..-22219,z=73332..87814
|
||||||
|
on x=14643..27911,y=66417..87671,z=6926..42452
|
||||||
|
on x=55546..59770,y=-68349..-35183,z=13526..42706
|
||||||
|
on x=46458..71581,y=-64188..-39183,z=-37594..-5557
|
||||||
|
on x=52337..87886,y=3073..40107,z=25199..53681
|
||||||
|
on x=-27570..-18038,y=-89728..-75569,z=-8551..19893
|
||||||
|
on x=45880..62073,y=-68855..-56920,z=-18677..7736
|
||||||
|
on x=53736..62220,y=40703..59813,z=23257..45038
|
||||||
|
on x=-76911..-44696,y=-69813..-45549,z=3081..35367
|
||||||
|
on x=31747..54285,y=3689..9419,z=49901..76396
|
||||||
|
on x=41306..59150,y=-61184..-38861,z=29420..47064
|
||||||
|
on x=-3789..19982,y=-70405..-50781,z=36583..62090
|
||||||
|
on x=60232..72621,y=28595..58182,z=7302..23655
|
||||||
|
on x=29066..55476,y=50427..80610,z=17279..37108
|
||||||
|
on x=-74130..-48051,y=9698..30887,z=-55533..-38019
|
||||||
|
on x=20776..22496,y=49080..74957,z=-54917..-24479
|
||||||
|
on x=-42551..-29740,y=-55103..-24976,z=-75473..-58134
|
||||||
|
on x=-513..10228,y=-61404..-54603,z=-56400..-40844
|
||||||
|
on x=4767..24714,y=68526..93217,z=-25864..-16813
|
||||||
|
on x=33270..56249,y=-12736..15165,z=59025..73794
|
||||||
|
on x=56648..94625,y=4068..28093,z=-26382..-8130
|
||||||
|
on x=-42182..-28592,y=31930..50414,z=-72371..-46985
|
||||||
|
on x=35452..53665,y=-40979..-7896,z=50032..72566
|
||||||
|
on x=20439..46512,y=60602..69683,z=10315..32311
|
||||||
|
on x=29946..49103,y=60304..85429,z=-6857..15097
|
||||||
|
on x=-44981..-28124,y=-75770..-62139,z=-41957..-39213
|
||||||
|
on x=1642..15993,y=-74459..-43849,z=46076..65639
|
||||||
|
on x=24231..28876,y=-46470..-27532,z=49508..84952
|
||||||
|
on x=58988..97791,y=-8990..14314,z=-1595..37717
|
||||||
|
on x=66367..88861,y=-35194..-9267,z=-25451..-17485
|
||||||
|
on x=-60774..-33099,y=-72195..-51492,z=-36479..-16367
|
||||||
|
on x=32005..49362,y=30998..48503,z=-63298..-32160
|
||||||
|
on x=-14142..10186,y=-61898..-51952,z=-59283..-47394
|
||||||
|
on x=-19407..11513,y=32878..69244,z=55828..80284
|
||||||
|
on x=45876..77690,y=-58055..-41201,z=-29044..5749
|
||||||
|
on x=-11468..18864,y=75328..84069,z=-4503..25380
|
||||||
|
on x=-35711..-29917,y=-32456..-23606,z=-82918..-55517
|
||||||
|
on x=27301..48443,y=-69479..-34724,z=26664..49480
|
||||||
|
on x=23315..42528,y=-86791..-57800,z=30250..51456
|
||||||
|
on x=60965..90946,y=-14685..10468,z=20339..49517
|
||||||
|
on x=15832..37891,y=-52792..-39704,z=39855..71748
|
||||||
|
on x=-59280..-47097,y=-39141..-17157,z=33266..47528
|
||||||
|
on x=-57855..-35283,y=-39073..-13640,z=-80444..-56846
|
||||||
|
on x=-86133..-58057,y=-27636..-4311,z=-32792..-18848
|
||||||
|
on x=-444..13278,y=22909..49708,z=58690..72477
|
||||||
|
on x=-13881..12856,y=36632..69292,z=56982..70686
|
||||||
|
on x=10985..24603,y=25636..55287,z=-79921..-61711
|
||||||
|
on x=10776..29554,y=4929..33616,z=-82193..-56014
|
||||||
|
on x=17025..38285,y=-47077..-14251,z=-77553..-54577
|
||||||
|
on x=46531..63240,y=-15497..3408,z=56333..68319
|
||||||
|
on x=-64068..-46550,y=-49066..-35557,z=-59104..-37575
|
||||||
|
on x=-66587..-39636,y=2921..14996,z=-73004..-58075
|
||||||
|
on x=-57862..-46129,y=-39458..-13965,z=52019..57063
|
||||||
|
on x=32195..41584,y=-58378..-45157,z=47203..64230
|
||||||
|
on x=59743..64863,y=-24800..7,z=47840..51569
|
||||||
|
on x=-42549..-33653,y=70071..85597,z=-16479..7317
|
||||||
|
on x=-37353..-26663,y=37926..66858,z=34514..62276
|
||||||
|
on x=15487..32009,y=-17818..-4587,z=-88133..-63626
|
||||||
|
on x=39272..60009,y=21713..53410,z=29838..55064
|
||||||
|
on x=14645..18233,y=70285..80160,z=-45717..-26265
|
||||||
|
on x=-59969..-38119,y=-32490..-11158,z=-72565..-48356
|
||||||
|
on x=-37063..-12372,y=34981..61053,z=45674..63318
|
||||||
|
on x=23505..31659,y=-17878..3435,z=69208..88411
|
||||||
|
on x=-28414..-11477,y=75258..76840,z=-18186..-298
|
||||||
|
on x=-49615..-36443,y=47524..71379,z=24823..52483
|
||||||
|
on x=41128..68342,y=42269..56032,z=13167..49004
|
||||||
|
on x=-73556..-62069,y=39819..54100,z=10014..26182
|
||||||
|
on x=11963..29197,y=-16582..13981,z=-94711..-63934
|
||||||
|
on x=-34689..-25577,y=-197..15669,z=-86772..-64172
|
||||||
|
on x=3563..21507,y=64920..83056,z=-38937..-25267
|
||||||
|
on x=61303..75862,y=-22101..-7085,z=30482..64859
|
||||||
|
on x=12131..33975,y=64409..83656,z=-5563..5502
|
||||||
|
on x=-17530..-7065,y=18505..53237,z=69195..78103
|
||||||
|
on x=-10021..16570,y=-55375..-27834,z=-78754..-51628
|
||||||
|
on x=24827..60557,y=-15264..1953,z=51972..86146
|
||||||
|
on x=-71187..-34824,y=-44254..-14207,z=-52397..-35707
|
||||||
|
on x=57352..77735,y=-37604..-15263,z=7507..27978
|
||||||
|
on x=-23726..-7292,y=-55950..-32850,z=-69245..-57628
|
||||||
|
on x=-90975..-70535,y=9138..33894,z=-25893..-10071
|
||||||
|
on x=6070..31408,y=64814..80652,z=22591..57794
|
||||||
|
on x=8916..26303,y=-95224..-59955,z=-10149..8506
|
||||||
|
on x=-68641..-46067,y=34429..59881,z=-39031..-32389
|
||||||
|
on x=-11824..-2711,y=-83201..-74852,z=-14639..7401
|
||||||
|
on x=-53274..-39232,y=35055..53726,z=30474..57011
|
||||||
|
on x=7629..42203,y=50468..73063,z=-55094..-36272
|
||||||
|
on x=70158..83416,y=20571..43112,z=4674..16257
|
||||||
|
on x=-80368..-57194,y=-4962..11968,z=19404..24821
|
||||||
|
on x=13369..36182,y=-17233..3448,z=-75917..-71135
|
||||||
|
on x=64365..90943,y=6390..33440,z=8988..21083
|
||||||
|
on x=-52699..-21144,y=-38040..-854,z=-68245..-58362
|
||||||
|
on x=-65094..-37684,y=-51612..-25807,z=-72281..-53830
|
||||||
|
on x=-79276..-46327,y=-50076..-25744,z=8635..28328
|
||||||
|
on x=-12990..8865,y=41955..75365,z=-62193..-41527
|
||||||
|
on x=58354..78654,y=-11122..4884,z=23338..45638
|
||||||
|
on x=-15424..-6958,y=-81028..-61925,z=-2456..27206
|
||||||
|
on x=-46208..-42140,y=-24044..-384,z=66095..84101
|
||||||
|
on x=37816..60739,y=22510..43834,z=38468..66426
|
||||||
|
on x=33152..40141,y=51888..89118,z=13685..23818
|
||||||
|
on x=-17317..12870,y=47330..75254,z=46415..68934
|
||||||
|
on x=-70083..-47556,y=-16559..9186,z=43131..65529
|
||||||
|
on x=-50028..-37229,y=31881..55480,z=53206..75635
|
||||||
|
on x=-63924..-52170,y=-9878..11562,z=51524..77943
|
||||||
|
on x=52578..79541,y=42477..67139,z=1927..20882
|
||||||
|
on x=12599..36298,y=68728..91625,z=11807..22954
|
||||||
|
on x=-40614..-12787,y=-85532..-54821,z=23444..39179
|
||||||
|
on x=-74256..-57498,y=-43085..-23159,z=-31465..-13370
|
||||||
|
on x=39798..71449,y=48045..59886,z=-2613..24872
|
||||||
|
on x=-68498..-45090,y=25992..41044,z=34996..70831
|
||||||
|
on x=-35911..-17641,y=57891..78052,z=-35503..-20182
|
||||||
|
on x=19600..36506,y=-60275..-34413,z=46970..62424
|
||||||
|
on x=10445..32543,y=72116..79041,z=-26199..-10783
|
||||||
|
on x=29792..52526,y=17488..40185,z=-76990..-57136
|
||||||
|
on x=-15086..-965,y=71043..82224,z=-18100..-6923
|
||||||
|
on x=-66153..-53596,y=45695..50572,z=15633..27979
|
||||||
|
on x=-3842..19280,y=-94095..-71467,z=-2671..21892
|
||||||
|
on x=-20058..-15993,y=75074..85769,z=-4154..29602
|
||||||
|
on x=63662..82628,y=-44024..-18652,z=-42230..-25693
|
||||||
|
on x=-25464..-1609,y=-95242..-69652,z=-16402..-1625
|
||||||
|
on x=-45562..-19451,y=46735..69543,z=42501..55057
|
||||||
|
on x=-63606..-45182,y=-16688..4854,z=57066..69670
|
||||||
|
on x=48099..58149,y=-19817..13065,z=58517..61835
|
||||||
|
on x=60301..78442,y=-31292..-9212,z=-9501..5043
|
||||||
|
on x=-45997..-32832,y=-71865..-55120,z=5197..9635
|
||||||
|
off x=7801..18090,y=-9284..9018,z=70611..90782
|
||||||
|
on x=-12595..18229,y=-95412..-76864,z=-25174..-12583
|
||||||
|
on x=-77795..-50794,y=26612..36830,z=-57817..-32361
|
||||||
|
off x=45538..72963,y=-7083..18302,z=-58100..-48077
|
||||||
|
on x=57536..78656,y=15793..40718,z=-18344..-4567
|
||||||
|
on x=-17242..-13743,y=19611..29304,z=73728..76397
|
||||||
|
off x=55644..86166,y=-29938..908,z=31294..50663
|
||||||
|
off x=37393..52270,y=-7712..7531,z=69523..78383
|
||||||
|
off x=-957..9043,y=77480..91163,z=-33767..-6820
|
||||||
|
off x=-63298..-46056,y=-41261..-28461,z=-65194..-36474
|
||||||
|
off x=-6670..15368,y=64523..98069,z=-13420..-5226
|
||||||
|
off x=-49582..-30819,y=-1458..18304,z=-81337..-44780
|
||||||
|
on x=-58160..-41058,y=-33405..-27020,z=53440..60477
|
||||||
|
on x=-36387..-29527,y=63471..69022,z=24542..35223
|
||||||
|
off x=-55808..-47012,y=-22908..-13468,z=-66925..-53559
|
||||||
|
on x=1465..15220,y=45037..58791,z=57533..81180
|
||||||
|
on x=5172..32790,y=-66253..-52994,z=39031..64718
|
||||||
|
off x=13197..19510,y=68201..87371,z=-20249..-6899
|
||||||
|
off x=8166..26390,y=67577..88576,z=-45114..-31391
|
||||||
|
off x=-58895..-34583,y=-69098..-49904,z=-47979..-14615
|
||||||
|
off x=-40782..-6576,y=67129..85050,z=-37317..-21437
|
||||||
|
on x=-39763..-26856,y=7977..24549,z=-75663..-52000
|
||||||
|
off x=-21464..-6049,y=57481..81630,z=31659..40693
|
||||||
|
off x=-4254..10435,y=33207..56014,z=55750..69967
|
||||||
|
on x=12035..31707,y=-62120..-45336,z=-56717..-28839
|
||||||
|
on x=-65942..-52696,y=-45998..-25934,z=-51194..-32621
|
||||||
|
off x=-90231..-66833,y=-13323..5602,z=29385..35537
|
||||||
|
off x=-54405..-24273,y=52292..77711,z=5027..20918
|
||||||
|
off x=-64432..-51362,y=-47643..-33861,z=-38386..-13148
|
||||||
|
off x=35485..61206,y=-24743..-300,z=50470..64190
|
||||||
|
on x=-64616..-44407,y=-64266..-32556,z=14623..38546
|
||||||
|
on x=22913..41733,y=-69991..-52079,z=-48649..-20477
|
||||||
|
off x=8685..31733,y=2760..9002,z=74103..76071
|
||||||
|
on x=35956..60262,y=49169..87126,z=-6572..12137
|
||||||
|
on x=-43172..-20564,y=-15916..3410,z=55126..75394
|
||||||
|
off x=46980..55817,y=-59630..-43170,z=-39465..-15197
|
||||||
|
off x=12335..28938,y=55440..86727,z=22223..31474
|
||||||
|
off x=-69238..-33811,y=-35451..-11427,z=-68568..-56162
|
||||||
|
on x=9529..30152,y=-62396..-39190,z=-54970..-41011
|
||||||
|
off x=-44344..-15201,y=-24778..6622,z=-75251..-63023
|
||||||
|
off x=-8237..24648,y=-98122..-76129,z=-16626..-11718
|
||||||
|
off x=56007..68228,y=17457..46813,z=27499..47379
|
||||||
|
off x=-25536..3313,y=27091..50818,z=-76013..-70562
|
||||||
|
off x=-867..22452,y=-60444..-40519,z=-71818..-65756
|
||||||
|
on x=-55629..-48209,y=21944..53526,z=-51930..-33309
|
||||||
|
on x=-50200..-32080,y=-26886..-8210,z=-73679..-51881
|
||||||
|
on x=48080..58229,y=42242..66852,z=19778..31076
|
||||||
|
off x=-29293..-9721,y=30767..43132,z=59998..72415
|
||||||
|
on x=-3114..5283,y=53598..77422,z=-36834..-25165
|
||||||
|
off x=-42747..-34862,y=27967..59155,z=46571..59298
|
||||||
|
on x=24734..41081,y=-68020..-55325,z=25073..44789
|
||||||
|
on x=60951..73145,y=-40729..-22896,z=-40218..-24980
|
||||||
|
off x=44699..75378,y=-22976..-725,z=41665..63229
|
||||||
|
on x=-10258..20788,y=-86210..-64265,z=12003..42342
|
||||||
|
on x=53947..72320,y=7162..37399,z=-39895..-13029
|
||||||
|
off x=-39542..-35561,y=56618..75009,z=-48379..-30500
|
||||||
|
off x=-64968..-43128,y=40418..53482,z=15313..28178
|
||||||
|
off x=7725..26338,y=-78820..-72695,z=5793..36253
|
||||||
|
on x=63870..92917,y=-31227..-5907,z=-11799..10524
|
||||||
|
on x=5051..24106,y=-60601..-34349,z=-70347..-50781
|
||||||
|
off x=-49242..-30233,y=1032..28964,z=49055..79885
|
||||||
|
off x=-7682..-1197,y=-2276..3227,z=-83960..-73167
|
||||||
|
off x=-41142..-19190,y=-8859..-4149,z=69429..86603
|
||||||
|
off x=-77189..-65526,y=10147..24751,z=6547..18732
|
||||||
|
off x=61931..87618,y=9150..26031,z=-2891..13845
|
||||||
|
off x=35442..49448,y=-24212..803,z=62461..69557
|
||||||
|
off x=-19670..-1028,y=-58834..-44115,z=-67684..-44360
|
||||||
|
off x=-27003..-6291,y=-90151..-56543,z=-36412..-17679
|
||||||
|
on x=-61239..-56325,y=-28363..-20980,z=-55652..-30421
|
||||||
|
off x=-42704..-15950,y=-24945..-8619,z=-85074..-57059
|
||||||
|
on x=-38301..-22514,y=15426..33207,z=68542..86355
|
||||||
|
off x=-47333..-40889,y=-23607..-16074,z=-75438..-61498
|
||||||
|
off x=-41292..-28792,y=-82764..-50053,z=-18368..1547
|
||||||
|
off x=9879..18027,y=-88040..-55114,z=-31569..-21687
|
||||||
|
on x=29370..47558,y=-89453..-60476,z=-7077..24097
|
||||||
|
off x=-61367..-50375,y=-46813..-36824,z=26048..47897
|
||||||
|
on x=53088..71926,y=33364..61477,z=-32978..-3454
|
||||||
|
off x=42008..72354,y=29685..47325,z=28537..41099
|
||||||
|
on x=-12144..-4590,y=-86532..-70213,z=-27908..-18632
|
||||||
|
on x=45535..66832,y=30184..50465,z=40383..65657
|
||||||
|
on x=-27137..-3917,y=-82970..-73972,z=-7640..2780
|
||||||
|
off x=-62516..-34096,y=-69186..-46618,z=-16989..7170
|
||||||
|
off x=67487..86474,y=2409..32050,z=-57219..-26630
|
||||||
|
on x=-37510..-23310,y=-1063..24320,z=61094..75764
|
||||||
|
on x=-82076..-62319,y=-23916..3119,z=31484..59801
|
||||||
|
on x=-49806..-28744,y=69790..84976,z=-19227..9783
|
||||||
|
on x=19984..27116,y=-92868..-55692,z=-32604..2749
|
||||||
|
off x=-33077..-9530,y=29925..49080,z=45757..72939
|
||||||
|
on x=21129..41298,y=-63064..-48210,z=27986..62228
|
||||||
|
off x=-29272..-15085,y=-41347..-6680,z=-86541..-54306
|
||||||
|
on x=-22795..4538,y=-86979..-68617,z=-33571..-16035
|
||||||
|
on x=37493..54597,y=-12454..3419,z=56314..71570
|
||||||
|
on x=-82969..-54144,y=-48102..-18977,z=-10241..-6489
|
||||||
|
on x=-65493..-38452,y=-69069..-38053,z=-18803..11092
|
||||||
|
off x=-51751..-40206,y=-75215..-47769,z=27129..44917
|
||||||
|
on x=7855..31889,y=-81272..-59497,z=-52331..-25947
|
||||||
|
off x=-58537..-47134,y=-27170..3264,z=-77101..-61961
|
||||||
|
off x=22788..37690,y=-80464..-65932,z=10149..28249
|
||||||
|
off x=56450..90867,y=23748..45680,z=-16199..-4962
|
||||||
|
off x=65348..72838,y=19671..42377,z=-32562..-2385
|
||||||
|
off x=39520..70668,y=-60566..-46164,z=3768..38139
|
||||||
|
off x=31909..43625,y=34147..58043,z=31955..55216
|
||||||
|
off x=-35845..-22464,y=34709..48917,z=-76334..-55144
|
||||||
|
off x=-57710..-22597,y=-89725..-55980,z=455..8523
|
||||||
|
on x=61232..79103,y=-35590..-17557,z=36396..53914
|
||||||
|
on x=13364..37325,y=-52392..-24413,z=49963..75907
|
||||||
|
off x=55123..77795,y=-31348..-5365,z=-35659..-1695
|
||||||
|
on x=-85690..-73087,y=4545..28216,z=17466..35157
|
||||||
|
on x=-62978..-36031,y=44126..49517,z=29388..58437
|
||||||
|
off x=28461..40315,y=-76360..-58542,z=-32869..-2925
|
||||||
|
off x=-55904..-48803,y=56768..61520,z=-18281..7953
|
||||||
|
on x=-75152..-64663,y=-27266..-1204,z=-49037..-29471
|
||||||
|
on x=14996..36802,y=29915..61434,z=-81327..-56940
|
||||||
|
on x=-26058..-12028,y=4310..10903,z=77438..92107
|
||||||
|
on x=-85981..-63107,y=2263..21108,z=27866..47309
|
||||||
|
off x=-23339..-4819,y=-51522..-43086,z=-80984..-57493
|
||||||
|
on x=-80721..-75279,y=-13399..5890,z=6038..32519
|
||||||
|
off x=-4839..4185,y=42901..53425,z=52703..69554
|
||||||
|
off x=-63892..-31605,y=-56660..-42554,z=22041..56754
|
||||||
|
off x=-61974..-48179,y=-76512..-48649,z=19449..28897
|
||||||
|
off x=52908..86032,y=-40433..-26401,z=18629..35218
|
||||||
|
off x=-73770..-61498,y=-22285..-15190,z=15118..47822
|
||||||
|
on x=-26995..-225,y=36166..64844,z=52253..69697
|
||||||
|
on x=-40432..-19434,y=28105..55728,z=45417..66440
|
||||||
|
on x=-36183..-5691,y=2779..35551,z=74466..87231
|
||||||
|
on x=-24042..-7050,y=-38745..-17947,z=71254..91570
|
||||||
|
on x=64292..82292,y=8725..38040,z=16406..46007
|
||||||
|
on x=57881..83142,y=-32026..-25553,z=-12007..9727
|
||||||
|
off x=-60455..-40678,y=-855..18270,z=-54122..-37486
|
||||||
|
off x=34796..51886,y=47838..54855,z=-59782..-36447
|
||||||
|
off x=27962..53686,y=-65713..-39620,z=-39332..-24577
|
||||||
|
off x=23257..38929,y=68865..81212,z=-2301..7985
|
||||||
|
off x=-28125..-11560,y=65596..78401,z=6019..27451
|
||||||
|
off x=-35635..-9089,y=-63378..-32616,z=52224..70756
|
||||||
|
off x=-51366..-40609,y=42282..59056,z=-53065..-31525
|
||||||
|
on x=-65517..-53788,y=45653..57602,z=-9739..5684
|
||||||
|
off x=9928..30886,y=55791..63498,z=39507..58962
|
||||||
|
on x=20773..33156,y=-66617..-45193,z=-55674..-38600
|
||||||
|
off x=-19345..15432,y=-49640..-29673,z=45268..77586
|
||||||
|
off x=-37554..-4675,y=-83671..-65891,z=12746..37002
|
||||||
|
on x=7340..30039,y=26358..37183,z=-72501..-56224
|
||||||
|
off x=23682..38691,y=-57390..-41912,z=36898..59852
|
||||||
|
off x=37320..53907,y=-37056..-30571,z=-68192..-42459
|
||||||
|
off x=76347..91710,y=-14687..16646,z=-25859..-5873
|
||||||
|
on x=10847..41288,y=-91590..-58641,z=15651..35606
|
||||||
|
on x=-3833..3543,y=-29112..-2048,z=69842..91959
|
||||||
|
off x=69115..95898,y=-25974..-2038,z=-4973..3980
|
||||||
|
off x=39989..66412,y=-55818..-49092,z=3921..28857
|
||||||
|
on x=-31644..-6237,y=7358..28925,z=73970..84934
|
||||||
|
off x=-15542..-4489,y=61337..76684,z=-41765..-29786
|
||||||
|
off x=-52932..-51838,y=21389..25746,z=49616..71107
|
||||||
|
off x=-91328..-65484,y=-7351..22080,z=11605..46924
|
||||||
|
off x=26027..32857,y=58474..78674,z=36221..62891
|
||||||
|
off x=-26694..-12337,y=56020..70984,z=-50254..-30734
|
||||||
|
on x=-74728..-50762,y=49755..73800,z=-887..19784
|
||||||
|
off x=11750..40798,y=5403..34501,z=69392..76971
|
||||||
|
off x=-39481..-24584,y=-70257..-44782,z=-51748..-21001
|
||||||
|
on x=-16041..6369,y=-15349..-1878,z=-82221..-72485
|
||||||
|
on x=-26734..-13763,y=-39372..-13681,z=61820..76267
|
||||||
|
off x=-3367..7668,y=46321..72714,z=-69036..-53898
|
||||||
|
on x=-15257..-3788,y=19261..25499,z=-75959..-59000
|
||||||
|
on x=23102..56887,y=50179..87663,z=-7946..18812
|
||||||
|
on x=-40390..-20111,y=-33493..-11133,z=-75926..-62093
|
||||||
|
on x=5722..27917,y=-88605..-65010,z=-9730..6950
|
||||||
|
on x=-760..25848,y=-43841..-27183,z=-73637..-58524
|
||||||
|
on x=-11739..10211,y=2568..29021,z=65720..78213
|
||||||
|
off x=-71222..-55392,y=-13076..5838,z=42985..52804
|
||||||
|
on x=18279..38683,y=-25545..1289,z=58367..91219
|
||||||
|
on x=-70367..-62420,y=22678..57526,z=-25443..-2114
|
||||||
|
off x=52159..80534,y=-35573..-32955,z=-28539..-5813
|
||||||
|
on x=46209..52888,y=54145..79273,z=8459..31178
|
||||||
|
on x=-78062..-41769,y=-43142..-26892,z=28495..50400
|
||||||
|
on x=23299..32235,y=-77803..-61730,z=4898..28371
|
||||||
|
on x=-17235..14679,y=-61639..-27409,z=-72401..-59482
|
||||||
|
off x=54590..78944,y=-25301..2668,z=14280..43390
|
||||||
|
off x=-56259..-38764,y=-70482..-39475,z=-47107..-31976
|
||||||
|
on x=-45205..-34148,y=-81460..-58216,z=22465..49489
|
||||||
|
on x=-21779..-9350,y=6017..19432,z=-77323..-70204
|
||||||
|
on x=58226..72150,y=-61315..-36618,z=-15388..15652
|
||||||
|
on x=-48752..-28573,y=-67697..-60024,z=-32021..-22511
|
||||||
|
off x=43704..67741,y=38024..65329,z=8318..33137
|
||||||
|
on x=-77517..-52505,y=29349..57611,z=-41988..-23676
|
||||||
|
on x=-27878..-6554,y=-88564..-51459,z=-37415..-29030
|
||||||
|
off x=67651..85341,y=-31556..-19564,z=-40554..-13758
|
||||||
|
off x=43857..71515,y=-34759..283,z=36263..60654
|
||||||
|
on x=-32227..-8515,y=-53304..-39055,z=-74694..-49222
|
||||||
|
on x=-69040..-42013,y=-81201..-46547,z=-3366..5445
|
||||||
|
on x=-61411..-46616,y=58820..77348,z=-7626..13600
|
||||||
|
off x=-41475..-28755,y=27623..55447,z=47265..74316
|
||||||
|
on x=-75096..-46289,y=23758..44103,z=31640..48277
|
||||||
|
on x=-54799..-33455,y=39873..75938,z=-43929..-27506
|
||||||
|
off x=-43241..-22153,y=-27047..-185,z=-74727..-63620
|
||||||
|
on x=-47646..-22540,y=2352..5448,z=50643..86636
|
||||||
|
on x=21369..38066,y=-89655..-58838,z=-8317..12371
|
||||||
|
off x=-20000..1689,y=56945..74646,z=35179..51812
|
||||||
|
off x=30874..47890,y=-76709..-52956,z=-33033..-4279
|
||||||
|
off x=-35411..-12807,y=-83057..-59139,z=7854..26851
|
5
data/day_23.txt
Normal file
5
data/day_23.txt
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
#############
|
||||||
|
#...........#
|
||||||
|
###C#D#A#B###
|
||||||
|
#B#A#D#C#
|
||||||
|
#########
|
252
data/day_24.txt
Normal file
252
data/day_24.txt
Normal file
@@ -0,0 +1,252 @@
|
|||||||
|
inp w
|
||||||
|
mul x 0
|
||||||
|
add x z
|
||||||
|
mod x 26
|
||||||
|
div z 1
|
||||||
|
add x 10
|
||||||
|
eql x w
|
||||||
|
eql x 0
|
||||||
|
mul y 0
|
||||||
|
add y 25
|
||||||
|
mul y x
|
||||||
|
add y 1
|
||||||
|
mul z y
|
||||||
|
mul y 0
|
||||||
|
add y w
|
||||||
|
add y 2
|
||||||
|
mul y x
|
||||||
|
add z y
|
||||||
|
inp w
|
||||||
|
mul x 0
|
||||||
|
add x z
|
||||||
|
mod x 26
|
||||||
|
div z 1
|
||||||
|
add x 14
|
||||||
|
eql x w
|
||||||
|
eql x 0
|
||||||
|
mul y 0
|
||||||
|
add y 25
|
||||||
|
mul y x
|
||||||
|
add y 1
|
||||||
|
mul z y
|
||||||
|
mul y 0
|
||||||
|
add y w
|
||||||
|
add y 13
|
||||||
|
mul y x
|
||||||
|
add z y
|
||||||
|
inp w
|
||||||
|
mul x 0
|
||||||
|
add x z
|
||||||
|
mod x 26
|
||||||
|
div z 1
|
||||||
|
add x 14
|
||||||
|
eql x w
|
||||||
|
eql x 0
|
||||||
|
mul y 0
|
||||||
|
add y 25
|
||||||
|
mul y x
|
||||||
|
add y 1
|
||||||
|
mul z y
|
||||||
|
mul y 0
|
||||||
|
add y w
|
||||||
|
add y 13
|
||||||
|
mul y x
|
||||||
|
add z y
|
||||||
|
inp w
|
||||||
|
mul x 0
|
||||||
|
add x z
|
||||||
|
mod x 26
|
||||||
|
div z 26
|
||||||
|
add x -13
|
||||||
|
eql x w
|
||||||
|
eql x 0
|
||||||
|
mul y 0
|
||||||
|
add y 25
|
||||||
|
mul y x
|
||||||
|
add y 1
|
||||||
|
mul z y
|
||||||
|
mul y 0
|
||||||
|
add y w
|
||||||
|
add y 9
|
||||||
|
mul y x
|
||||||
|
add z y
|
||||||
|
inp w
|
||||||
|
mul x 0
|
||||||
|
add x z
|
||||||
|
mod x 26
|
||||||
|
div z 1
|
||||||
|
add x 10
|
||||||
|
eql x w
|
||||||
|
eql x 0
|
||||||
|
mul y 0
|
||||||
|
add y 25
|
||||||
|
mul y x
|
||||||
|
add y 1
|
||||||
|
mul z y
|
||||||
|
mul y 0
|
||||||
|
add y w
|
||||||
|
add y 15
|
||||||
|
mul y x
|
||||||
|
add z y
|
||||||
|
inp w
|
||||||
|
mul x 0
|
||||||
|
add x z
|
||||||
|
mod x 26
|
||||||
|
div z 26
|
||||||
|
add x -13
|
||||||
|
eql x w
|
||||||
|
eql x 0
|
||||||
|
mul y 0
|
||||||
|
add y 25
|
||||||
|
mul y x
|
||||||
|
add y 1
|
||||||
|
mul z y
|
||||||
|
mul y 0
|
||||||
|
add y w
|
||||||
|
add y 3
|
||||||
|
mul y x
|
||||||
|
add z y
|
||||||
|
inp w
|
||||||
|
mul x 0
|
||||||
|
add x z
|
||||||
|
mod x 26
|
||||||
|
div z 26
|
||||||
|
add x -7
|
||||||
|
eql x w
|
||||||
|
eql x 0
|
||||||
|
mul y 0
|
||||||
|
add y 25
|
||||||
|
mul y x
|
||||||
|
add y 1
|
||||||
|
mul z y
|
||||||
|
mul y 0
|
||||||
|
add y w
|
||||||
|
add y 6
|
||||||
|
mul y x
|
||||||
|
add z y
|
||||||
|
inp w
|
||||||
|
mul x 0
|
||||||
|
add x z
|
||||||
|
mod x 26
|
||||||
|
div z 1
|
||||||
|
add x 11
|
||||||
|
eql x w
|
||||||
|
eql x 0
|
||||||
|
mul y 0
|
||||||
|
add y 25
|
||||||
|
mul y x
|
||||||
|
add y 1
|
||||||
|
mul z y
|
||||||
|
mul y 0
|
||||||
|
add y w
|
||||||
|
add y 5
|
||||||
|
mul y x
|
||||||
|
add z y
|
||||||
|
inp w
|
||||||
|
mul x 0
|
||||||
|
add x z
|
||||||
|
mod x 26
|
||||||
|
div z 1
|
||||||
|
add x 10
|
||||||
|
eql x w
|
||||||
|
eql x 0
|
||||||
|
mul y 0
|
||||||
|
add y 25
|
||||||
|
mul y x
|
||||||
|
add y 1
|
||||||
|
mul z y
|
||||||
|
mul y 0
|
||||||
|
add y w
|
||||||
|
add y 16
|
||||||
|
mul y x
|
||||||
|
add z y
|
||||||
|
inp w
|
||||||
|
mul x 0
|
||||||
|
add x z
|
||||||
|
mod x 26
|
||||||
|
div z 1
|
||||||
|
add x 13
|
||||||
|
eql x w
|
||||||
|
eql x 0
|
||||||
|
mul y 0
|
||||||
|
add y 25
|
||||||
|
mul y x
|
||||||
|
add y 1
|
||||||
|
mul z y
|
||||||
|
mul y 0
|
||||||
|
add y w
|
||||||
|
add y 1
|
||||||
|
mul y x
|
||||||
|
add z y
|
||||||
|
inp w
|
||||||
|
mul x 0
|
||||||
|
add x z
|
||||||
|
mod x 26
|
||||||
|
div z 26
|
||||||
|
add x -4
|
||||||
|
eql x w
|
||||||
|
eql x 0
|
||||||
|
mul y 0
|
||||||
|
add y 25
|
||||||
|
mul y x
|
||||||
|
add y 1
|
||||||
|
mul z y
|
||||||
|
mul y 0
|
||||||
|
add y w
|
||||||
|
add y 6
|
||||||
|
mul y x
|
||||||
|
add z y
|
||||||
|
inp w
|
||||||
|
mul x 0
|
||||||
|
add x z
|
||||||
|
mod x 26
|
||||||
|
div z 26
|
||||||
|
add x -9
|
||||||
|
eql x w
|
||||||
|
eql x 0
|
||||||
|
mul y 0
|
||||||
|
add y 25
|
||||||
|
mul y x
|
||||||
|
add y 1
|
||||||
|
mul z y
|
||||||
|
mul y 0
|
||||||
|
add y w
|
||||||
|
add y 3
|
||||||
|
mul y x
|
||||||
|
add z y
|
||||||
|
inp w
|
||||||
|
mul x 0
|
||||||
|
add x z
|
||||||
|
mod x 26
|
||||||
|
div z 26
|
||||||
|
add x -13
|
||||||
|
eql x w
|
||||||
|
eql x 0
|
||||||
|
mul y 0
|
||||||
|
add y 25
|
||||||
|
mul y x
|
||||||
|
add y 1
|
||||||
|
mul z y
|
||||||
|
mul y 0
|
||||||
|
add y w
|
||||||
|
add y 7
|
||||||
|
mul y x
|
||||||
|
add z y
|
||||||
|
inp w
|
||||||
|
mul x 0
|
||||||
|
add x z
|
||||||
|
mod x 26
|
||||||
|
div z 26
|
||||||
|
add x -9
|
||||||
|
eql x w
|
||||||
|
eql x 0
|
||||||
|
mul y 0
|
||||||
|
add y 25
|
||||||
|
mul y x
|
||||||
|
add y 1
|
||||||
|
mul z y
|
||||||
|
mul y 0
|
||||||
|
add y w
|
||||||
|
add y 9
|
||||||
|
mul y x
|
||||||
|
add z y
|
137
data/day_25.txt
Normal file
137
data/day_25.txt
Normal file
@@ -0,0 +1,137 @@
|
|||||||
|
>v...>vv>>>...v.>>..>v>vv.v..vv..v>>.v....>v.v>v>vv.v>v..vv...v>..>v...>..>....>.>.vv.v..v.v...vvvv.vv.vv.v>>v..>...>.>.>..>v.>.>..>v.>>.v>
|
||||||
|
v.v.v.>>>..v.v...v>>v.v.>v..>v>v...>.v..>...v.>.v.v...v.v.v>.v>vv....>.v.>v.v>v.>>........>>..>.>.....vv...>..v..vv>.>...vv.v>>...>vv......
|
||||||
|
vv...>v...>v>v>..>>v.v.......>>vv>..v.....vv>..v>>....>v.v>v>vv..v.v..>.v.vv...>v...>v>.v...v....>.>.....v.>v.>.>.>.>.>....>.v...>...>.vvv>
|
||||||
|
.vv>..v.v...>.>...v>.v>v.>>.>.v.vv>.>vvv>vv.>v...>v.v..>.v...>...v.>>vv..v.vv.>vv.>>v....v.v>>.>>vv....>...v.>.>.>>.v>.>..>vv>.....vvv.....
|
||||||
|
>>v....v..v.>.>..vv.v>..>vv..v.........>v>>...vv>..>...v.>>>v..>v...v...v..v..vvv.>>vvv..>>..>v.v.v.v>.v>v.v>....>>vv.>>.>..v>...v....>..v.
|
||||||
|
>.>..>.vv.vv>>>vv..v.>>.vv..v>...>..vvv>...v..>>..vv..>v..v..v.v>.v..>>.....>.vv.>.....>..>>..........>.>>>...v.>.>>.v>.v.....v>>vv.v>.....
|
||||||
|
.>.v..v.>...v>>vv.>.>.>.>v...v.>.v..v.>..v>...>>>..v.>...>v.v>.>..v.vv...>v.v.v.>....>v.vv>...vvv.v....>.v.>.vv>...>.....>.>vvvv.v...v..v>>
|
||||||
|
.....>>>>...v.vvv.vv.......v..v.>.v>.>>.v.....vvv.v>v.vv...v....>>.>.vv.>..>v....vv...>v.>v..v>.>....v..v>>v..>.>...v..v.v.>..>v..v.v>.v...
|
||||||
|
.>>..>v.v..v..>.v....v.v..>.v.v>..v.....>>.>v.v.>.>..>.......>>..vv>.vv.v.v..vv....>v>v>...>....v...vv...>.v..v.>..>>.v...>.v...vv...v>>vv>
|
||||||
|
..>.v..v....vv>.>.v...>v.vv>vvv>.>..>.>.v.v>vv.v..>>>..v....>..vv>v.>v>.>vv.v..v>>.>.v>...v.vvvv>>.>.v....v.......>>.vvvv>.>v>>>>>.>v..>>>v
|
||||||
|
v>..>vvvv.>v.......>.v>.vv>...v>.>v>>..v.v>v..v>>.>>.>>>vv..>...v...........>..v>.v.v.>....v..v.v>.....v>.v.>....v>>.v>v....v>>v.vv..v..v..
|
||||||
|
.>.>>>>>.>........>..vvvv.v.>>v>>>.v.>..>.v.v...v>.>.>.v.>..vvv.>.v>..>.>.>....>.v>vvvv>.v.>..v>>>.>.vv>.>>v.vv>v>....v..v>.>vvv...>.>....>
|
||||||
|
>..>v.>>>vvv...vv>vv>vv..v.>.v...vv.>>.v>>>.v.v>..>.>...v>..>v.v>>>>..>.>v.>>.v>.vv.>vv.>.vv....v>v.vv.v>.vvv>....>.v>.vv>v>>..>.>.......>v
|
||||||
|
v....>vv.v.......vvvv.>>..>>vvv..>>>v...>v>...>>..>.v...v.vv.v.>v>...vvv.....v.>..>...v..v....>>.>.>v>.v...v.>.v..>v>v..v.>.>.>v.v.>....>.v
|
||||||
|
v...vv..v>.v.v>>...v..............v>..v>>>..v>....vv...v..>>...vv>...>v>>..vv>vv.....v>..v...>.>.v.....v.v...>.v>..>..>..v..vv...>>.v...>.>
|
||||||
|
>>vvvv.>...>v.v.v.vv.>.>.>.vv...v>.>.v.>...v>v>.>.vv>vv>v.>.>>....vvv.>v.v..v>v>....>>..>v>..>....vv>......v.>vv.v.v.v.v>>..>.>.v>.v>vv.v..
|
||||||
|
.v..v>v.v.vv.v.vvv>.v.>v.v..v..v.vv...>>vv.>>..>v.>v.>.....vv.>v..>.v.>.v..>...>v>vv....>.>vvv>..>>..v..v.>>v>v.>>v>.>v..v>...v..v>.v...v>v
|
||||||
|
>.v.>...>..>vv...vvv.>.v.>.>v...v.....v>>>.v..>..vv...>>>..v.>.>.>.>>>.....>>..>.>.>...>.>>.vv..>.....>..........vvvv.v.vv.vv..v>>.v>...v..
|
||||||
|
...v>v.>>..>v..>v>v.v..v.>.>.v..>vv>...vvv....v....>>>.v..>..v>>>..v....v.>........>...v>...>>>.>v...v>v>>..>>.>>vv>.vv.>..>>>.v>>.>..v....
|
||||||
|
v.v.>...v...>v.>>>>>.v.>..>.v.>..>>vvv.>>>v.>vv....>.>..>..vv.>..>v.>.v.v>vv....v>.>.v..>....vv.vv..v.....>.>v>...>........>v...v..v>>v>...
|
||||||
|
v>.>.>..v>.>>v>...v..v.>.>>.>....v>.>v.v.>v.>.vv.....v>v.>.v......>.>v.v>.v..>.v..v.>v.>vvv>vv.v....v.v>....v>vv...>v>v...>>....>.>.>vv>.>.
|
||||||
|
.....>....v...v.....>>>.>......v.>>v.v.>..vv>..v..v.v>..v>.>..v>.>vv..vv..v.v>>>v.>>>..>>.>.v.v......v.....v.>...vv>>>.>.>>>.>>vvv..>>v....
|
||||||
|
.v...v...>.....v>>.........v.>>>v.>.v..>>v>.v.....>.>.....v>.>..v...>..>.vvv.>>.v.>v>..v.>>..>.>v>>>>.>.>v..>>...>v..>>..v.v>..v.>....v...v
|
||||||
|
.vv.>..v.v>..>v..>.v>>.vvvv>>..v>.v.v>.>v>..>>.>....v.v.>v>...>v>vv>....v..>.>.v.>>.v..v>vv>>.>.v..vv.v.>..>.vv.>v.....v>>.v>.>>>v..v..>.v>
|
||||||
|
.>.v.>..v.>.v>v.>>.v>>...v>.>v.....v..v.v.v>>>..v>.>>>>....>v.>.>.>.>..v..v.vvvv>>v.v>.>v....>.>.>>.>>.v..v.....v>v.>.>vv>.v.vv>.v.>vv.>v>.
|
||||||
|
>>..vv.......>v>v.v......>..>..>....v>v..>vv>v..>..>v>.v...v>.>.v..v>v>v>.vv.v>v.>..>..v>v..>...>..v>....v...>v.>...>v.....v>v..vvvv>v>.v>.
|
||||||
|
.>>v>.v...v.vvvvvv.v>.>.>..>.v...>..v.>>v.>v.>>..v.>>>v>>v.>.>.>v>..vv>vvv.v.>..>.>>v.vv.>>>.>>>.vv.>..>>..>v.v>>>vv.>>>vv>..>.>...>.>>>>>.
|
||||||
|
.....>..v.>vv>vv.vv>v.>v.v....v>.>.>v......>...v>>>v.>...>.v.>v.v>.v>......>>.....v.>v>>......v..>>.>.v.vvv.>v...>...v.>v>v..>.>.v>..>vv>>>
|
||||||
|
v...>v...v>>v.v.>>>>...>.v..vv.v.>>..>.>vvv.>..>.v>..>..>vvvv>.>>...>v...>...>.>.>.v>v..>.v>...vvvv>.v>>.>>.v>v>>.v..v...v>......v.vv...v..
|
||||||
|
.v>>v>.vvvvv>>....v>v....v.>v.vvv>vv..>...>.>.v..>>v..>>.>...>>>...v.v>.>>.>.>.vv.>>.....>..vvv>v..>v..>.....>.v.vv...>>v.v....v....>.v.v.v
|
||||||
|
v...>.vvvv..>v...>.v...>>.>.v.>>v>...v>..v>>.....>>v....>>>>.v>>.v.v...>.>v..v..v...v..v.v>v>.>..>vv.>.....v>vvvvv..v..>v>>v..>.>v>..>v.>>.
|
||||||
|
.vv..>>.....v.>.vv>.vv..>.vv...v.v>vv...>v>....>.v....v>v..>..vvvv>.>>...>..>.>.>vv>>.v>.>>vv...>vv.v>...>.>.>>v.vv.v.v>..>v..v>>..v>.vv.v.
|
||||||
|
v...>>>.>>>v>>...v.>>>>v...v..>.>.>.>.......>v.>....>>.>v>.v...>>vv>v.v...>>.>..v..vvvv>..>>.>>v.........>vv.>>..vv...v>....>v..v>>..>....>
|
||||||
|
.vv.v...v..vv.v.vvv..v>v>v>>.......>.v>v..>....v.>>>.vvv.v.>.>.>v>>.vv>..>v>.>>.>...>>>..v.>.>.>v....v>>.>.>.>v....v.v..>.v>.>vv.v..>...v.v
|
||||||
|
>.>.>v.vvv.>>.>>vv...v>.....>>>..>.....vvv.>.v>.>..v>.>.v...v.v>..vv.>>v>vv.>v.v..v.v..vv....>v>>>...v..v>.vv>v.....v.v.v.>.vvv>.v..v>v.>>.
|
||||||
|
.vv...v>.>.v>.v...>>.v..>v...>v.>>>.v.>.v.>..v.vv.>..>v>vv.>>v>.>vvv.>v>v.>.>.vv.v>>>.v>.v>..>..v..>vv....>>v.vv.>.vv.vvvv>.v.>>.>>>>>...>v
|
||||||
|
.vv....v>>.>...v....>.vv.v.....v>...>.v>vv.>.v>v>....>...v.v>.>.>.v..>vvv.>>.vvv..v>..v>.....>v>.>v>>>v>>............vv>.>.>>..vv.>..>...vv
|
||||||
|
....v.v..>v>>.v.v>>>v..v>.>.>>>>...>>..>>.v...v.v.>..v.....>.v.>>>.v.>vv>...>v>>.v.v.>..v.....vvvv...v.v>>..>>.v.v.>>.v.>>.>>.>...>>v....>.
|
||||||
|
v.>>>.v.....v...>.>.v>..v.vv....>..>>v.v.vv.>.v>.......>>>vv...v.v>.>.v>..v.v.>>...>v>>.>..v...>.v>v..>>...v>>.>.vv...v>.....>>.>>vv.....v>
|
||||||
|
.v.>vv.>.....>v>.v>.>vv>.v>...>.>>...>.>..>v...vv.>.vv.>vv.v.v.v....v.>>.>>..>v.....>v..>v>.>.>.>.vv....vv.>.v>>....vv.v>...v>..v.>v....vv>
|
||||||
|
..v.v.vvv>.>.v....v>v....>v...>>v.v>.......>..>.....>>v.>..v>>.v.>>>.>vv.v..v..v...v.v.v.>.>...v.v.....v.>vv>.>..v..v....vv>.>...>..>v.vv>.
|
||||||
|
>.>.v>.>.>v>v...>v..>.>.vv.vv..>>>.v..>>.v......>>.....v...>>vv>.>>..>.>..v.>.v.>>>.v>v.....>.>v>...>>>>.>v>.>...vv>>.>.vv..v>v.>.vvv>>>..>
|
||||||
|
.v..>..v>>......>..vv....>v.....vv..v.>v>v>.v...vv>v...>..>.v.......v>v..v.>.>>v>.v.>.>.v>.>>....v...v...>>...v.v..>>>v...v...v.v.>.>.>..>>
|
||||||
|
...>.>......>>v.vv..v>.v....>...v.>....v>.>.>v>.>.>...>.>.>v.....>>.>.>..>>..v>>>v>>vv.>.v..>.>.v.>.vv>.v....vv.>v>v>v.>..>.....>....>.>>>v
|
||||||
|
.>......>>.vv..v..vv>v.>...v...>..v>v...v>v>v>..vv>vv....v...>...v>v.>v>>...>..vv....>..>>.v.>..vv...>.>.>.>>...........v.v.>....>.>>..vv..
|
||||||
|
.......v...>>.>.>vvv.v>..>.v.......>v..>..v..>v>vvv..v.>>v.vv.v.>>>.>v>>.v.vv>>>v.....v.....v.vvv..>vvv.v>v....>v...>>....v.>..>..>.>v...>>
|
||||||
|
..v...>v>>>v>...>>...v....vvv.v.v.>..vv...>..>v.>.>>.>>>v.v.>.vv>.....v>.>..>>.v>>.>...>.v..>v>......v...>>.>v>......>>>.v>>..>....v>.v>v.v
|
||||||
|
v.v...>..>..>>...v>>.>..>..v>.>v.>>>vvv.>..>v...>v.v.>.>>.....>.>.>v.......v..v.v>.........>.v.>>.v>>....v.v...v.>v>>vv......v..v.v..vv.v.>
|
||||||
|
.v.v.>..>..v...>.vvvv>.v>>..>.>.v..v.>>..>.v>....>>v.v.v..vv...v>>v...>...>.>.>>v>v.vv..vv>..v>>>..>.v.......v.>v>v.v..v.>>v>....v>>...>...
|
||||||
|
v.v...>..v.....v.>...>.>.v.>......v......v>.v>..v.......>>.v..v.v..>v..v...>.>...>.>>>.....vv>.>>.v..v.>vv>vv>..vv.>.>.>.>..>>.>.v....>>>>.
|
||||||
|
>>v.>>....>.>v..>.v>vvv>.>>>.vv>.>>...vv.v...>>v>>.>vvv..>>.>..vv..v>>..>vv>v.>>.v...vv..v..v>v....>...v.>.v.v>.>vv>..>>vv.>.vv.v>..>.>>...
|
||||||
|
v>....>.>>..>>vv..v...>v..v>.v...>>.>v>.v.>>v.>.>vvv>.>.....v>.vv.>.v>>.v>v.vv>..vv.vvv>.v>>.....v>.v....>..>..v.vv.v...>......>...v..>..v.
|
||||||
|
...>>.>v...v>>>.v.v.>v.>v..v.>v.v.>v.>v>...v.v.v>vv>.>>..>.>vv.>.......>.....>>>.v>.>>v>v.>v...>.v..>v...v..vv>.v...v..vv>....>>>.....>v.>>
|
||||||
|
....v.....vv>>....v...>...v...>.v.v>v>>v..v>.>>.v.>>v>.....>>>.>.....>...>..v......v.....>>>...>>>.v>....>v>.vv>v.vv.>.....v.>v.v>..>...>..
|
||||||
|
>...>vv..vvv..>..v.>>>.>v.>>..>v...v....>v.v.v>...>>v>.v.>>>....>>..>v.vv...v>.>>..v.v.v.....>>>.v>...>.>vvv...vv.....>...v>..vv.>>..v..v..
|
||||||
|
.v....>>v.>>>.>.>...>v>.v>..v>.v>.vv..>.>....>.v..v.vv.>.>>.>.v>....>..>.....>.>vv.>.vv..>......vv.v>.v>>>vv>..>.>...vvv.>..vvv.>>....vv.v.
|
||||||
|
>...>>..>.v..>.v.>..v...v..>>v...v>.>..>..>.vvv..vvv.v>.v..v.>.v.....>.....v.>.v...>.....v.v>v..v.v>...>..>.v..>v.vvv>.v..v>vv...v.>.vvv>>v
|
||||||
|
.>.v.>>v.v..v.>>>>......>>.v.>..>v.v..>........>.>>>v...v...>...>...v>..>.v...v.vv.v.>v..>v>...>v.....>v..>...>....v>>..v>>v>.v>>>>v...>>.v
|
||||||
|
vv...v>.>.v.....vv>>v.>.v....>>v>>.>.>.vv.v.v...vv.v.vv>>.>....v>.v.>.v.v.v.v>v..>.v>..v.v>>vvv..v..>.>vv.>..>..>>.>>...>.>v>>vvv..>v....>.
|
||||||
|
...>>vv.>v..vv.>>..>..v>.v...v>v>...v>...v.vv.>......vv.>>vv.>v>.v>..v>>..v...v>v>v.v.......v.>.>>.....v...>v..>>>.vv>v>..>.>v...>>..vvv.v.
|
||||||
|
...v..vv>v.>.vv>.>..vv.vv...>v.v.>v>.v.v..v>.v....vv.v.v..>.>>...>v.vv.>...>.v..v>v>>vv.v....>....>vv.>.vv..>.v.>>>v.>..>>v..vv....vv..>>v.
|
||||||
|
vv.v...v...>>v.v...>.>.......>..>..vv>v....>vv..v....v.>vv.>.>..>v.v.v>..>...v>.>.v..>..v>>vvvv..>v>...>v>.v>>>...v..>.>vv..v>>>....vvv..v.
|
||||||
|
.>>...vv.>.>v....>v.>>>.>.>.v.>...vv.vv.....vv.v>v....>v.v..>.vv>>>.v.>.v.>v>.v.v>....v.v.v..v.>.vv.v>v.>.v.v>>v>v..v...>..v..vv...>vv>.>v>
|
||||||
|
>vvv...>.vvv.vv>v.>....>.>>....>>.>.>>v.....>v.v.v.>.v.v>.>v..>.>..v>v...>>>>.>vv>v.vvv.>vv>v....v>>>.v..>.v>vv.......>....vv>>.>>.v..>v..v
|
||||||
|
.v.vv.>..v.>v.v.vv....>>>..v.v.>>v.>.>...v.v>v>v.>>vv..v.>...vv>.v...v...>...>..>v..v..v.>>v>>..>>>>>.>>.....v.vv..vv.>.vv..>.v>...v>.v.>>v
|
||||||
|
.v.>.>v.......>v.>>>..>.>>>.v.>.>...vv>v..v..>.v...v.....>.v>.>.>>>v.>.v..v.vv..>.v.vv.>>.v.>...>v>>..v.>......v...>.>..vv.vv>...vvvv.....>
|
||||||
|
.v.vvv.v>v..v>...v>vv>>>>vv.v>...>.vv.v.>..v>..>....v>v.v....vvvvvv>>..v...>>>vv.....v.>vv.vv.vv>.vv>.>>.>..>......>.>...>.v.v.v.>v.>>..v>.
|
||||||
|
>v..>vv.....vv.v.v.v>.>v>>vv>>>.vvv..v>...v>...v..>v>v.>...>..v.>v...vv.>v..v>.v.>....v.>.>>..>.v.vv.>..>...vv>v.>.v>vv.>>>vv..>.>>..v..v>.
|
||||||
|
>..>>v>>>v>.vv.>>.v...v.>.>vvv....v.>.v>>.>...>>.vv.v>.v.vv>v...>..v>...>.>>.v.....v..>..v.v>...vv>v>v...v.>..>v>>v.>.>..v>..>..>..>>v.>.v>
|
||||||
|
>.>..>>..v>v.v>v.v>..>>...>.vv...>.>>.vv>.....v...vv......>v.v.>.>.v..v.v.v.>>>v.>>>v.v>.v>v.>v..>..vvv.>>>v....>.>v...v..>......v...v...v.
|
||||||
|
>v>>>>.>v.v.>vv..........>v>vv..v......>..v..v..v.vv....v>v>>>v>v>>..v..>vvvv.>>>v.v..v.v.....>.>..>...vv>>v..v.v.>>v.>...v>vv..v.>.>>>vv>v
|
||||||
|
..vv...>...>v>....>..>v.>>vvv>.>.v>>..>.>>>>>..>vv>........>v.v.vv..vv>>.vv.>>>v>vv..v>>...v>>>.v...>....>>.>.v.v>.vv..>.>.>v.>..v...v>>>.v
|
||||||
|
v>.>.v>v>vv..v>.>.>..>>>>...v>.vv>>......v.....>....v.>.>.>..>..>.v......vv.v...v..v.>..>>.v>>.>.>v.v.>....>.v..v.vv.vv>v>>>v>>vv.>>.>.v>..
|
||||||
|
>..>.>....v>>v...v..>>v....v.>...v>.v>>...v.>v.>..>.v.v>vv.>.v..v.>..v.>vv.>.>.>>.>vvv.>.v.v>>>.vvv.vv...>.v>>vv.v>vv>v.....v..>.>.>>>vv>..
|
||||||
|
.....v..v.>>.vvv.>.v..v.>v.v.v..v.v..vv..>.v...v.>..>>v>v..v....>>.>..v...vv.v>.v.v>..>.>vv>..>>.vv..v.>v>v...>.v.>...vv..>>v.v>v>>.......v
|
||||||
|
v.>.v.v.v.v.v...>.v>.v>>v.>.>..>.....>>..>.>.v..>v>.v>vv>>..>.....>.vv..>..>....v>.v.v..v..>>v.....>....v>v>...v..>....>.>v..v..>vv.>.v.>>>
|
||||||
|
.vv.....>.vv....v.>.v.v.......v.>.vv>>>>..>vv..v.v..v>...>..>..v.v..>..>.v.>.v.>>......>v.>..v..v......>.>...vvv....>>......v>>..>v.>....>.
|
||||||
|
>v..v....>>>>.>......v>.>>.>v.>...v.v>>.v.vvv...>..v>>..v>v>>>.vv.>>v..vv.v>>>>v..>>>.vv.>>.v>...vv..>>.vvv.>.>>v.....>.>v>.v..v>.>>>..>.>v
|
||||||
|
v......>.>vv...vvv.>.>v.>v.v....>..vv..>...>>>>.vv>v.>..>.v>..>>...>>>....vv..v.v..v>v>......v...v..vv.....>.>>v.>..>>.>.v.vvvv...v>>>>v..v
|
||||||
|
.v>vv>>..>>.v.vvv>v.>>v.v.>.>.v.v>>>..>>..vv.....v....v.>.vv..>>v>.v..vv...v>.v.>vv>.v.>v>>>.vvv..>..vv.vvvv..v..v.>..>.v>>.v..>...v>...>>v
|
||||||
|
>..v.>..v.>v>>vv.>..>>vv.>v.v..v>v>>.v.>>>.>>vv..v.vv.>>>.vv.>...v.>vvv.>>v..v>v>.>v..vv>...>....vvv...v.v>>.v.>..>>v....v>>>....v.....>vvv
|
||||||
|
.>.>..vvvvv.v....>>.>v..>.>.>.vv.>v....v.vvv>v.....vv.>v>vv...>v>.>..>>>v.v..>v.v..>vv....>...v.>...>>....>.>vv.v>v>.v.vvv.v.>v.v.vvv..v.v.
|
||||||
|
.v....v>....vv.>vv.>>.v.>v.....>.v.......vv.>.>..vv.>v>....vv..v...>v>.v...v.v..>.>v.v>v>....v>....>>>....v>..v..>..v..>>>....>>v>>.>.>.vv.
|
||||||
|
..v.>.....>>.v....vv...vv.v.v>.v>>>vv>>v..>v.vv.v>.>>.v>v.v.>..>.>v>...v...>.v>....v>....>>..vv.v>...vv.>.v..>>.v>.>>..>>.>vvv>>..v.>vv..v.
|
||||||
|
...>vv.>.v...>v.>>>..v>.v>..vv..>v...v....>v...>>>>..>>>>.v.>>...>v.vv.v>>vvv.>.>>.>.>..v>..>>.>v.vvv>..v>.>v>.v.>..v..>vv>....v>....vv.>.>
|
||||||
|
...>>v.>.vvv>..v..>>.vv....>v.vvv..>v.vvv..vv..v.>...vv..>v.>..>.vv...vv.>..>>.>vv>.v.v.v>...>..v>>>..>>>>..>v>...>.>.v..v...>v>.v.>>.>.v.v
|
||||||
|
.v.>v>>..>v..>.>>...>..v.v...>>>>v.v....v.>.>>vv..>.>..>.v>......>>>..vvv.....vvv.v>vv....v.>>.v..>..>>.>v.>>v.......v....v>.v...>.>>>.vv.>
|
||||||
|
>v.v>.....>.>...vv..>v..vv.>>v..vv>>.vv>.>>.>v...v.v..>...v.>v>>v>...v>>>v>>..v.....>..v..>.v...>.>>.>>>.vv>>...v...>v>>.>>v.v....>>>..v...
|
||||||
|
....v>v...>v>..>.>>......>.vv.>..>>v.v..v>v.>>v>v>.vv.v.>.vv..>..v>........>.>....v..v>.....vv>v>...>.v>>.v.>.>.....>>>....>>>.>..>.v...vvv
|
||||||
|
.>v.v.>>>.v.v>.v......vv>>v.v...v>>.v>v.v>..>>..>..vv>...>v....v>.>.>..v.v>vv..v>v....vv...v....>>...v>>.v.>>..>vv>.>...>...>..>v...v>>v>>v
|
||||||
|
>v>..v.v.>.vv.v.>..vv>...v.>..vv.>vv..>..vv..>v..v.vv.>>v..v>>..>vv.>.v>vv>...>..>vv.v>.vv>.>...>v>v.v>...>..>.>.>v.v>>..v.v>>v.vv>.v>.v...
|
||||||
|
v.>>...>>..vvvv>.v.>>>v>..v>>.>..>.>>.vv.vv.>vvv..>....vv>.vvvvvv.>>....v>...v>.vv>v.vv.v>...>v>.........vv......v>vv.>v.v.v..v>.>..vv.v>v.
|
||||||
|
v.>..vv...v.>>.v.>>.>.>>v>.>.v.vvv.>.>v>>...vvv>....>>..v>vv..>>v...v>>v.>>vvvv..v.>v.v>v>v..>v.v.v>...vv.>.>..v...>v>..vv>v.>...>...v.>.>.
|
||||||
|
>>.>.....v..>.........v..>.v>>v...v..>>.v.>.>v.>v>v.>>..>.v...v....>v.v>.>v.v>.>vv>v>vvv.vv.v>....v>vv..>..>.>.....v.v.>vv.v.>..v.v.vv.v.>v
|
||||||
|
.>>..vvvvv.>v>>.v.v>>.vvvv..v...v.>.vv.v..v>>....v.vv>..>...v..vvv>>>..v.>.>.vv>>.vvv>...v>>..>v...vvvv>>v>..v.>v.>.v.v..vv....>..v..v....v
|
||||||
|
.v.>..>.v.v..>v...v.>v>..v>>>.vv.v..vv>......>......>.>>..vv.......>...vv.......>....>>..>..v...>..>vvv.....>...>.v>.....>.>....v..>..v>>>.
|
||||||
|
vv..vv.v..>>..v.>>>.>.>...v.v.>v..>.vv>..v.>vv.>.v...vvv>v...>..v..>>.>v.v.>v.vv.v>v>..vv....>.>...v.>.v...>.>...v.v....>....vv..>.v>>>.vv>
|
||||||
|
v.>.>......v....v>.>.>v...>.vv...>v.>...>..>.>vv.v..v>vv>..>>.>v...>>>>v..v..v..vv.v...>....v..vv.>>..v>.vvv>.>........>>..v>.>>.v..>..>v.v
|
||||||
|
..>>>v..v.v...v.....vvv..v.v.>.>.....>...>..>v>...>v>.v.>>>v.v..vvv...v.vvv>v.vv>.vv>.>>>>.>v>.>..v..>.>>>v..v.v>.v>..>.>v.>>.v....vv>>>>>.
|
||||||
|
vv..>..v>.....v..>v>>..>>..v...>..>..>.v>v.>>.>v>v.v...v>>>.v...v>...>..v.>>v.v...>>v>.v>......v..>.....vvvv..v.vvv...>....v..v.v......v.>>
|
||||||
|
>>..v.>..v..v>v...v....v....>.v.>.vv....>>.v.vvv.v>>....>>.....>...>vv..>...v...v>.v...v..vv.>.vv>.v..>.>.v..vv.v.>>.vv...v..>vvv>.vv..v>..
|
||||||
|
v>v.v>>>vvv...v..>>>>>...vvv>.>.v..>v.>>.vv.>.v.>.....>.>..v>..>>.>v>.vvvv....>...v>vvv>..v...v....>>.v.>.>>.v..>.v.v>...vv...v.....v...vv.
|
||||||
|
.v..>.vv>v..>.>>..v>..>....v.>v....v....>.>v>.v>..>>.>>v>..vv>>...v>.vvvv>v.vv>v>v.>>..vv>v.>.>....v>..>..>v.>..vv...vvv.v>>..>v>.>.>..>>..
|
||||||
|
....v.>..vvv.>>v...>...v.v..>..v>.>v.v>v>>.>.v...>vv....v.>..>>>v.....>...>vv>.......>v...v.v..vv........>vvv>.v>>..>.v..v.v.vv.>.v...v...>
|
||||||
|
>.>v..v..v.v>>>..>..v.>.>v..v.v>.vv..>.....>v.>...>.>>v.v.>.v....v..vvv.>.>>v...v>v....>v.>.>.>>.v.vvv...vv>vv...>>v..vv.v.vv.........>.v..
|
||||||
|
...>>...>>..>vv.vv.v..>.....>v.v..>v..v.v>.>....v..>..v>..>v.v..v.v>.vv>>v.>>...v>.vvv>..vv..>.v>..>vvv>>v.v>.>.v>v......v.....v....>vvv..>
|
||||||
|
>...>.vv>v.v..v.v...vv..v>v.vv....>>.........v>.v.>.vv.vv.v...>>>.>>>.>vv.>v...>..>..>.v..>>...>v.vv..v>vv...>>.v.v>vv..v.v>vv..vv.>>.v..vv
|
||||||
|
>>.vv.>.v.>v>.v.v.>.v....v...vvvvv>>...>.>v>..>...>...v.vvv.v..>v>v.>.>v..v.v.vv>.>..v>>.....v.vvv...v>v>...v.>>..>......>.....v...v...v...
|
||||||
|
...v..>>v..vv.>..>.>.>.v.>....v.v>>.>>>..>...>v.v.vv...>vv.>v.>.v...vvv....v>v.vv..vv..>...vv.v>..v......v>v>>...>>..>v>...>>>>vv..>.v.>.>v
|
||||||
|
.>.>v...>>.>..>v.v>.vvv>>.v>>...v.v>.v>..>v.>>v....>.v>vvv>....>>.>>>.v>>...>v>..>>>.>....>v...>>.>>.>......>..v....vv>...vv.v>....>>.v....
|
||||||
|
v..v..>.>>vv..vv>vv..>vvv>v.v.v..v..v.>v>>v>>..........v>>v.vvvv>...>vvv..vv>v...>.v...v.....>v..>>.>..vvv..v>..v..>>>>v.....v..v.>....>>.v
|
||||||
|
>.>v.>v.......>v>>.>..v.v....>>>.v>v>v..v.>vvv>v>>..>.>...vv>.v>.v>....>.v.>.v...vvv>v..v...>..>.>>v...>.>.......v...v....>vv.>..v.>>.>vv.v
|
||||||
|
..v>.....>......>>.v..v...>>..vvv.>.>.>....>.v>v..v....v>>.v...>v>..>.>v..v....>...>>.......v.v.v.v...>.>.v..v.>vv...v>.>>.>>...>....v.v.>>
|
||||||
|
v..>...vv>...>.>.....v..v>...>..>.vv>>v..>vv.vv..>v.v.v>.>>>>.>..>>>>>.vvvvv>>>..>vv.v>.v...v..>v.....vv..vv>>.v.>...v.vv...>.>.....>>vv...
|
||||||
|
vv>>vv.>v.v..>...v.>....>.>..>>>...>>..>.....>.v.v>.v..vv>....>.....>v.>..>.>v.vv..>v>.....v.vv.>..>..>..v.>v..v.v>v..>.....v.>...>..v.....
|
||||||
|
.v.>>....>>vvvv>>>..v>>v.>>.......>.vv>v.>vv.v>v.>v.>v..>>.....>v>v.>v>.....v..vvv..vv>.v.vv.vv..vv..>..v>..v.>.v.>>.v.>vv.vv>>...>..>.v.>.
|
||||||
|
vv.>.>.v>.>...vv>v>.v>.>..>.vv>.>>.v.>.v>...>..v..vv...vv.v>......v>>.v>.>vv.>.v>v.>>vvvvv>vv>.v.>v...>.v>..>.>v.v.v..v.>..........v..>>>.v
|
||||||
|
>..>.>v>.v>>>.v.v.v..>...>>>...>v.>.>>..>v.>.v...v..v.vv...>>>.v.v>.vv>>vv>..v.v...v.>>..v>vv..vv>>vv.>>>v.v....>..v.v.vv..v.v.>>v.v.vv>>..
|
||||||
|
..>>v.>.>.>.....>...>.v.>>.v....>vv...>vv.>.v....v.>.>>.>.vv.v>v.......v>.>......v>.>>.vv...v>...>.>...>v>>..vv..>.v...vvv>v>vvvv...>......
|
||||||
|
>.>.v..v....vv.>.>v.v..vv...vvv...vv..vv.>.>..vv.>.vv>..v>.v>v>v.v>.v......>>.v>vv.v>v.>>.>.>.vv>..vv>....vv>.......>v.>>..>>......v>>...>v
|
||||||
|
>.>..v.>>.vv.vvvv.v>vv....>.....>.>...vv.>.>..v.>vvv..>v>......>>vv..>v>>..v>..v.v.v>..vvvvvv>v.>>v>..>..v.vv.>..v>>...>..v>>.v>v.....>>v>v
|
||||||
|
.v.v.....>.vvv......v...>.v>vvv.....v>>....vv..v>v.v.v..v.v.>vv...v..>>v..>v..vvvvvv.v>vvvvvvv>..vv.v.v>.....>v>..v>.....>>.v>.vvv.vv.....>
|
||||||
|
v>>.vv..>v.>>..v.>.v.v.v.v..>v>v.>.>v.v..v.v>.v.v.v.....>...>.v>.v.>v..v.>vvv...>.v>v.vv.>.>vv>v>v>.....>.v.>vv.v.v>v>vv>v.>..vv>v...v.vv.>
|
||||||
|
.....v..v....v..v.>>vv.>>..>>>v..>v>.v>v>v>>v>v>.v>.>..vv>..>>>...>>>>..v.v.v>>v....>vv..v.v>.v>.v..v>v.>.v.>.v>v>v.>vvv.v..>..>>.>.......v
|
||||||
|
>>>vvv.v.v..>>v.v.>...v>>v>.>..v.v>>...v..>>>v.>>vv>>.v>v..>v>v.>.>.......>..v>.v...>.v..vv.>...>.vv...>...v.>.>v..v..v>.v.>>>>.>v....vvvv.
|
||||||
|
.>..>v>>.>v.>.....>..vv.>.>.v.v>>v.>v..v.v.>vv.vv.>.....v>>....>v>.....v.>vv..>>vvv>v>>.>.vvv.>v.>..>.v.v.v.v...v>v>.>v.....v>v..>>.>>.>v..
|
||||||
|
v.>>.>v.vvv..v.>>>......vvv.v.v....v>..v>>>.v.>v.>>.>>v.>>..>v...v>..v.v.>...>..v.>.....vv>v.v>v..>>v.>.v>vv.>v.>v.....vv.....vv>v..v.v>..v
|
||||||
|
v>>.v>.>.>>v>v>v.....>v>.......>..v.vv..v>>.>.>>.vvv>.v>>.>v..vv>v>v>.v.>.vv.>.>.>>v>>.>..v..v>v.v>>v...>>.v.>>..>>..v.>.......>..>vv......
|
||||||
|
.v..v.>.v>>..v>>v.v...v>.v.v>.....v.v....>>.v.>>v...v..v...>..>.vv.v>v..>.v>.....>....v...>.>.>....v..>vv.v.>......>v>...>.v.>......>..>...
|
||||||
|
...v>.>...v...vvv>>.>.......v>...>.>..vvv.>>....>.v..v>.>v.vv>v..>>.>.v>.v>v..v...v...>v.vvvv..>>..v>v>v..v>>...v........>.v..v....>>>>..vv
|
||||||
|
.v..>v.vvvv>......vv>vv....v..>v>>v.v.>v.v...v..v>.v.>...>.>.>>>...>>vv.>...>>..>v>.>vv.>.>v..v..v.>>v...vv.v.v>..>>.v...>v.vv>>.>v.v...>.v
|
||||||
|
.>v.>.>..v...>>v>.>.vv...>..vv.v...>>.v>v...>..>.>>>...>>....>v>v>v.>..vv..>...>v.vv..v.v.v..>>.....v>vv..>v.>>.v>.v.vvv.>>.>.>..v..>.v>.v.
|
||||||
|
.>>.>v...>vv.>>>..vvvvv.v.v..>.>>>vv.........>..>vvv...>>.>>....>>v.v...v>..v>v..>.>..v..>>..v>>vv........v>...vvv...>v..v.vv.>......>.>..v
|
||||||
|
v..v.v>.vvv.>>>>>......v>>v..>>.>..>.....vv>.v>>..>.vv..>.v.v>v>v..>...>v>>vv>v..>>v..v.v..vv>vv...>..v.>v>v>.>.>>>v....v.......v>..v...v>.
|
||||||
|
>>vv.v..v..>.vv.>v......>v..v.>v.v..vvvv...vv>v>..v>v>>..>.>..vv.>..>..>.v>>>vv.>.....v>v>...v>.>.>.v.>>.v.>vv>vv...v.vvv>v..>.v>vv..v..>.v
|
||||||
|
..>.....>>v..>vv.>>..v.......v.....v..>v>...>v>.........>>.v..v>>v.vv.>v>>>...v>v....>vv.vv..v.v..>v>..>.....>>>.v.v.v.vv>v....vvv.v.v>..>>
|
||||||
|
..v.v..>..>v>>.v>...>...>>v>>...>.v.v....v...>.>.vvv>..>.v..v>>v>vvv>.>....>v.>....>.v..v....>......>...>.>vv...v>>>..>>..v.>>>>.v.v>vv>.v.
|
1000
data/day_3.txt
Normal file
1000
data/day_3.txt
Normal file
File diff suppressed because it is too large
Load Diff
601
data/day_4.txt
Normal file
601
data/day_4.txt
Normal file
@@ -0,0 +1,601 @@
|
|||||||
|
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
|
||||||
|
|
||||||
|
50 98 65 14 47
|
||||||
|
0 22 3 83 46
|
||||||
|
87 93 81 84 58
|
||||||
|
40 35 28 74 48
|
||||||
|
45 99 59 37 64
|
||||||
|
|
||||||
|
85 66 90 32 88
|
||||||
|
95 6 4 74 27
|
||||||
|
1 10 70 41 92
|
||||||
|
54 36 42 9 39
|
||||||
|
60 99 31 67 16
|
||||||
|
|
||||||
|
4 44 66 10 58
|
||||||
|
33 64 93 42 46
|
||||||
|
19 63 6 83 54
|
||||||
|
60 51 76 8 30
|
||||||
|
71 49 73 7 55
|
||||||
|
|
||||||
|
17 67 52 61 98
|
||||||
|
46 5 4 51 76
|
||||||
|
73 59 74 8 33
|
||||||
|
48 96 20 26 15
|
||||||
|
55 19 86 29 43
|
||||||
|
|
||||||
|
20 75 12 67 41
|
||||||
|
89 36 65 66 92
|
||||||
|
40 19 1 0 28
|
||||||
|
99 61 85 58 50
|
||||||
|
44 72 57 35 86
|
||||||
|
|
||||||
|
69 87 27 59 33
|
||||||
|
47 34 60 93 9
|
||||||
|
71 84 46 24 96
|
||||||
|
15 91 5 61 19
|
||||||
|
57 78 55 31 8
|
||||||
|
|
||||||
|
19 10 1 81 96
|
||||||
|
27 71 2 52 56
|
||||||
|
15 22 48 82 34
|
||||||
|
64 47 42 49 51
|
||||||
|
26 72 61 12 57
|
||||||
|
|
||||||
|
71 94 40 34 26
|
||||||
|
12 80 57 38 55
|
||||||
|
4 56 11 73 49
|
||||||
|
75 60 61 9 50
|
||||||
|
91 70 23 1 90
|
||||||
|
|
||||||
|
39 86 30 73 38
|
||||||
|
6 53 58 14 36
|
||||||
|
85 12 75 88 5
|
||||||
|
0 29 41 21 15
|
||||||
|
47 66 59 54 1
|
||||||
|
|
||||||
|
99 97 50 17 60
|
||||||
|
36 13 29 80 32
|
||||||
|
49 85 75 71 15
|
||||||
|
10 79 41 61 66
|
||||||
|
68 57 55 74 98
|
||||||
|
|
||||||
|
68 33 87 89 59
|
||||||
|
96 35 76 78 55
|
||||||
|
4 63 51 10 65
|
||||||
|
58 38 22 54 9
|
||||||
|
66 18 37 60 6
|
||||||
|
|
||||||
|
43 86 50 23 77
|
||||||
|
10 42 19 61 2
|
||||||
|
40 29 20 84 0
|
||||||
|
70 59 96 80 57
|
||||||
|
76 12 39 36 6
|
||||||
|
|
||||||
|
73 43 92 37 99
|
||||||
|
36 42 10 77 87
|
||||||
|
3 57 4 20 35
|
||||||
|
18 7 46 91 11
|
||||||
|
17 98 8 53 61
|
||||||
|
|
||||||
|
22 37 89 51 9
|
||||||
|
71 6 72 87 32
|
||||||
|
13 79 86 53 98
|
||||||
|
16 2 93 48 38
|
||||||
|
63 82 66 61 69
|
||||||
|
|
||||||
|
73 90 85 54 65
|
||||||
|
9 66 28 5 63
|
||||||
|
91 50 70 59 80
|
||||||
|
95 68 92 72 67
|
||||||
|
69 88 36 43 53
|
||||||
|
|
||||||
|
36 81 66 78 90
|
||||||
|
2 25 94 82 55
|
||||||
|
34 45 1 14 37
|
||||||
|
13 4 70 48 75
|
||||||
|
67 73 32 18 91
|
||||||
|
|
||||||
|
33 93 71 48 47
|
||||||
|
8 79 69 53 82
|
||||||
|
5 31 80 45 37
|
||||||
|
67 77 41 56 97
|
||||||
|
65 46 62 42 81
|
||||||
|
|
||||||
|
67 70 59 24 88
|
||||||
|
84 11 29 52 78
|
||||||
|
4 39 12 90 2
|
||||||
|
44 3 10 75 89
|
||||||
|
30 93 22 14 8
|
||||||
|
|
||||||
|
79 60 98 99 49
|
||||||
|
23 26 86 91 38
|
||||||
|
77 45 95 66 75
|
||||||
|
81 42 85 21 3
|
||||||
|
40 37 65 20 50
|
||||||
|
|
||||||
|
12 54 0 86 52
|
||||||
|
15 56 29 39 94
|
||||||
|
66 79 14 65 26
|
||||||
|
3 4 59 60 40
|
||||||
|
47 48 19 13 85
|
||||||
|
|
||||||
|
32 44 69 90 21
|
||||||
|
35 8 1 59 56
|
||||||
|
72 71 84 18 11
|
||||||
|
96 38 23 37 79
|
||||||
|
92 20 33 94 17
|
||||||
|
|
||||||
|
1 94 42 21 82
|
||||||
|
92 60 9 32 38
|
||||||
|
71 3 37 77 18
|
||||||
|
89 16 74 76 2
|
||||||
|
83 30 28 11 70
|
||||||
|
|
||||||
|
94 3 1 71 87
|
||||||
|
6 66 19 76 28
|
||||||
|
10 86 22 62 2
|
||||||
|
67 0 31 46 27
|
||||||
|
8 33 43 92 29
|
||||||
|
|
||||||
|
35 90 8 30 27
|
||||||
|
67 60 82 68 1
|
||||||
|
5 29 93 44 34
|
||||||
|
56 65 48 37 51
|
||||||
|
57 45 63 94 77
|
||||||
|
|
||||||
|
67 80 45 57 43
|
||||||
|
37 81 25 84 82
|
||||||
|
50 8 9 64 7
|
||||||
|
29 18 52 16 14
|
||||||
|
73 28 11 76 6
|
||||||
|
|
||||||
|
5 76 67 18 16
|
||||||
|
68 47 15 29 59
|
||||||
|
46 32 40 9 84
|
||||||
|
30 17 20 22 3
|
||||||
|
35 80 38 72 88
|
||||||
|
|
||||||
|
35 44 14 89 72
|
||||||
|
75 67 56 2 3
|
||||||
|
58 41 49 12 52
|
||||||
|
92 9 22 34 88
|
||||||
|
65 39 93 61 47
|
||||||
|
|
||||||
|
38 67 33 18 60
|
||||||
|
34 50 69 31 83
|
||||||
|
29 30 9 12 95
|
||||||
|
79 2 24 54 87
|
||||||
|
46 68 48 58 42
|
||||||
|
|
||||||
|
61 87 46 26 34
|
||||||
|
74 85 9 54 38
|
||||||
|
50 29 84 40 4
|
||||||
|
49 39 33 99 53
|
||||||
|
77 59 0 42 35
|
||||||
|
|
||||||
|
86 68 23 62 5
|
||||||
|
96 92 7 4 1
|
||||||
|
50 70 12 83 46
|
||||||
|
34 63 91 56 11
|
||||||
|
76 90 71 88 95
|
||||||
|
|
||||||
|
19 18 13 3 62
|
||||||
|
42 29 57 79 85
|
||||||
|
39 64 14 28 98
|
||||||
|
99 36 91 9 63
|
||||||
|
69 66 2 17 31
|
||||||
|
|
||||||
|
51 43 49 98 94
|
||||||
|
31 64 53 54 57
|
||||||
|
3 28 10 12 2
|
||||||
|
24 99 95 35 17
|
||||||
|
76 27 48 0 41
|
||||||
|
|
||||||
|
80 62 13 38 98
|
||||||
|
32 15 16 8 96
|
||||||
|
93 43 81 99 40
|
||||||
|
20 57 37 24 3
|
||||||
|
94 17 70 14 7
|
||||||
|
|
||||||
|
52 71 49 95 84
|
||||||
|
76 38 45 59 89
|
||||||
|
1 7 27 0 98
|
||||||
|
92 64 8 50 68
|
||||||
|
13 91 26 51 2
|
||||||
|
|
||||||
|
31 45 25 1 5
|
||||||
|
50 68 77 61 53
|
||||||
|
74 20 99 38 63
|
||||||
|
76 44 15 42 51
|
||||||
|
67 87 86 12 24
|
||||||
|
|
||||||
|
49 0 70 82 9
|
||||||
|
2 24 96 74 60
|
||||||
|
68 16 40 32 20
|
||||||
|
48 6 98 11 65
|
||||||
|
94 10 54 8 95
|
||||||
|
|
||||||
|
74 41 11 33 76
|
||||||
|
2 10 44 89 23
|
||||||
|
56 45 78 60 34
|
||||||
|
15 5 26 83 71
|
||||||
|
20 72 85 75 54
|
||||||
|
|
||||||
|
15 59 93 53 8
|
||||||
|
4 10 84 44 36
|
||||||
|
17 62 24 27 98
|
||||||
|
87 54 73 13 35
|
||||||
|
9 48 52 33 7
|
||||||
|
|
||||||
|
56 80 70 74 35
|
||||||
|
53 69 75 25 27
|
||||||
|
47 91 85 62 32
|
||||||
|
93 26 89 18 52
|
||||||
|
16 73 49 55 77
|
||||||
|
|
||||||
|
42 40 54 67 73
|
||||||
|
11 10 49 35 59
|
||||||
|
12 93 37 15 69
|
||||||
|
97 41 47 39 2
|
||||||
|
75 99 21 29 26
|
||||||
|
|
||||||
|
23 75 41 10 86
|
||||||
|
71 67 66 38 99
|
||||||
|
91 92 63 40 28
|
||||||
|
69 97 42 77 60
|
||||||
|
44 53 12 84 57
|
||||||
|
|
||||||
|
72 51 31 90 37
|
||||||
|
35 89 55 73 87
|
||||||
|
46 32 45 0 58
|
||||||
|
50 81 13 18 66
|
||||||
|
38 4 40 62 22
|
||||||
|
|
||||||
|
14 48 35 76 83
|
||||||
|
13 70 26 4 1
|
||||||
|
30 22 91 93 29
|
||||||
|
69 41 74 40 63
|
||||||
|
80 65 66 72 23
|
||||||
|
|
||||||
|
23 65 33 56 38
|
||||||
|
84 41 34 21 2
|
||||||
|
4 78 27 17 11
|
||||||
|
22 53 52 32 80
|
||||||
|
24 25 42 91 99
|
||||||
|
|
||||||
|
54 51 0 23 52
|
||||||
|
92 69 10 46 7
|
||||||
|
20 35 12 37 73
|
||||||
|
19 56 26 79 32
|
||||||
|
27 74 34 5 57
|
||||||
|
|
||||||
|
75 10 24 32 7
|
||||||
|
96 54 22 78 5
|
||||||
|
23 69 65 43 20
|
||||||
|
29 85 44 92 71
|
||||||
|
41 87 73 0 48
|
||||||
|
|
||||||
|
54 92 16 36 37
|
||||||
|
42 59 4 9 44
|
||||||
|
52 14 12 6 47
|
||||||
|
57 38 70 82 0
|
||||||
|
53 81 32 35 3
|
||||||
|
|
||||||
|
17 22 62 80 30
|
||||||
|
8 28 15 42 46
|
||||||
|
79 64 32 29 75
|
||||||
|
5 0 9 90 69
|
||||||
|
41 71 85 1 6
|
||||||
|
|
||||||
|
68 89 40 31 39
|
||||||
|
32 48 64 38 28
|
||||||
|
80 98 88 14 97
|
||||||
|
6 60 52 11 55
|
||||||
|
95 34 63 81 4
|
||||||
|
|
||||||
|
80 33 14 83 68
|
||||||
|
78 69 81 59 15
|
||||||
|
72 0 74 21 75
|
||||||
|
49 6 67 73 64
|
||||||
|
8 25 87 3 45
|
||||||
|
|
||||||
|
34 97 86 1 79
|
||||||
|
49 12 63 10 59
|
||||||
|
88 30 84 74 87
|
||||||
|
67 47 26 0 57
|
||||||
|
71 40 2 76 98
|
||||||
|
|
||||||
|
15 89 23 65 44
|
||||||
|
27 87 54 38 12
|
||||||
|
43 29 18 39 94
|
||||||
|
48 0 7 57 61
|
||||||
|
70 28 60 68 50
|
||||||
|
|
||||||
|
13 34 49 67 40
|
||||||
|
88 74 99 20 26
|
||||||
|
63 69 62 24 32
|
||||||
|
35 45 96 79 1
|
||||||
|
92 7 17 76 30
|
||||||
|
|
||||||
|
95 21 75 46 74
|
||||||
|
39 7 58 23 90
|
||||||
|
61 64 37 81 82
|
||||||
|
92 36 54 9 53
|
||||||
|
17 51 33 10 27
|
||||||
|
|
||||||
|
67 35 44 22 23
|
||||||
|
28 96 1 56 29
|
||||||
|
0 12 5 50 99
|
||||||
|
70 42 8 24 25
|
||||||
|
39 53 51 89 85
|
||||||
|
|
||||||
|
50 15 94 84 27
|
||||||
|
72 26 51 3 85
|
||||||
|
63 45 1 64 44
|
||||||
|
17 80 13 88 2
|
||||||
|
12 97 91 25 18
|
||||||
|
|
||||||
|
59 14 9 67 63
|
||||||
|
6 18 26 98 50
|
||||||
|
86 74 75 56 34
|
||||||
|
48 7 99 20 64
|
||||||
|
8 53 10 15 57
|
||||||
|
|
||||||
|
6 35 13 68 24
|
||||||
|
90 19 91 71 86
|
||||||
|
95 58 10 44 98
|
||||||
|
8 41 60 1 16
|
||||||
|
29 59 43 84 48
|
||||||
|
|
||||||
|
48 56 8 74 4
|
||||||
|
66 30 77 35 90
|
||||||
|
94 0 75 49 84
|
||||||
|
5 39 11 54 87
|
||||||
|
33 58 96 22 2
|
||||||
|
|
||||||
|
5 38 57 63 65
|
||||||
|
74 58 22 8 81
|
||||||
|
45 96 78 3 11
|
||||||
|
28 42 30 39 51
|
||||||
|
87 33 34 75 14
|
||||||
|
|
||||||
|
56 34 67 70 17
|
||||||
|
7 80 10 31 85
|
||||||
|
68 59 63 74 40
|
||||||
|
13 81 99 62 6
|
||||||
|
92 84 71 37 39
|
||||||
|
|
||||||
|
85 99 74 16 10
|
||||||
|
12 21 91 2 83
|
||||||
|
4 94 38 51 36
|
||||||
|
41 97 45 65 24
|
||||||
|
50 82 92 52 35
|
||||||
|
|
||||||
|
28 65 6 13 23
|
||||||
|
7 57 86 18 67
|
||||||
|
26 85 29 22 89
|
||||||
|
99 62 94 31 96
|
||||||
|
14 17 50 56 9
|
||||||
|
|
||||||
|
98 10 63 4 8
|
||||||
|
46 21 58 89 3
|
||||||
|
27 12 11 55 16
|
||||||
|
61 38 43 33 54
|
||||||
|
53 14 99 31 25
|
||||||
|
|
||||||
|
25 70 24 40 14
|
||||||
|
75 82 58 68 41
|
||||||
|
22 71 72 93 1
|
||||||
|
47 97 6 81 45
|
||||||
|
92 42 2 76 12
|
||||||
|
|
||||||
|
31 84 30 0 85
|
||||||
|
55 70 72 45 57
|
||||||
|
78 52 67 60 22
|
||||||
|
43 32 8 44 34
|
||||||
|
14 64 91 89 18
|
||||||
|
|
||||||
|
70 19 62 16 56
|
||||||
|
84 49 41 3 20
|
||||||
|
85 5 76 95 22
|
||||||
|
63 55 37 31 72
|
||||||
|
42 17 28 65 1
|
||||||
|
|
||||||
|
85 17 57 62 48
|
||||||
|
34 29 69 52 28
|
||||||
|
90 64 54 21 38
|
||||||
|
0 50 84 44 60
|
||||||
|
93 80 75 89 83
|
||||||
|
|
||||||
|
39 84 78 12 5
|
||||||
|
29 4 35 7 85
|
||||||
|
73 25 58 27 45
|
||||||
|
22 90 91 47 74
|
||||||
|
60 96 15 24 26
|
||||||
|
|
||||||
|
13 30 82 31 43
|
||||||
|
23 71 1 51 36
|
||||||
|
40 62 25 54 86
|
||||||
|
8 83 2 47 34
|
||||||
|
33 41 27 98 24
|
||||||
|
|
||||||
|
13 25 53 50 56
|
||||||
|
77 4 41 19 22
|
||||||
|
68 70 75 9 65
|
||||||
|
30 33 60 74 80
|
||||||
|
31 83 34 79 11
|
||||||
|
|
||||||
|
11 90 38 78 73
|
||||||
|
17 16 14 37 4
|
||||||
|
80 68 21 70 92
|
||||||
|
47 26 81 67 25
|
||||||
|
10 31 23 41 22
|
||||||
|
|
||||||
|
90 62 2 50 79
|
||||||
|
77 51 8 11 13
|
||||||
|
32 29 43 88 33
|
||||||
|
39 34 89 45 23
|
||||||
|
91 9 6 68 3
|
||||||
|
|
||||||
|
62 70 89 27 87
|
||||||
|
45 65 96 80 29
|
||||||
|
1 54 90 68 16
|
||||||
|
72 50 28 95 12
|
||||||
|
21 71 81 10 60
|
||||||
|
|
||||||
|
33 14 60 44 78
|
||||||
|
6 65 87 11 8
|
||||||
|
79 21 59 35 19
|
||||||
|
26 69 67 42 27
|
||||||
|
25 36 80 10 45
|
||||||
|
|
||||||
|
71 24 80 87 56
|
||||||
|
7 61 43 38 18
|
||||||
|
52 46 41 28 48
|
||||||
|
0 74 20 34 63
|
||||||
|
3 84 42 85 9
|
||||||
|
|
||||||
|
36 64 41 7 49
|
||||||
|
91 92 13 94 88
|
||||||
|
73 98 79 0 12
|
||||||
|
76 66 86 67 9
|
||||||
|
2 85 74 5 34
|
||||||
|
|
||||||
|
8 81 7 56 28
|
||||||
|
36 13 42 29 75
|
||||||
|
12 27 85 45 9
|
||||||
|
26 25 62 41 22
|
||||||
|
79 11 95 0 24
|
||||||
|
|
||||||
|
72 76 81 67 16
|
||||||
|
96 41 94 58 7
|
||||||
|
0 79 38 27 11
|
||||||
|
61 36 56 88 39
|
||||||
|
89 63 31 75 8
|
||||||
|
|
||||||
|
62 51 5 46 28
|
||||||
|
77 97 89 86 13
|
||||||
|
87 55 73 90 57
|
||||||
|
84 44 40 49 34
|
||||||
|
25 0 58 6 21
|
||||||
|
|
||||||
|
7 56 15 41 94
|
||||||
|
42 89 16 18 74
|
||||||
|
57 79 96 35 3
|
||||||
|
14 45 20 19 80
|
||||||
|
87 85 28 69 17
|
||||||
|
|
||||||
|
27 88 54 62 65
|
||||||
|
44 93 69 13 9
|
||||||
|
85 63 43 11 47
|
||||||
|
83 57 30 20 56
|
||||||
|
71 46 49 7 77
|
||||||
|
|
||||||
|
45 24 75 39 69
|
||||||
|
48 74 44 49 64
|
||||||
|
65 25 22 46 93
|
||||||
|
88 52 27 37 50
|
||||||
|
19 35 47 54 67
|
||||||
|
|
||||||
|
44 32 71 13 57
|
||||||
|
7 38 26 98 65
|
||||||
|
46 1 21 8 55
|
||||||
|
30 62 92 27 3
|
||||||
|
69 50 99 85 11
|
||||||
|
|
||||||
|
86 6 64 34 97
|
||||||
|
47 98 7 38 9
|
||||||
|
26 68 75 92 54
|
||||||
|
58 42 13 78 37
|
||||||
|
85 28 81 16 51
|
||||||
|
|
||||||
|
82 74 15 4 86
|
||||||
|
55 0 70 88 24
|
||||||
|
50 79 63 40 21
|
||||||
|
47 39 61 49 36
|
||||||
|
89 16 13 2 37
|
||||||
|
|
||||||
|
89 19 9 82 13
|
||||||
|
84 34 58 56 10
|
||||||
|
27 92 46 4 94
|
||||||
|
44 24 52 86 55
|
||||||
|
39 23 22 99 5
|
||||||
|
|
||||||
|
65 92 8 86 77
|
||||||
|
98 79 72 28 78
|
||||||
|
16 23 3 55 48
|
||||||
|
68 95 66 30 43
|
||||||
|
50 31 15 11 45
|
||||||
|
|
||||||
|
32 70 25 59 31
|
||||||
|
47 68 77 56 23
|
||||||
|
66 78 54 88 50
|
||||||
|
55 60 58 89 83
|
||||||
|
84 99 86 97 95
|
||||||
|
|
||||||
|
53 46 1 94 87
|
||||||
|
8 80 38 77 81
|
||||||
|
17 51 47 19 69
|
||||||
|
86 50 71 5 93
|
||||||
|
61 66 36 58 0
|
||||||
|
|
||||||
|
90 58 17 29 92
|
||||||
|
67 1 8 64 99
|
||||||
|
63 22 57 19 68
|
||||||
|
78 36 93 53 2
|
||||||
|
27 48 62 39 14
|
||||||
|
|
||||||
|
8 49 22 90 54
|
||||||
|
26 4 99 27 34
|
||||||
|
78 25 11 85 28
|
||||||
|
31 42 36 53 15
|
||||||
|
64 75 60 45 35
|
||||||
|
|
||||||
|
99 84 26 53 90
|
||||||
|
61 51 98 39 86
|
||||||
|
47 37 52 80 63
|
||||||
|
67 49 35 70 11
|
||||||
|
32 45 94 73 43
|
||||||
|
|
||||||
|
91 92 74 94 32
|
||||||
|
27 56 50 33 54
|
||||||
|
67 46 35 25 10
|
||||||
|
93 97 30 90 4
|
||||||
|
57 15 69 83 39
|
||||||
|
|
||||||
|
71 68 74 81 11
|
||||||
|
44 98 60 17 73
|
||||||
|
43 40 32 38 39
|
||||||
|
61 56 97 94 70
|
||||||
|
23 2 86 91 54
|
||||||
|
|
||||||
|
19 98 93 42 88
|
||||||
|
0 16 30 32 71
|
||||||
|
89 86 81 76 68
|
||||||
|
29 2 14 72 63
|
||||||
|
7 27 67 59 1
|
||||||
|
|
||||||
|
24 18 28 98 95
|
||||||
|
10 62 80 71 36
|
||||||
|
3 89 20 63 46
|
||||||
|
47 65 84 22 6
|
||||||
|
82 19 81 38 45
|
||||||
|
|
||||||
|
54 85 67 34 79
|
||||||
|
25 58 38 73 61
|
||||||
|
72 98 4 19 40
|
||||||
|
32 10 29 31 89
|
||||||
|
15 33 5 7 63
|
||||||
|
|
||||||
|
49 48 71 81 88
|
||||||
|
70 5 39 41 22
|
||||||
|
19 20 7 75 23
|
||||||
|
69 46 63 14 54
|
||||||
|
80 45 94 6 55
|
||||||
|
|
||||||
|
88 62 76 78 95
|
||||||
|
64 65 36 58 22
|
||||||
|
7 21 98 93 42
|
||||||
|
79 99 9 89 10
|
||||||
|
6 5 33 92 72
|
500
data/day_5.txt
Normal file
500
data/day_5.txt
Normal file
@@ -0,0 +1,500 @@
|
|||||||
|
348,742 -> 620,742
|
||||||
|
494,864 -> 494,484
|
||||||
|
193,136 -> 301,136
|
||||||
|
342,692 -> 342,538
|
||||||
|
234,525 -> 102,393
|
||||||
|
72,964 -> 847,189
|
||||||
|
639,430 -> 99,970
|
||||||
|
398,791 -> 398,187
|
||||||
|
181,144 -> 205,168
|
||||||
|
607,617 -> 416,617
|
||||||
|
98,339 -> 98,437
|
||||||
|
763,119 -> 176,119
|
||||||
|
450,848 -> 450,664
|
||||||
|
293,133 -> 293,98
|
||||||
|
308,98 -> 308,15
|
||||||
|
157,21 -> 405,269
|
||||||
|
792,471 -> 409,471
|
||||||
|
42,955 -> 956,41
|
||||||
|
895,269 -> 895,884
|
||||||
|
629,635 -> 392,635
|
||||||
|
169,23 -> 273,127
|
||||||
|
250,847 -> 250,665
|
||||||
|
709,56 -> 709,626
|
||||||
|
938,599 -> 669,868
|
||||||
|
913,46 -> 458,501
|
||||||
|
844,417 -> 844,424
|
||||||
|
178,651 -> 640,189
|
||||||
|
226,266 -> 149,266
|
||||||
|
654,421 -> 654,499
|
||||||
|
368,780 -> 368,38
|
||||||
|
183,743 -> 497,429
|
||||||
|
942,34 -> 387,589
|
||||||
|
987,461 -> 987,348
|
||||||
|
485,275 -> 330,275
|
||||||
|
33,460 -> 456,883
|
||||||
|
606,304 -> 606,628
|
||||||
|
755,170 -> 755,187
|
||||||
|
342,862 -> 250,954
|
||||||
|
866,125 -> 151,840
|
||||||
|
795,489 -> 599,685
|
||||||
|
905,525 -> 905,457
|
||||||
|
99,620 -> 99,339
|
||||||
|
899,507 -> 699,707
|
||||||
|
627,444 -> 923,444
|
||||||
|
798,80 -> 419,459
|
||||||
|
580,237 -> 580,907
|
||||||
|
947,336 -> 947,727
|
||||||
|
491,466 -> 546,411
|
||||||
|
335,221 -> 458,221
|
||||||
|
547,70 -> 407,210
|
||||||
|
520,80 -> 647,80
|
||||||
|
835,58 -> 835,300
|
||||||
|
574,239 -> 589,239
|
||||||
|
219,670 -> 219,22
|
||||||
|
512,69 -> 255,69
|
||||||
|
83,701 -> 239,701
|
||||||
|
874,109 -> 48,935
|
||||||
|
980,892 -> 159,71
|
||||||
|
154,879 -> 53,879
|
||||||
|
782,37 -> 89,730
|
||||||
|
481,736 -> 481,614
|
||||||
|
377,886 -> 569,694
|
||||||
|
777,403 -> 726,454
|
||||||
|
728,952 -> 728,972
|
||||||
|
495,643 -> 879,643
|
||||||
|
425,564 -> 187,326
|
||||||
|
443,110 -> 386,167
|
||||||
|
529,279 -> 529,103
|
||||||
|
985,983 -> 16,14
|
||||||
|
145,112 -> 877,844
|
||||||
|
914,34 -> 121,827
|
||||||
|
409,229 -> 784,229
|
||||||
|
719,86 -> 479,86
|
||||||
|
929,984 -> 218,984
|
||||||
|
985,928 -> 299,242
|
||||||
|
168,159 -> 168,743
|
||||||
|
189,784 -> 189,498
|
||||||
|
401,58 -> 390,58
|
||||||
|
47,283 -> 452,688
|
||||||
|
246,292 -> 246,461
|
||||||
|
869,901 -> 643,675
|
||||||
|
879,593 -> 108,593
|
||||||
|
707,417 -> 336,417
|
||||||
|
99,401 -> 99,502
|
||||||
|
583,764 -> 583,668
|
||||||
|
493,934 -> 493,78
|
||||||
|
643,570 -> 643,990
|
||||||
|
278,765 -> 600,443
|
||||||
|
940,437 -> 940,488
|
||||||
|
812,896 -> 812,594
|
||||||
|
727,711 -> 25,711
|
||||||
|
173,586 -> 667,92
|
||||||
|
169,879 -> 466,582
|
||||||
|
361,650 -> 361,276
|
||||||
|
725,818 -> 725,662
|
||||||
|
48,119 -> 781,852
|
||||||
|
921,62 -> 921,647
|
||||||
|
135,613 -> 135,295
|
||||||
|
702,969 -> 194,461
|
||||||
|
306,709 -> 274,709
|
||||||
|
117,182 -> 117,856
|
||||||
|
608,635 -> 608,854
|
||||||
|
448,250 -> 448,641
|
||||||
|
635,552 -> 341,552
|
||||||
|
528,432 -> 51,432
|
||||||
|
711,763 -> 987,487
|
||||||
|
43,931 -> 917,57
|
||||||
|
980,841 -> 526,387
|
||||||
|
279,412 -> 377,412
|
||||||
|
334,107 -> 509,282
|
||||||
|
164,15 -> 164,345
|
||||||
|
708,139 -> 708,846
|
||||||
|
323,930 -> 323,282
|
||||||
|
256,902 -> 922,236
|
||||||
|
586,453 -> 244,111
|
||||||
|
21,92 -> 840,911
|
||||||
|
282,888 -> 839,331
|
||||||
|
278,439 -> 712,873
|
||||||
|
110,595 -> 696,595
|
||||||
|
95,531 -> 804,531
|
||||||
|
800,206 -> 800,881
|
||||||
|
396,244 -> 396,441
|
||||||
|
334,60 -> 122,60
|
||||||
|
640,331 -> 640,467
|
||||||
|
757,126 -> 731,126
|
||||||
|
430,245 -> 932,245
|
||||||
|
160,655 -> 753,62
|
||||||
|
502,432 -> 751,432
|
||||||
|
434,378 -> 434,287
|
||||||
|
907,374 -> 552,729
|
||||||
|
548,864 -> 632,864
|
||||||
|
616,961 -> 746,831
|
||||||
|
116,316 -> 666,866
|
||||||
|
78,44 -> 950,916
|
||||||
|
873,570 -> 355,570
|
||||||
|
202,859 -> 885,176
|
||||||
|
449,348 -> 904,348
|
||||||
|
143,179 -> 760,796
|
||||||
|
478,823 -> 478,55
|
||||||
|
790,446 -> 790,257
|
||||||
|
34,888 -> 736,888
|
||||||
|
630,696 -> 437,889
|
||||||
|
350,589 -> 118,821
|
||||||
|
803,373 -> 808,373
|
||||||
|
490,778 -> 818,450
|
||||||
|
487,725 -> 487,836
|
||||||
|
794,502 -> 794,114
|
||||||
|
136,743 -> 136,634
|
||||||
|
572,103 -> 194,103
|
||||||
|
488,614 -> 528,614
|
||||||
|
18,878 -> 539,357
|
||||||
|
889,35 -> 889,271
|
||||||
|
436,419 -> 21,419
|
||||||
|
422,319 -> 422,821
|
||||||
|
176,935 -> 923,188
|
||||||
|
398,398 -> 436,436
|
||||||
|
327,45 -> 820,538
|
||||||
|
643,428 -> 890,675
|
||||||
|
743,714 -> 143,114
|
||||||
|
203,359 -> 189,359
|
||||||
|
346,672 -> 346,190
|
||||||
|
263,804 -> 263,249
|
||||||
|
93,683 -> 93,453
|
||||||
|
19,180 -> 238,399
|
||||||
|
47,941 -> 888,100
|
||||||
|
525,888 -> 236,599
|
||||||
|
624,397 -> 126,397
|
||||||
|
382,119 -> 382,981
|
||||||
|
972,753 -> 336,117
|
||||||
|
682,978 -> 48,344
|
||||||
|
639,477 -> 639,408
|
||||||
|
545,966 -> 12,966
|
||||||
|
275,234 -> 401,234
|
||||||
|
912,20 -> 101,20
|
||||||
|
54,109 -> 809,864
|
||||||
|
242,149 -> 242,283
|
||||||
|
664,353 -> 828,353
|
||||||
|
117,539 -> 26,630
|
||||||
|
794,554 -> 624,554
|
||||||
|
828,536 -> 43,536
|
||||||
|
746,717 -> 746,420
|
||||||
|
540,930 -> 224,930
|
||||||
|
862,229 -> 862,212
|
||||||
|
492,917 -> 835,574
|
||||||
|
960,496 -> 960,618
|
||||||
|
148,530 -> 148,485
|
||||||
|
415,974 -> 494,974
|
||||||
|
694,118 -> 654,158
|
||||||
|
672,210 -> 672,81
|
||||||
|
548,692 -> 668,812
|
||||||
|
891,50 -> 10,931
|
||||||
|
639,652 -> 844,652
|
||||||
|
579,522 -> 556,545
|
||||||
|
231,880 -> 170,880
|
||||||
|
443,12 -> 443,775
|
||||||
|
562,185 -> 562,984
|
||||||
|
619,313 -> 74,858
|
||||||
|
371,502 -> 642,231
|
||||||
|
969,694 -> 714,949
|
||||||
|
943,157 -> 179,921
|
||||||
|
821,305 -> 821,427
|
||||||
|
782,579 -> 874,671
|
||||||
|
378,943 -> 378,956
|
||||||
|
315,636 -> 572,893
|
||||||
|
544,357 -> 315,357
|
||||||
|
51,158 -> 16,158
|
||||||
|
151,428 -> 508,428
|
||||||
|
818,939 -> 90,939
|
||||||
|
99,396 -> 451,396
|
||||||
|
602,834 -> 695,834
|
||||||
|
974,145 -> 974,919
|
||||||
|
327,630 -> 254,630
|
||||||
|
858,166 -> 900,166
|
||||||
|
537,681 -> 564,681
|
||||||
|
672,674 -> 672,619
|
||||||
|
544,408 -> 750,614
|
||||||
|
84,664 -> 210,664
|
||||||
|
204,886 -> 469,886
|
||||||
|
475,940 -> 475,592
|
||||||
|
868,922 -> 614,922
|
||||||
|
987,939 -> 367,939
|
||||||
|
854,498 -> 956,498
|
||||||
|
863,148 -> 22,989
|
||||||
|
565,580 -> 948,197
|
||||||
|
231,952 -> 798,385
|
||||||
|
935,832 -> 113,10
|
||||||
|
631,362 -> 631,329
|
||||||
|
405,143 -> 303,143
|
||||||
|
807,831 -> 891,831
|
||||||
|
450,976 -> 450,247
|
||||||
|
488,676 -> 508,676
|
||||||
|
170,328 -> 636,794
|
||||||
|
626,815 -> 626,938
|
||||||
|
217,558 -> 708,558
|
||||||
|
598,549 -> 532,549
|
||||||
|
824,307 -> 304,307
|
||||||
|
539,932 -> 390,932
|
||||||
|
542,786 -> 435,893
|
||||||
|
735,42 -> 389,388
|
||||||
|
677,448 -> 65,448
|
||||||
|
929,915 -> 29,15
|
||||||
|
870,344 -> 870,287
|
||||||
|
187,138 -> 754,138
|
||||||
|
729,353 -> 508,132
|
||||||
|
919,821 -> 317,219
|
||||||
|
272,459 -> 272,72
|
||||||
|
599,413 -> 342,413
|
||||||
|
919,862 -> 199,142
|
||||||
|
229,476 -> 893,476
|
||||||
|
438,516 -> 150,228
|
||||||
|
914,132 -> 173,873
|
||||||
|
905,815 -> 315,815
|
||||||
|
766,136 -> 766,207
|
||||||
|
548,546 -> 451,643
|
||||||
|
836,231 -> 381,231
|
||||||
|
484,854 -> 852,854
|
||||||
|
736,209 -> 307,209
|
||||||
|
751,156 -> 809,156
|
||||||
|
659,937 -> 659,333
|
||||||
|
74,899 -> 485,488
|
||||||
|
843,329 -> 843,584
|
||||||
|
793,944 -> 910,827
|
||||||
|
67,298 -> 610,841
|
||||||
|
43,15 -> 960,932
|
||||||
|
633,527 -> 912,806
|
||||||
|
782,246 -> 716,312
|
||||||
|
30,46 -> 912,928
|
||||||
|
473,833 -> 473,189
|
||||||
|
903,506 -> 61,506
|
||||||
|
85,404 -> 85,898
|
||||||
|
944,682 -> 944,465
|
||||||
|
420,695 -> 391,666
|
||||||
|
560,110 -> 810,360
|
||||||
|
246,368 -> 25,368
|
||||||
|
399,397 -> 781,15
|
||||||
|
452,618 -> 452,340
|
||||||
|
467,854 -> 890,854
|
||||||
|
77,314 -> 77,780
|
||||||
|
523,501 -> 523,646
|
||||||
|
67,284 -> 637,284
|
||||||
|
88,13 -> 988,913
|
||||||
|
173,20 -> 844,691
|
||||||
|
667,821 -> 722,821
|
||||||
|
384,840 -> 792,432
|
||||||
|
270,36 -> 270,352
|
||||||
|
311,16 -> 311,334
|
||||||
|
736,900 -> 736,264
|
||||||
|
613,827 -> 748,962
|
||||||
|
41,81 -> 885,925
|
||||||
|
408,884 -> 756,884
|
||||||
|
380,612 -> 402,634
|
||||||
|
82,645 -> 82,708
|
||||||
|
934,331 -> 316,331
|
||||||
|
634,116 -> 634,891
|
||||||
|
942,56 -> 942,642
|
||||||
|
441,260 -> 955,774
|
||||||
|
925,980 -> 314,369
|
||||||
|
317,893 -> 577,893
|
||||||
|
362,137 -> 433,137
|
||||||
|
434,928 -> 434,623
|
||||||
|
819,18 -> 819,488
|
||||||
|
185,348 -> 615,778
|
||||||
|
895,357 -> 492,357
|
||||||
|
742,645 -> 742,151
|
||||||
|
522,855 -> 366,699
|
||||||
|
867,390 -> 57,390
|
||||||
|
95,566 -> 389,272
|
||||||
|
887,793 -> 887,871
|
||||||
|
351,251 -> 351,30
|
||||||
|
309,448 -> 865,448
|
||||||
|
190,690 -> 70,570
|
||||||
|
383,805 -> 383,607
|
||||||
|
140,157 -> 140,164
|
||||||
|
685,222 -> 705,222
|
||||||
|
192,949 -> 192,358
|
||||||
|
856,768 -> 856,967
|
||||||
|
337,344 -> 771,344
|
||||||
|
919,86 -> 53,952
|
||||||
|
137,723 -> 887,723
|
||||||
|
33,108 -> 873,948
|
||||||
|
195,690 -> 195,184
|
||||||
|
136,505 -> 136,520
|
||||||
|
509,69 -> 509,800
|
||||||
|
255,742 -> 255,740
|
||||||
|
650,105 -> 650,483
|
||||||
|
985,451 -> 268,451
|
||||||
|
68,346 -> 171,346
|
||||||
|
472,28 -> 574,28
|
||||||
|
660,308 -> 660,382
|
||||||
|
341,553 -> 341,419
|
||||||
|
430,304 -> 807,304
|
||||||
|
333,258 -> 795,258
|
||||||
|
853,637 -> 252,36
|
||||||
|
881,893 -> 237,249
|
||||||
|
552,160 -> 826,160
|
||||||
|
728,446 -> 728,905
|
||||||
|
529,326 -> 529,860
|
||||||
|
564,759 -> 564,737
|
||||||
|
533,688 -> 78,233
|
||||||
|
445,314 -> 329,198
|
||||||
|
935,597 -> 652,597
|
||||||
|
955,958 -> 174,177
|
||||||
|
178,522 -> 178,457
|
||||||
|
124,351 -> 74,351
|
||||||
|
265,840 -> 451,654
|
||||||
|
771,914 -> 771,332
|
||||||
|
72,14 -> 72,574
|
||||||
|
970,828 -> 197,55
|
||||||
|
631,744 -> 631,746
|
||||||
|
765,759 -> 119,113
|
||||||
|
260,882 -> 262,882
|
||||||
|
676,760 -> 61,145
|
||||||
|
680,168 -> 959,168
|
||||||
|
466,811 -> 466,745
|
||||||
|
566,242 -> 566,471
|
||||||
|
768,975 -> 768,75
|
||||||
|
391,550 -> 391,591
|
||||||
|
781,678 -> 771,678
|
||||||
|
731,620 -> 951,620
|
||||||
|
973,290 -> 973,664
|
||||||
|
838,691 -> 835,691
|
||||||
|
294,240 -> 378,240
|
||||||
|
390,708 -> 908,190
|
||||||
|
521,933 -> 963,933
|
||||||
|
358,46 -> 919,46
|
||||||
|
431,410 -> 431,297
|
||||||
|
833,706 -> 330,706
|
||||||
|
13,910 -> 876,910
|
||||||
|
619,567 -> 619,398
|
||||||
|
165,779 -> 165,941
|
||||||
|
21,139 -> 21,535
|
||||||
|
921,420 -> 358,420
|
||||||
|
629,111 -> 608,111
|
||||||
|
654,244 -> 654,500
|
||||||
|
982,386 -> 982,841
|
||||||
|
252,127 -> 144,235
|
||||||
|
144,518 -> 144,344
|
||||||
|
581,589 -> 130,138
|
||||||
|
927,835 -> 882,790
|
||||||
|
859,658 -> 320,119
|
||||||
|
110,326 -> 110,168
|
||||||
|
149,64 -> 917,832
|
||||||
|
651,771 -> 897,771
|
||||||
|
788,66 -> 231,623
|
||||||
|
710,608 -> 370,268
|
||||||
|
927,175 -> 778,26
|
||||||
|
957,970 -> 53,66
|
||||||
|
350,313 -> 350,192
|
||||||
|
115,505 -> 129,505
|
||||||
|
414,163 -> 182,163
|
||||||
|
874,334 -> 532,676
|
||||||
|
441,790 -> 441,976
|
||||||
|
66,162 -> 226,162
|
||||||
|
839,453 -> 310,982
|
||||||
|
63,974 -> 132,974
|
||||||
|
51,383 -> 297,137
|
||||||
|
343,954 -> 262,873
|
||||||
|
726,474 -> 637,563
|
||||||
|
449,205 -> 449,279
|
||||||
|
855,845 -> 722,845
|
||||||
|
28,750 -> 33,750
|
||||||
|
272,175 -> 212,235
|
||||||
|
428,172 -> 710,172
|
||||||
|
824,834 -> 824,557
|
||||||
|
25,864 -> 855,34
|
||||||
|
66,425 -> 84,425
|
||||||
|
456,812 -> 456,785
|
||||||
|
286,294 -> 73,294
|
||||||
|
400,329 -> 525,204
|
||||||
|
888,160 -> 888,124
|
||||||
|
879,742 -> 761,742
|
||||||
|
893,751 -> 858,786
|
||||||
|
621,765 -> 10,154
|
||||||
|
162,280 -> 162,889
|
||||||
|
96,830 -> 646,280
|
||||||
|
646,720 -> 250,324
|
||||||
|
367,586 -> 695,258
|
||||||
|
298,353 -> 566,621
|
||||||
|
813,256 -> 813,367
|
||||||
|
559,672 -> 471,672
|
||||||
|
951,187 -> 234,904
|
||||||
|
868,753 -> 80,753
|
||||||
|
91,937 -> 803,225
|
||||||
|
112,142 -> 18,236
|
||||||
|
936,281 -> 936,976
|
||||||
|
95,867 -> 753,209
|
||||||
|
421,735 -> 833,735
|
||||||
|
830,755 -> 963,755
|
||||||
|
355,272 -> 355,70
|
||||||
|
309,479 -> 309,45
|
||||||
|
951,145 -> 676,145
|
||||||
|
513,143 -> 713,143
|
||||||
|
491,565 -> 988,68
|
||||||
|
797,742 -> 596,541
|
||||||
|
581,621 -> 277,317
|
||||||
|
132,480 -> 101,480
|
||||||
|
140,72 -> 375,72
|
||||||
|
524,221 -> 897,594
|
||||||
|
694,549 -> 179,34
|
||||||
|
689,729 -> 689,527
|
||||||
|
27,953 -> 27,32
|
||||||
|
913,774 -> 913,705
|
||||||
|
669,861 -> 669,360
|
||||||
|
454,250 -> 454,344
|
||||||
|
863,95 -> 13,945
|
||||||
|
341,50 -> 341,795
|
||||||
|
863,50 -> 212,50
|
||||||
|
73,689 -> 143,689
|
||||||
|
944,20 -> 31,933
|
||||||
|
22,988 -> 873,137
|
||||||
|
798,552 -> 798,774
|
||||||
|
935,583 -> 935,393
|
||||||
|
462,176 -> 986,176
|
||||||
|
739,400 -> 972,400
|
||||||
|
441,31 -> 441,37
|
||||||
|
628,381 -> 628,339
|
||||||
|
545,345 -> 615,345
|
||||||
|
91,736 -> 373,736
|
||||||
|
825,738 -> 825,687
|
||||||
|
541,877 -> 541,569
|
||||||
|
750,739 -> 390,739
|
||||||
|
873,384 -> 873,665
|
||||||
|
597,61 -> 385,61
|
||||||
|
518,62 -> 229,62
|
||||||
|
623,192 -> 502,192
|
||||||
|
163,861 -> 732,292
|
||||||
|
748,304 -> 873,429
|
||||||
|
375,436 -> 375,655
|
||||||
|
146,228 -> 146,91
|
||||||
|
808,844 -> 243,844
|
||||||
|
174,115 -> 982,923
|
||||||
|
598,384 -> 598,956
|
||||||
|
932,736 -> 843,736
|
||||||
|
772,110 -> 883,110
|
||||||
|
298,960 -> 852,406
|
||||||
|
744,772 -> 693,823
|
||||||
|
605,639 -> 731,639
|
||||||
|
126,770 -> 732,164
|
||||||
|
13,986 -> 988,11
|
||||||
|
756,37 -> 756,164
|
||||||
|
132,900 -> 984,48
|
||||||
|
806,524 -> 331,524
|
||||||
|
84,645 -> 84,195
|
||||||
|
329,447 -> 939,447
|
||||||
|
684,566 -> 793,566
|
||||||
|
747,595 -> 747,181
|
||||||
|
293,121 -> 430,121
|
||||||
|
42,918 -> 826,918
|
||||||
|
32,312 -> 833,312
|
||||||
|
42,309 -> 42,752
|
||||||
|
332,74 -> 736,74
|
||||||
|
699,209 -> 495,209
|
||||||
|
297,113 -> 297,827
|
||||||
|
515,973 -> 515,35
|
||||||
|
774,951 -> 774,290
|
||||||
|
471,921 -> 919,921
|
||||||
|
297,282 -> 297,524
|
||||||
|
477,825 -> 477,343
|
||||||
|
220,665 -> 351,796
|
||||||
|
483,128 -> 376,128
|
1
data/day_6.txt
Normal file
1
data/day_6.txt
Normal file
@@ -0,0 +1 @@
|
|||||||
|
1,4,2,4,5,3,5,2,2,5,2,1,2,4,5,2,3,5,4,3,3,1,2,3,2,1,4,4,2,1,1,4,1,4,4,4,1,4,2,4,3,3,3,3,1,1,5,4,2,5,2,4,2,2,3,1,2,5,2,4,1,5,3,5,1,4,5,3,1,4,5,2,4,5,3,1,2,5,1,2,2,1,5,5,1,1,1,4,2,5,4,3,3,1,3,4,1,1,2,2,2,5,4,4,3,2,1,1,1,1,2,5,1,3,2,1,4,4,2,1,4,5,2,5,5,3,3,1,3,2,2,3,4,1,3,1,5,4,2,5,2,4,1,5,1,4,5,1,2,4,4,1,4,1,4,4,2,2,5,4,1,3,1,3,3,1,5,1,5,5,5,1,3,1,2,1,4,5,4,4,1,3,3,1,4,1,2,1,3,2,1,5,5,3,3,1,3,5,1,5,3,5,3,1,1,1,1,4,4,3,5,5,1,1,2,2,5,5,3,2,5,2,3,4,4,1,1,2,2,4,3,5,5,1,1,5,4,3,1,3,1,2,4,4,4,4,1,4,3,4,1,3,5,5,5,1,3,5,4,3,1,3,5,4,4,3,4,2,1,1,3,1,1,2,4,1,4,1,1,1,5,5,1,3,4,1,1,5,4,4,2,2,1,3,4,4,2,2,2,3
|
1
data/day_7.txt
Normal file
1
data/day_7.txt
Normal file
@@ -0,0 +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,76,39,523,252,920,699,184,945,605,1243,71,604,51,245,1743,833,45,337,1928,224,547,283,413,1264,199,3,75,153,1418,1091,886,1578,1718,228,1679,775,585,98,682,108,1420,223,341,1030,58,8,505,348,7,162,492,125,271,500,495,172,639,313,1073,60,117,210,345,60,357,1061,114,11,768,19,1009,16,49,242,82,461,659,464,672,669,1010,625,148,779,79,447,159,227,419,1105,481,684,742,211,1633,72,554,1237,148,1039,840,302,291,51,693,83,62,337,27,696,65,1146,912,6,75,233,748,844,102,1300,621,1148,77,384,194,863,1305,1501,1193,811,1496,245,109,78,372,719,535,38,444,1245,85,545,1155,147,265,31,699,175,93,1165,645,4,1241,630,483,584,1749,927,1012,571,179,112,425,13,359,269,34,753,1278,414,637,55,155,96,134,232,545,90,169,7,485,25,353,78,19,52,1671,211,53,138,278,87,297,392,743,81,162,612,663,286,231,144,102,1396,574,507,1077,262,12,1047,181,1503,91,660,827,294,173,324,971,862,86,1428,684,440,163,715,1535,231,597,958,1023,1088,1646,617,1696,219,802,149,614,1412,137,35,368,78,259,280,920,52,452,741,109,553,360,151,991,1317,1064,72,252,429,581,286,450,72,50,18,720,598,422,645,349,655,533,1790,644,197,1506,401,332,733,780,276,131,131,606,948,80,1205,85,847,79,194,517,394,3,1234,643,752,121,354,499,20,99,195,194,1401,1050,40,183,1625,3,646,221,598,27,1041,693,527,82,767,495,1338,70,580,178,1473,375,960,66,279,213,836,572,1262,1118,969,275,249,657,1659,590,60,528,177,1463,347,281,481,107,278,412,47,1893,683,717,33,1652,284,317,873,727,119,143,343,88,133,521,1023,52,236,121,7,193,1,66,121,294,156,131,169,52,300,64,640,120,958,130,947,1549,43,580,498,290,492,1047,1264,46,431,1649,607,198,663,129,339,1623,157,62,363,71,898,449,437,803,798,531,80,14,180,1043,828,404,226,186,203,1087,597,1365,457,1371,320,198,66,1046,46,428,1390,78,798,457,443,659,130,212,99,194,30,1518,226,109,350,480,773,117,162,1052,740,320,1090,340,616,1125,78,1006,597,1144,76,583,41,13,674,296,100,736,943,909,948,869,1283,665,68,1107,1127,312,35,940,1250,1240,148,212,188,24,907,313,185,17,412,897,89,379,100,44,601,22,169,784,1232,1262,210,147,185,704,294,157,417,1414,496,525,322,416,438,587,1425,268,939,14,274,598,591,55,31,87,63,14,392,8,423,281,737,634,195,202,275,38,1,278,852,53,1120,585,4,754,619,288,7,10,300,214,263,936,454,185,17,73,283,316,520,407,125,990,411,455,50,725,1431,455,33,261,245,383,127,2,303,98,1574,82,24,550,424,591,263,684,1339,466,519,1098,1100,455,216,1544,665,706,1343,95,131,432,899,993,346,11,185,183,499,704,1579,110,233,41,21,220,693,938,963,4,590,126,199,15,36,1056,1250,1095,49,306,1350,1215,599,162,11,746,5,638,907,166,1486,339,397,1374,903,321,506,196,732,3,76,1269,1238,629,1496,974,1424,30,685,375,260,272,1230,82,30,854,428,24,11,961,245,873,6,1430,119,228,188,131,1395,278,34,88,268,1072,94,380,1203,4,89,55,849,630,269,1079,608,568,1265,328,1008,130,28,670,737,128,806,119,51,47,59,108,1158,102,375,26,122,387,517,231,320,25,591,140,143,474,21,1051,412,84,1501,5,211,24,366,454,2,196,127,1098,592,103,1331,1004,924,605,308,103,1408,223,205,270,53,90,1309,119,979,929,1277,575,394,146,194,3,1855,46,1327,492,1224,884,367,218,1068,89,493,210,1128,220,385,804,668,496,1202,308,262,671,166,13,512,111,840,508,1357,149,792,748,439,1001,1705,58,232,104,68,115,585,678,69,795,104,505,577,564,213,256,64,608,1134,359,17,68,123,776,680,553,198,652,1058,1575,500,797,550,325,32,529,299,207,159,490,600,798,25,473,127,683,813,1347,162,90,231,220,933,2,1023,250,419,39,1049,1315,1179,1264,339,285,84,234,209,781,1293,49,177,118,618,662,126,922,219,222,909,460,811,25,75,223,7,227,613,918,121,238,1016,110,220,1101,360,321,1670,638,170,687,1567,289,433,842,685,1252,470,113,83,163,63,3,710,13,1164,917,16,191,1169,392,213,426,151,1182,107,167,1071,538,1242,1247,116,117,1638,675,498,570
|
200
data/day_8.txt
Normal file
200
data/day_8.txt
Normal file
@@ -0,0 +1,200 @@
|
|||||||
|
dbcfeag cgaed fe bfgad aefcdb efa efgda gcef dcaebg dfeagc | fae cfge fae baefdc
|
||||||
|
ea bfecadg bgafcd deac ebcag eab debfag eabgdc bcgfe bagdc | cdbagf fagbcd bae fcegb
|
||||||
|
fbgdec cbgeaf cbfag bd bgda cgbfda dbf fecda bfadc cbedagf | gecfdb cbfga bacgef dfb
|
||||||
|
geabdf cfbge dcbeaf aebdf dgea acdgfbe fag gfbea ag cabdfg | dfeabc dbaefc fdaebc fga
|
||||||
|
gcae cefdg abdcgfe cg fcg afcegd dbgfea agdfe dcafbg bcdef | gc caefdg gcf egdcf
|
||||||
|
efgcb fbac dbefg bce efacg fbgcdae cb egfbca dgfaec dcgbea | fgecb bcfa bc efcag
|
||||||
|
efcgdb da bdefg dfegba fbacg gbcdea dbafceg adb feda fadgb | da ad cgabde cebdga
|
||||||
|
ca fcabegd facd agbed acg cfadeg acdeg agcefb cdfgeb efcdg | cdeafg cag efgadc gacbfe
|
||||||
|
fdacgb cfa cfage gabce dfagce edagfb dcbfeag fc fced gfdae | gabdef fdegba gaedcf fac
|
||||||
|
acgdbf faedcbg fa cbgdae fgbdae aedbg adf fbea cfdge fedga | fad egdcf feab bfcagd
|
||||||
|
ged cadgf gcdafeb cabgfd cgedf aedc ebfcg faebgd ed fcadeg | dfgca gabefd dafgc ecfgd
|
||||||
|
bcedga dceba gcadfbe dfec adcbfe fda fabge df fbdae bcfgda | adgcfbe fbgae dgebafc gacedb
|
||||||
|
fgcabde edbcfg efcdga dfbcea dbaeg fea fa dbaef acfb dbfec | aecbfd aedcfb bdaef abfc
|
||||||
|
cfbd gefad dce fdeac dc ecabfd dgabce gabdecf afbce fagceb | bdfc bcgaed bgdace afegd
|
||||||
|
acfgde egdfb dcaf gecfd ecdbgfa gcdbae cefgba dcg gcefa cd | eadcbg cdfega fdgeac dgc
|
||||||
|
cadfgb edcgbfa dc cgd fegcb dfabg cdaebg dafc fcbdg gbdeaf | afdc adcf befdag gfcdb
|
||||||
|
deafg ebafdcg gcdfba bge eb fgcbd gbefac bdce fdebg gdcfeb | cbdagf bdce gdfeb fgead
|
||||||
|
acbdef bg agebdf afbcg fgbeca edafcgb eacfb gba ebgc fgcad | begdaf gcbe ebdfag dabefg
|
||||||
|
ga agc bdegcaf gefbc cfdea dafgec fagce dgebca aefbdc gdfa | acfedbg bfaecdg gca facedg
|
||||||
|
abdg ad egcabf ebagf afd gdfceab dcebf dagbef cdgafe deabf | bfedc cbedf gdab afd
|
||||||
|
efbadc cafbd eba fegda fcbe dbefa efcbdag adbcge badfcg be | be agdfe cedbag dcbeaf
|
||||||
|
adegb cgafb badgcfe fged fgaebd eabgf bceafd eaf eacbdg fe | bdgeac adgbfe bdgae acfgbed
|
||||||
|
dbfega befag gbfdec gacfed fcgdabe bgf deagf bf dafb bceag | bdfa cagbe gceba agbdfe
|
||||||
|
fecagd cbfeagd fdecb fg fgbde ebgda cagdbe fge gfab agefdb | geabcd gdbea ebgafd egdab
|
||||||
|
ab agdcfe dcfgb cba adefcb adfbc bdae ebacgf aegbdcf fcade | gfecda dfabc edab bfcad
|
||||||
|
bcfae ebd gefdacb fdceg dbaegc gdbf gcefbd cedfb adfgce bd | gebdcf bd dgfb ebdcgf
|
||||||
|
gbcafde cdaef dfe ecbf egcda fadgcb bfdac dacfbe bgefda ef | dcgafb dfaebg fbec agbdfc
|
||||||
|
fe cfedab dcfgeb gdbef gadeb cegf fgcbd fbe abdcgf ebacgfd | debfg abecfd adbefc gdcbfe
|
||||||
|
ad cbfeda acegfb gdcaeb adcgfbe bda abefc dcabf fgcdb afde | gdcbf cedbaf dbagec becfa
|
||||||
|
acegb efcgab edcfgab aebdc gce ge fage egcdfb agfbc cbdfga | eg cafegb fcbeag acbgef
|
||||||
|
bcaf agefdc bcegaf eaf bdgfe agfdecb efgab af abegc dgacbe | defbg dgaebc eaf cebga
|
||||||
|
edabcf bdeg gd cadebg dgcab gfcaed febdgca cdg beacd cagbf | befadcg fbgca afdecg bgceda
|
||||||
|
gadfeb ag gfda cbeda fbeacg bgdcaef dgfeb eag gbdea fegcbd | cabefg degbcf gdbef bcdgef
|
||||||
|
efbcda cgfd dgefac dfcgbae degaf adg debacg aedcf gd aebgf | ecfad cgbade aegdcb gfbae
|
||||||
|
bdc cdfgb cabgf gabd fdebagc eabgcf bd abdcef gfcabd fgedc | faecdb fgecd cbfdag bcfadg
|
||||||
|
dfagbec ceg egfad fdeabg acedg afedcg gc bcgaef eacdb fdcg | gcfd eadbc dbegcfa eabcd
|
||||||
|
gfb egfba eadcfb gf adfg dgebfa dacfegb eagcb cbedgf fadeb | edfba afgebd adbegf efcbda
|
||||||
|
fec caegd efgb cgaedfb gfbdec gfdbc ef cfdgab fdcge fbaedc | abcdef gcfbd bfegdac gcead
|
||||||
|
gefdba abcef ead gedcab ad bfdecg cbged ebcad cafbdeg cadg | defcgb ade bgecd ceabf
|
||||||
|
cabg adgefbc cb ebafg febgc fbc gdcfe cafedb egfabc aebdgf | bcdafeg ecbafd adbecf fbcge
|
||||||
|
acged febgd agdcfb bdceg gdbecf bc bgc cfeb cfgbaed bgefad | dceag efbc cbfdeg ebcdfg
|
||||||
|
gab adgcbef cebfg abdce dcbefg bafdgc abefgc aegf ag cgbea | gaceb aegf fgcbe cgebf
|
||||||
|
fa baf cadfbge dbgef ebacgd dfceba adbec fdeba cfae dacgfb | dabcef dafcbe acgdbe ecdfab
|
||||||
|
fgeca gecadfb aecdfb fb gcbed dfgb cgdbea ecfgb gfbdec efb | abcedg bf bf agedcfb
|
||||||
|
fg aefgd bafcde gcfe bdgae gfa fedca cagdfb cfaedg ebgacfd | dcfgab dgfea gf cafdgb
|
||||||
|
afbcge debgc cafdbg ae eadf afdgb gbdeaf aeb cgfebad abgde | deaf cbafge cbegd aedbg
|
||||||
|
fbc afcegb fadgc fbeda cbed ecdafb cfdab cb fegdcab bdaefg | cgfad ecbd edafb cgafd
|
||||||
|
fegbcd abcf gfabedc bgcad gfacd gedab efdagc dfgcab cdb bc | fbca cdbag cdfgab cgedbfa
|
||||||
|
gfca gbdef eadcfg ebdcag dcg afecd gc decafbg fcegd bcfade | gcefd bcdafge cdefg edfgc
|
||||||
|
gdae ad gecfd dcfaeb dfegcb gdcaf fdacge adf agbcf cebfgad | dgebafc edfgc da cbgafed
|
||||||
|
ceg febgdca bfgdea gc adcfge cefbag agdc edfcb dfgce gadef | ceg ebdagf agdfe afbgce
|
||||||
|
dabegcf bcdfag gdecb gdbeca gaebd fbdce bdagef cg bgc ecag | dfcabg abfdge gadbe cg
|
||||||
|
dacefb efc gfaebc gbfe egcda agfbdc beadfcg fe fbcga cgafe | ef fbaedc ef efc
|
||||||
|
cbgae faedbg fegab agc ebdgc eacf bgeafc ca cgdbafe gadcbf | eagfb aebgf gcbfad gfeba
|
||||||
|
dcf dacbg bdcaef dfeacg gacfe cdfag fgde faecgb daebcgf df | fcd fecadb egacf deabcf
|
||||||
|
egdfa dfaec gdab ga agf dbefga dgebf afbgecd bgafec bgefcd | fegbd gdfbe begdfc efcbadg
|
||||||
|
cfd edafbc afbd cadbeg fgecbad gcaef dacef df dbcae efcdgb | adbf cabde baegdc cgbeda
|
||||||
|
cbag gc cdgbe defbg agebdfc becda dbgcae cdg efacbd fecgad | fcegabd abgc dacbe cdaebg
|
||||||
|
bf dacgf dfb befc fbedcg gebdc dbacefg abdegf gcdfb bedacg | bfec feagcbd egdcb daegbf
|
||||||
|
aebgfdc gadcf gcdfeb dagce agdeb acfe bgacdf dec gfecad ec | ceadg edcag fdcga cdbagef
|
||||||
|
befdgca dgcbf fedagc be bfe dcefb ecfdba acfed ebca ebgfda | dfbcae bafgdce bgcdf egbdfa
|
||||||
|
bfa bdagfc dbega bfgea eagfdb dbgace bcefg dcbgeaf fa defa | ebcgdaf aecgdbf fgcadb fa
|
||||||
|
agcdeb cgf agbdcef bgdfe efac cgefb abefgc cagdbf fc gebca | fegbc acfe becga deagbc
|
||||||
|
adbfce agebd eadcbfg ega abedf fgab dgebc dgfcea ag agdebf | gdfcabe ebadf ga bfag
|
||||||
|
gcebfd feacdbg acegfb afgce gbac geb cdaefg daefb gb fgbae | agefb gb adfbe efabd
|
||||||
|
gadbfc ebgad dgecba fgae eacgdbf af ebcfd afd bdeaf gadefb | fa bdgaef gdbacf af
|
||||||
|
bfeacd edgcabf dg gcabd cdaeb acfgb bcgdae dgae cgd bgfdec | bedac acbed abcdfge dgc
|
||||||
|
cdage dgabec cbadg ge acfde edg becfagd gbec adbcgf fbeadg | cdbgea cgdaeb cegad gdeac
|
||||||
|
ab gbaf cdegba fceadbg gfbecd bca eadcf fgeabc becfa cebfg | cagfeb cefabg fcbeg eadcgb
|
||||||
|
afdec bcaefg ca abcd efcdg aec aebdf cdafbe begdaf eadgbfc | cdfeg afdce edfac gdfabe
|
||||||
|
faebd fed df bgdcaef cbdega gdbeaf fbecgd badge afebc fadg | dcebfg dgaf fd cdegfba
|
||||||
|
abdgf efg fe gdeabf cdbge cfadeg gdbef cafgdeb fbea bgcadf | bgdfe fabe gbfadc gbfcda
|
||||||
|
agdfe cfbd dgfca cd abgfc cdgbea gbecfa gbadcef cda dfgbac | cegfba fbcd bfdc dca
|
||||||
|
acdb bdcega dbfcge aedfgb dec fcega dc adegc fgceabd gaedb | badeg bdecgf cd cdageb
|
||||||
|
abe ab dbecfag adgec agbf eadbg cbeafd fbcegd gadbfe bfgde | ebgfd efdgb gceadbf ba
|
||||||
|
dgfceba egbcaf fgc bfgdca cbgfe cg faebc agce gdfeb debcaf | bedfac edbfg aegc eabcdgf
|
||||||
|
bdfac dcfeb dbcefa dbgcaef fbae egdcb fgaecd fec cdbafg ef | bdfagc dcfabg gdbfeca eabf
|
||||||
|
gfca dbcaf bfcgd fcgdeab degcb abcedf cbagfd gfb fg fdgabe | gcaf bfg fbg gf
|
||||||
|
efcagd dbag fgd defgacb aebfg dbgfe bdeafg edfbc gd fgecab | fbeag ecgfabd degacf debgfac
|
||||||
|
efcbg bacfe gbdce fge acegbdf cgdf aebdfg dgbcae ebcdgf gf | caefb cbfdage ecfgb bgedc
|
||||||
|
fgdeb dcbfg fgae fbeagd edbfa aegdbc egb gafecdb bfdeca eg | dgbcea bdaef gfbde dfgbea
|
||||||
|
bdcaf gdafc cbf bdefa cb fgceda bdfagc fcbgde afcgedb cbga | gbca fbdca cegfdb fcagd
|
||||||
|
cfebgd cedgfa dcfabge dbfgc dgeb ge fcegb gfe abfdcg fecab | fge fabec gfbadec bfceg
|
||||||
|
aeb ab gebfd abcdef edcag cdegaf gaedbc bgfecda debag gbac | beacgd bdfeg afgecd gedbf
|
||||||
|
ab gebfadc acfge edafbc abegc dcegab gbecfd gbda cab ebcdg | dagb cegfa bca bac
|
||||||
|
gaedb ebcd fgcea cba dcgafb febadg egcab adcbge efgadcb cb | dfcagb cbed bagce dbce
|
||||||
|
ca dgfceb bfeacd fcbgd bdgca cfag gaedb abc fcbagd fgecadb | cgdfab cfag bac cbfegad
|
||||||
|
gade gafcb bfgecd bge ecbda gdcbea eg beacg fdaecb agfbecd | dgae bgfca abegc cfdebg
|
||||||
|
eac cdbef ac gfdae dagc afcedgb dcfae dafcge dbfega caebfg | gafceb dbeacgf cdga fbcde
|
||||||
|
dbagfc bgedca df afgec daf beagdfc aefcbd bedac acfed dbfe | bedca cdaef baecfd befcad
|
||||||
|
fdacb baedc acedfb bacedg fd gfcab ecdf daf fedgba befgdac | egabcd cedab eabdfg adf
|
||||||
|
efdgc dfecga adfbe ac cage adc gfbdec cagbfd efdabgc caefd | efdab efdgcab ca cedfg
|
||||||
|
ca acgf cadbgfe egfcab gefab cea defbc fecab edbcga fbgdae | cfeba efdcbag dacebg agefcdb
|
||||||
|
bcedfa agecd ebgf fcbdg fde cgfed acgbfd cagfdeb ef cgbdef | fgeb bcfdg def ef
|
||||||
|
bfcdea ga fbdegac gecdf cfdab bcgadf facdg aegbcd gac afgb | cbadfg facdb afbg dfecba
|
||||||
|
fdcae afeg fa bceda dfebcga afcgdb dgecf acf fgceda cbfdeg | fa bdfcga fcbegd efacd
|
||||||
|
efgbcd cf bdgace fgbad dfc fceabd dbaegfc bdcgf becdg gfce | bcedaf adbegc badgec bgcfd
|
||||||
|
efcba ebdfga fda gdefbc da facde dacg fgedc gfeabcd acdefg | da bgafde cegfd edafgb
|
||||||
|
daegb cbge bgcaed afgced ge cdabe fdbcaeg fcbeda bgfda eag | gae egcb egbc egdafcb
|
||||||
|
cefda fadg bfedac bedfacg dgecfa eag ga fegcb becagd gcefa | dcfea eag cedfa bgfcaed
|
||||||
|
dcfe gbeafd df bdcaf ebfcag fcedagb cdbag dcfaeb eabcf fbd | dfce geacbf cefd ebdacf
|
||||||
|
efgbc agbd gd eadgcf becdfa bdace dge debgc adecgb bfdgcae | bgcfe bedcg abgd gdba
|
||||||
|
cdbf edbfgc feadg cd ced gaecdb degfc efcgb fcbgaed befcga | cfabgde fgdcbe efacgb abgcef
|
||||||
|
ae caegfd eadgc fedgba fecgd gbacd efac aed afcbged cgdbef | ae eacf abdegcf eda
|
||||||
|
fc afcge dbgecf adcgfe eafbg gdebacf eagcd gfc aecdgb afcd | cfg dgeac afbge edgcba
|
||||||
|
aedcg gfd cafgebd fg eadbgc adfcb cefg gabefd dacfg efcgda | dgeca afgedb cfdga aefgcd
|
||||||
|
bfgaed facedb fbec dbgca cagfbde egcfda efdac acbfd fbd fb | efbc agcdb fagdbe bacdf
|
||||||
|
fac dcae fgbda fagbce bdfac cbdfe ca cadbfe aegcdfb cebdfg | cdea cfbdeg ac afdcb
|
||||||
|
geabcfd gfcaeb gcbead eba facbg fdgcab ea bgafe fdgbe caef | bagef cafgb afbeg cbgaf
|
||||||
|
gcfdeb ceg fabcge edbag fcabdg bcgaf ceaf ec agefbdc cbega | bgafc baecgdf bcfged gbdfeac
|
||||||
|
cf adgef cfgbaed bfdc gfc egcdfb dcgaeb degbc fcedg ecagfb | fdbc cgdbe gdabce gfdce
|
||||||
|
bc afgcb cfdga dfcb cbdgea bgc efcgdab cfedga beafg bagcfd | bc bc cbfadg adcbge
|
||||||
|
egdfb fa agfbe eacf befagc fba fbedacg cadebg agcbe cfgbda | bagfec bcdgaf cbfgad dgcbfa
|
||||||
|
acgbde acgdbef cba ca bcgfd cade egdafb aebgfc agbed adgcb | fdgbc gbadef gfcdbae edfgab
|
||||||
|
egbac efacgd gfbd fbcdag fecbad dgc badcf gfcebda dbcag dg | bacdg facbegd cgd dfcgae
|
||||||
|
adgcf fbgcda efcgda dcbea fedg cfebag fae ef acdef gecbfda | fcagd gcadf gcefdba gefabc
|
||||||
|
fegdba ba cedgaf gbade bfad egfda gba cadbgef gbced fcaegb | gedaf bdega abgde bafd
|
||||||
|
gbacef gdab defgc bagfdc dfb afgcb efdbac bd dfbcg befcgad | cdgef bd gbfac ecbgfad
|
||||||
|
fgacd ef dagfce ecdfa fae adfbgc cegf febdga ceabd bgacedf | abcgfed gfce fae efacgdb
|
||||||
|
fbgdc afedg gcbafd gfedbc cfdag acd fbdeacg acbfde cgab ac | gdcbf cedfbg dacgf dcafg
|
||||||
|
becf feadb abfedc dfcageb gcbda bafedg aec daecfg acdbe ec | abdef fdeacg ace ecbf
|
||||||
|
dc cbfegda bfeadg dbcg gabfd adc dbcfga bface fgcade fdabc | dacbgf dc cdfba dc
|
||||||
|
bc bfgedc fbc adfbceg cegb degcf eabdf defcb cdfgae fcagbd | bcefd gceb fcagde cbfgad
|
||||||
|
ge cabgd egca egd adgbecf bfdagc decbag agbde deafb ebdgfc | cagdfb bgecda cgedba fabdcg
|
||||||
|
cg cfagbd gcedfa efdbc gcd gbefda fegad efdcg caegdbf agce | fgced dgfacb befdagc cefgda
|
||||||
|
bfedgc bec ce fcaebd efabg gdec cgfdb aebdfcg bfgcda cgbfe | agebf bgdcfe ec agcbdf
|
||||||
|
db dfcbge edgfca gabd dcb agfcd bafcd afbgcd ebafc edgfbca | acfdg cbdfa afceb gbda
|
||||||
|
cadegbf egdfbc adc acbdg dgbcf adgfbc da cgfdae fbda ebcga | dgacb bagdc fgcbd aegbc
|
||||||
|
geacf abc gfedba cbadfg dbcg gfdba cagfb cb bfdcae adfecbg | cb eadfgb bcfag dgcb
|
||||||
|
abdfcge adbeg badcef egcf fg fgb fbdec gebfd abgfcd gfebdc | cbeadgf cfdbag gfdbe gf
|
||||||
|
facdbe acgfbd dbc bd abgcd adceg bcegfa fdgb bfgca badcfeg | ceafdb bfcag dcgba bgdf
|
||||||
|
gcda cadbe abcedf cabeg edbgcf begcda begaf cg acbdefg gbc | dbace gdbeac dacfgbe abdce
|
||||||
|
cgf gf fadegbc afgcde abgced fecba ceagf dcagbf fgde cdaeg | gdebacf gf gdfe cfega
|
||||||
|
abdef bc gecaf dbcgfae cbfg efcba bac acebfg degcba dcegfa | bcfadeg afceb edfgac gcabed
|
||||||
|
bfcged bgdac becad fagc aegbdfc gacfdb dbgfc dafgbe ga bga | fgdecab abdcg cefabdg egdbfa
|
||||||
|
abcfg baecf agec fcgaeb agedbf ag dacfbeg bag eafcdb fcgdb | bcdfea efdabg ga fdbgc
|
||||||
|
ba baf dfbgce cgab cefgdab efcad efacbg cgfeb ebafgd cafeb | fdcegb abf baf ecabf
|
||||||
|
cegafd egdcba gbedf cgfde cfad ecf fcegadb eagdc bgaefc cf | bfged defgb gbfed efc
|
||||||
|
gedfa abdce fadbe ebfc fba badgce bf gabefcd fdbgac befcad | bcdgaf fdbgca bfa fgbdca
|
||||||
|
bacef cg dgabec agfc edfgb cge agfdbec fcabeg cgebf abfdce | decfbga cagf adcgbe dgefb
|
||||||
|
eafgd ce fbgaced ecfga eafdgc gdce cea cefdba cbfag bdgafe | eadfbg dgec efgca degfa
|
||||||
|
decgabf fecd acd acbegf agdec gabed gacbfd faceg cd fgeadc | dc dcafge abecgf dc
|
||||||
|
egd fdaebg gcbeadf fcdge ge adecf gbce dgfbac dcfgeb gdbcf | fdcae gfdbea bdfcg eg
|
||||||
|
ad cbafe dabe dfa gbfcea ceafd dcbagf fabdce bfceadg dfgec | cebaf aecbgdf cgdbfa fbaec
|
||||||
|
fc cdgbae gfcbad badcg fcdba feadb fac cgefad fdgbeac gfbc | cf cfabd caf gdfcea
|
||||||
|
fdgace edac cdfag de dcfge facebgd cgebf dfebag def bafgdc | fdgac gacfbed edgacf dgcfa
|
||||||
|
gedfac acedb fbcadge acgefb dbgf fdaeb dgafe fgaedb bf fba | fb bf bf agefcd
|
||||||
|
gefbdca fagbed cgaeb gf ebdfa gdbf afebg feg feadcb geacfd | egf fedab gaefb eagbf
|
||||||
|
efadgbc bfag edgcb cga cefab afbegc ga gaebc eafcdb daefgc | ga acg gcfbade dgecb
|
||||||
|
efcgbd gebcf gcadbf agfce fcdeagb gfa ageb aefdc ga gacbef | gcebaf geba acfde fga
|
||||||
|
ga adbg fdeac gfa fdgbcae dgfabc cfgdb fegbdc fcabge agcdf | adbcfg efadc agcdf cgdbf
|
||||||
|
febdc dacfeb gbfce cfgae bge bgdf dgcfbea baecdg gb ecfgbd | gb fcedb becdf gb
|
||||||
|
bgacfd cdfabeg adgce bcegd acdefg gb cgb bgae ecbadg bdfec | adcbfg gdfcea deafbcg ceadfg
|
||||||
|
bc gdfeac fbaec egfcba dacbeg cab gacbfde eabfd faceg fgcb | afbegc cdgabe bagecf ebcdga
|
||||||
|
fd dfe fdgae abegfd dbcaeg dfgb caedbf efcag dageb dbfeagc | dgfb gaedbf gfbd dgfcabe
|
||||||
|
agefbc aefdb abdge cdef bfdcga dacbf fe gbdcefa eabcdf efb | cdbefa adfcbg fecagdb ebf
|
||||||
|
gbade adecfg abegcdf dcbfa cgbafd cfeb dfaebc fe feabd efa | dbcfea bcfe fecb bafde
|
||||||
|
dfba dfc efbac cgead ecfgab gdfecb edacbf df afced bgecfad | afdce bcfegd efgbac adgce
|
||||||
|
abfcg egacf bceafg dabgc fgb fb fbecadg fbce gafcde gfdbea | abdgc defagb cbef egcaf
|
||||||
|
caegb decgbfa cebf edacg cgfbae gbc gfbea baedgf bc bfcdag | agebc bgcae cbg gefba
|
||||||
|
ad gadf feacg aed agbfce egcda fedcba abcdgef bcdge gecafd | gedfca ad febgac dcaebf
|
||||||
|
cegbd bgcfda dbfeag acef gcead cagfde dcfga gae fagbced ae | defgab dacgf cebdg gecdfa
|
||||||
|
fag edfcg cdfa fa ceagfd fdgabe gebac egbfcd egdcfab gcaef | acebg fag fgdec dfegcb
|
||||||
|
abe bcdfa acdbgf befd eadbc acbfgde eb fgcaeb gacde fcdbea | eadbc afdgbc bgaefc cabfdeg
|
||||||
|
afdgce dgabe dgfbe bdegfc dfg agcbdfe fd abegfc dcfb bfgce | debag bedgf ebdcfg cgebafd
|
||||||
|
dgfcea eagcbd gfceb adgb cgdeb dg eacdbf bedcafg dge abedc | ecbgf dg dbfcgea ebcad
|
||||||
|
dgecf badfce egcdfab efabd edfca ac badc gbcfae eagdfb caf | feadc febad dacef caf
|
||||||
|
gfb bacgde acbdgf afbd bdgca bf bgfdcea ecfag dgfecb fbcag | fbgdcae gdfbca fbg fgaec
|
||||||
|
bcdg dc gedabc dec cdeag cbedaf gfaebc dafge bcegdaf agceb | dfage bcefad cfbage fdgae
|
||||||
|
gc cag agbec dacbe dcbg edcbgaf gdcfae dacebg eabfg febacd | gc cbdg gc fedcba
|
||||||
|
gfdbace edbc ecfgab efcdbg ce fdcabg fedga egc cbdgf gedfc | ecdb edgfbc eagcfb cdafbg
|
||||||
|
afceg bgdeaf daceg degacb fe dfec adfgec acdgefb gcbfa gfe | efg gcfea dcfe fcgea
|
||||||
|
bdca gcfdbea dc acbedf gbfde cagefd cfebag dcf bdcfe ebafc | eafbc bcfage defcb agcbfe
|
||||||
|
cabefg adgeb fd dacf afgcb bgefdca decbfg fbd dafgb dfagbc | gbfca cbeagf cfbgad fbd
|
||||||
|
bacgef defcga afdgebc facebd afebc badc bdfeg dc dbfec dce | adbc eafdcb dabc fgedb
|
||||||
|
cdf decb fagec dc dcgbaf bacfgde gdfeb efbadg efgbdc cfged | ecgfa efgbd fedgab dc
|
||||||
|
faebgd egdfcb gecadb gdbce ag aeg cgeab gacd faecb debcafg | ag fdeabg decbg ag
|
||||||
|
eagc bdegf ga gdaef adg cbgdaf cfaegd dabfce adcegbf dfeac | acedfg agd cega bgefd
|
||||||
|
cfgbe ceadf ab cbefag cegfbd bega egdfcab fba gbfacd efcba | ceafbg abf ecfba ba
|
||||||
|
fgdce ecgbaf gebd bfg fdbac dfacge fbegdc cgbdf dacbfeg gb | aebcgfd cdabf ebdg egdcaf
|
||||||
|
febda edagf egf gdcf bcgafed fg agcbfe caged gcadeb dgaefc | cegbad gcdf gaedc ebdgca
|
||||||
|
eabgf fbdcg dfecag acebgf bafdge fbgce ecf eacb begfacd ec | fbgea gcefb fegcad decfag
|
||||||
|
fabgcd febdac acgdf beagc dgaec de eafcdg dcfbeag dae fdge | fcdgea ceadg fegd bdcaef
|
||||||
|
bcafeg ecbad dcfe ecbgafd gdefab dfabce de cadgb ebd fcaeb | bed bgeafd fgeacb ecdfba
|
||||||
|
afcgeb gcebf cdbfag cfea bdgfe cbgaf ec gfabecd bedgca egc | gce dacfbg cebfg afec
|
||||||
|
ecdafb cfeag bdgaf febga egabfc eb gbec fcebdga eab dfegac | bea gbafd eab befdac
|
||||||
|
fgbacd fbcedga fgc fg gdaf bcdgef cdfba fabced cgbfa gcabe | egcadfb adgf gbcefd gcf
|
||||||
|
dfbcga caefbd ac gaedbfc afgc afgdb bdgce dgcab fdgaeb dca | afbgd cagf adc bfedga
|
||||||
|
bdgce dbf cgeadfb fd gfbde dfbecg gaebf dacgfb cdebga dcef | fegbd fgbde bgfde fcegbd
|
||||||
|
gbda egadbf bfegd acgfde bfgaec gabef cfbde aefdbcg dg ged | abgefd gdefba deg gfeba
|
||||||
|
afebcd degcfb dce dcfgb degf bdcgafe bdcge gcabdf de cbaeg | de bagec gcdeb ebagc
|
||||||
|
eadcfg dfc gcbfade cd edafb fbcge afdbec agdbef ecfbd bdac | efdab agefdc befad defabc
|
||||||
|
agbedf degbfc begcd ceagdf cgabe ecd dcbf ebfdg abecgfd cd | fdebg fdgbe cdgeb bagdef
|
||||||
|
aefdb degf fdbaeg egb agebd bcfage gcedfab bdagc ge febacd | bgfdae fdge acfdeb deafb
|
||||||
|
cegfba dfcea gbea bac ebafc gdcebf gebcf ba gfdbac gacfdbe | febac aefcb cbfgda cafed
|
||||||
|
ec ecfab feadbg ecb dabfc cbfegd dbafgec feabg caefgb ecag | acbefg afbeg fecgabd bcfad
|
||||||
|
fd decag fagbe beafdg egdacbf gbfcde dbfa agfbec dgf geadf | bfda befgcda fgd adfb
|
||||||
|
af eabfdg edabc dgfabc efga fdbae fcagbed abf gbcdfe efgdb | gefa gfabcd fba gcdfab
|
||||||
|
dbfacg degcb gecdaf adcbg bafegcd dfbag gbdefa ac cabf agc | bcadg afbc bdgfa abcdg
|
||||||
|
efab cbedg aedfbc bfcad geacfd ea fabdcg adbfgce ade ecabd | fdceba bfceda ecgdfa aefcdg
|
100
data/day_9.txt
Normal file
100
data/day_9.txt
Normal file
@@ -0,0 +1,100 @@
|
|||||||
|
9987675345698765453987654321234589999899878923493212345678999998656782467898999899878301234578998787
|
||||||
|
9876543234789765322398743210123567898789767899986101239899789876543101567897898798763212355989987656
|
||||||
|
3987784014897654310987654331235679965697644998765232345997654989765212799956999679854343466799976545
|
||||||
|
2199875323998765421298776542346789434595433498754345456789543499876353489549876542975858977899876439
|
||||||
|
1012965439899896432359987667457896546789322349987656987898932445987454578932987621986767898943989598
|
||||||
|
2125976598798989943467898876589999858899910959898767898976101234598966689431298320987898999432399987
|
||||||
|
3234987987656579894578989987679998769999899898769879999965422345679298995420139434598999896543459875
|
||||||
|
4346799876545456789679877898789769878989798799656989899876563496799109989591298548999689789656598764
|
||||||
|
5956998765434345698989765679895456989678679678943496789988689989898997979989987657987565698787989543
|
||||||
|
6899898764321234567999876989954345696534598789432134679999799976987656765778998769766464989999865432
|
||||||
|
7987679653210155789999997899875456789323999899521012345899899765698943254667999898954353578999654321
|
||||||
|
9696598654323234589788998998986567898919894958933423456789999753459892123458998987893212467898765432
|
||||||
|
8543498765434545679567899987987679987898743147894934567898989432398789334767987876789101298989876543
|
||||||
|
7656789878545656789338989876598789986797654235679895678997878941987678975879896545698914345678987654
|
||||||
|
9868998989656877892129678965439899975498754346998796789986867932954569986798765434567895458989998765
|
||||||
|
8979987798787898921012567894321999874329985459876589899985457899873458987987654323469986567899869876
|
||||||
|
7899876549898959999923456789432398765909876567987678999875322987654567898998773212378997698998754987
|
||||||
|
6534997831999943987894567897543999899899987878998789789964201298765678919679654323456789799987632399
|
||||||
|
5424598942689899876789678987659899988788999989019895699865362349986989103498795434567899899996549989
|
||||||
|
4212349653498789765699989798798789877697898999999924789976457899798993212379986747698946999897998878
|
||||||
|
5334569878989678934998995679987678954545987899789935689987567987649898763467897858789235798789887867
|
||||||
|
6446878989876569976897893459876567893239876797689898789397679893234789654598998979999546999698785458
|
||||||
|
7557989199987457898956789998984348994124965323486789895498798789123569875989109989898969898598654345
|
||||||
|
8998994398796346899545699876543236789549876412345678979569987679023456989878992398767898767469643234
|
||||||
|
9999689987654235695434689987652125678956987954456789768979876568994568999867989987659999955398759345
|
||||||
|
7887578976543123489545679698983234789768998765677993457899765456789878997654878998767899843229898956
|
||||||
|
6543469998768245678956789529865445899879999896798912349998987347899989989653467899879998732019987897
|
||||||
|
7672398999875456989767895439876556789989989999899102356987798456789899878932356789989987643498976789
|
||||||
|
8954987899986567899878976546989667993498979978976212469996549567895798969991245699899998754987685698
|
||||||
|
9769876989987898901989997656898789101997768769895433498765439878934987656789346789788999869876564567
|
||||||
|
9898765778998979312397899767999893249876753656789656569976524989423976546789498997697986998765473456
|
||||||
|
3987654569789765434456976978999974756965432345678987678987734694319887635689989998456894219874321567
|
||||||
|
2198733477678978645797895989989865669876543766799998789599848789998765212678979999367975323985432378
|
||||||
|
3989821234568999756898934599878976798998754567898999897679959899899874323599867895459876434596543458
|
||||||
|
9876432347679549887969423498969987897989865698997899979898767998798765435679756899567987546987654567
|
||||||
|
9876543489789832998953210987658998996579878789876588965939989987659987546789645688979987657898785678
|
||||||
|
3987654579898721239998723976547899987467989999995477894321098765545698687895436577898998898999896789
|
||||||
|
2398766789989654359899644597656999876345697679654356965434197543434989798954323456987899939998987893
|
||||||
|
1239887894678965498788987698987999765234789598765467896545976532129879899996534567896789123976798912
|
||||||
|
0945998923567896997687898999298987653123696439876588987679876549098765945987965778945693239875459901
|
||||||
|
9896789434678999876575999899399199762064594321987678998789989698987654326599878989238789459954345899
|
||||||
|
6797898645789998767434598798989349872165689410198989769899898997898543212367989994345678998986254678
|
||||||
|
5789949756894987654323497687878959989278796521239797653998767876799654302456999965456899987432123689
|
||||||
|
4569439887893998799934598576967898995478897432345698992989545665698775212567899876697899876543234567
|
||||||
|
5678921998969899987899974475459997898567998945456789989878932124569854323498976989989965987654345678
|
||||||
|
6799990199656789876798863212349976987678999896897899879767893234698765434578965699878974598785458789
|
||||||
|
9899989989543298765987652101267895999799998789998998968456789345999879545679854598767943459987569893
|
||||||
|
3998979678932129894598543323458934889934987698999987654345895469876997656789765987659894567998678942
|
||||||
|
1987667569892099989679656445667895679899876597896596543256896567989998789899876798547689978999789531
|
||||||
|
9876553456789989878998767986898996798788995456789987752125789678998999897999987899534567899989898940
|
||||||
|
8765432345679878967999899597959789987576789347899876543234589789987899975689999987656789929876967891
|
||||||
|
8764321234698766556899995329345678987455678956789989684348678999876798764567898998769893212975456932
|
||||||
|
9863210123459654345688989910258789876323589969894398765457789998765679923459987869878999109864349894
|
||||||
|
9854525234598743234567979891345897995474567898989239878767899997654567895678996555989998919753239789
|
||||||
|
9765434545987655455679865789457896986567678967878946989878959876543456789789789434599987898954398679
|
||||||
|
9896565656898766767999954567978965497678989656567898998989245988652346799894698765679876767895976532
|
||||||
|
9987879768999879879878323489989654398789893432349899987690159899721278967923989876798965456987987699
|
||||||
|
8998989879988989998965412397898765219899762101234789996521998798754367899999878987987654347898998987
|
||||||
|
7659395989876897987654323456789898323998753242345678989439887699865456899989769999876543236789019986
|
||||||
|
8543214598765456798987654589896987536789894355456989879598754589876967999877658999997655345678998965
|
||||||
|
7654323679876578969999865678945698545678976566567898769987653479989898998766546898998786457799987654
|
||||||
|
8795498793997989657899976789234987657799987677678965657898794567998789987653234567899898568899998723
|
||||||
|
9989989932398996546789989890123498968989998788789654346789887679899678996442123458901987678999899812
|
||||||
|
9878879993989875237899999989254989979878999899898766869895998997676567894321015667892398789999798923
|
||||||
|
7767767989878943123978999878969978998967899922939878998953219876565456976534124578943469999988697654
|
||||||
|
6553459876767894234568986767898767987656789210125989987994101985432389997645234567894590129876598785
|
||||||
|
5432345985458995679799875456989659876545456991234899876789919996676569987656545678965989239988439986
|
||||||
|
4321359894346789789987654345678943965434345789546799765679898987787878998787656989879879998895321298
|
||||||
|
5430198765497899894298763234567899876521234899987987654598787999898989109898767899998967897654210129
|
||||||
|
6541679876989945999987654345678989987752345678999999766987656579999793212999878999987656789775323234
|
||||||
|
6432589989877899998998765476989978998843459789998939878996545468989654329989999998798787894989876545
|
||||||
|
7543458998965778987679976687898767898754678999987923989876432345678976498978989987659898943497987676
|
||||||
|
8654567987854567896563987798998656899865789019876894599987321238789098987967878998743989932346798888
|
||||||
|
9766779876543488997432398899987745679877892198765789998765450139989129876754568999974567895459999999
|
||||||
|
9877898765632356789543459921096434567988943989654567899986521234678998765323467899865679976598897912
|
||||||
|
9988987654521237989699567899987558978999659876543457899987634656899986544212456789877889987987656893
|
||||||
|
9999996543210357678987998998998667989431968997652346998998785667901997432101348995998994398996545789
|
||||||
|
8932987987631234589476789987689978999599878994321345997899996778929899546712467894239987469997434679
|
||||||
|
7891098876546349679345678965578899998989989989935459876979897889298778994324578943190296599989323567
|
||||||
|
6989129989865478993234567893456799987878998776896567965468789990199656989435678954989987989978934569
|
||||||
|
5678949999976569310123689932345689876569899565789778984345688999987645678945789769979999878767897698
|
||||||
|
4567898999987679453294594321017992985498765434698999993234567898765434899656899998768999765457898987
|
||||||
|
7698987898799789564989695532399891996309899323456789832125678919876325999797999887657987654346789876
|
||||||
|
8999876789654998679879989649989799876212987437899898761012348901985476789898998765431298743235689985
|
||||||
|
9899965689543249998765679998767678965429876556945987652125667899876787899979459963210139852123798954
|
||||||
|
8788754799932129879654587789656567896578987987899876543234799998989898998764349854321298764234567893
|
||||||
|
7656543458794298965443445678932456789789598998901997654345678997693939789943298765432359879876899952
|
||||||
|
6543252345679987654352237899751577899895459789212398897656889986542124599892109887545456989987896541
|
||||||
|
8432101489989999875210128932967698998901345699924569998767994987431023999789213998676569995699965430
|
||||||
|
7654312678999998996321239999878789767892396989895678989879993976545129897678954598789678934567976521
|
||||||
|
8976433589998767987542356789999891557789989978789789467998989897685398789569899989899789325679897432
|
||||||
|
9987544567899655698653468999987910345679878765678992345987878799896987667348798976949895434599789545
|
||||||
|
9999655778999543219766567899876621234598765454567891249876567689929876543237667895435976565987679656
|
||||||
|
8798789989988959309877678999765432545699654323479910134995456578912997632123456789523498878996598977
|
||||||
|
6549891299876898912988989789876547686987543212567891239984323469329876321014567898654569989985456799
|
||||||
|
1234932997764667893499995678987658798998654403459932398765012478998765432125678979866789699876345678
|
||||||
|
0356799876543456994567894567898967899019873212378993987654139989219876843336789565977896579843234589
|
||||||
|
1235789987532345789978943456899878978929764323456789398543248892101998765459895434598965498765445678
|
||||||
|
2356897698421234567899432346789989767899875435668891239654356789432789887567976323699654329876786789
|
||||||
|
3567896543210246788987541457892499848921986546879910129767568996545699998678988434789543210989897899
|
@@ -1,8 +1,8 @@
|
|||||||
include(joinpath(readchomp(`git rev-parse --show-toplevel`), "aoc.jl"))
|
include(joinpath(readchomp(`git rev-parse --show-toplevel`), "aoc.jl"))
|
||||||
import .Aoc: @aoc
|
import .Aoc: @aoc
|
||||||
|
|
||||||
function sliding(in, w)
|
function sliding(in, w::Int64; step::Int = 1)
|
||||||
((@view in[i:i+w-1]) for i in 1:1:length(in)-w+1)
|
((@view in[i:i+w-1]) for i in 1:step:length(in)-w+1)
|
||||||
end
|
end
|
||||||
|
|
||||||
function day1(in, w)
|
function day1(in, w)
|
||||||
@@ -17,12 +17,12 @@ function day1(in, w)
|
|||||||
c
|
c
|
||||||
end
|
end
|
||||||
|
|
||||||
function p1(input)
|
function p1(input::Vector{String})
|
||||||
day1(input, 1)
|
day1(input, 1)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
function p2(input)
|
function p2(input::Vector{String})
|
||||||
day1(input, 3)
|
day1(input, 3)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
63
src/day_10.jl
Normal file
63
src/day_10.jl
Normal file
@@ -0,0 +1,63 @@
|
|||||||
|
include(joinpath(readchomp(`git rev-parse --show-toplevel`), "aoc.jl"))
|
||||||
|
import .Aoc: @aoc
|
||||||
|
using Pipe: @pipe
|
||||||
|
using Combinatorics
|
||||||
|
|
||||||
|
|
||||||
|
function check_line(l, dict, scores)
|
||||||
|
braces = []
|
||||||
|
for b in l
|
||||||
|
if b in keys(dict)
|
||||||
|
push!(braces, b)
|
||||||
|
continue
|
||||||
|
end
|
||||||
|
if length(braces) != 0 && b == dict[braces[end]]
|
||||||
|
pop!(braces)
|
||||||
|
else
|
||||||
|
return scores[b]
|
||||||
|
end
|
||||||
|
end
|
||||||
|
return 0
|
||||||
|
end
|
||||||
|
|
||||||
|
function p1(input::Vector{String})
|
||||||
|
dict = Dict('(' => ')', '[' => ']', '<' => '>', '{' => '}')
|
||||||
|
scores = Dict(')' => 3, ']' => 57, '>' => 25137, '}' => 1197)
|
||||||
|
return sum([ check_line(l, dict, scores) for l in input ])
|
||||||
|
end
|
||||||
|
|
||||||
|
function complete(l, dict)
|
||||||
|
braces = []
|
||||||
|
for b in l
|
||||||
|
if b in keys(dict)
|
||||||
|
push!(braces, b)
|
||||||
|
continue
|
||||||
|
end
|
||||||
|
if length(braces) != 0 && b == dict[braces[end]]
|
||||||
|
pop!(braces)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
out = []
|
||||||
|
for c in reverse(braces)
|
||||||
|
push!(out, dict[c])
|
||||||
|
end
|
||||||
|
return out
|
||||||
|
end
|
||||||
|
|
||||||
|
function p2(input::Vector{String})
|
||||||
|
dict = Dict('(' => ')','[' => ']', '<' => '>', '{' => '}')
|
||||||
|
scores = Dict(')' => 1,']' => 2,'}' => 3,'>' => 4)
|
||||||
|
remaining = filter(x -> check_line(x, dict, scores) == 0, input)
|
||||||
|
a = [complete(x, dict) for x in remaining]
|
||||||
|
out = []
|
||||||
|
for e in a
|
||||||
|
score = 0
|
||||||
|
for c in e
|
||||||
|
score = score * 5 + scores[c]
|
||||||
|
end
|
||||||
|
push!(out, score)
|
||||||
|
end
|
||||||
|
return sort(out)[convert(Int,round(length(out)/2, RoundUp))]
|
||||||
|
end
|
||||||
|
|
||||||
|
@aoc(2021, 10)
|
78
src/day_11.jl
Normal file
78
src/day_11.jl
Normal file
@@ -0,0 +1,78 @@
|
|||||||
|
include(joinpath(readchomp(`git rev-parse --show-toplevel`), "aoc.jl"))
|
||||||
|
import .Aoc: @aoc
|
||||||
|
using Pipe: @pipe
|
||||||
|
using Combinatorics
|
||||||
|
|
||||||
|
|
||||||
|
function step(map, copy, x, y)
|
||||||
|
level = copy[x][y] = map[x][y] + 1
|
||||||
|
if level == 10
|
||||||
|
global flahes = flashes + 1
|
||||||
|
for (x,y) in zip([-1,0,1,-1,1,-1,0,1], [1,1,1,0,0,-1,-1,-1])
|
||||||
|
if x in 1:length(map) && y in 1:length(map[1])
|
||||||
|
step(map, copy, x, y)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function solve(input, part)
|
||||||
|
map = [ parse.(Int, collect(l)) for l in input ]
|
||||||
|
elements = length(map) * length(map[1])
|
||||||
|
sum = 0
|
||||||
|
step = 0
|
||||||
|
|
||||||
|
while true
|
||||||
|
step += 1
|
||||||
|
flash = []
|
||||||
|
flashed = []
|
||||||
|
for x in 1:length(map)
|
||||||
|
for y in 1:length(map[1])
|
||||||
|
map[x][y] += 1
|
||||||
|
if map[x][y] > 9
|
||||||
|
push!(flash, [x,y])
|
||||||
|
push!(flashed, [x,y])
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
while length(flash) != 0
|
||||||
|
x, y = pop!(flash)
|
||||||
|
for (i,j) in zip([-1,0,1,-1,1,-1,0,1], [1,1,1,0,0,-1,-1,-1])
|
||||||
|
nx = x + i
|
||||||
|
ny = y + j
|
||||||
|
if nx in 1:length(map) && ny in 1:length(map[1])
|
||||||
|
map[nx][ny] += 1
|
||||||
|
if map[nx][ny] > 9 && [nx, ny] ∉ flashed
|
||||||
|
push!(flash, [nx,ny])
|
||||||
|
push!(flashed, [nx,ny])
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
for (x,y) in flashed
|
||||||
|
map[x][y] = 0
|
||||||
|
end
|
||||||
|
|
||||||
|
sum += length(flashed)
|
||||||
|
|
||||||
|
if part == 1 && step == 100
|
||||||
|
break
|
||||||
|
end
|
||||||
|
|
||||||
|
if part == 2 && length(unique(flashed)) == elements
|
||||||
|
return step
|
||||||
|
end
|
||||||
|
end
|
||||||
|
return sum
|
||||||
|
end
|
||||||
|
|
||||||
|
function p1(input::Vector{String})
|
||||||
|
solve(input, 1)
|
||||||
|
end
|
||||||
|
|
||||||
|
function p2(input::Vector{String})
|
||||||
|
solve(input, 2)
|
||||||
|
end
|
||||||
|
|
||||||
|
@aoc(2021, 11)
|
43
src/day_12.jl
Normal file
43
src/day_12.jl
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
include(joinpath(readchomp(`git rev-parse --show-toplevel`), "aoc.jl"))
|
||||||
|
import .Aoc: @aoc
|
||||||
|
using Pipe: @pipe
|
||||||
|
|
||||||
|
function visit(map, curr_cave, visited)
|
||||||
|
curr_cave == "end" ? (return 1) : nothing
|
||||||
|
curr_cave[begin] in 'a':'z' && curr_cave ∈ visited ? (return 0) : nothing
|
||||||
|
|
||||||
|
v = copy(visited)
|
||||||
|
push!(v, curr_cave)
|
||||||
|
return sum([ visit(map, e, v) for e in map[curr_cave] ])
|
||||||
|
end
|
||||||
|
|
||||||
|
function visit2(map, curr_cave, visited, d)
|
||||||
|
curr_cave == "end" ? (return 1) : nothing
|
||||||
|
curr_cave == "start" && length(visited) != 0 ? (return 0) : nothing
|
||||||
|
if curr_cave[begin] in 'a':'z' && curr_cave ∈ visited
|
||||||
|
d == nothing ? (d = curr_cave) : (return 0)
|
||||||
|
end
|
||||||
|
v = copy(visited)
|
||||||
|
push!(v, curr_cave)
|
||||||
|
return sum([ visit2(map, e, v, d) for e in map[curr_cave] ])
|
||||||
|
end
|
||||||
|
|
||||||
|
function prepare_input(input)
|
||||||
|
map = Dict()
|
||||||
|
for l in input
|
||||||
|
a, b = split(l, "-")
|
||||||
|
!haskey(map, a) ? (map[a] = [b]) : (push!(map[a], b))
|
||||||
|
!haskey(map, b) ? (map[b] = [a]) : (push!(map[b], a))
|
||||||
|
end
|
||||||
|
return map
|
||||||
|
end
|
||||||
|
|
||||||
|
function p1(input::Vector{String})
|
||||||
|
return visit(prepare_input(input), "start", [])
|
||||||
|
end
|
||||||
|
|
||||||
|
function p2(input::Vector{String})
|
||||||
|
return visit2(prepare_input(input), "start", [], nothing)
|
||||||
|
end
|
||||||
|
|
||||||
|
@aoc(2021, 12)
|
66
src/day_13.jl
Normal file
66
src/day_13.jl
Normal file
@@ -0,0 +1,66 @@
|
|||||||
|
include(joinpath(readchomp(`git rev-parse --show-toplevel`), "aoc.jl"))
|
||||||
|
import .Aoc: @aoc
|
||||||
|
using Pipe: @pipe
|
||||||
|
|
||||||
|
function fold(grid, dir, at)
|
||||||
|
if dir == "x"
|
||||||
|
new = grid[:, 1:at]
|
||||||
|
rest = reverse(grid[:, at+2:end], dims=2)
|
||||||
|
else
|
||||||
|
new = grid[1:at, :]
|
||||||
|
rest = reverse(grid[at+2:end, :], dims=1)
|
||||||
|
end
|
||||||
|
lnewx, lnewy = (length(new[1, :]), length(new[:, 1]))
|
||||||
|
lrestx, lresty = (length(rest[1, :]), length(rest[:, 1]))
|
||||||
|
for y in 1:lresty, x in 1:lrestx
|
||||||
|
new[lnewy-lresty+y, lnewx-lrestx+x] = new[lnewy-lresty+y, lnewx-lrestx+x] || rest[y,x]
|
||||||
|
end
|
||||||
|
return new
|
||||||
|
end
|
||||||
|
|
||||||
|
function prep_input(input)
|
||||||
|
folds = []
|
||||||
|
holes = []
|
||||||
|
for l in input
|
||||||
|
if l == ""; continue; end
|
||||||
|
m = match(r"(\d+),(\d+)",l)
|
||||||
|
if m == nothing
|
||||||
|
c = match(r"(\w)=(\d+)", l).captures
|
||||||
|
push!(folds, [c[1], parse(Int, c[2])])
|
||||||
|
else
|
||||||
|
c = match(r"(\d+),(\d+)", l).captures
|
||||||
|
push!(holes, [parse(Int, c[1]), parse(Int, c[2])])
|
||||||
|
end
|
||||||
|
end
|
||||||
|
max_x = maximum(map(x-> x[1], holes))
|
||||||
|
max_y = maximum(map(x-> x[2], holes))
|
||||||
|
grid = falses((max_y+1, max_x+1))
|
||||||
|
for (x,y) in holes
|
||||||
|
grid[y+1,x+1] = true
|
||||||
|
end
|
||||||
|
return (grid, folds)
|
||||||
|
end
|
||||||
|
|
||||||
|
function print_grid(grid)
|
||||||
|
for y in 1:length(grid[:,1])
|
||||||
|
for x in 1:length(grid[1,:])
|
||||||
|
print(".#"[grid[y,x]+1])
|
||||||
|
end
|
||||||
|
println("")
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function p1(input::Vector{String})
|
||||||
|
grid, folds = prep_input(input)
|
||||||
|
return sum(fold(grid, folds[1][1], folds[1][2]))
|
||||||
|
end
|
||||||
|
|
||||||
|
function p2(input::Vector{String})
|
||||||
|
grid, folds = prep_input(input)
|
||||||
|
for (dir, at) in folds
|
||||||
|
grid = fold(grid, dir, at)
|
||||||
|
end
|
||||||
|
print_grid(grid)
|
||||||
|
end
|
||||||
|
|
||||||
|
@aoc(2021, 13)
|
58
src/day_14.jl
Normal file
58
src/day_14.jl
Normal file
@@ -0,0 +1,58 @@
|
|||||||
|
include(joinpath(readchomp(`git rev-parse --show-toplevel`), "aoc.jl"))
|
||||||
|
import .Aoc: @aoc
|
||||||
|
using Pipe: @pipe
|
||||||
|
|
||||||
|
function sliding(in, w::Int64; step::Int = 1)
|
||||||
|
((@view in[i:i+w-1]) for i in 1:step:length(in)-w+1)
|
||||||
|
end
|
||||||
|
|
||||||
|
function prep_input(input)
|
||||||
|
pairs = Dict()
|
||||||
|
for pair in sliding(input[1], 2)
|
||||||
|
!haskey(pairs, pair) ? (pairs[pair] = 0) : nothing
|
||||||
|
pairs[pair] += 1
|
||||||
|
end
|
||||||
|
|
||||||
|
dict = Dict()
|
||||||
|
for l in input[3:end]
|
||||||
|
p, t = split(l, " -> ")
|
||||||
|
dict[p] = (p[1] * t, t * p[2])
|
||||||
|
end
|
||||||
|
return (pairs, dict)
|
||||||
|
end
|
||||||
|
|
||||||
|
function step(pairs, dict)
|
||||||
|
new = Dict()
|
||||||
|
for pair in keys(pairs)
|
||||||
|
p1, p2 = dict[pair]
|
||||||
|
new[p1] = get(new, p1, 0) + pairs[pair]
|
||||||
|
new[p2] = get(new, p2, 0) + pairs[pair]
|
||||||
|
end
|
||||||
|
return new
|
||||||
|
end
|
||||||
|
|
||||||
|
function solve(pairs, dict, rounds, last)
|
||||||
|
for _ in 1:rounds
|
||||||
|
pairs = step(pairs, dict)
|
||||||
|
end
|
||||||
|
|
||||||
|
c = Dict()
|
||||||
|
for p in keys(pairs)
|
||||||
|
!haskey(c, p[1]) ? (c[p[1]] = 0) : nothing
|
||||||
|
c[p[1]] += pairs[p]
|
||||||
|
end
|
||||||
|
c[last] += 1 # add one more count for last character in polymer
|
||||||
|
return maximum(values(c)) - minimum(values(c))
|
||||||
|
end
|
||||||
|
|
||||||
|
function p1(input::Vector{String})
|
||||||
|
pairs, dict = prep_input(input)
|
||||||
|
return solve(pairs, dict, 10, input[begin][end])
|
||||||
|
end
|
||||||
|
|
||||||
|
function p2(input::Vector{String})
|
||||||
|
pairs, dict = prep_input(input)
|
||||||
|
return solve(pairs, dict, 40, input[begin][end])
|
||||||
|
end
|
||||||
|
|
||||||
|
@aoc(2021, 14)
|
47
src/day_15.jl
Normal file
47
src/day_15.jl
Normal file
@@ -0,0 +1,47 @@
|
|||||||
|
include(joinpath(readchomp(`git rev-parse --show-toplevel`), "aoc.jl"))
|
||||||
|
import .Aoc: @aoc
|
||||||
|
using Pipe: @pipe
|
||||||
|
using Graphs, SimpleWeightedGraphs
|
||||||
|
|
||||||
|
function prep_input(input)
|
||||||
|
[ parse.(Int, collect(l)) for l in input ]
|
||||||
|
end
|
||||||
|
|
||||||
|
function lowest_cost(grid)
|
||||||
|
q = [(1,1,0)]
|
||||||
|
costs = Dict()
|
||||||
|
while true
|
||||||
|
x,y,c = popfirst!(q)
|
||||||
|
x == length(grid) && y == length(grid[1]) ? (return c) : nothing
|
||||||
|
for (x2, y2) in [(x+1,y),(x-1,y),(x,y-1),(x,y+1)]
|
||||||
|
if x2 in 1:length(grid) && y2 in 1:length(grid[1])
|
||||||
|
cost = c + grid[x2][y2]
|
||||||
|
(x2, y2) in keys(costs) && costs[(x2, y2)] <= cost ? (continue) : nothing
|
||||||
|
costs[(x2, y2)] = cost
|
||||||
|
push!(q, (x2, y2, cost))
|
||||||
|
end
|
||||||
|
end
|
||||||
|
sort!(q)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function p1(input::Vector{String})
|
||||||
|
grid = prep_input(input)
|
||||||
|
return lowest_cost(grid)
|
||||||
|
end
|
||||||
|
|
||||||
|
function p2(input::Vector{String})
|
||||||
|
grid = prep_input(input)
|
||||||
|
newgrid = [ zeros(Int, 5*length(grid[1])) for _ in 1:5*length(grid) ]
|
||||||
|
|
||||||
|
for x in 1:length(newgrid), y in 1:length(newgrid[1])
|
||||||
|
v = grid[x%length(grid)+1][y%length(grid[1])+1]
|
||||||
|
for _ in 1:((x-1) ÷ length(grid) + (y-1) ÷ length(grid[1])) # ÷ performs integer division
|
||||||
|
v + 1 == 10 ? (v = 1) : (v += 1)
|
||||||
|
end
|
||||||
|
newgrid[x][y] = v
|
||||||
|
end
|
||||||
|
return lowest_cost(newgrid)
|
||||||
|
end
|
||||||
|
|
||||||
|
@aoc(2021, 15)
|
73
src/day_16.jl
Normal file
73
src/day_16.jl
Normal file
@@ -0,0 +1,73 @@
|
|||||||
|
include(joinpath(readchomp(`git rev-parse --show-toplevel`), "aoc.jl"))
|
||||||
|
import .Aoc: @aoc
|
||||||
|
using Pipe: @pipe
|
||||||
|
|
||||||
|
|
||||||
|
function decode_packet(p, o, version)
|
||||||
|
version += parse(Int, p[o:o+2], base=2); o+=3
|
||||||
|
type = parse(Int, p[o:o+2], base = 2); o+=3
|
||||||
|
|
||||||
|
if type == 4
|
||||||
|
v = ""
|
||||||
|
while true
|
||||||
|
tmp = p[o:o+4]; o+=5
|
||||||
|
v *= tmp[2:end]
|
||||||
|
tmp[1] == '0' ? break : continue
|
||||||
|
end
|
||||||
|
value = parse(Int, v, base=2)
|
||||||
|
else
|
||||||
|
length_type = p[o]; o+=1
|
||||||
|
sub_values = []
|
||||||
|
if length_type == '0'
|
||||||
|
length = parse(Int, p[o:o+14], base=2); o+=15
|
||||||
|
target = o + length
|
||||||
|
while o < target
|
||||||
|
v, o, version = decode_packet(p, o, version)
|
||||||
|
push!(sub_values, v)
|
||||||
|
end
|
||||||
|
else
|
||||||
|
num = parse(Int, p[o:o+10], base=2); o+=11
|
||||||
|
for _ in 1:num
|
||||||
|
v, o, version = decode_packet(p, o, version)
|
||||||
|
push!(sub_values, v)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
if type == 0
|
||||||
|
value = sum(sub_values)
|
||||||
|
elseif type == 1
|
||||||
|
value = prod(sub_values)
|
||||||
|
elseif type == 2
|
||||||
|
value = minimum(sub_values)
|
||||||
|
elseif type == 3
|
||||||
|
value = maximum(sub_values)
|
||||||
|
elseif type == 5
|
||||||
|
value = sub_values[begin] > sub_values[end] ? 1 : 0
|
||||||
|
elseif type == 6
|
||||||
|
value = sub_values[begin] < sub_values[end] ? 1 : 0
|
||||||
|
elseif type == 7
|
||||||
|
value = sub_values[begin] == sub_values[end] ? 1 : 0
|
||||||
|
end
|
||||||
|
return (value, o, version)
|
||||||
|
end
|
||||||
|
|
||||||
|
function p1(input::Vector{String})
|
||||||
|
packet = ""
|
||||||
|
for c in input[1]
|
||||||
|
packet *= bitstring(Int8(parse(Int, c, base = 16)))[5:end]
|
||||||
|
end
|
||||||
|
v, _, version = decode_packet(packet, 1, 0)
|
||||||
|
return version
|
||||||
|
end
|
||||||
|
|
||||||
|
function p2(input::Vector{String})
|
||||||
|
packet = ""
|
||||||
|
for c in input[1]
|
||||||
|
packet *= bitstring(Int8(parse(Int, c, base = 16)))[5:end]
|
||||||
|
end
|
||||||
|
v, _ = decode_packet(packet, 1, 0)
|
||||||
|
return v
|
||||||
|
end
|
||||||
|
|
||||||
|
@aoc(2021, 16)
|
38
src/day_17.jl
Normal file
38
src/day_17.jl
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
include(joinpath(readchomp(`git rev-parse --show-toplevel`), "aoc.jl"))
|
||||||
|
import .Aoc: @aoc
|
||||||
|
using Pipe: @pipe
|
||||||
|
|
||||||
|
function solve(input)
|
||||||
|
x1, x2, y1, y2 = parse.(Int, match(r"target area: x=(-?\d+)..(-?\d+), y=(-?\d+)..(-?\d+)", input).captures)
|
||||||
|
total = 0
|
||||||
|
best = 0
|
||||||
|
for vx in isqrt(2x1)+1:x2, vy in y1:abs(y1)
|
||||||
|
x,y,maxy = 0,0,0
|
||||||
|
Δx, Δy = vx, vy
|
||||||
|
found = passed = false
|
||||||
|
while true
|
||||||
|
inside = false
|
||||||
|
x += Δx; y += Δy
|
||||||
|
Δx -= sign(Δx); Δy -= 1
|
||||||
|
y > maxy && (maxy = y)
|
||||||
|
if x in x1:x2 && y in y1:y2
|
||||||
|
inside = true
|
||||||
|
!found && (total += 1); found = true
|
||||||
|
maxy > best && (best = maxy)
|
||||||
|
end
|
||||||
|
(found && !inside) && break
|
||||||
|
y < y1 && break
|
||||||
|
end
|
||||||
|
end
|
||||||
|
return (best, total)
|
||||||
|
end
|
||||||
|
|
||||||
|
function p1(input::Vector{String})
|
||||||
|
return solve(input[1])[1]
|
||||||
|
end
|
||||||
|
|
||||||
|
function p2(input::Vector{String})
|
||||||
|
return solve(input[1])[2]
|
||||||
|
end
|
||||||
|
|
||||||
|
@aoc(2021, 17)
|
69
src/day_18.jl
Normal file
69
src/day_18.jl
Normal file
@@ -0,0 +1,69 @@
|
|||||||
|
include(joinpath(readchomp(`git rev-parse --show-toplevel`), "aoc.jl"))
|
||||||
|
import .Aoc: @aoc
|
||||||
|
using Pipe: @pipe
|
||||||
|
using Combinatorics
|
||||||
|
|
||||||
|
function addn(v, n, dir)
|
||||||
|
n == nothing && (return v)
|
||||||
|
typeof(v) == Int && (return v+n)
|
||||||
|
if dir == "left"
|
||||||
|
return [addn(v[1], n, "left"), v[2]]
|
||||||
|
else
|
||||||
|
return [v[1], addn(v[2], n, "right")]
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function arrexplode(v, n = 4)
|
||||||
|
typeof(v) == Int && (return (false, nothing, v, nothing))
|
||||||
|
n == 0 && (return true, v[1], 0, v[2])
|
||||||
|
|
||||||
|
l, r = v
|
||||||
|
exploded, t, l, w = arrexplode(l, n-1)
|
||||||
|
exploded && (return true, t, [l, addn(r, w, "left")], nothing)
|
||||||
|
exploded, t, r, w = arrexplode(r, n-1)
|
||||||
|
exploded && (return true, nothing, [addn(l, t, "right"), r], w)
|
||||||
|
|
||||||
|
false, nothing, v, nothing
|
||||||
|
end
|
||||||
|
|
||||||
|
function arrsplit(v)
|
||||||
|
if typeof(v) == Int
|
||||||
|
v > 9 && (return true, [v ÷ 2, Int(round(v/2, RoundUp))])
|
||||||
|
return false, v
|
||||||
|
end
|
||||||
|
l, r = v
|
||||||
|
changed, l = arrsplit(l)
|
||||||
|
changed && (return true, [l,r])
|
||||||
|
changed, r = arrsplit(r)
|
||||||
|
|
||||||
|
changed, [l,r]
|
||||||
|
end
|
||||||
|
|
||||||
|
function arradd(l, r)
|
||||||
|
sum = [l,r]
|
||||||
|
while true
|
||||||
|
changed, t, sum, w = arrexplode(sum)
|
||||||
|
changed && continue
|
||||||
|
changed, sum = arrsplit(sum)
|
||||||
|
changed && continue
|
||||||
|
break
|
||||||
|
end
|
||||||
|
sum
|
||||||
|
end
|
||||||
|
|
||||||
|
function magn(v)
|
||||||
|
typeof(v) == Int && (return v)
|
||||||
|
3*magn(v[1]) + 2*magn(v[2])
|
||||||
|
end
|
||||||
|
|
||||||
|
function p1(input::Vector{String})
|
||||||
|
numbers = [ eval(Meta.parse(x)) for x in input ]
|
||||||
|
magn(reduce(arradd, numbers))
|
||||||
|
end
|
||||||
|
|
||||||
|
function p2(input::Vector{String})
|
||||||
|
numbers = [ eval(Meta.parse(x)) for x in input ]
|
||||||
|
maximum([magn(arradd(l,r)) for (l, r) in Combinatorics.permutations(numbers, 2)])
|
||||||
|
end
|
||||||
|
|
||||||
|
@aoc(2021, 18)
|
86
src/day_19.jl
Normal file
86
src/day_19.jl
Normal file
@@ -0,0 +1,86 @@
|
|||||||
|
include(joinpath(readchomp(`git rev-parse --show-toplevel`), "aoc.jl"))
|
||||||
|
import .Aoc: @aoc
|
||||||
|
using Pipe: @pipe
|
||||||
|
using Combinatorics
|
||||||
|
|
||||||
|
function prepare_input(input)
|
||||||
|
dict = []
|
||||||
|
tmp = []
|
||||||
|
for l in input
|
||||||
|
l == "" && continue
|
||||||
|
m = match(r"--- scanner (\d+) ---", l)
|
||||||
|
if m != nothing
|
||||||
|
length(tmp) != 0 && push!(dict, tmp)
|
||||||
|
tmp = []
|
||||||
|
continue
|
||||||
|
end
|
||||||
|
push!(tmp, parse.(Int, split(l, ",")))
|
||||||
|
end
|
||||||
|
dict
|
||||||
|
end
|
||||||
|
|
||||||
|
function align(a,b, negs, distances)
|
||||||
|
a2 = Set(a)
|
||||||
|
for re in 1:6, neg in negs
|
||||||
|
newb = [ neg .* collect(Combinatorics.permutations(s,3))[re] for s in b ]
|
||||||
|
for p1 in a2, p2 in newb
|
||||||
|
count = 0
|
||||||
|
remapped = []
|
||||||
|
dist = p2 .- p1
|
||||||
|
for b2 in newb
|
||||||
|
to_a = b2 .- dist
|
||||||
|
to_a in a2 && (count += 1)
|
||||||
|
push!(remapped, to_a)
|
||||||
|
end
|
||||||
|
if count >= 12
|
||||||
|
println("match $dist")
|
||||||
|
push!(distances, dist)
|
||||||
|
return true, remapped
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
return false, []
|
||||||
|
end
|
||||||
|
|
||||||
|
function p1(input::Vector{String})
|
||||||
|
@info "Something is brken. This may take 5 minutes or more to get a slightly wrong result."
|
||||||
|
negations = [
|
||||||
|
[1,1,1],
|
||||||
|
[-1,1,1],
|
||||||
|
[1,-1,1],
|
||||||
|
[1,1,-1],
|
||||||
|
[-1,-1,1],
|
||||||
|
[-1,1,-1],
|
||||||
|
[-1,-1,-1],
|
||||||
|
[1,-1,-1]
|
||||||
|
]
|
||||||
|
list = prepare_input(input)
|
||||||
|
aligned_idx = Set(1)
|
||||||
|
aligned = Dict(1 => list[1])
|
||||||
|
beacons = copy(list[1])
|
||||||
|
dont_align = Set()
|
||||||
|
distances = [[0,0,0]]
|
||||||
|
while length(aligned_idx) < length(list)
|
||||||
|
for i in 1:length(list)
|
||||||
|
i in aligned_idx && continue
|
||||||
|
for j in sort(collect(aligned_idx))
|
||||||
|
println("checking $i against $j")
|
||||||
|
(i,j) in dont_align && continue
|
||||||
|
found, remapped = align(aligned[j], list[i], negations, distances)
|
||||||
|
if found
|
||||||
|
push!(aligned_idx, i)
|
||||||
|
aligned[i] = remapped
|
||||||
|
beacons = vcat(beacons, remapped)
|
||||||
|
break
|
||||||
|
end
|
||||||
|
push!(dont_align, (i,j))
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
return length(beacons)
|
||||||
|
end
|
||||||
|
|
||||||
|
function p2(input::Vector{String})
|
||||||
|
end
|
||||||
|
|
||||||
|
@aoc(2021, 19)
|
41
src/day_2.jl
Normal file
41
src/day_2.jl
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
include(joinpath(readchomp(`git rev-parse --show-toplevel`), "aoc.jl"))
|
||||||
|
import .Aoc: @aoc
|
||||||
|
|
||||||
|
function sliding(in, w::Int64; step::Int = 1)
|
||||||
|
((@view in[i:i+w-1]) for i in 1:step:length(in)-w+1)
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
function p1(input::Vector{String})
|
||||||
|
d = [0, 0]
|
||||||
|
for i ∈ input
|
||||||
|
c = match(r"(\w+)\s(\d+)", i).captures
|
||||||
|
if c[1] == "forward"
|
||||||
|
d[1] += parse(Int, c[2])
|
||||||
|
elseif c[1] == "down"
|
||||||
|
d[2] += parse(Int, c[2])
|
||||||
|
elseif c[1] == "up"
|
||||||
|
d[2] -= parse(Int, c[2])
|
||||||
|
end
|
||||||
|
end
|
||||||
|
prod(d)
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
function p2(input::Vector{String})
|
||||||
|
d = [0, 0, 0]
|
||||||
|
for i ∈ input
|
||||||
|
c = match(r"(\w+)\s(\d+)", i).captures
|
||||||
|
if c[1] == "forward"
|
||||||
|
d[1] += parse(Int, c[2])
|
||||||
|
d[2] += parse(Int, c[2]) * d[3]
|
||||||
|
elseif c[1] == "down"
|
||||||
|
d[3] += parse(Int, c[2])
|
||||||
|
elseif c[1] == "up"
|
||||||
|
d[3] -= parse(Int, c[2])
|
||||||
|
end
|
||||||
|
end
|
||||||
|
prod(d[1:2])
|
||||||
|
end
|
||||||
|
|
||||||
|
@aoc(2021, 2)
|
60
src/day_20.jl
Normal file
60
src/day_20.jl
Normal file
@@ -0,0 +1,60 @@
|
|||||||
|
include(joinpath(readchomp(`git rev-parse --show-toplevel`), "aoc.jl"))
|
||||||
|
import .Aoc: @aoc
|
||||||
|
using Pipe: @pipe
|
||||||
|
|
||||||
|
function prepare_input(input)
|
||||||
|
code = [ (c == '#') for c in input[1] ]
|
||||||
|
image = []
|
||||||
|
|
||||||
|
for l in input[3:end]
|
||||||
|
push!(image, [ (c == '#') for c in l ])
|
||||||
|
end
|
||||||
|
code, image
|
||||||
|
end
|
||||||
|
|
||||||
|
function neighbours(i,j)
|
||||||
|
( (i+y,j+x) for (y, x) in zip([-1,-1,-1,0,0,0,1,1,1], [-1,0,1,-1,0,1,-1,0,1]))
|
||||||
|
end
|
||||||
|
|
||||||
|
function get_value(image, y, x, bool)
|
||||||
|
( 1 <= y <= length(image) && 1 <= x <= length(image[1])) && return image[y][x]
|
||||||
|
bool
|
||||||
|
end
|
||||||
|
|
||||||
|
function apply_alg(image, code, bool)
|
||||||
|
w = length(image[1])
|
||||||
|
h = length(image)
|
||||||
|
newimage = []
|
||||||
|
for y in 0:h+1
|
||||||
|
row = []
|
||||||
|
for x in 0:w+1
|
||||||
|
values = [ get_value(image, y2, x2, bool) for (y2,x2) in neighbours(y, x)]
|
||||||
|
idx = parse(Int, join(map(b->b ? 1 : 0, values)), base=2)
|
||||||
|
push!(row, code[idx+1])
|
||||||
|
end
|
||||||
|
push!(newimage, row)
|
||||||
|
end
|
||||||
|
newimage
|
||||||
|
end
|
||||||
|
|
||||||
|
function p1(input::Vector{String})
|
||||||
|
code, image = prepare_input(input)
|
||||||
|
bool = false
|
||||||
|
for _ in 1:2
|
||||||
|
image = apply_alg(image, code, bool)
|
||||||
|
bool = !bool
|
||||||
|
end
|
||||||
|
return sum(vcat(image...))
|
||||||
|
end
|
||||||
|
|
||||||
|
function p2(input::Vector{String})
|
||||||
|
code, image = prepare_input(input)
|
||||||
|
bool = false
|
||||||
|
for _ in 1:50
|
||||||
|
image = apply_alg(image, code, bool)
|
||||||
|
bool = !bool
|
||||||
|
end
|
||||||
|
return sum(vcat(image...))
|
||||||
|
end
|
||||||
|
|
||||||
|
@aoc(2021, 20)
|
54
src/day_21.jl
Normal file
54
src/day_21.jl
Normal file
@@ -0,0 +1,54 @@
|
|||||||
|
include(joinpath(readchomp(`git rev-parse --show-toplevel`), "aoc.jl"))
|
||||||
|
import .Aoc: @aoc
|
||||||
|
using Pipe: @pipe
|
||||||
|
|
||||||
|
function prepare_input(input)
|
||||||
|
p1 = parse(Int, match(r"position: (\d)", input[1]).captures[1])
|
||||||
|
p2 = parse(Int, match(r"position: (\d)", input[2]).captures[1])
|
||||||
|
[p1, p2]
|
||||||
|
end
|
||||||
|
|
||||||
|
function p1(input::Vector{String})
|
||||||
|
p = prepare_input(input)
|
||||||
|
score = [0,0]
|
||||||
|
d = 1
|
||||||
|
while true
|
||||||
|
for i in 1:2
|
||||||
|
np = (p[i] + sum(d:d+2)) % 10
|
||||||
|
d += 3
|
||||||
|
score[i] += p[i] = np
|
||||||
|
score[i] >= 1000 && return (score[i==1 ? 2 : 1]*(d-1))
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function simulate(position, score, mul, scores)
|
||||||
|
s = popfirst!(scores)
|
||||||
|
for (throw, chances) in [(3, 1),(4, 3),(5, 6),(6, 7),(7, 6),(8, 3),(9, 1)]
|
||||||
|
position2 = (position + throw) % 10
|
||||||
|
score2 = score + (position2 == 0 ? 10 : position2)
|
||||||
|
paths = mul * chances
|
||||||
|
if score2 >= 21
|
||||||
|
s[1] += paths
|
||||||
|
else
|
||||||
|
s[2] += paths
|
||||||
|
simulate(position2, score2, paths, scores)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
pushfirst!(scores, s)
|
||||||
|
end
|
||||||
|
|
||||||
|
function p2(input::Vector{String})
|
||||||
|
p = prepare_input(input)
|
||||||
|
|
||||||
|
s1 = [ [0,0] for _ in 1:11 ]
|
||||||
|
simulate(p[1], 0, 1, s1)
|
||||||
|
s2 = [ [0,0] for _ in 1:11 ]
|
||||||
|
simulate(p[2], 0, 1, s2)
|
||||||
|
|
||||||
|
w1 = sum(map(x -> x[1][1] * x[2][2], zip(s1[2:end], s2)))
|
||||||
|
w2 = sum(map(x -> x[1][1] * x[2][2], zip(s2, s1)))
|
||||||
|
return w1 > w2 ? w1 : w2
|
||||||
|
end
|
||||||
|
|
||||||
|
@aoc(2021, 21)
|
58
src/day_22.jl
Normal file
58
src/day_22.jl
Normal file
@@ -0,0 +1,58 @@
|
|||||||
|
include(joinpath(readchomp(`git rev-parse --show-toplevel`), "aoc.jl"))
|
||||||
|
import .Aoc: @aoc
|
||||||
|
using Pipe: @pipe
|
||||||
|
|
||||||
|
function prepare_input(input)
|
||||||
|
out = []
|
||||||
|
for l in input
|
||||||
|
on = l[1:3] == "on "
|
||||||
|
n = split(l, ",")
|
||||||
|
cords = [ parse.(Int, match(r"(-?\d+)\.\.(-?\d+)", r).captures) for r in n ]
|
||||||
|
push!(out, (on, cords))
|
||||||
|
end
|
||||||
|
out
|
||||||
|
end
|
||||||
|
|
||||||
|
function p1(input::Vector{String})
|
||||||
|
list = prepare_input(input)
|
||||||
|
dict = Dict()
|
||||||
|
for (on, range) in list
|
||||||
|
xmin = range[1][1] < -50 ? -50 : range[1][1]
|
||||||
|
ymin = range[2][1] < -50 ? -50 : range[2][1]
|
||||||
|
zmin = range[3][1] < -50 ? -50 : range[3][1]
|
||||||
|
xmax = range[1][2] > 50 ? 50 : range[1][2]
|
||||||
|
ymax = range[2][2] > 50 ? 50 : range[2][2]
|
||||||
|
zmax = range[3][2] > 50 ? 50 : range[3][2]
|
||||||
|
for x in xmin:xmax, y in ymin:ymax, z in zmin:zmax
|
||||||
|
dict[(x,y,z)] = on
|
||||||
|
end
|
||||||
|
end
|
||||||
|
return sum(collect(values(dict)))
|
||||||
|
end
|
||||||
|
|
||||||
|
function p2(input::Vector{String})
|
||||||
|
list = prepare_input(input)
|
||||||
|
cubes = []
|
||||||
|
for (on, ((xmin, xmax),(ymin, ymax),(zmin, zmax))) in list
|
||||||
|
for i in 1:length(cubes)
|
||||||
|
(xmin2,xmax2,ymin2,ymax2,zmin2,zmax2) = cubes[i]
|
||||||
|
if xmin > xmax2 || xmax < xmin2 || ymin > ymax2 || ymax < ymin2 ||zmin > zmax2 || zmax < zmin2
|
||||||
|
# new cube does not intersect with the current one
|
||||||
|
continue
|
||||||
|
end
|
||||||
|
# the new cube intersects the current cube, mark current cube for removal and divide it into smaller cubes that dont intersect the new cube
|
||||||
|
cubes[i] = nothing # unset the element to keep positions constant fo ths step
|
||||||
|
(xmin > xmin2) && push!(cubes, (xmin2 , xmin-1 , ymin2 , ymax2 , zmin2 , zmax2 ))
|
||||||
|
(xmax < xmax2) && push!(cubes, (xmax + 1 , xmax2 , ymin2 , ymax2 , zmin2 , zmax2 ))
|
||||||
|
(ymin > ymin2) && push!(cubes, (max(xmin,xmin2), min(xmax, xmax2), ymin2 , ymin - 1 , zmin2 , zmax2 ))
|
||||||
|
(ymax < ymax2) && push!(cubes, (max(xmin,xmin2), min(xmax, xmax2), ymax + 1 , ymax2 , zmin2 , zmax2 ))
|
||||||
|
(zmin > zmin2) && push!(cubes, (max(xmin,xmin2), min(xmax, xmax2), max(ymin,ymin2), min(ymax,ymax2), zmin2 , zmin - 1))
|
||||||
|
(zmax < zmax2) && push!(cubes, (max(xmin,xmin2), min(xmax, xmax2), max(ymin,ymin2), min(ymax,ymax2), zmax + 1, zmax2 ))
|
||||||
|
end
|
||||||
|
on && push!(cubes, (xmin, xmax, ymin, ymax, zmin, zmax)) # Add cube if on
|
||||||
|
filter!(!=(nothing), cubes) # delete the unset elements
|
||||||
|
end
|
||||||
|
sum([ (xmax-xmin+1) * (ymax-ymin+1) * (zmax-zmin+1) for (xmin,xmax,ymin,ymax,zmin,zmax) in cubes ])
|
||||||
|
end
|
||||||
|
|
||||||
|
@aoc(2021, 22)
|
17
src/day_23.jl
Normal file
17
src/day_23.jl
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
include(joinpath(readchomp(`git rev-parse --show-toplevel`), "aoc.jl"))
|
||||||
|
import .Aoc: @aoc
|
||||||
|
using Pipe: @pipe
|
||||||
|
|
||||||
|
function prepare_input(input)
|
||||||
|
zip(match(r"(\w)", input[3]).captures, match(r"(\w)", input[4]).captures)
|
||||||
|
end
|
||||||
|
|
||||||
|
function p1(input::Vector{String})
|
||||||
|
rooms = prepare_input(input)
|
||||||
|
@info rooms
|
||||||
|
end
|
||||||
|
|
||||||
|
function p2(input::Vector{String})
|
||||||
|
end
|
||||||
|
|
||||||
|
@aoc(2021, 23)
|
51
src/day_24.jl
Normal file
51
src/day_24.jl
Normal file
@@ -0,0 +1,51 @@
|
|||||||
|
include(joinpath(readchomp(`git rev-parse --show-toplevel`), "aoc.jl"))
|
||||||
|
import .Aoc: @aoc
|
||||||
|
using Pipe: @pipe
|
||||||
|
using Memoization
|
||||||
|
|
||||||
|
function calc(i, w, z, add_x, add_y, div_z)
|
||||||
|
x = add_x[i] + (z % 26)
|
||||||
|
z = z ÷ div_z[i]
|
||||||
|
x != w && (z = z * 26 + w + add_y[i])
|
||||||
|
z
|
||||||
|
end
|
||||||
|
|
||||||
|
@memoize function find_solution(i, z, add_x, add_y, div_z)
|
||||||
|
(i == 15 && z == 0) && return [""]
|
||||||
|
i == 15 && return []
|
||||||
|
|
||||||
|
x = add_x[i] + (z % 26)
|
||||||
|
possible_numbers = collect(1:9)
|
||||||
|
x in 1:9 && (possible_numbers = [x])
|
||||||
|
out = []
|
||||||
|
for num in possible_numbers
|
||||||
|
nextz = calc(i, num, z, add_x, add_y, div_z)
|
||||||
|
nextxs = find_solution(i + 1, nextz, add_x, add_y, div_z)
|
||||||
|
for x2 in nextxs
|
||||||
|
push!(out, string(num) * x2)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
out
|
||||||
|
end
|
||||||
|
|
||||||
|
function p1(input::Vector{String})
|
||||||
|
add_x = []
|
||||||
|
add_y = []
|
||||||
|
div_z = []
|
||||||
|
for (i, l) in enumerate(input)
|
||||||
|
(contains(l, "add x") && !contains(l, "add x z")) && push!(add_x, parse(Int, split(l, " ")[3]))
|
||||||
|
(contains(l, "add y") && ((i-1) % 18 == 15)) && push!(add_y, parse(Int, split(l, " ")[3]))
|
||||||
|
contains(l, "div z") && push!(div_z, parse(Int, split(l, " ")[3]))
|
||||||
|
end
|
||||||
|
@info add_x
|
||||||
|
@info add_y
|
||||||
|
@info div_z
|
||||||
|
solutions = [ parse(Int, s) for s in find_solution(1, 0, add_x, add_y, div_z) ]
|
||||||
|
minimum(solutions), maximum(solutions), length(solutions)
|
||||||
|
end
|
||||||
|
|
||||||
|
function p2(input::Vector{String})
|
||||||
|
"P2 solution is part of P1"
|
||||||
|
end
|
||||||
|
|
||||||
|
@aoc(2021, 24)
|
37
src/day_25.jl
Normal file
37
src/day_25.jl
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
include(joinpath(readchomp(`git rev-parse --show-toplevel`), "aoc.jl"))
|
||||||
|
import .Aoc: @aoc
|
||||||
|
using Pipe: @pipe
|
||||||
|
using Memoization
|
||||||
|
|
||||||
|
function p1(input::Vector{String})
|
||||||
|
grid = [ collect(l) for l in input]
|
||||||
|
steps = 0
|
||||||
|
while true
|
||||||
|
steps += 1
|
||||||
|
moved = false
|
||||||
|
tmp = deepcopy(grid)
|
||||||
|
for y in 1:length(grid), x in 1:length(grid[1])
|
||||||
|
if grid[y][x] == '>' && grid[y][x%length(grid[1])+1] == '.'
|
||||||
|
moved = true
|
||||||
|
tmp[y][x%length(grid[1])+1] = '>'
|
||||||
|
tmp[y][x] = '.'
|
||||||
|
end
|
||||||
|
end
|
||||||
|
tmp2 = deepcopy(tmp)
|
||||||
|
for y in 1:length(tmp), x in 1:length(grid[1])
|
||||||
|
if tmp[y][x] == 'v' && tmp[y%length(grid)+1][x] == '.'
|
||||||
|
moved = true
|
||||||
|
tmp2[y%length(grid)+1][x] = 'v'
|
||||||
|
tmp2[y][x] = '.'
|
||||||
|
end
|
||||||
|
end
|
||||||
|
!moved && (return steps)
|
||||||
|
grid = tmp2
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function p2(input::Vector{String})
|
||||||
|
"Day 25 has no Part 2"
|
||||||
|
end
|
||||||
|
|
||||||
|
@aoc(2021, 25)
|
40
src/day_3.jl
Normal file
40
src/day_3.jl
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
include(joinpath(readchomp(`git rev-parse --show-toplevel`), "aoc.jl"))
|
||||||
|
import .Aoc: @aoc
|
||||||
|
|
||||||
|
|
||||||
|
function p1(input::Vector{String})
|
||||||
|
γ = ""
|
||||||
|
ϵ = ""
|
||||||
|
for n in 1:length(input[1])
|
||||||
|
bits = map(x -> parse(Int, x[n]), input)
|
||||||
|
more_ones = sum(bits) > length(bits) / 2
|
||||||
|
γ *= more_ones ? "1" : "0"
|
||||||
|
ϵ *= more_ones ? "0" : "1"
|
||||||
|
end
|
||||||
|
parse(Int, γ; base=2) * parse(Int, ϵ; base=2)
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
function p2(input::Vector{String})
|
||||||
|
i1 = copy(input)
|
||||||
|
i2 = copy(input)
|
||||||
|
o₂ = ""
|
||||||
|
co₂ = ""
|
||||||
|
for i in 1:length(input[1])
|
||||||
|
o₂bits = map(x -> parse(Int, x[i]), i1)
|
||||||
|
co₂bits = map(x -> parse(Int, x[i]), i2)
|
||||||
|
|
||||||
|
o₂mc = sum(o₂bits) >= length(o₂bits) / 2 ? '1' : '0'
|
||||||
|
co₂mc = sum(co₂bits) >= length(co₂bits) / 2 ? '0' : '1'
|
||||||
|
|
||||||
|
filter!(x -> x[i] == o₂mc, i1)
|
||||||
|
filter!(x -> x[i] == co₂mc, i2)
|
||||||
|
|
||||||
|
length(i1) == 1 && o₂ == "" ? (o₂ = i1[1]) : nothing
|
||||||
|
length(i2) == 1 && co₂ == "" ? (co₂ = i2[1]) : nothing
|
||||||
|
o₂ != "" && co₂ != "" ? break : continue
|
||||||
|
end
|
||||||
|
parse(Int, o₂; base=2) * parse(Int, co₂; base=2)
|
||||||
|
end
|
||||||
|
|
||||||
|
@aoc(2021, 3)
|
76
src/day_4.jl
Normal file
76
src/day_4.jl
Normal file
@@ -0,0 +1,76 @@
|
|||||||
|
include(joinpath(readchomp(`git rev-parse --show-toplevel`), "aoc.jl"))
|
||||||
|
import .Aoc: @aoc
|
||||||
|
using Pipe: @pipe
|
||||||
|
|
||||||
|
function read_boards(input)
|
||||||
|
in = filter(!=(""), input)
|
||||||
|
boards = []
|
||||||
|
for i in 1:5:length(in)
|
||||||
|
board = []
|
||||||
|
for x in 0:4
|
||||||
|
row = @pipe split(in[i+x], " ") |> filter(!=(""), _) |> parse.(Int, _)
|
||||||
|
push!(board, row)
|
||||||
|
end
|
||||||
|
push!(boards, vcat(board...))
|
||||||
|
end
|
||||||
|
|
||||||
|
return boards
|
||||||
|
end
|
||||||
|
|
||||||
|
function mark_board(board, n)
|
||||||
|
idx = findall(==(n), board)
|
||||||
|
for i in idx
|
||||||
|
board[i] = -1
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function is_winner(board)
|
||||||
|
for i in 1:5:length(board)
|
||||||
|
if unique(board[i:i+4]) == [-1]
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
for x in 1:5
|
||||||
|
if unique(board[x:5:length(board)]) == [-1]
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
end
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
|
||||||
|
function score(board, n)
|
||||||
|
sum(filter(!=(-1), board)) * n
|
||||||
|
end
|
||||||
|
|
||||||
|
function scores(numbers, boards)
|
||||||
|
scores = []
|
||||||
|
winners = []
|
||||||
|
for n in numbers
|
||||||
|
for (i, board) in enumerate(boards)
|
||||||
|
i in winners ? continue : mark_board(board, n)
|
||||||
|
if is_winner(board)
|
||||||
|
push!(winners, i)
|
||||||
|
push!(scores, score(board, n))
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
return scores
|
||||||
|
end
|
||||||
|
|
||||||
|
function p1(input::Vector{String})
|
||||||
|
numbers = @pipe split(input[1], ",") |> parse.(Int, _)
|
||||||
|
|
||||||
|
boards = read_boards(input[3:end])
|
||||||
|
return scores(numbers, boards)[1]
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
function p2(input::Vector{String})
|
||||||
|
numbers = @pipe split(input[1], ",") |> parse.(Int, _)
|
||||||
|
|
||||||
|
boards = read_boards(input[3:end])
|
||||||
|
return scores(numbers, boards)[end]
|
||||||
|
end
|
||||||
|
|
||||||
|
@aoc(2021, 4)
|
51
src/day_5.jl
Normal file
51
src/day_5.jl
Normal file
@@ -0,0 +1,51 @@
|
|||||||
|
include(joinpath(readchomp(`git rev-parse --show-toplevel`), "aoc.jl"))
|
||||||
|
import .Aoc: @aoc
|
||||||
|
using Pipe: @pipe
|
||||||
|
|
||||||
|
function parse_line(input)
|
||||||
|
c = match(r"(\d+),(\d+) -> (\d+),(\d+)", input).captures
|
||||||
|
return parse.(Int, c)
|
||||||
|
end
|
||||||
|
|
||||||
|
function p1(input::Vector{String})
|
||||||
|
board = Dict{Tuple{Int64, Int64}, Int64}()
|
||||||
|
for l in input
|
||||||
|
p = parse_line(l)
|
||||||
|
if p[1] == p[3] || p[2] == p[4]
|
||||||
|
xstep = p[1] > p[3] ? -1 : 1
|
||||||
|
ystep = p[2] > p[4] ? -1 : 1
|
||||||
|
for x in p[1]:xstep:p[3]
|
||||||
|
for y in p[2]:ystep:p[4]
|
||||||
|
(x,y) in keys(board) ? (board[(x,y)] += 1) : (board[(x,y)] = 1)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
return count(>=(2), values(board))
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
function p2(input::Vector{String})
|
||||||
|
board = Dict{Tuple{Int64, Int64}, Int64}()
|
||||||
|
for l in input
|
||||||
|
p = parse_line(l)
|
||||||
|
if p[1] == p[3] || p[2] == p[4]
|
||||||
|
xstep = p[1] > p[3] ? -1 : 1
|
||||||
|
ystep = p[2] > p[4] ? -1 : 1
|
||||||
|
for x in p[1]:xstep:p[3]
|
||||||
|
for y in p[2]:ystep:p[4]
|
||||||
|
(x,y) in keys(board) ? (board[(x,y)] += 1) : (board[(x,y)] = 1)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
elseif abs(p[1] - p[3]) == abs(p[2] - p[4])
|
||||||
|
xstep = p[1] > p[3] ? -1 : 1
|
||||||
|
ystep = p[2] > p[4] ? -1 : 1
|
||||||
|
for(x,y) in zip(p[1]:xstep:p[3], p[2]:ystep:p[4])
|
||||||
|
(x,y) in keys(board) ? (board[(x,y)] += 1) : (board[(x,y)] = 1)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
return count(>=(2), values(board))
|
||||||
|
end
|
||||||
|
|
||||||
|
@aoc(2021, 5)
|
29
src/day_6.jl
Normal file
29
src/day_6.jl
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
include(joinpath(readchomp(`git rev-parse --show-toplevel`), "aoc.jl"))
|
||||||
|
import .Aoc: @aoc
|
||||||
|
using Pipe: @pipe
|
||||||
|
|
||||||
|
|
||||||
|
function solve(input::Vector{String}, days::Int64)
|
||||||
|
fish = @pipe split(input[1], ",") |> parse.(Int, _)
|
||||||
|
state = Dict{Int, Int}([ [x, count(==(x), fish)] for x in 0:8 ])
|
||||||
|
|
||||||
|
for _ in 1:days
|
||||||
|
next_day = Dict{Int, Int}([ [x, 0] for x in 0:8 ])
|
||||||
|
next_day[8] = next_day[6] = state[0]
|
||||||
|
for i in 0:7
|
||||||
|
next_day[i] += state[i+1]
|
||||||
|
end
|
||||||
|
state = next_day
|
||||||
|
end
|
||||||
|
return sum(values(state))
|
||||||
|
end
|
||||||
|
|
||||||
|
function p1(input::Vector{String})
|
||||||
|
return solve(input, 80)
|
||||||
|
end
|
||||||
|
|
||||||
|
function p2(input::Vector{String})
|
||||||
|
return solve(input, 256)
|
||||||
|
end
|
||||||
|
|
||||||
|
@aoc(2021, 6)
|
16
src/day_7.jl
Normal file
16
src/day_7.jl
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
include(joinpath(readchomp(`git rev-parse --show-toplevel`), "aoc.jl"))
|
||||||
|
import .Aoc: @aoc
|
||||||
|
using Pipe: @pipe
|
||||||
|
|
||||||
|
|
||||||
|
function p1(input::Vector{String})
|
||||||
|
pos = @pipe split(input[1], ",") |> parse.(Int, _)
|
||||||
|
return minimum([ sum(abs.(i .- pos)) for i in minimum(pos):maximum(pos) ])
|
||||||
|
end
|
||||||
|
|
||||||
|
function p2(input::Vector{String})
|
||||||
|
pos = @pipe split(input[1], ",") |> parse.(Int, _)
|
||||||
|
return minimum([ sum(sum.(range.(1, abs.(i .- pos); step = 1))) for i in minimum(pos):maximum(pos) ])
|
||||||
|
end
|
||||||
|
|
||||||
|
@aoc(2021, 7)
|
53
src/day_8.jl
Normal file
53
src/day_8.jl
Normal file
@@ -0,0 +1,53 @@
|
|||||||
|
include(joinpath(readchomp(`git rev-parse --show-toplevel`), "aoc.jl"))
|
||||||
|
import .Aoc: @aoc
|
||||||
|
using Pipe: @pipe
|
||||||
|
using Combinatorics
|
||||||
|
|
||||||
|
|
||||||
|
function p1(input::Vector{String})
|
||||||
|
count = 0
|
||||||
|
for l in input
|
||||||
|
digits = @pipe split(l, "|")[end] |> split(_, " ") |> filter(!=(""), _)
|
||||||
|
for d in digits
|
||||||
|
for i in [2,3,4,7]
|
||||||
|
if length(d) == i
|
||||||
|
count += 1
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
return count
|
||||||
|
end
|
||||||
|
|
||||||
|
function get_digit(i, o, digits)
|
||||||
|
for permutation in Combinatorics.permutations("abcdefg")
|
||||||
|
dict = Dict([[x, y] for (x,y) in zip(permutation, "abcdefg")])
|
||||||
|
if all([ x in keys(digits) for x in map(x -> (join(sort([dict[y] for y in x]))), i)])
|
||||||
|
return parse(Int, join([ digits[join(sort([dict[y] for y in x]))] for x in o]))
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function p2(input::Vector{String})
|
||||||
|
sum = 0
|
||||||
|
dict = Dict{String, Int}(
|
||||||
|
"abcefg" => 0,
|
||||||
|
"cf" => 1,
|
||||||
|
"acdeg" => 2,
|
||||||
|
"acdfg" => 3,
|
||||||
|
"bcdf" => 4,
|
||||||
|
"abdfg" => 5,
|
||||||
|
"abdefg" => 6,
|
||||||
|
"acf" => 7,
|
||||||
|
"abcdefg" => 8,
|
||||||
|
"abcdfg" => 9
|
||||||
|
)
|
||||||
|
for l in input
|
||||||
|
i = @pipe split(l, "|")[begin] |> split(_, " ") |> filter(!=(""), _)
|
||||||
|
o = @pipe split(l, "|")[end] |> split(_, " ") |> filter(!=(""), _)
|
||||||
|
sum+=get_digit(i,o,dict)
|
||||||
|
end
|
||||||
|
return sum
|
||||||
|
end
|
||||||
|
|
||||||
|
@aoc(2021, 8)
|
61
src/day_9.jl
Normal file
61
src/day_9.jl
Normal file
@@ -0,0 +1,61 @@
|
|||||||
|
include(joinpath(readchomp(`git rev-parse --show-toplevel`), "aoc.jl"))
|
||||||
|
import .Aoc: @aoc
|
||||||
|
using Pipe: @pipe
|
||||||
|
using Combinatorics
|
||||||
|
|
||||||
|
|
||||||
|
function lowpoints(map)
|
||||||
|
low = Dict()
|
||||||
|
for x in 1:length(map)
|
||||||
|
for y in 1:length(map[1])
|
||||||
|
adjacent = []
|
||||||
|
for (i,j) in [ [x+i,y+j] for (i,j) in zip([0,1,0,-1], [1,0,-1,0]) ]
|
||||||
|
if i in 1:length(map) && j in 1:length(map[1])
|
||||||
|
push!(adjacent, map[i][j])
|
||||||
|
end
|
||||||
|
end
|
||||||
|
if map[x][y] < minimum(adjacent)
|
||||||
|
low[[x,y]] = map[x][y]
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
return low
|
||||||
|
end
|
||||||
|
|
||||||
|
function p1(input::Vector{String})
|
||||||
|
map = [ parse.(Int, collect(l)) for l in input ]
|
||||||
|
low = lowpoints(map)
|
||||||
|
return sum(values(low)) + length(low)
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
function search(map, pos)
|
||||||
|
q = [pos]
|
||||||
|
v = [pos]
|
||||||
|
|
||||||
|
while length(q) > 0
|
||||||
|
c = popfirst!(q)
|
||||||
|
h = map[c[1]][c[2]]
|
||||||
|
for p in [ [c[1]+i,c[2]+j] for (i,j) in zip([0,1,0,-1], [1,0,-1,0]) ]
|
||||||
|
if p[1] in 1:length(map) && p[2] in 1:length(map[1])
|
||||||
|
if p ∉ v
|
||||||
|
h2 = map[p[1]][p[2]]
|
||||||
|
if h < h2 < 9
|
||||||
|
push!(v, p)
|
||||||
|
push!(q, p)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
return v
|
||||||
|
end
|
||||||
|
|
||||||
|
function p2(input::Vector{String})
|
||||||
|
map = [ parse.(Int, collect(l)) for l in input ]
|
||||||
|
low = lowpoints(map)
|
||||||
|
basin_sizes = [ length(search(map, p)) for p in keys(low) ]
|
||||||
|
return prod(sort(basin_sizes)[end-2:end])
|
||||||
|
end
|
||||||
|
|
||||||
|
@aoc(2021, 9)
|
Reference in New Issue
Block a user