2024 day 12 Complete!
This commit is contained in:
parent
439412bac1
commit
7c4f208bb1
140
2024/day12/input
Normal file
140
2024/day12/input
Normal file
@ -0,0 +1,140 @@
|
|||||||
|
IIXIIIDMMMMMMMMMMMMMMMMMMHHHHHHHHRRRRRRRRRRHOHHHHHMMMMMMMMJMYMLLLLLLLLLLQQQQFFFFEEEEEEEEEEEEENNNNNNNNNNNNIIIIIIIIHIFFFFFFFFFJJJJJJJJJJJJJPJB
|
||||||
|
IIIIIIIMMMMMMMMMMMMMMMMMHHHHHHHHRRRRRRRRRRRHHHHHHMMMMMMMMMMMMMMLLLLLLLLLFFFFFFFFFEEEEEEEEEEEENNPPNNNNNNNNIIIIIIIIIIFFFFFFFFFFJJJJJJJJJJJJJJJ
|
||||||
|
IIIIIIIIMMMMMMMMMMMMMMMMDHHHHHHHHRRRRRRRRRRHHHHHMMMUMMMMMMMMMMMLLLLLLLLLFFFFFFFFFEEEEEEEEEEEEEPPPENNNNNNNIIIIIIIIIIFFFFFFFFFWWWJJJJJJJJJJJJJ
|
||||||
|
IIIIIIIIMMMMMMMMMMMMMQMQHHHHHHHHHRRRRRRRRHHHHHHHEMMMMMMMMMMMMMMLLLLLLLLLKFFFFFFFFFFEEFEEEEEEEEEPPEEEEENNNIIIIIIIIIIFFFFFFFFFWJJJJJJJJJJJJJJJ
|
||||||
|
IIIIIIIIMMMMMMMMMMMMMQQQHHHHHHHHHHHRRRRHHTHHHHHHEMMMMMMMMMMMMLLLLLLLLFFFFFFFFFFFFFFFFFFEEEEEEPPPPEEEEEEEIIIIIIIIIIIFFFFFFFFFWWJJJJJJJJJJJJJJ
|
||||||
|
IIIIIIIIIMMMMMMMMLMMMMQQQHHHHHHHRHHRRRHHHHHHHHHHMMMMMMMMMMMMMLLLLLLLLFFFFFFFFFFFFFFFFFFEEEEEEPCCPPEEEEEEEIIIIIIIIIIIFFFFFFFFWWJJJJJJJJJJJJJJ
|
||||||
|
IIIIIIIIMMMMMMMMMMQMMQQQQHHHHHHRRRRRRHHHHHHHHHHMMMMMMMMMMMMMMMLLLLLLLFFFFFFFFFFFFFFFFFEEEEEEECCCCEEEEEEEEIIIIIIIIIIIIFFFFWWWWNNJJJJJJJJJJJJJ
|
||||||
|
IIIIIIIMMMMMMMMMMMQQQQQQQQHHHHRRRRRREHHHHHHHHHHMHMMMMMMMMMMMMMLLLLLLLWWWWWFFFFFFFFFFFFEEEBBEEECCEEEEEEEEEIEEIIVIIIIIFFFFWWWWWWNJLJJJJJJJJJJJ
|
||||||
|
IIIIIIIMIMMMMMMMMMMQQQQQQNHHHHHHRRREEEHEHHHHHHHHHMMQMMMMMMMMFLLLLLLLLLLWWWFFFFFFFFFFFFFFBBBBBBCCCCCEEEEEEEEEEEEGGITTTTWWWWWWWWWJJJJJJJJJJJJJ
|
||||||
|
IIIIIIIIIMLLMMMMMMMQQQQQQHHHHHUUUUEEEEEEEHHHHLHHHLYMMMMMMMMLLLLLLLLLLULWWWFFFFFFFFFFFFFBBBCCCCCCCZZEEEEEEEEEEEELTTTTTTTWWWWWWWWWJJJJJJJJJJLL
|
||||||
|
IIIIIIIIMMLLLMLQQMMMQQQQQHHYYUUUUUUUEEEEHBBBBBHHHLLKMMMMMUUULLUUUUULUUUWWWWFFFFFFFFFDFFFBBCCCCCCCCEEEEEEEEEELLULTTTTTTTTWWWWWWWWWJLLLJLLLJLL
|
||||||
|
IIIIIIIILLLLLLLQQQQQQQQQQQHYYUUUDUUEEEEEEBBBBBLLLLLLLLMMMUUUUUUUUUULUUUWWWWFFFFFYDFDDFFBBCCCCCCCMMMEEEEEEEEELLLLTLTTTTTTWWWWWWWWFFLLLLLLLLLL
|
||||||
|
IIIIIIIILLLLLLLLLQQQQQQQQQQQYUUUDDADDEEEEBBBBBLLLLLMLLMUUUUUUUUUUUUUUUUWWWWFFRFFDDDDDDDBBBCCCCCCMMMMEEEEEEEEEELLKLLTTTTTTWWWWWWFFLLLLLLLLLLL
|
||||||
|
IIIHHHIILLLLLLLLQQQQQQQQQQQQYYDDDDDDDEEEEBBBBBLLLLLLLLLLUUUUUUUUUUUUUUUUWWDDGDFDDDDDDDDDDBCCCCCMMMMEEEEEEELLELLLLLLLTLTTTWWWWWWWFFFFLLLLLLLL
|
||||||
|
IIIILLLLLLLLLLLLQQQQQQQQQQDDDDDDDDDDEEEEEBBBBBLLLLLLLLLUUUUUUUUUUUUUUUUUWWDDDDDDDDDDDDPDPCCCCCCMMMMMMEEEEOLLLLLLLLLLTLTSWWWWWWWWFFFFLLEEELLL
|
||||||
|
IIIIILLLLLLLLLLLLJJQQQQQUAAAAPDDDDDBBBBBBBBBBBLLLLLLLLMMMMUUUUUUUUUUUUWWWDDDDDDDDDDDDDPPPPCCCCCCMMMMMEEEEOLLLLLLLLLLLLSSSXWWWWFFFFFFLLEELLLL
|
||||||
|
QIIAAPLLLLLLLLLLLJJQQQQQAIAAAADDDDEBBBBBBBBBBBLLLLLLLLLMMMUUUUMUUUUUUUUWWDDDDDDDDDDDDPPPPPCCCCCCCCCCCCEEOOLLLLLLLLLLSSSSXXWWWWFFFFFFFEEEEELL
|
||||||
|
QAAAAPALLLLLLLLLJJJQQQQHAAAADDDDDDDBBBBBBBBBBBLHLLLLMMLMMMMMMMMMMUUUUUFFFCDFDDDDDDDDDPPPPPCCCCCCCCCCCCEOOOLLLLLLLLLLSSSSXXWWKGGGGFFFFEEEEELL
|
||||||
|
QQAAAAALLLLLLLLLJJJQQQQHAAAAADDDDDDBBBBBBBBBBBLLLLLLMMMMMMMMMMMDUUUYUKKFFFFFDDDDDDDDDDPPPPCJCCCCCCCCPPOOOOLLLLLLLLLSSSFFXXWWWGGGGGFFFEEEEEFL
|
||||||
|
QQAAAAYLLLLLLLLLJJJQQIQHAAAAADDDADDBBBBBBBBBBBLLLLLLLMLMMMMMMMMDUUUUUKFFFFFFFFFDFFDDDDDPPPPCCCCCCCCCPPOOOOLLLLLLLLLLSXFXXXXXGGGGGGGFFFFEEEFF
|
||||||
|
QQQAALLLLLLLLLLLJJJJJJJJGAAAADAAAADBBBBBBBBBLLLLLLLLLLLMMMMMMMMMMUUUUFFFFFFFFFFFFFDDDDDDDPPPPPPCCCQQOOOOOONNNLLLLLSSSSFFGGGGGGGGGGGFFEEEEEFF
|
||||||
|
QQQQQLLLLLLLLLLLLJJJJJJJGVVADDDDAAABBBBBBBBBLLLLLLLLLMMMMTTTTMMMUUUUUJJFFFFFFFFFFFDDDDDDDDDPPPPCCCCOOOOOOOOOOLLLLLLSFFFFRGGGGGGGGGGGFFEEEFFF
|
||||||
|
QQQQQQLLLLLLLLLJJJJJJJJVVVVQQDZAAAADEEEELLLLLLLLLLLLLMMMMTTTTMMMUUUUJJJFFFFFFFFFFFDDDDDDDDDPPPPCCCCOOOOOOOOROOOUULAFFFFFFGKGGGGGGGGFFFFFFFFF
|
||||||
|
QQQQQLLLLLLLLLLJJJJJJJJZZLLZQZZAAAAAEEEELOOLLLLLLLLLLLLLLTTTTTTTMJJJJJJJFFFFFFFFFSDDDDDDDDDPPPPPCCCKOOOOOOOOOOOOOOOFFFFFFFKGGGGGGOOFFFFFFFFF
|
||||||
|
QQQQQQQLLLLLLLLIJJJJJJJZZLLZQZZZAAAAAEEEOOZZLLLLLLLLLLLPXTTTTTTTTDDJJJFFFFFFFFFFSSDDDDDDDDDDPPPPPOOOOOOOOOOOOOOODDFFFFFFFFKGGGYGOOOFFFFFFFFF
|
||||||
|
QQQQQQQQLLLLLLLJJJJJJJJZZZZZZZZZAAAAEEEEZZZZZZZLLLLLLLPPPTTTTTTTTJJJJJFFFFFFFFFFFSSDDDDDDDPPPPPPPOOOOOOOOOOOOODDDFFFFFFFFFFGGGGGGOOOFFFFFFFF
|
||||||
|
QQQQQQQQLLLLLLLLJJJJJJJZZZZZZZZZZZAAAEEZZZZZZCZLLLLLLPPPPTTTTTTTTJVVVVFFFFFFFFFFSSSSDDDDDDDPPPPPPTFOOOOOOOOOOODIFFFFFFFFFFFFGGGGOOFOOFFFFFFF
|
||||||
|
QQQQOLLLLLLLLLLLJJJJJJJZZZZZZZZZZZAAAAEAZZZZZZZLLLLLLLPPPTTTTTTTTVVVVVFFFFFFFFFFFSSDDDDDDDDPDPPPPTTTTOOOOOOOOOIIQFFFFFFFFFFFOOOOOFFFFFFFFFFF
|
||||||
|
QQQQOLLLLLLLLLLLJJJJJZZZZZZZZZZZZZZZAAAAZZZZZZZLLLLLPPPPPPDTTTTTTVVVVVVFFVFFFVVFFSSDDDDDDDDDDTTTTTTTTOOOOOOOOOIIIVFFFFFFFFFOOOOOOFFOFFFFFFFS
|
||||||
|
QIIIQLLLLLLLLLJJJJJJJZZZZZZZZZZZZZZBAABZZZZZZZZZZZLPPPPPPDDTTTTTTVVVVVVVVVFFFVVSSSSDDDIIDIDDDTTTTTTTTTOOOTOOOOIIIVVFFFFCCCFAOOOOOOOOYYYFFFFF
|
||||||
|
QIIQQLLLLLLLLLJJJJJJJZZZZZZZZZZZZZZBBBBXXXXZZZZZZZZEPXPPPDDTTTTTTVVVVVVVVVVVVVVIIIIIIIIIIIDDDTTTTTTTTTOOTTTOOIIIIIIIFFCCCCAAAAOOAAAOOYYFFFFG
|
||||||
|
QQIQQLLLLLLLLLJJJJJJJZZZZZZZZZZZZZBBBBXXXXZZZZZCZZZGGXXPPDDTTTTTTVVVVVVVVVVVVVVIIIIIIIIKOOOOOOOTTTTTTTOOTTTOOIIIIICJCCCCCCAAAAAAAAAOYYFFFFGG
|
||||||
|
QQIQQLGGGGGGLLJJJJJJJZZZZZZZZZZZBBBBBBXXXXZZZZZZZZZGGGXXPDDTTTTTTVVVVVVVVVVVVVVIIIIIIIOOOOOOOOOTTTTTTTTTTTTTOIIIIICCCCCCCAAAAAAAAAYYYYYYGGGG
|
||||||
|
QQIQQLGGGGGGGGXJJXXXXZZZZZZZZZBBBBBBXXXXXXXXZZZZZZXXGGXDDDDTTTTTTVVVVVVCVVVVVVIIIIIIIIOOOOOOOOOTTTTTTOOOOOOIIIIIIICCCCCCCCAAAAAAAAYQYYYYYGGG
|
||||||
|
QQQQQLGGGGGGGGXXXXXXXXXXXZZZZZZZBBBXXXXXXXXXXZZZZZZXGDXDDDDDDDVVVVCCVCCCVVVVIIIIIIIIIIOOOOOOOOOTTTTTTOOOOOOIIIIICCCCCCCCCCAAAAAAAYYYYYYYGGGG
|
||||||
|
QEQQQLGGGGGGGGXXXXXXXXXGXBZZZZZBBBBBXBXXXXXXXXXZXZZXGDDDDDDDDDDDDDDCCKCCCVCVVNIIIIIIIIOOOOOOOOOKTTTTOOOOOOOIIIIICCCCCCCCCCCAAAAAAAAAYYAAGGGG
|
||||||
|
EEQNNNGGGGGGGGXXXXXXXGGGGBBBBBBBBBBBBBXXXXXXXXXXXZXXGDDDDDDDDDDDDDCCCCCCCCCSSIIIIIIIIIOOOOOOOOOKTTTTOOOOOOOFIIICCCCCCCCCCCAAAAAAAAAAAAAAGGGG
|
||||||
|
EEEJJNGGGGGGGGXXXXGGGGGGCBBBBBBBBBBBBBQXXXXXXXXXXZXXGGDDDDDDDDDDDCNCCCCCCSSSIIIIIIIIIIOOOOOOOOOKKTTTOOOOOOOFIIICCCCCCCCCCAAAACCGGGAAAAAAGGGG
|
||||||
|
EEEEJNGGGGGGGGXXXXGGGGGGCBBBBBBBBBBBBJGXXXXXXXXXXXXXGGDDDDDDDDDDCCCCCCCCCCTTTTTIIIIIIIOOOOOOPKKKKZCCOOOOOOOFFICCCCCCCCCCCCACCMCGGGAAAAACCGCC
|
||||||
|
EEEENNGGGGGGGGXXXXGGGGGGGFFFBFBBDDGGGJGXGGGXXXXXXXXXXXSDDDDDDDDCCCCCCCCCCCMTTTNIIIIIIIOOOOOOKKZZZZZZOOOOOOOFFFCCCCCCCCCCCCUUCCCGGGCCCCACCCCC
|
||||||
|
EEEENNGGGGGGGGXXXXGGGGGGGGGFFFGDDDGGGGGGGGGGGXXXXXXXXXSSDDDDDDDCCCCCCCKCCTTTTTTIIIIIIPPPPPPRKKZZZZZOOOOOOOOFFRRRCCCCCCCUUCUUCCCGGGGCCCCCCCCC
|
||||||
|
EEEEEEGGGGGGGGXXXXXXEGGGFGFFFFGGDDGGGGGGGGGXXXXXXXXXXSSSDDDDDSDSCCCCCCCCCTTTTTTTTPPPPPPPPRRRKKBBZPZOOOOOOOFFRRRRCCCCCRRRRRRCCCCCGGGCCCCCCCCC
|
||||||
|
EEEEEQQQQQQXXXXXXXXXGGGFFFFFFGGGGGGGGGGGGGGXXXXXXXXSSSSSSDDDDSSSCCCCCPCCTTTTTTTTTTTPPPPPPRRRRBBBZPZOOOOOOOFFRRRRCCCCRRRRRRRCCCCCCCGCCCCCCCCC
|
||||||
|
EEEEEQQQQQXXXXXXXXXXXXFFNNNNNGGGGGGGGGGGGGXXXXXXXXXXSSSSSSDDSSSSQCCCQTTCTTTTTTTTTTTPPPPPPPRRBBBBBBZZOOOOOFHHRRRRRRRRRRRRRRRCCCCCCCCCCCCCCCMM
|
||||||
|
EEEEEQQQQQQQQQXXXXXXXXFNNNNNNNGGGGGGGGGGXXXXXXXXXXXSSSSSSSSSSSSSQQQQQTTTTTTTTTTTTTTTPPPPPPBBBBBBBBZZZZZHFFFHRRRRRRRRRRRRRRRCCCCCCCCCCCCCCCMM
|
||||||
|
EEEEEQQQQQQQQQXXXXXXXWNKNNNNNNGGGGGGGGGGXXXXXXXXXXSSFFSSPPPSPPPSQQQQQQTTTTTTTTTTTTTTTPPPPPBBBBBBBBBZZZBHFFFHRRRRRRRRRRRRRRCCCCWWCWCCCCCCCCMM
|
||||||
|
EEEEEQQQQQQQQXXXXXXZZNNNNNNNNNNGGGGGGGGXXXXXXXXXXXXSFFSSPPPPPPPPQQQQQQTTTTTTTFTTTTTFPPPPPPBBBBBBBBBBZBBHFFHHRRRRRRRRRRRRCCCCCCCWWWWCCCCCCCCM
|
||||||
|
EEEEEQQQQEQQEEXXTTTTTTNNNNNNNNNGGGGGGGGGXXXXXXXXXXFFFFSSPPPPPPPPQQQQQTTTTTTTFFFTTTTFPPPPPPBBBBBBBBBWBBBHHHHHRRRRRRRRRRRCCCCCCCCWWWWCCCCCCCCC
|
||||||
|
EEEEEQQQEEQEEEXXTTTTXNNNNNNNNNNNXGXGGGGGXFXXXXFFFFFFFFSXPXPPPPPPQQQQQTTTTTTTFFFFFTTFFPPPPPBBBBBBBBBBBBBBHHHHHRRRRRRCCCCCCCCCCWWWWWWCCCCCCCCT
|
||||||
|
EEEEEEEQQQEEEEFETTTPPNNNNNNNNNNXXXXGGGGGFFXXFFFFFFFFFFSXXXPPPPPPPQQQQTQTTTTTFFFFFFFFFPPPPBBBBBBBBBBBBBBHHHHRRRRRRROCCCCCCCCCCWWWWWWWWWCCCCCT
|
||||||
|
EIEEEEEQEEEPEEEETTPPPPNNNNNNMNNXXXXXGGGFFFFFFFFFFXFFXXXXGXPPPPPPPPQQQQQQTTTFFFFFOFFFFPPPPBBBBBBBBBBBBBBBHHHHRRRRROOCCCCCCCCWWWWWWWWWCCCCCCCC
|
||||||
|
IIEEEEEEEPPPPEEEETTTPPPPPPNNPPXXXXXXXXUUFUUUFFFFXXXXXXXXXXPPPPPPPPPQQQQTTFFFFFFFFFFFFPPPPKBBBBBBBBUBBBBBBHHHRRRRQQCCCCCCCWWWWWWWWWWWWCCCCCCC
|
||||||
|
IIIIEEEEEEPPRTEEEETTPPPPPPPPPPXXXXXXXXUUUUUUFFFFXXXXXXXXXXXPPPPPPPPQQQQTTFFFFFFFFFFFFPPPPKKFBBBBBBBBBBBBHHHHHRQQQQQCCCCCCAAWWWWWWWWWCCCCCCCC
|
||||||
|
IIIIIIEEEPPFTTVEETTTPPPPPPPPXXXXDDXXXUUUUUUUUFFXXXXXXXXXXXXPPPPPPPPCQCCCTFFFFFFFFFFFFPPPPFFFFBZZBBBBBBBHHHHQQQQQQQQCCCCCCAWWWWWWWWWCCCCCCCCC
|
||||||
|
IIIIIEEEEPPPPTTTTTTTPPPPPPPPPPXXDDDUUUUUUUUUUFUUXXXXXXXXXXXPPPPPPPPCCCCTTFFFFFFFFZFBFHHHHFFFRZZZUBIIIBBBHHHQQQQQQQQCCPCAAAWWWWWWWWCCCCCCDCCC
|
||||||
|
IIIIEEEEPPPPPTIIITTPPPPPPPPPPEDDDDUUUUUUUUUUUUUHXXXXXXXXXXPPPPPPPPCCCCCCPPFFFFFFFZFFFFHHHFFFRRZZUUIIIBBBQQQQQQQQQQQQQQAAAAAWWWWWWCCCCCCDDDDD
|
||||||
|
IIIIEEPPPPPPPIIITTTPIPPPPPPPPPADDDDDUUUUUUUUUUFBKXXXXXXXXXXPPPPPPPCCPCCPPPPFFFFFFKKGGGKHHFFFRRZZUUIIIIIBCCQQQQQQQQQQQAAAAAAAWWCCCCCCCCCDDDDD
|
||||||
|
IIIIIEEPHPPPLIIIIIIIIPPPPPPPPAAEEEEDUUUUUUUUUUFBBXXXXXXXXXPPPJJJPPPPPCCCCPFFFFFOKKKGKKKHHRFFERRRRUIIIIRRCCRRQQQQQQQQQQAAAAAAAAACCCCCCCCDDDDD
|
||||||
|
IIIIIEEPPPLLLIIIIIIIIPPPPPPPPAEEEEEDDUUUUUUUUUBBBXXXXXXXXXPPJJJJJJPPPPPPPPFFFFOOKKKGKKKKKRRRRRRRRUIIIIRRRRRRQQQQQQQQQQQQAAAAAACCCCCCCDDDDDDD
|
||||||
|
DDIIEEEPPLLLLIIIIIIIIPNPPNNNEEEEEEEDUUUUUUUUUUBBBBXXXXXXXXXXXJJJJJJPPPPDPPPFPKKKKKKKKKKKKRRRRRRRRURIRIRRLRRRRRQQQQQQQQAAAAAAAAACCCCCDDDDDDDD
|
||||||
|
DDIIIIEPPLLLLIIIIIIINNNNNNNDDDDEDEEDUUUKKUUUUBBBBBXXXXXXXXJJXJJJJJJJPPDDPPPPPKKKKKKKKKKKKRRRRRRRRRRRRRRRRRRRRRRQQQQQAQAAAAAFAAAACCCCCDDDDDDD
|
||||||
|
DDDDEEEPLLLLLLIIIIINNNNNNNNDDDDDDDDDDUUKKKKUOBBBBBXFXXXXXXJJJJJJJJJJPDDDDDPPPPPKKKKKKKKKKKKRRRRRRRRRKRRRRRRRRRRQHQQQAAAAAAKAAAAACCCCCCCYDDDD
|
||||||
|
DDDDEEEELLLLLLLIIIXNNNNNNNNDDDDDDDDDDUUUKKKKOBBBBBBXXXXXXXJJJJJJJJJGDDDDDDPPPPKKKKKKKKKKRRRRRRRRRRRRKRRRRRRRRRRHHHHQAAAAAACCCCCCCCCCCCCYYDDD
|
||||||
|
DDDDDEEEELLLLIIIIINNNNNNNNNNDDDDDDDUUUUKKKOOOBBBBBBXXXXMXXJJJJJJJJJGDDDDDDDDPPKKKKKKKKKRRRRRRRRRRRRRKRQRRRRRRDDDHNNNNNAAAACCCCACCCCCCCCDDDDD
|
||||||
|
DDDDEEEEELLLLLLLLLNNNNNNNNNNNDDDDDUUKUUKKKKKKKKBBBBXXXMMMXJJJJJJJJJGDDDDDDDDDDKKKKKKKKRRRRRRRRRRRKRKKRRRRRRDRDJJJJNNJJJAAAAAXAACCCCCSWSPDDDD
|
||||||
|
WDDDDELLLLLLLLLLNNNNNNNNNNNNNDDDDDKIKKKKKKKKKKBBBBBBBMMMMJJJJJJJJJJJDDDDDDDDDZKKKKKKKKRRRRRRRRRRRKKKKKRRRRRDDJJJJJJJJAAAAAAAAAACCCCSSSSPPDPP
|
||||||
|
WDDDDLLLLLLLLLLNNNNNNNNNNNNNDDDDDKKKKKKKKKKKKKBBBBBBUBBMMJJJJJJJJJJVDDDDDDDDDZKKKKKOOKRRRRRRRRRRRRKKKKRRRRRDDJJJJJJJJAAAAAAAAAASSSCSSSSPPPPP
|
||||||
|
DDDDDDDDLLLLLLLLNNNNNNNNNNNNNDDDDDKKKKKKKKKKKKKBBBBBBBARMMJJJJJJJJJDDDDDDDDDDDOOKKKOKKKKRRRRRRRRKKKKKRRRRRRDDJJJJJJJJJJAAAAAAASSSSSSSSSPPPPP
|
||||||
|
DDDDDDLLLLLLLLLLNNNNNNNNNNNNNNDDDDDKKKKKKKKKKKKKBBBBBBARMMRRRRJJJJJDDDDDDDDDDDOOOOOOOKOORRRRRRRBBKKKKRKRRDDDDJJJJJJJJJJAAAAAAASSSSSSSSSSPPPP
|
||||||
|
DDDDDDDDLLLLLLLLLNNNNNNNNNNDDDDDDDDKKKKKKKKKKKWKBBBBBRARMRRRRRRJXXDDDDDDDGDDOOOOOOOOOOOOORRQRABBBKBKKKKKGDGGGWJJJJJJYYJAAAAAATTSSSSSSSSSWWPP
|
||||||
|
DDDDDDDDLLLLLLLLLLNNNNNNNDDDDDDDDDDDKKKKKKKKKKKBBBBBBRRRRRRRRRRRRRDDDDDDHHDDOOOOOOOOOOOOJEJJRBBBBKBBKKKKGDGGGGJJJJJPPPPPPAAAATTSSSSSSSSWWWPP
|
||||||
|
DDDDDTDDLLLLLLLLLLLLIINDDDDDDBBBDDDKKKKKKKKKKDDBBNBBBBRRRRRRRRRRRWWWWDDHHHJPJOJJOOOOOOOJJJJJNBBBBBBBBBBGGGGGGGGCCCCCPPPPPPAAAASSSSSSSSSWWWWP
|
||||||
|
DDDDDDXDDLLLLLLLLLLLLLNDDDDBBBBBBBDKKKKKKKKKKKKNNNBNNBRRRRRRRRRRWWWWWDDHHHJJJJJJJJJOOJJKJJJJNBBBBBBBBBGGGGGGGGGCCCCCPPPPPPGAAGSSGSSSWWOWWWWW
|
||||||
|
DDDDDDDDDDLLLLLLLLLLLLDDDDDBBBBBBBBKKKKKKKKKKKNNNNNNNRRRRRRRRRRRRWWWHDDHHHJJJJJJJJJJJJJJJJJJBBBBBBBBBBGGGGGGGGXCCCCCCPPVVPGAAGGGGGSSSWWWWWWW
|
||||||
|
DDDDDDDDDLLMMLLLLLLLLCBBBBBBBBBBBBOKKKKKKKKKKKNNNNNNNNRRRRRRRRRRWWWHHADHHHJJJJJJJJJJJJJJJJJJBBBBBBBBBBGGGGGGGGXXCCCCCVVVVPGGGGGGGSSSSWWWWWWW
|
||||||
|
DDDDDDDDDLMMLLPLLLLLLLLBBBBBBBBBBBOKKKKKKKKKKKNNNNNNNNNRNNRRRRRWWHHHHHHHHHJOOJJJJJJJJJJJJJJBBBBBBBBBGGGGGGGGXXXCCCCCVVVVVGGGGGGGGGGSYYWWWWWW
|
||||||
|
DDDDDDDDMMMMLLLLLLLLLLLBBBBBBBBBBBBBBKKKKKKKKKKNNNNNNLNNNNRRDRRWMHHHHHHHHHHJJJJJJJJJJJJJJJJJBBBBBBBBBGGGGGXXXXXCCCCVVVVVGGGGGGGGGGGSSGWWWWWW
|
||||||
|
DDDDDDDDMMMMMMMMLLLLLLWBBBBBBBBBBBFBBKKKKKKKKKKKKKNLLLNNNNRRRMMMMMHHHHHHHHJJJJJJJJJJJJJJJJJBBBBBBBBBBGGGGGXXXXXVVVVVVVVVVVVVGGGGGGGGGGGWWWWW
|
||||||
|
DDDLDDDDMMMMMMMMMLLLLLLBBBBBBBBBBBBBBKKKKKKKKKKKOLLLLLLLNNMMMMMMMMMHHHHHHHJPJJJJJJJJJJJJJJJJBBBBBBBBBBGGGGGXXXXVVVVVVVVVVVVGGGGVGGGGGGGGGGUA
|
||||||
|
DDLLLLDDBBBBBBMMLLLLLLBBBBBBBBBBBBBBBKKKKKKKKKKKKLLLLLLLNNMFFMMMMMHHHHHHFJJJJJJJJJJJJJJJJJBBBBBBBBBBBBGGGGXXXXXVVVVQVVVVVVVGGGGVGGGGGGGGGGAA
|
||||||
|
LTLLLLLMBBBBBBMMLLLLLLLLBBBBBBBBBBBBKKKKKKKKKKKLLLLLLLLLLLFFFMMMMMMHSSSHFFJRJJJJJJJJJJJJJJBBJBBBBBBBGGGGGGXXXXXXXXVVVVVVVVVGVVVVGGGGEEGGEAAA
|
||||||
|
LLLLLVVVBBBBBBMLLLLLLLAAAABBBBJBBBBBKKKKKKKKKKKLLLLLLLLLLLLFFMMMMMMSSSSMFFJJJJJJJJJJJJJJJJJJJBRRRVBBGGGGGXXXXXXXXVVVVVVVVVVVXVVVVVVEEEEEEMAA
|
||||||
|
LLLLLLVBBBBBBBGGLLLLLLLAJAAAABJJBBBBKKKKKKKKLKLLLLLLLLLLLLLLFMMMMMMMMSSMFFFJJJJJJJJJJJJJJJJJRRRRRVRGGGGGXXXXXXXXXXVVVVVVVVVVVVVVVVVVEEEEEEAA
|
||||||
|
LLLLLLLBBBBBBBGGGLLLLJJJJAAAJJJJJJJJKKKKKKKKLLLLLLLLLLLLLLFFFFFFFMFMMMMMMMFJUJJJAJJJJJJJJJJJRRRRRRRRGGGGXXXXXXXXXVVVVVVVVVVVVVVKCCCCCEEEEEEE
|
||||||
|
ALLLLLLBBBBBBBGGGLGLLJJJJAAJJJJJJJJJKKKKKKKKLLLLLLLLLLLLLLLUUFFFFFFFMMFFFFFFAAJJAAAAAJJJJJJRRRRRRRRRRGGXXXXXXXXXXXXVVAVVVVVVVCCCCCSCCEEEEEEE
|
||||||
|
ALLLLLLBBBBBBBGGGGGLJJJJJJJJJJJJJJJJKKKKKKKLLLLLLLLLLLLUUUUUUFFFFFFFFFFFFFFFAAFAAAAAAAJJCJJRRRRRRRRRRGGGXXXXXXXXVVQVVVVVVVVRVCCCCCCCCEEEEEEE
|
||||||
|
ALLLLLLBBBBBGGGGGGLLGGGGGJJJJJDDDDDJKKKKKKSSSLLLLLLLLLLLUUUUUUFUWWWWWAAFFFFFFAAAAAAAAJJJCJJRRRRRRRRRRRGGXXXXXXXVVVVVVVVVVVVRPCQCCCCCCEEEEEEE
|
||||||
|
LLLLLLLBBBBBBBBBBGGGGGGJJJJDDDDDDDDJJJKKKKKSLLLKLLLLLLUUUUUUUUUUOOWWWWAAAFAFFAAAAAAAAJCCCJCRRRRRRREJRRRREEEXXXYYYVVVVVVVVVRRPRRRCCCCCHSSESEE
|
||||||
|
XLLLLLANNBBBBBBBBGGGGGJJJDDDDDDDDDDJJJKSSSKSKKKKLLLLLLUUUUUUUUUUUUUWWAAAAAAFFAAAAAAAAAUCCCCRRRREEEEEERRREDDXXXIYVVVVRRRRRRRRRRRLRCJCCSJSSSSS
|
||||||
|
XXLLLFAANBBBBBBBBBBGGGGJJDDDDDDDDDDJJDDSSSSSKKKKLLLLLLLUUUUUUUUUUUUWAAAAAAAAFAAAAAAAAAACCCCCCRRREEEEEERGDDDDKXIYVRVVRRRRRRRRRRRRRRJJJSSSSSSS
|
||||||
|
LLLLLLAANBBBBBBBBBBBGGJJJDDDDDDDDDDDDDDSSSSSKKKKLLLLLLLUUUUUUUUVVVVWAAAAAAAAAAAAAAAAAACCCCCCRRREEEEEEGGGGGPDDIIIRRIGRRRRRRRRRRRRRRRJSSSSSSSL
|
||||||
|
MMMMMMAANBBBBBBBBBBBGGGDJDDDDDDDDDDKKDDSSSSSSKKKKLLLNNNUUUUUUUUUUUAAAAAAAAAAAAAIIAAAAAACCCCCCREEEEEEEEEGPGPWWIIIIRIIRRRRRRRRRRRRRRRJSWWSSSSL
|
||||||
|
MMMAAMAANBBBBBBBBBBBBGJDDDDDDDDDDDDDDDDSSSSKSKKKKLLLLNNNUUUUUUUUAAAAAAAAAAAAAAAAAAAAAAACCCCCCCCEEEEEEESPPPPPWWIIIIIIIRRRRRRRRRROOOOOSWXXXJSL
|
||||||
|
MMAAAAAANNBBBBBBBBBBBBDDDDDDDDDDDDDBDDDDDDDKKKKKKKKLLKKUUUUUTGGGGAAAAAAAAAAAUAUAUUAAAACCCCCCCEEEEEEEEEEPPPPPWIIIIIIIIRRRRRRRRRROOOOOOOXXXXLL
|
||||||
|
MMAAAAAANNBAFBBBBBBBBBBFDDDDRDDDHDDBDDDDDDDKKKKKKKKKKKOGGGUGGGGGGGAAAAAAAAAAUUUUUUAAACCCCCCCEEEEEEEEEEEPPPPPIIIIIIIIIIRRRRRRRRROOOOOXXXXXLLL
|
||||||
|
MAAAAAAAAAAAFBBBBBBBBRRRRRRDRRDDHDDDDDDDDDDKKKKKKKKKGGGGGGUGGGGGGGGAAAAAAAAAUUUUUAACCCCCCCCCCCCEEEEEEEEPPPPPPPPIIIIIIRRRRRRROOOOOOOXXXXXXLLL
|
||||||
|
MAAAAAAAAAAAFBBBBBBBBBRRRRRDRRDDHDDDDDDDDDDKKKCCKKKGGGGGGGGGGGGGGGGGAAAAAAQUUXXUUUUCCCCCCCCCCCCEEEEEEEEPPPPPPPPPIIIIIIIRRRRRROOOOOOOXXNXXLLL
|
||||||
|
MAAAAAAAAAAABBBHHBBBFBBRRRRRRRRRDDDDDDDDDDDCCCCCKKKGGGGGGGGGGGGGGGGGGGGAAQQAAXXUUUUUUCCCCCCCCCCEEEYEEEEPPPPPPIIPIIIIIIIRRRRRROOOOOOOXXXXXNLL
|
||||||
|
MAAAAAAAAAAAABBHHHBBBBBRRRRRRDDDDDDDDDDDDDCCCCCCCKKKGGGGGGGGGGGGGGAAAAAAQQQQXXXXUUUUUCCCCCCCCCCEEEYYEEEPPPPPPIIIIIIIIIIRRRROOOMOOOOOOOPPNNNL
|
||||||
|
MAAAAAAAAAAALBBBHHHHEEBRRRRRRRRRKDDDDDDDDDDDCCCCCKKKKGGGGGGGGGGGGAAAAAAAQQQXXXXXUUUUUCCCCCCCCCCEEYYYEEEPPPPPPPIIIIIIIIIIIIRMMMMMOOOOOOONNNNL
|
||||||
|
MAAAAAAAAAAJLLLBBHHHERRRRRRRRRRRRRKKDDDDDDCCCCCCCCKKKGDDGDGGGGGGAAAAAAAAAAQXXXXXUUUUUCCCCCCCCCCCCCYYAAAAPPPPAANIIIIIIIIIMMMMMMMOOOOONNNNNNNN
|
||||||
|
MMMAAAAAALNLLLLLLHLLRRRRRRRRRMMRRRDDDDDDDDCCCCCCCKKKKKKKKDGGGGGAAAAAAAAAAAAXXXXXXUUUCCCCCCCCCCCCCCYYAAAAAAAAAANIIIIIXXIIMMMMMMMOOOONNNNNNNNN
|
||||||
|
MMAAAAAAALLLLLLLLLLLLRLLLRRRMMMRRDDDDDDDDDDDCCCCCKKKKKKKKDGGGGGAAAAAAAIAAAAIXXUUUUUUUUCCCCCYYYYCCCYAAAAAAAAAAANIIIIXXXIIIMMMMMMOOOENNNNNNNNN
|
||||||
|
MMAAAAAAALLLLLLLLLLLLLLLLRLMMMMMCDDDDDDDDCCCCCCCKKKKKKKKTGGGGGAAIAIAAAIAAIIIIXUUUUUUUUUUUCYYYYYYYYYAAAAAAAAAANNNINNNXIIIIMMMMMMOOONNNNNNNNNT
|
||||||
|
MMMAAAJALLLLLLLLLLLLLLLLLLLMMMMMMMMMDDDDDDCCCCCCCKKKKKKTTTTTTIIIIIIAIAIIIIAIXXXUUUUUUUUUUYYYYYYYYAAAAAAAAAAAAANNNNIIXIIIMMMMMMMOOOOOONNNNNNT
|
||||||
|
MMMMAJJLLLLLLLLLLLLLLLLLLLMMMMMMMMMMEDDDDDDCCDDCDKKKKKTTTTTTTTTIIIIIIIIIIIIIIGGVVUUUUUYYYYYYYYDDDDDDAAAAAAAAAAANNNIIIIIIIIMMMMMMMOOOOOONNNND
|
||||||
|
MMMMAJJLLLLLLLLLLLLLLLLLLLMMMMMMMMMMEEEDDNDDDDDDDKKHHHHHTTTTTTTTIIIIIIIIIIIIVVVVUUUUYUYYYDDDDDDDDDDDAAAAAAAANAANNNIIIIIIIIMMMMMOOOOOOOOONNDD
|
||||||
|
MMMMMMLLLLLLLLLLLLLLLLLLMMMMMMMMMMMEEEEDDNNNNDDDDDDDDDTTTTTTTTITIIIIIIIIIINIVVVVYYYUYYYYYDDDDDDDDDDDGGGAAAAANNNNNNIIIIIIIMMMMZZMMMOMOOOOODDD
|
||||||
|
MMMMMMQQQLLLLLLLLLLLLLLLLMMMMMMMMMMMEEEENNNNDDDDDDDDDDTTTTTTIIIIIIIIIIIIIINVVVVYYYYYYYYYYDDDDDDDDDDDGGGAAAAAANNNNNNNNNIIMMMMMMMMMMMMMOODDDDD
|
||||||
|
GGMMMMQQQLLLLLLLLLLLLLLLLMMMMMMMMMMMMMEENNNNNNNDDDDDDDTTTTTTTIIIIIIIIIIIIIIVVVVVVYYYYYYYYYYYYYYYGGGGGGGAAAAAAANNNNNNNNNNMNMMHMMMMMMMMDDDDDDD
|
||||||
|
GGAAMMMSQLGLFLLLLLLLLLLLMMMMMMMMMMMMMMMMNNNNNNNDDDDDDUTTTTTTTTIIIIIIIIIIIVVVVVVVYYYYYYYYYYYYYYYYGGGGGGGAAAAAAZZZNNNNNNNNMNMMHMMMMMMMMDDDDDDD
|
||||||
|
AAAAAOMSSSLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMNNNNNNNNNDDDDDTTTTTTTTTIIIIIIIIIIVVVVVVYYYYOYYYYYYYYEEGGGGGGGGGAAAAZZZZZZZNNNNNNNNNMMMMMMMMMMQDDDDDD
|
||||||
|
AAAAAARSSSSSSLLLLLLLLLLLMMBMMMMMMMMMMMMNNNNNNNNNDDDRDRTTTTTTTTIIIIIIIIIIIVVVVVVVVQYOYYYYYYEEEEGGGGGGGGGAXXZZZZZVVVVNNNRRRNNMMMMMMMMMMDDDDDDD
|
||||||
|
AAAAAARSSSSSSLLLLLLLLLLLLLBMMMMMMMMMMMMMNNNNNNNNNDDRRRTTTTTTTTITTITIIIIIVVVVVVVVVOOOYYYYZYEEEEGGGGGGGGGXXXZZZZZVVVVNNNRRRRRMMMMMMMDDDDDDDDDD
|
||||||
|
AAAAAAASSSSSSSSSLLLLLLLLLLBBMMMMMMMMMMMMNNNNNNNBNNNRRRRRYTTTTTTTTTTTIWIIIIVVVVOVVOOOOYYYOOKEEEGGGGGGGGGXXXZXZVVVVVNNRRRRRRRMMMMMMMMMMDDDDDDD
|
||||||
|
AAAAAAAAASSSSSSSSLLLLLLLLLLLMMMZMMMMZMMNNNNNNNNNNNNRRRYYYTTTTTTTQTQTTIIMMQQVVVOOOOOOOOYOOOEEEEGGGGGGXXXXXXXXXVVVVVVVRRRRRRRCMMMMMMMMMDDDDDDD
|
||||||
|
AAAAAAAAASSSSSVLLLLLLLLLLLLLLZZZZZZZZZZZNNNNNNNNNNNNNYYYYYYTTTTTQQQQTTQQQQQQGOOOOOOOOOOOOEEBEEGGGGGAMMMXXXXXXVVVVVRRRRRRRRRCMMMMMMMMMDIIDDDD
|
||||||
|
AAAAAAAAASSCSSVLLLLLLLLLLLLLLLLZZZZZGGOGNNNNNNNNNNNNNYYYYYYTTTTQQQQQQQQQQQQQQQQOOOOOOOOOOOEEJJJGGGGAMMXXXXXXXXVVVVVRRRRRRRRMMMMMMMMMMDIDDDDD
|
||||||
|
AAAAAAAAACSCSSVVLLQQLLLLLLLLLLLZZZZZGGGGGNNNNNNNNNNNYYYYYYYTTTTTTTQQQQQQQQQQQQQOOOOOOOOOOOEJJJAGGGGAAXXXXXXXVVVVVVVVRRRRRRRRMMMMMMMMMDIIDDDD
|
||||||
|
AAAAAAAAMCCCCVVVVVLLLLLLLLLLLLLZZZZGGGGGGGNNNNNNNNNNYYYYYYYTTTTTTQQQQQQQQQQQQQQQOOOOOOOOOOOOOAAAAAAAAXXXXXXXVVVVVVVVVVRRRRRRRMMMMMMDMDDIDDDD
|
||||||
|
AAAAAACACCCCCCVVVVLLLLLLLLLLLLLZZZWWGGGGJGNNNNNUUNNOOOYYYYYYTTTTTQQQQQQQQQQQQQQQQOOOOOOOOOOOOAAAAAAAAXXXXXXQVVVVVVVVVVRRRRRRRMMMMMMMMDDDDDDD
|
||||||
|
AAAAAACAYCCCCCVVVDDDLLLLLLLLSHZZZWWWGGGGJGNNNNNNUUNOOOYYQYYYTTTYYYQQQQQQQQQQQQQUQOOOOOOOOOOOOAKKAAAAAXXXXXXQVVVVVSSVVVVRRRRRRXXMMMMMBXXXXDDD
|
||||||
|
AAAAAACCCCCCCCVVVVDDDLLLLLLLSHSZZWWGGQQQQQNSSNNUUOOOOOOOQYYYTYYYQQQUQQQQQQQQQQUUQUUOOGGOOOGXXXGKKKAAAXXXXUQQQVVVVVVVVVVVDDRRRXXXMMMMMXXXXXXV
|
||||||
|
AZAZZZCCCCCCCCCVDDDDDDDLLLLLSHSZWWWQQQQQQQSSSNSUUUUOOOOOTTYYTTYYYQQQQQQQQQQQQQUUUUUUXXGGGGGXXXGGKKKKAXUXXUUUUVVVVVVVVVVVDDRDRCXXXMMXXBXXXXXL
|
||||||
|
AZZZZZZCCCCCCCCCCDDDDDDDDLLLSSSSSSWQQQQQQQSSSSSUUUOOOOOOTTTTTTYYYYQQQQQQQQQQQUUUUUUUXXGGGGGGGGGKKKGKKUUUXXUUUUUVVVVVVVVDDDDDRXXXXXXXXXXXLLIL
|
||||||
|
AZZZZZZCCCCCCCCCCDDDDDDDDDDSSSSSSSQQQQQQSSSSSSSJJUUTOOOVTTTTTTYYYYQQQQQQQQQQQQUUUUUUXXGGGGGGGGGGGKGKKUUUUUUUUUUUVVVVVVDDDDDDXXXXXXXXXXLLLLLL
|
||||||
|
ZZZZZCCCCZCCCCCCCDDDDDDDDDDSSSSSSSQQQQQQQSSSSSJJJJJTTTTTTTOOOOOYYYYQQQQQQQQQQUUUUUUUUGGGGGGGGGGGGGGKKUUUUUUUUUUUUVVVAAADDDDXXXXXXXXXXXXXLCLE
|
||||||
|
ZZZZZZZZZCCCCCCCCDDDDDDDDDSSLSSSSSQQQQQQQDSJJJJJJJJTTTTTTTTLOOOOYYYYYOOOOOZZUUUUUUUUUUGGGGGGGGGGGGGGKKUUUUUUUUULUUVVAALADDDDXXXXXXXXXXXXXCLE
|
||||||
|
ZZZZZZZZZZCCCFFFCDDDDDDDDSSSSSSSSSQQQQQQQQTTTTJJJJJJTTTTTTTOOOOOYYOYOOOOOZZUUUUUUUGUUUUGGGGGGGGGGGGGKUUUUUUUUUUUUUVVAAAAAAADDXXXXXXXXXXXXLLE
|
||||||
|
ZZZZZZZZZZZCFFFFCCDDDDDDSSSSSSSSSSQQQQQQTQTTTTJJJJJJTTTTTTTOOOOOOOOOOOOOOOUUUUUUUUGGUGGGGGGGGGGGGGGGKGMUUUUUUUUUUUVVAAAAAAAAAXXXXXXXXXXXXLLE
|
||||||
|
ZZXZZZXZZZZDFFFFDDDDDDDDSSSSSSSSSSTHQQQQTTTTTTJJJJJJJJJJTTTOOOOOOOOOOOOOOMOGUUUUUUGGUIIIGGGGGGGGGGGGGGGUUUUUUUUUUUUVAAAAAAAFFXXXXXXXXXXXXXLE
|
||||||
|
XXXXXXXZZZZDDFFDXDDDDDDDSSSSSSSSSSTTTTQTTTTTTTJTJJJJMMMMTOOOOOOOOOOOOOOOOOOGGUUUUGGUUUIIIIIGGGGGXGGGGGGUUUUUUUUUAAAAAAAAAAAFZZXXZXXXXXXXXXXX
|
||||||
|
XXXXXXXXZZZDFFDDDDDDDDDSZSSSSSSSTTJTTTTTTTTTTTTTJJJJMMMMMMMOOOOOOOOOOOOOOXOGGGUUUGGGGGIIIIIIGGGXXGGGGGGVVVUUUUUAAAAAAAAAAAZZZZZZZXXXYXXXXXXX
|
||||||
|
XXXXXXXZZZZDDDDDDDDDDDSSSSSSSSSSTTTTTTTTTTTTTTTTMPJMMMMMMMMMOOOOOOOOOOOOOOGGGGGGUGGGIIIIIIIGGGGXXXGGGVVVVVUUUUUAAAAAAAAAAAZZZZZZZZZYYXYYXYYY
|
||||||
|
XXXXXXXXZDDDDDDDDDDDDDSSSSSSSSSTTTTTTTTTTTTTTTTMMMMMMMMMMMMMMOOOOOOOOOOOOGGGGGGGGGGGIIIIIIIIIIIWXXXXXVVVVVUUUUUAAAAAAAAAAZZZZZZZZZYYYYYXXYYY
|
||||||
|
XXXXXXXXXXXDDDDDDDDDDDSSJJSSSBBTTTTTTTTTTTTTTTTXXMMMMMMMMMMMMOOOOOOOOOOOOOOGGGGGGGGGGIIIIIIIIIIXXFXXVVVVVVVUUUAAAAAAAAAAAAZZZZZZZZYYYYYYYYYY
|
||||||
|
XXXXXXXXXXXXDDDDDDDDDDJJJJSSSBBTTQTTTTTTTTTTTTTXXMMMMMMMMMMMMOOOOOOOOOOOOOOOOGGGGGGGGIXIIIIIFIXXXXXVVVVVVVVVVAAAAAAAAAAAAAZZZYYZYYYYYYYYYYYY
|
||||||
|
XXXXXXXXXDDDDDDDDDDDDDJJJSSSBBBBBTTTTTTTTTTTTTXXXXMMXMMMMMMMMMMOOOOOOOOOOOOOOGGGGGGGJIIIFFIFFFXXXXXXVVVVVVVVAAAAAAAAAAAAAZZZZYYYYYYYYYYYYYYY
|
||||||
|
XXXXXXXXXDDDDDDDDDDDDDJJJJSSBBBBBBBTTTTTTTTTXXXXXXXXXMMMMMMMMMOOOOOOOOOOOOOGGGGGGGGGGFFFFFFFFFXXXXXXXVVVVVVVAAAAAAAAAAAAAAAAYYYYYYYYYYYYYYYY
|
||||||
|
XXXXXXXXDDDDDDDDDDDXDDJJJJSSBBBBBBBTTTTTTTTTXXXXXXXMMMMMMMMMMMMOOOOOOOOOOOOOOOOOGGGFFFFFFFFFFXXXXXXQXXVVVVVVAAAAAAAAAAAAAAAAAYYYYYYYYYYYYYYY
|
162
2024/day12/main.go
Normal file
162
2024/day12/main.go
Normal file
@ -0,0 +1,162 @@
|
|||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
|
||||||
|
h "git.bullercodeworks.com/brian/adventofcode/helpers"
|
||||||
|
)
|
||||||
|
|
||||||
|
func main() {
|
||||||
|
inp := h.StdinToCoordMap()
|
||||||
|
part1(inp)
|
||||||
|
fmt.Println("")
|
||||||
|
part2(inp)
|
||||||
|
}
|
||||||
|
|
||||||
|
func part1(inp h.CoordByteMap) {
|
||||||
|
fmt.Println("# Part 1")
|
||||||
|
var total int
|
||||||
|
trackedPlots := make(map[h.Coordinate]bool)
|
||||||
|
for y := inp.TLY; y <= inp.BRY; y++ {
|
||||||
|
for x := inp.TLX; x <= inp.BRX; x++ {
|
||||||
|
c := h.Coordinate{X: x, Y: y}
|
||||||
|
if trackedPlots[c] {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
plant := inp.Get(c)
|
||||||
|
region := findRegion(inp, c, make(map[h.Coordinate]bool))
|
||||||
|
area := len(region)
|
||||||
|
var perimeter int
|
||||||
|
for k := range region {
|
||||||
|
trackedPlots[k] = true
|
||||||
|
for _, chk := range []h.Coordinate{k.North(), k.East(), k.South(), k.West()} {
|
||||||
|
if inp.Get(chk) != plant {
|
||||||
|
perimeter++
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
total = total + (area * perimeter)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
fmt.Println("Total Price:", total)
|
||||||
|
}
|
||||||
|
|
||||||
|
func part2(inp h.CoordByteMap) {
|
||||||
|
fmt.Println("# Part 2")
|
||||||
|
var total int
|
||||||
|
trackedPlots := make(map[h.Coordinate]bool)
|
||||||
|
for y := inp.TLY; y <= inp.BRY; y++ {
|
||||||
|
for x := inp.TLX; x <= inp.BRX; x++ {
|
||||||
|
c := h.Coordinate{X: x, Y: y}
|
||||||
|
if trackedPlots[c] {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
region := findRegion(inp, c, make(map[h.Coordinate]bool))
|
||||||
|
area := len(region)
|
||||||
|
for k := range region {
|
||||||
|
trackedPlots[k] = true
|
||||||
|
}
|
||||||
|
sides := findSides(region)
|
||||||
|
total = total + (area * sides)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
fmt.Println("Total Price:", total)
|
||||||
|
}
|
||||||
|
|
||||||
|
func findRegion(inp h.CoordByteMap, start h.Coordinate, checked map[h.Coordinate]bool) map[h.Coordinate]bool {
|
||||||
|
ret := make(map[h.Coordinate]bool)
|
||||||
|
bt := inp.Get(start)
|
||||||
|
ret[start] = true
|
||||||
|
for _, chk := range []h.Coordinate{start.North(), start.East(), start.South(), start.West()} {
|
||||||
|
if checked[chk] {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
if inp.Get(chk) == bt {
|
||||||
|
checked[chk] = true
|
||||||
|
ret[chk] = true
|
||||||
|
for k := range findRegion(inp, chk, checked) {
|
||||||
|
ret[k] = true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return ret
|
||||||
|
}
|
||||||
|
|
||||||
|
var (
|
||||||
|
N = h.Coordinate{X: 0, Y: -1}
|
||||||
|
NE = h.Coordinate{X: 1, Y: -1}
|
||||||
|
E = h.Coordinate{X: 1, Y: 0}
|
||||||
|
SE = h.Coordinate{X: 1, Y: 1}
|
||||||
|
S = h.Coordinate{X: 0, Y: 1}
|
||||||
|
SW = h.Coordinate{X: -1, Y: 1}
|
||||||
|
W = h.Coordinate{X: -1, Y: 0}
|
||||||
|
NW = h.Coordinate{X: -1, Y: -1}
|
||||||
|
)
|
||||||
|
|
||||||
|
func findSides(region map[h.Coordinate]bool) int {
|
||||||
|
var sides int
|
||||||
|
for chk := range region {
|
||||||
|
sides = sides + checkForExteriorCorner(chk, region)
|
||||||
|
sides = sides + checkForInteriorCorner(chk, region)
|
||||||
|
}
|
||||||
|
return sides
|
||||||
|
}
|
||||||
|
|
||||||
|
// checkForExteriorCorner returns how many exterior corners 'chk' is a part of
|
||||||
|
func checkForExteriorCorner(chk h.Coordinate, region map[h.Coordinate]bool) int {
|
||||||
|
var ret int
|
||||||
|
// Check orthoganal neighbor pairs (N/E, E/S, S/W, W/N) for an exterior corner
|
||||||
|
if checkDiff(chk, N, region) {
|
||||||
|
if checkDiff(chk, E, region) {
|
||||||
|
ret++
|
||||||
|
}
|
||||||
|
if checkDiff(chk, W, region) {
|
||||||
|
ret++
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if checkDiff(chk, S, region) {
|
||||||
|
if checkDiff(chk, E, region) {
|
||||||
|
ret++
|
||||||
|
}
|
||||||
|
if checkDiff(chk, W, region) {
|
||||||
|
ret++
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return ret
|
||||||
|
}
|
||||||
|
|
||||||
|
// checkForInteriorCorner returns how many interior corners 'chk' is a part of
|
||||||
|
func checkForInteriorCorner(chk h.Coordinate, region map[h.Coordinate]bool) int {
|
||||||
|
var ret int
|
||||||
|
// Check for interior corner (N/E != NE, E/S != SE, S/W != SW, W/N != NW)
|
||||||
|
if checkDiff(chk, NE, region) {
|
||||||
|
if checkSame(chk, N, region) && checkSame(chk, E, region) {
|
||||||
|
ret++
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if checkDiff(chk, SE, region) {
|
||||||
|
if checkSame(chk, S, region) && checkSame(chk, E, region) {
|
||||||
|
ret++
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if checkDiff(chk, SW, region) {
|
||||||
|
if checkSame(chk, S, region) && checkSame(chk, W, region) {
|
||||||
|
ret++
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if checkDiff(chk, NW, region) {
|
||||||
|
if checkSame(chk, N, region) && checkSame(chk, W, region) {
|
||||||
|
ret++
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return ret
|
||||||
|
}
|
||||||
|
|
||||||
|
func checkDiff(chk, dir h.Coordinate, region map[h.Coordinate]bool) bool {
|
||||||
|
return !checkSame(chk, dir, region)
|
||||||
|
}
|
||||||
|
|
||||||
|
func checkSame(chk, dir h.Coordinate, region map[h.Coordinate]bool) bool {
|
||||||
|
_, ok := region[chk.Add(dir)]
|
||||||
|
return ok
|
||||||
|
}
|
4
2024/day12/testinput
Normal file
4
2024/day12/testinput
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
AAAA
|
||||||
|
BBCD
|
||||||
|
BBCC
|
||||||
|
EEEC
|
5
2024/day12/testinput2
Normal file
5
2024/day12/testinput2
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
OOOOO
|
||||||
|
OXOXO
|
||||||
|
OOOOO
|
||||||
|
OXOXO
|
||||||
|
OOOOO
|
10
2024/day12/testinput3
Normal file
10
2024/day12/testinput3
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
RRRRIICCFF
|
||||||
|
RRRRIICCCF
|
||||||
|
VVRRRCCFFF
|
||||||
|
VVRCCCJFFF
|
||||||
|
VVVVCJJCFE
|
||||||
|
VVIVCCJJEE
|
||||||
|
VVIIICJJEE
|
||||||
|
MIIIIIJJEE
|
||||||
|
MIIISIJEEE
|
||||||
|
MMMISSJEEE
|
5
2024/day12/testinput4
Normal file
5
2024/day12/testinput4
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
EEEEE
|
||||||
|
EXXXX
|
||||||
|
EEEEE
|
||||||
|
EXXXX
|
||||||
|
EEEEE
|
6
2024/day12/testinput5
Normal file
6
2024/day12/testinput5
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
AAAAAA
|
||||||
|
AAABBA
|
||||||
|
AAABBA
|
||||||
|
ABBAAA
|
||||||
|
ABBAAA
|
||||||
|
AAAAAA
|
@ -249,6 +249,22 @@ func (m *CoordByteMap) InsertColAfter(col int, fill byte) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// FindAllUnique searches the whole map and returns a slice of all unique bytes
|
||||||
|
func (m *CoordByteMap) FindAllUnique() []byte {
|
||||||
|
var ret []byte
|
||||||
|
track := make(map[byte]bool)
|
||||||
|
for y := m.TLY; y <= m.BRY; y++ {
|
||||||
|
for x := m.TLX; x <= m.BRX; x++ {
|
||||||
|
c := Coordinate{X: x, Y: y}
|
||||||
|
if !track[m.Get(c)] {
|
||||||
|
ret = append(ret, m.Get(c))
|
||||||
|
track[m.Get(c)] = true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return ret
|
||||||
|
}
|
||||||
|
|
||||||
// FindFirst searches left to right, top to bottom for the first
|
// FindFirst searches left to right, top to bottom for the first
|
||||||
// instance of b.
|
// instance of b.
|
||||||
func (m *CoordByteMap) FindFirst(b byte) (Coordinate, error) {
|
func (m *CoordByteMap) FindFirst(b byte) (Coordinate, error) {
|
||||||
|
Loading…
Reference in New Issue
Block a user