Solution for 12-1
This commit is contained in:
parent
c80041ba08
commit
e45052d14a
140
inputs/12/real.txt
Normal file
140
inputs/12/real.txt
Normal file
@ -0,0 +1,140 @@
|
|||||||
|
LLLLLLLLFFFFFFFFFFFFFFIIIIIIIIVVVZZZZZZEEEEEEEEEEEENNKAAKKRRRRRRRRPPPPPPPUIIIIIIIIIIIILLLLLLLLLLLLLUUUUUUUUOOOOOOOOOOOOOOOOSSSSSSDDDDDDDDDDD
|
||||||
|
LLLLLLLLLLLFFFFFFFFFFFFIIIIIVVVVVVZZEEEEEEEEEEEEEEENKKKKKKKRRRRRRPPPPPPPPIIIIIIIIIIIIZLLLLLLLLLLLLUUUUUUUUUUOOOOOOOOOOOOOOOUSSSSSSSDDDDDDDDD
|
||||||
|
LLLLLLFLLFFFFFFFFFFFFIIIIIIIIIVVVZZZZEEEEEEEEEEEEEENKKKKKKKRRRRRRPPPPPPPPPPPPIIIIIILZZLLLLLLLLLLLLUUUUUUUUUUOOOOOOOOOOOOOOOSSSSSSSLRRDDDDDDD
|
||||||
|
LLLLLLFFFFFFFFFFFFFFIIIIIIIIVVVVZZZZZEEEEEEEEEEEEXKKKKKKKKKRRRRPPPPPPPPPPPPPPPIIIIILLLLLLLLLLLLLLLUUUUUUUUOOOOOOOOOOOOOOOOOOSSSSSSRRDDDDDDDD
|
||||||
|
LLLLLLLFFWFFFFFFFFFHHIIIIIIVVVVVVVZVEEEEEEEUEEEEEEYKKKKKKKKKRRRRPPPPPPPPPPPPPIIIIIILLLLLLLLLLLLOOUUUUUUUUUOOOOOOKOOOOOOOOOIUSSSSSSRRDDDDDDDD
|
||||||
|
LLLLLLLLLFFFFFFFFFHHHHHIIIIIVVVVVVVVESEEUUUUEEUUEEEKKKKKKKKWRRRRPPPPPPPPPPPPPIIXXXXMLLLLLLLLLLOOUUUUUUUUUUKKKKOKKOOOOOOOOZUUUSXRSRRRRDDDDDDD
|
||||||
|
LLLLLLLLLLLLFFFFFFFHHHHHIIIIIVVVVVVVVSSEUUUUEEUUEHHKKKKKKKKWRRRRPPPPPPPPPPPPPPIIXXXXLLLLSLXLOLOOUUUUUUUUKKKKKKKKOOOOOOOOZZZUUURRSRRRRRDDDDDD
|
||||||
|
LLLLLLLKKLKKFFFFFFHHHHHHHHIIIVVVVVVVVSSSSUUUUUUUHHHHKKKKKKKKKKXRXPPPPPPPPPPPPPPPXXXXXXXLLXXXOOOOUUUUUUUKKKKKKKKKOOOOOOZZZZUUUURRRRRRRRRRRDDD
|
||||||
|
LLLLLKKKKLKKFFFFFHHHHHHHHHIIIIVVVVVVVSSSUUUUUUUUUHIHKKKKKKKKKKXXXPPPPPPPPPPPPIIIIXXXXXXLXXXWOOOOUUUUUUUUUKKKKKKIKZOOOOZZZUURRUURRRRRRRRRRDDD
|
||||||
|
LLLKKKKKKLKMMMFAFHHHHHHHASSSINVVVVVVVVSSSUUUUUUUUIIIQQQKEEEKKKXPPPGGPPPPPDDDPIIXXXXXXXXXXXWWWWOOOUUUUUUUKKKKKKKKKZZZZZZZUUURRRRRRRRRRSSSDDDD
|
||||||
|
LLLKKKKKKKKMMMCHHHHHHHHHHSSSNNVVVVVVVSSSSUUUUUUUUIIIIQQKEEEKKKYYPPPGPPPPPDDDDXXXXUUXXXXXXXXWWWWWWUUUUUUUUUNKKKKKKZZZZZZZUUUURRRRRRRRRRRSSDDD
|
||||||
|
LLKKKKKKKKKKKKCHHHHHHHHHSSSSNNNVVVVVVSSSSSUUUUUUUIIQQQQKKEEEKPYYPPPPPPPPPPDDDDDXXXXXXXXXXWWWWWWWDUUUWUUUUUUKKKKKKKKZZZZUUUUUURRRRRRRRRRSSDMD
|
||||||
|
LLLLKKKIKKKCCCCCHCCHHHHHHHHNNNNVVVVVVSSSSSUUUUUUIIIQQQQQQQEEEYYQPPPEPPPPPPDDDDERXXXXXXXXWWWWWWWWWKWWWNUUUKKKKKKKKKKZZZZZUUUUURRRRRRRRRSSCCMM
|
||||||
|
LLLKKKXKKKKAACCCCCCCCHHHAAHANNNNDDVDDDDSSSSSSSSUUIICQQQQQQEEQYYQSSSEPPPXEEEDDEEEJXXXXXXXXWWWWWWWWWWWWNNNUNKKKKKKKKZZZRRRRRURRRRRRRRRRRSSCCMM
|
||||||
|
LLLKKKXXKKKAAACCCCCCAHHHHAAANNNNNDDDDDDSSSSSSSSSSSIIQQQQQQQQQJJSSSSSUSXXEEEEEEEEEXXXXXXXXWXWWWWWWWWWWNNNNNNNNNNNKKKZZZZRRRRRRRRRRRRRRSSSCCCM
|
||||||
|
LLLLHKKKKKAAAACCCCCCAHHHHHANNNNNNDDDDDDDSSSSSSSSSSIIQQQQQQQQNGGSSSSSSSXXXXEEEEEEEXXXXXXXFFWWWWWWWWWWWNHHHNNNNNNZKZZZZZZRRRRRRRRRRRRRRSSSCCCM
|
||||||
|
LLLLHHHKKKAAAACAAAAAAAAAAAANNNNNNDDDWDDSSSSSSSSSSEEEGQQQQGGQNGGRRSSSSSXXXXEFXEEEEEXXXXXXFFWWWWWWWWWWNNHHHHNNNNNZZZZZZZWRRRRRRRRRRRGRUUSSCCCM
|
||||||
|
LLLLLLHHKKKAAAAAAAABAAAAAAAANNNNNNDDWDSSSWWWSSSSSEEGGGQQQGGGGGGGGSSSSSXXXEEFXXEEETTXXXXXXXWWWWWWWWWWNHHHHHHNNNNZZZZWWMWRRRRRRRUJRRRUUUUUICUU
|
||||||
|
HHLLLLHAAAAAAAAUAAABABAAAAANNNNNNNDNWWCCSWWWWSPSSEGGGGGQQGGGGGGGGSSSSSSXXXXXXXEEEETYXXXXXTTWWWWWWWNNNHHHHHHHHNZZZZWWWWWRRRRRRRUUUUUUUUUUUUUU
|
||||||
|
HHLLLHHHAAAAAAAUAABBBBAAAANNNNNNNJNNHWCCSWWWSSSSEEEEGGGGGGGGGGGGGSSSSSXXXXXXXXEEETTTTTXXTTTWWWWWWWEEEEEHHHHHPZZZZZWWWWWRRRRRRUUUUUUUUUUUUUUU
|
||||||
|
HHHLHHHAAAAAAAAUUBBBBBAAANNNNNNNNNNNNWWWWWWWWSSEEEEEEGGGGGGGGGGGGGGSSSXXXXXXXXXETTTVTTTTTTTWWWWWWEEEHEEHHHHHHKZZZZWWWWWRRRRRRUUUUUUUUUUUUUUU
|
||||||
|
HHHHHHHHPPPAUUUUBBBBBAANANNNNNNNNNNNWWWWWWWWWSSEEEEEEGGGGGGGGGGGGGFSSSSXXXXXXXEESTTTTTTTTTTTEEEEEEEEHHHHHHHHHHZZZWWWWWWRRRRRRRUUUUUUUUUUUUUU
|
||||||
|
HHHHPHHPPPPPUUUUBBBBBANNNNNNNNNNNNNNNWWWWWWWESEEEEEEEKKKKKKKKGGGGGGHXXXXXXXXXXSSSTTTTTTTTTTTEEEEEEEEHHHHHHHHHHHHHWWWWWWRRROOOOOOUUUUUUUUUUUU
|
||||||
|
HHHHPPPPPPPPUUUUBBBBAANNNNNNNNNNNNNIWWWWWWWWEEEEEEEEEKKKKKKKKGGGJJJJJJJJJJXXXSSSSTTTTTTTTTTTEEEEEEEHHHHHHHHHHHHHHWWWWWWRRMOOOWOOOUUUUUUUUUZZ
|
||||||
|
HPPPPPPPPPPPUUUUUUUAAANAAANNNNNNUNIIWWWWEEEEEEEEEEEEEKKKKKKKKNGFJJJJJJJJJJXXSSSSSSTSTTTTTTTTEEPPEEEEHHHHHHHHHVHHHWWWWWWWWOOOOOOOOUUUUUUUUUUZ
|
||||||
|
HHPPPPPPPPPPPPUUUUUAAANAAAAANGGGYIIIIWWWEEEEEWEEEEEEKKKKKKKKKNNNJJJJJJJJJJXXXSSSSSSSTTTTTTTTTPPPEEHHHHHHHHHHHHHHWWWWWWJJJOOOOOOCCUUUUUUUUUUU
|
||||||
|
HHHHPPPPPPZPUUUUUUUUAAAAAAAGGGYYYIIIEEWWWWEWWWWWEEEEKKKKKKKKKNNNJJJJJJJJJJXXSSSSSSSSTTTTTTPPPPPEEEEEEHHHHHHHHHHHCWWWWWJJJJOOOOOOOOUUUUUUUUUU
|
||||||
|
HHHPPPPPPPZPPUUUUUMUAAAAAPAAGGYYYYIIEEEEEEEEWWWWEEEVKKKKKKKKKNNJJJJJJJJJJJXXSSSSSSSSTTTTTTTTPPPPPPEEEEEEHHHHHHHHWWWWWWWVVVOOOOOOOOUPPUUUUUQQ
|
||||||
|
HHHHPPPPPPPPPPUUSSSJAAAAAAAAGGYYYYIIIEEEEEEEWWWWWEVVKKKKKKKKKNNNJJJJJJJJJJXXSSSSSSSSTTTTTTTTPPPPPPEEEEEEHHHHHHWWWWWWWVVVVVVVOOOTTOOPPFFUUUUU
|
||||||
|
HHHHHHPPPPPUPUUUSSSAAAAAAGGGGGYYYYIIIEEEEEEWWWWWWWWVKKKKKKKKKNNNJJJJJJJJJJYXSSSSSSSSSTTTTTPPPPPPPPEEEEEEEEEEGHWVWWWVVVVVVVVOOOOTTPPPPPFFUUUZ
|
||||||
|
HHHHHHGPPPPUUUUUUSSSSSAAAGGGYYYYYYYEEEEEEEEEWWWWWWVVKKKKKKKKKNNNNNNNNNNYYYYSSNSAASSSTTTTTTPPPPPPPPPPEEEGEEEEGVVVWWWVVVVVVVVVVTOTPPPPPPFUUZUZ
|
||||||
|
HHHHHGGPUUUUUUUUUSSNNNNNGGGGYYYYYYYYEEEEEEEEWWWWWWVKKKKKKKKKKNNNNNNNYYNYYYYYSNSSSSSSTTTTTPPPPPPPPPPPPEEGGGGGGGGVWWWVVVVVVVVVVTTTTTPPPPPPUZZZ
|
||||||
|
HHHHHWWUUUUUUUUUSSSNNNNNGGGGYYAYYYYYYOOVOEEEVWWWWOVKKKKBNNNNNNNNNNNNYYNYYYYUUNUSSSSSSTTTTHPPPPPPPPPPPGGGGGGGGGGVVWWWVVVVVVTTVTTTTTTTTPPPZZZZ
|
||||||
|
HHHHHAWWWUUWSNUNNSNNNNNNAAAAJAAAYYYYYYOOODOWWWWWWWWKKKKANNNNNNNNNNNNNYYYYUUUUUUSSSSSSTTTTTPPPPPPPPPPGGGGGGGGGGVVVVVVVTTTVTTTTTTTTTTTTPGXXXZZ
|
||||||
|
HHHHHWWWWWWWSNNNNNNNNNNNNAAAAQQAYYYYYOOOOOOROOWWWWWKKKKANNNNNNNNNNNMNNYUUUUUUUUSUSUSSTTTTTTBBBBPPPPPGGGGGGGGGGGLLVVVTTTTTTTTTTTTTXTTTXXXXXXZ
|
||||||
|
HHHHHWWWWWWSSNNNNNNNNNNNAAAAAAAAAYYYOOOOOOOOOOOOWWWKKKKAFNNNNNNNNNNNNYYUUUUUUUUUUUUSRRTTBBBBBKPPPPPGGGGGGGGGGLMLLLVVTTTTTTTTTTTXXXTTXXXXXXXX
|
||||||
|
HHHHHWWWWWWLSNNNLLNNNNNZZAAAAAAAAAAAOOOOOOOOOOOOBBXKKKKPPPPNNNNNNNNNNNUUUUUUUUUUUUUSRRFTBBBBKKPPPPPHGGGGGGGGGLLLLLVVVTTTTTTTTTTXXXXXXXXXXXXX
|
||||||
|
HHHWWWWWWWLLSLLLLNNVNNJEEEEAAAAAAAAAAOOOOOOOOOOOBBXKKKKPPPPPPNNNNNTTNUUUUUUUUUUPPPPPPPPBBKKKKKKKPPHHGGGGGGGGLLLLLVVVVTTTTTTTTTTXXXXXXXXXXXXX
|
||||||
|
AWWWWWWWWLLLLLLLLEEVVEEEEEEEAAAAAAAAAAOOOOOOOOOBBXXKKKKPPPPPPPNNNNTTTUUUUUUUUUUPPPPPPPPRRKKKKKKKPPPHGGGGGGGLLLLLLVVVTTTTTTTTTTTXXXXXXXXXXXXX
|
||||||
|
WWWWWWWWWLLLLLLLLEEVVEEEEEEEEEAAAAAAAAAOOOOOOOPPLXLKKKKPPPPPPTTTNNTTUUUUUUUUUUUPPPPPPPPRQKKKKKKPPPPPKGGGGGLLLLLLLLVVVTTTTTTTTTTTXXXXXXXXXXXX
|
||||||
|
WWWWWWWWLLLLLLLLLEEEEEEEEEEEEEAAAAAAAAAOOOOOOOPPLXLLLLUPPPPAPPLTTTTTUUUUUUUPPPPPPPPPPPPRRKKKKKKKKKPUKGBBGGOOLLLLLVVTTTTTTTTTTTTFFFXXXXXXXXXX
|
||||||
|
WWWWWWWKLLLLLLLLLEEEVMMMMMMMEEEAAAAAAOOOOOOOOOLPLLLLLLLPPPPPPPLTTTTTTTTTUUUPPPPPPPPPPPPRRKKKKKKKKKPKKKKKGKOOLLLLLTVVFFFTTTTTTTTFFFXXXXXXXXXX
|
||||||
|
ZWWWWKKKLLLLLLLLLEEEVMMMMMMMEEEAAAADDODDDOOOOOLLLLLLLLLGGPPPPTTTTTTTTTUUUUUPPPPPPPPPPPPRRKKKKKKKKKKKKKKKKKOLLLLLLLVVFFFFTFTBBBBBFXXXXXXXXXXX
|
||||||
|
ZZZWWKKKKLLLLLLLLLLLEMMMMMMMEEAAAAADDDDDDDOPPPPPPPPLLLLLLFFFFFTTTTTTTTUUUUUPPPPPPPPPPPPRKKKIKKKKKKKKKKKKKKKLLLLLLLQQFFFFFFTBBBBBFFFXXXSXXXXX
|
||||||
|
ZZZKKKKKKKKLLLLLLLDDDDDDDDDMEAAADDAADDDDDDOPPPPPPPPLLLLLLFFFFFTTTTTTTTTZUUUPPPPPPPPPPPPIIIIIKKKKKKKKKKKKKKKQLLLQQQQQQQFFFFBBBBBBFFFFXXXXXKZX
|
||||||
|
UUUKOKKKKKKLLLLLLLDDDDDDDDDMAAAAADDDDDDDDDOPPPPPPPPLLLLLFFFFFFTTTTTTTTZZUUUPPPPPPPPPPPPIIIIIKIKKKKKKKKKKKKQQQQLQQQQQQFFFFBBBBBBBBBFFFFFFKKZZ
|
||||||
|
UUUUOKKUUUULLLLLLLDDDDDDDDDAAAAADDDDDDDDDDDPPPPPPPPLLLLLFFFFFFFFTTTTTTTIUUUPPPPPPPPPPPPIIIIIIIKKKKKQQQKQQQQQQQQQQQQQQQFABBBBBBBBBBBKKFFKKKZZ
|
||||||
|
UUUUOUKUUUUHLLLLLLDDDDDDDDDAAAAADDDDDDDDDMMPPPPPPPPLLLLFFFAFFFFFTFTNTTIIMMPPPPPPPPPPPMMIIIIIIIKIKKQQQQQQQQQQQQQQAQAAAFFAAYBBBKBKBKKKKKKKKNKZ
|
||||||
|
UUUUOUUUUUUHLLLLLLDDDDDDDDDAAAAADDDDDDDDDDAPPPPPPPPLLLLLFAAFFFFFFFFIIIIIMMPPPPPPPPPPPMMIIIIIIIIIIIQQQQQQQQQQQQQQAAAAAAFAAADBKKKKKKKKKKKKKKKZ
|
||||||
|
UUUUUUUUUUUHLLLDDDDDDDDDDDDBEAADDDDDDDDDTTTAFFFPPPPLLLLCAAAAFFFFFFFFIIIIIIPPPPPPPPPPPMMIIIIIIIILLLQQQQQQQQGGGQAAAAAAAAAADDDVEKKKKKKKKKKKKKKZ
|
||||||
|
UUUUUUUUUUUUUUUDDDDDDDDDDDDBBBBDDDDDDDDKAAAAFFFPPPPLLLSAAAAAAFFFFFFFIIIIIIPPPPPPPPPPPBBBIIIIILLLLLLLQGGGGQGGGQAAAAAAAAAAAVVVVKKKKKKKKOCKKOOZ
|
||||||
|
UUUUUUUUUUDDDDDDDDDUUUBBBBBBBBBBDBDDDFFAAAAAFPPPPPPLLLLAAAAAAAFFFFFFIIIIIIPPPPPPPPPPPBBBEIIITTLLLLLLLLGGGGGGGAAAAAAAAAAAAVVVVKKKKKKKOOOOOOOO
|
||||||
|
UUUUUUUUUUDDDDDDDDDUBBBBBBBBBBBBBBDDDFFAAPAPPPPPPPPFFLLXAAAFFFFFFFFYYYIIIIPPPPPBBBBBBBBBBIWWLLLLLLLLLLLGGGGGGAAAAAAAAAAAVVVVVKKKKKKKKOOOOOOO
|
||||||
|
UUUUUUUUUUDDDDDDDUUUUBBBBBBBBBBBBBBDDFFFFAAPPPPPPPPFFLDDDAFFFFFYYYYYYYYIIIPPPPPBWWBBBBBWWWWWLLLLLLLLLLLGGGGGGGAAAAAAAAAAVVVVVKKKKKKKOOOOOOOO
|
||||||
|
UUUUUUUUUUDDDDDDDUUUUBBBBBBBBBBBBBBLLFFFAPPPPPPPPPPFFDDFDDFFNFYYYYYYYYYIIIIIBRWWWWBBBBBWWWKWLLLLLLLLLLLGGGGGGAAAAAAAAAAAAVVVKKKKKKKKOOOOOOOV
|
||||||
|
UUUUHUHHNNNNNUUUUUUUUUBBBBBBBBBBBBLLLFLLLPPPPPPPPPPFFDDDDFFFNYYYYYYYYYYYIIIIIRWWWWWWWJJKKKKKLLLLLLLLLLLGGGGGGGAAAAAAAAAAAAVVRKKKKKKKKOOOOOOO
|
||||||
|
UUUUHHHNNNNNUUUUUUUUUUUBBBBBBBBBBBLLLLLLLPPPPPPPPPPFFDDDDFFFNYNHYYYYYYYYIIIIIWWWWWWWWJJJKKKLLKKKLKLLLLCGGGGGGGGAAAAAAAAAAAAARRRRKKKKKKKOKOOO
|
||||||
|
UUUUUUNNNNNVUUUUUUUUUUUBXXBBBBBBXBBLLLLLLPPPPPPPPPPFFDDDNNNNNNNNNYYYYYZZIIZIIWWWWWWWJKKKKKKKKKKKLKLLLCCZZGGGGGJJJAAAAAAAAAAARRRRQKKKKKKKKOKK
|
||||||
|
DDUUUXNNNNNVUIUIUUUUUUUBXBBBBBBXXXBLLLLLVVLFFPPPPPPFFDDNNNNNNNNNNNYYYYZZZZZZHWWWWWWWJJKKKKKKKKKKKKLLLLCCCGGGGGJJJJAAAAAAAAAARRRRQQQQKKKKKKKK
|
||||||
|
DDUUXXNNNNNUUIIIUUUUUUUBBBBBBBZZXXULLLLVIVVFFPPPPPPFFAMMMNNNNNNNNNYYYYZZZZZZHWWWWWWWKJKRRKKKKKKKKKZZLLCCCGGGGJJJJJAAAAAAAAAAQQRRQQQQQKKKKKKK
|
||||||
|
DDDNNNNNNNEEEIIIIIUUUUUUUUZZZZZZXUULLLVVVVVKSPPPPPPDDAMMMMMNNNNNNNNYYEZZZZZUUUUUQQWWKKKKRRKKKKKKKKZCCCCCCCGGGPJJJJJJAAAZAAAAAQRRQQQQQKYKKKKK
|
||||||
|
CDDDNDDDNEEEKQIIUIUUUUUUUZZZZZZZUUUUULVVVVVSSSSSSSSNNMMMMMMMMNNNNNDDEEZZZUUUUUUQQQWWWWKKRRKKKKKKKKCCCCCCCCCZZPJJJJJJJJZZZZAAAQRRQQQQQQYYYKKK
|
||||||
|
CCDDDDDDNKKKKQIIUUUUUUUUSZZZZZZZUUUUUVVVVVVVVSSSSSSNNMMMMMMMNNDNNDDDZZZZZUUUUUUQQWWWWWWWWWBKKKKKKKKKCCCCCCZZZZJJJJJZJZZZZZAQQQQQQQQQQYYYYYKK
|
||||||
|
CCDDDDDDDKKKKQIIUUUUUUUUZZZZZZZZUGVVVVVVVVVVVSSSSSSNNMMMMMMMMDDDDDDDZZZZZZUUUUUUUQQQQWWXWBBBKKBBBBKWCCCCCCCZZZZZZZZZZZZZZZAQQQQQQQQQQYYYYYKK
|
||||||
|
CCCDDDDKKKKKKKIILUUUUUUUGZZZZZZUUGVVVVVVVVVVVVVSSSSSMMMMMMMMMDDDDDDDZZZZZUUUUUUUQQQQQBBBBBBBBBBBBBBWWCCCCCCZZZZZZZZZZZZZZZAAAAAAAQQQQYYYYYKK
|
||||||
|
CCCCCDKKKKKKKKIIKUUGUBUUGGZZZZZZZVVVVVVVVVVVVVVVMMMSMMMMMMMMMMDDDDDDDEZZZUUUUUUQQQQQQBBBBBBBBBBBBBBBWWCCCZZZZZZZZZZZZZZZAAAAAAAAAAQQYYYYYYYY
|
||||||
|
CCCCCCCKKKKKKKKKKKUGGBGGGGGZZZZZZVVVVVVVVVVVVVZVMMMMMMMMMMMMMMDDDDUUUZZZUUUUUUQQPQQQBBBBBBBBBBBBBBBBWWWCCZZZZZZZZZZZZZZZAAAAAAAAAAAQYYYYYYTT
|
||||||
|
CCCCCCCAKKKKKKKKKKUGGGGGGGGZZZZZVVVVVVVVVVVVVVZZMMMMMMMMMMMMMMDDDDDUUUZZUUUUUUQPPQQQBBBBBBBBBBBBBBBBWCCCCZZZZZZZZZZZZZZZAAAAAAAAAAAAYYAYAYII
|
||||||
|
CCCCCCCCCCCCKKKKMMMGGGGGGGGAAAZZAVAAVVVVVVVVVVVZMMMMMMMMMMMPMMDDDUUUUUUUUUPPPPPPPPPQBBBBBBBBBBBABBBBBCCCCTTTTZZZZZZZZZZAAAAAAAAAAAFAYYAAAIIA
|
||||||
|
CCCCCCCCCCKKKKKKMMGGGGGGGGGGAAAAAAAAWWVVVVVVVVVZMZMMMMMMMMMPYPDDDUUUUUUUUPPPPPBPPPPQPHBBBBBUUBCCCCCBCCCCCCCCCYZZZZZZZAAAAAPPAAAAAAFFFYYAAAII
|
||||||
|
CCCCCCCCCKKKKKKKKMMGGGGGGGGGAAAAAAAWWWWVVVVVVVVZZZZMMMMMPMMPPPPDDDUUUUUUUUPPPPPPPPPPPPPRRBBUUUUCCCCCCCCCCTYYYYZZZZZAAAAAPPPAAPPPPPFFFFFFFAII
|
||||||
|
CCCCCCCCCKKKKHKHMMGGGGGGGTGAAAAAAAAWWWWWVVVVVVVZZZZMMMMMPPPPPPPPDDDUUUUUUUPPPPPPPPPPPPPHRBUUUCCCCCCCCDTTTTTYYYYZZYZAAAAAPPPPPPPPPPPFFFFFFAII
|
||||||
|
CCCCCCCCEKKHHHHHMHGGGGGGAAAAAAAAAAAAAXWWWVVVVVVZZZMMMMMMPPPPPPPPDDPUUUUUUPPPPPPPPPPPPPHHHBUHHCCCCCCCCDTTTTTTDDYZYYZAAAAAAPPPPPPPPPPFFFFFNIII
|
||||||
|
CCCCCCCCCCUUHHHHMHHGSAAAAAAAAAAAAAAAAXWXXVVVVVVZZZZMMMPPPPPPPPPPPPPBBUUUUPPPPPPPPPPPPPPHHHHHHXXXCCSCCDDDTTTTDYYYYYBAAAAAPPPPPPPPPPFFFFFFNIBI
|
||||||
|
CCCCCCCCCUUUUHHHHHHHAAAAAAAAAAAAAAAXSXWWXXXVVVIXZZZMMMMPPPPPPPPPPPPBBBBBBPPPPPPPPPPPPPPHHHGGHHXXCCSSDDDDDTTDDYYYYBBAAAAAAAAPPMMPPPFFFFFFNNFI
|
||||||
|
CCCCCCCCCCUUHHHHHHHJAAAAAAAAAAAAAAAXXXXXXXXVXXXXXZZZZPPPPPPPPPPPPPPBBBBBBBPPPPPPPPPPPPPHHGGGGXXXNXSSDDDDDTDDDYYYBBBBBBBAAAAPMMMPFFFFFFFFNNFF
|
||||||
|
CCCCCCCCCUUJJJHHHHHJUAAAAAAAAAAAXXXXXXXXXXXXXXXXXZZZZPXPPPPPPPPPPPPPBBBBBPPPPPOOOPOPOOOHHDDDDXXXXXSSSDDDDDDDDDBBBBBBBBBAAAMMMMMPFRFFFFFFFFFF
|
||||||
|
CACCCCCCCUUJJJJJJJJJJAAAAAAAAAOXXXXXXXXXXXXXXXXXXZZZZZPPPPPPPPPPPPBBBBBGBBPPPPPOOOOOODOODDDDDXXXXXXXDDDDDDDDDDBBBBBBBBBBIMMMMMWWFFFWWFFFFFFF
|
||||||
|
CCCCCCCCUUUJJJJJJJJJJAAAAAAAAAORRXXXXXXXXXXXXXXXXZZZZZPPPPPPPPPPPPPPBBBGGPPPGPGGGOOODDDDDDDPDDXXXXXODDDDDDDDDDBBBBBBBBBBHMMMMMWWWWWWWFFFFFFF
|
||||||
|
UUUCCCCUUUUJJJJJJJJJJAAAAAAAOAORRXXXXXXXXXXHXXXXXZZZZZJEPPPPPPPPPPBBBBGGGGGGGGGGGDDDDDDDDDDDDDDXXXDODDDDDDDDDDQBBBBBUBBBHMMMMMWWWWWWWWFFFKWW
|
||||||
|
UUUCCUCUUUJJJJJJJJJJJJJJAROOOOORRXXXXXXXXXXXXXXXZZZZZZJJJJJPPPPPPPBBBBGGGGGGGGGGKDDDDDDDDDDDDDDXXDDDDDDDDDDDDDDBBBBUUUHHHMMMMMWWWWWWWFFFKKKW
|
||||||
|
UUUUUUUUUUUJJJJJJJJJJJJRRROOORORXXXXXXXXXXXXXXXXXXZZZJJJJJJJPPPBBBBBBBBGGGGGGGGKKKKKDDWDDDDDDXXXXXDDDDIIIDDDDDDBBBBBBBHHHMMMMMMWWWWWKKKGKKKK
|
||||||
|
UUUUUUUUJUJJJJJJJJJJJJJJRRRRRRORRRXXXXXXXXXXXXXXXXZJJJJJJJJJJJBBBBGGGGBBBGGGGGGGGKKKWWWDDDDDDDXXXXXXXDBIIIIIIISHHHHHBBBHHMMMMMMMMWWWKKKKKKKK
|
||||||
|
UUUUUUUUJJJJJJJJJJJJJJJJRRRRRRRRRRXJXXUXXXXXXXXXXHHJJJJJJJJJJJJJBBBGGGBBGGGGGGGGGGKKWWWWDDJDDDXXXXXXXIIIIIIIIIHHHHHHHHHHHHMMMMMMMMWWWKKVKKKK
|
||||||
|
UUUUUUUUUJJJJJJJJJJJJJJJRRRRRRRQQRRXXXXTTTTXXXXXHHHHAJJJJJJJJJJBBBBBGGGGGGGGGGGGKKKKWWWWDDJDDXXXXXXXXIIIIIIIIIIIHHHHHHHHHHMMMMMMMMUWIKKKKKKK
|
||||||
|
UQUUUUUUUGGGJJJJJJJJJJTJRRQQQQRQQQRXXXXTTTTXXXXXXHHHHJJJJJJJJJJJJBBBGGGGGGGGGGGGGKKKWUWWWWXXXXXXXXXXXIIIIIIIIIIIIHHHHHHHHHMMMMMUMUUKKKKKKKKK
|
||||||
|
QQUUUUUUUUGGGGJJJJJJJJJJJQQQQQQQQQTTTTTTTTTTTTTTTTTTHJJJJJJJJJJJBBBBGGGGGGGGGGGGGGKKWWWWWWXXXXXXXXXXXIIIIIIIIIIIIIHHHHHHHHHHMMMUUUUKKKKKKKKK
|
||||||
|
QQQQUUQUUGGIGJJJGJJJJJJKKKKQQQQQQQTTTTTTTTTTTTTTTTTTHHHJJJJJJJJJBBBBGGGGGGGGGGGGGGGGBWWWWPPXXXXXXXXXXIIIIIIIIIIIIIIIIHHHHHHHMMMHHUUKKKKKKKKK
|
||||||
|
QQQQQUQUGGGGGGGGGJJJJJJKKKKQQQQQQQTTTTTTTTTTTTTTTTTTHHHJJJJJJJJJBBBBGGGGGGGGGGGGGGGGWWWWPPPPPXXQXXXXXEIIIIIIIIIVVVVVIIIHHHHHMMMMMUKKKKKKKKKK
|
||||||
|
QQQQQQQUUGGGGGGGJJJJJJJKKKKQQQQQQQTTTTTTTTTTTTTTTTTTHHHHJJBBJJJJBBBBGGGGGGGGGGGGGGGGGGGGGPPPPPXXIIXIXEIIIIIIIIIVVVVVIIIIHHHHMMMMMUKKKKKKKKKK
|
||||||
|
QQQQQQQQGGGGGGRRGJEJEQQJQQQQQQQQQQQQQQOOOTTTTTTTTTTTHHHHHHBBBBBBBBBJGGGGGGGGGGGGGGGGGGGGGPPPPPXXIIIIIIIIIIIIIIIVVVVVIIIIIHHHMMMMMQQHHKKKKKKK
|
||||||
|
QQQQQQQQGGGGGGRRGGGEEEQQQQQQQQQQQQQQOOOOOOOTTTTTTTTTHHHHHHBEEEBBBBBJGGGGGGGGGGGGGGGGGGGGGGPPPXXIIIIPIIIIIIIIIIIVVVVVIIIIIISHMMMMMMMMMKKKKKKK
|
||||||
|
QQQQQQQGGGGGGGGGGGEEEEQQQQQQQQQQQQQQOOOOOOOTTTOOOOOHHHHHBBBEEEBBBBJJJGGGGGGGGGGGGGGGGGGGAAPPPPIIPPPPPLIIIIIIIIIVVVVVIIIISSSSMMMMMMMMMKKKKKKK
|
||||||
|
QQQQQQQGGQGGGGGGGGGEEEEQQQQQQQQQQQQQVOOOOOOTTTOOOOOOHHHKKBEEEEBBJJJJJJGGGGGGGGGGGGGGGGGGGAPPPPPPPPFFFFFFFFIVVVVVVVVVIIIIISSSMMMMMMMMMQKKKKKK
|
||||||
|
QQQQQQQQQQGGGGGGGGGEEEEQTSSQQQQQQQQQQOOOOOBTTTOOOOOOOKKKKBLEEBBBJJJJJJJJJGGGUGGGGGGGGGGGGAPPPPPPPPPFFFFFFIIVVVVVVVVVIIIIISSSMMMMMMMMMTTDDDKK
|
||||||
|
QQQQQQQQQQGGGGGGGGGJJQJJJJJJJQQQQQQQZBUOBBBBBBBOKOKKKKKKKKKEEBBBBJJJJJJJJJJGUGGGGGGGGGGGGAPPPPPPPPPFFFFFFFFVVVVVVVVVIIIIISSSMMMMMMMMMTTTTTTT
|
||||||
|
QQQQQQQQQQGGGGGGGQQQQQJJJJJJJSQQQQQQBBBBBBBBBBBOKOKKKKKKKKBBEEBBBBJJJJJJJGGGUGGGGGGOOGGGRPPRPPPPPPPFPFFFFFIVVVVVVVVVSIIISSSSMMMMMMMMMTTTTTTT
|
||||||
|
QQQQQQQQQQGGGGQIIIQQQQJJJJJJJSSQQQQQBOBBBBBBBBBBKKKKKKKKKKKBBBBBBBJJJJJJGGGGUUGGUUUOOOOPPPPPPPPPPPPPPFFFFFFVVVVVVVVVSSIIISSSMMMMMMMMMTTTTTTT
|
||||||
|
QQQQQQQQWWGGGGQIIQQQQQJJJJJJJSSSSSQQBOBBBBBBBBBBKKKKKKKKKKKKJBBBBBJJJJJJJJGGUUUUUUUOOOOPPPPPPPPPPPPPUPFFFFFVVVVVVVVVSSSSSSSSMMMMMMMMMTTTMTTT
|
||||||
|
QQQQQQQQWWGGGQQIIIQQQQJJJJJJJSSSSSSYBBBBBBBBBBBBBKKKKKKKKKKKJJBBBBJJJJJJJJJUUUUUUUUUOOOOOPPPPPPPPPPPPPPPFFFVVVVVVVVVSSSSSSSSMMMMMMMMMTTTTTTT
|
||||||
|
QQQQQQQQQSSSSQQQQQQJJJJJJJJJJSSSSSSYBBBBBBBBBBBBKKKKKKKKKKKUUUUBBOJJJJJJJJJUUUUUUUUOOOOOOPRPPPPPPPVVVVVVVVVVVVVVVVVVSSSSSSSSMMMMMMMMMTTTTTTT
|
||||||
|
QQQQQQQQSSSSSQQQQQQJJJJJJJJJJSSSSYYYBBBBBBBBBBBBKKKKKKKKKKUUUUUBUJJJJJJJXUUUUUUUUUUOOOOOOODUPPPPXPVVVVVVVVVVVVVVVVVVSSSSSSSSSSSSTTTTTTTTTTTT
|
||||||
|
QQQQQQQQSSSSSQQQQQHJJJJJJJJQSSSSSSSBBBBBBBBBBBYBKKKKKKKKKRUUUUUUUUUJOJJJXUUNUUUUUUUOOOODODDDDPPPPVVVVVVVVVVVVVVVVSGGGGSSSSSSSSSSSTTTTTTTTTTT
|
||||||
|
QQQSSSQSSSSSSSQQSQHJJJJJJJJQSSSSSBBBBBBBBBBBBYYKKKKKKKKKKRUUUUUUUUUJOJJXXXUUUUUUUUUUOODDDDDDDPPPPVVVVVVVVVVVPFFFGGGGGGSSSSSSSSSSSTTTTTTTTTTT
|
||||||
|
SSSSSSSSSSSSSSSSSWQJJJJJJJJQSSSSSSBTBBBBBBBBBYYYKKKKKKKKKRFUUUUUUUUUUGJXXXXUUUUUUUUUDODDDDDDDPPPPVVVVVVVVVVVPFFFFGGGGGGSSSSSSSSSTTTTTTTTTTTT
|
||||||
|
SSSSSSSSSSSSSSSSSSQJJJJJJJJKKSSSSSBTTTBBBBBBBYYYKKKKKKKKKFFUUUUUUUUUUUUXXXXUUUUUUUUDDDDDDDDDDDPPPPVVVVVVVVVVUFFUUGGGGGGGGGGGSSSSSTTTTTTTTTTT
|
||||||
|
SSSSSSSSSSSSSSSSQQQJJJJJJJJKKSSSSSSTBBBBBYBYBYYYKKYKKKKFFFFFCUUUUUUUUUUXXXXXXULUUUUUUDDDDDDDDPPPPPVVVVVVVVVVFFFUUGGGGGGGGGGGSTTSTTTTTTTTTTTT
|
||||||
|
GSSSSSSSSSSSSDDDDDDJJJJJJJJJJJJJSSSSBBYYYYYYYYYYYYYYYKKKFFFFCUAAAUAAAAXXXXXXXUUUAUUUUDDDDDDDDPVVPPVVVVVVVVVVUUUUGGGGGGGGGGGSSTTTTTTTTTTTVVTT
|
||||||
|
SSSSSSSSSSSSNNNNDDDJJJJJJJJJJJJJSPSPPYYYYYYYYYYYYYYRRRKKDFFACCCAAAAOOBBBXBXXXUUUAUUUUUDDDDDDPPVPPPVVVVVVVVVVUUUUGGGGGGGGGGGSSTTTTTTTVVTVVVVV
|
||||||
|
ZSSSSSSSNNNNNNNNNDDJJJJJJJJJJJJJPPPPPYYYYYYYYYYYYYPRRRRRDFFAACAAAAABBBBBXBBXXUUUAAAAUUUDPPDDPPVVZVVVVVVVVVVVUUCCCEGGGGGGGGGSSLMTTTTTVVVVVVVV
|
||||||
|
ZSSSSNNNNNNNNNNNNDDNLLJJJJJJJJJJPPWPPWYYYYYYYYYYYYPRRRRRDDDAAAAAAAABBBBBBBAAAAAAAAAAAAUAPPPPPPVVVYVPPPWPFCUUCCCCCGGGGGGGGGGGSLLLLLTLLVVVVVVV
|
||||||
|
ZZZZZNNNNNNNNNNNNNNNLRJJJJJJJJJJPPWWWWYYYYYYYYYYPPPRRRRRAAAAAAAAAABBBBBBBAAAAAAAAAAAAAAAPPPPPPVVVVVVVPPPCCCUCCCCCGGGGGGGGGGGGLLLLLLLEVVVVVVV
|
||||||
|
ZZZZZZNNNNNNNNNNNNNNNNJJJJJJJJJJPWWWWYYYYYYYYYRRRRRRRRRRPAAAAAAAAABBBBBBBBWAAAAAAAAAAAAAAPPPQPVVVVVVEEEECCCCCCCCCCGGGGGGGGGGGLLLLLLLEELLLVVV
|
||||||
|
ZRZZZRCNNNNNNNNNNNNNTTJJJJJJJJJJWWWWWWYYYYYYYYRRRRRRRRRRPAAAAAAAAAABBBBBBBBBAAAAAAAAAAAAAAPQQQVVWQVMEOOETEEECCCCCCGGGGGGDDGGHLLLLLLLLLLLVVVI
|
||||||
|
RRRRRRNNNNNNNNNNNNNNTTJJJJJJJJJJJJJWWWFYYYYWWWRRRRRRRRRRPAAAAAAAAAAABBBMBBBBMAAAAAAAAAAAQAQQQQQWWQMMMEEEEEEECCEEECCCDDDDDDDGLLLLLLLLLLLMVVVV
|
||||||
|
RRRRRRNNNNNNNNNNNTNTTTJJJJJJJJJJJJJWWWWYYYYWWQRRRRRRRRRRAAAAAAAAAAAAYBBMMMMMMLLAAAAAAAAAQQQQQQQQQQQQMEEEEEEEEEEECCCDDDDDDDGGLLLLLLLLLLLMMGGG
|
||||||
|
RRRRRRRWNNNNNNVWTTTTTTJJJJJJJJJJJJJWWOOYYYYWWWRRRRRRRRRRAAXAAAAAAAAAYBBBMMMLLLLAAAAAAAAQQQQQQQQQQQRREEEEEEEEEECCCCDDDDDDDDGILFLLLLFLLLPGGGGG
|
||||||
|
EEERRRRWNNNNNWWWWTTTTTJJJJJJJJJJJJJJJOOYYYYWWWRRRRRRRRRRXAXAAAXXMAAYYYYBBMMLLLLAAAAAAAAQQQQQQQQQQQRRRREEEEEEEECCCDDDDDDDDDDDDLLLLLLLLGGGGGGG
|
||||||
|
EEEREEEWWNNWWWWWWWWTTTJJJJJJJJJJJJJJJOOOOOOOWWWWWWWWRMXXXAXXXXXXMMAYYYYYLLLLLLAAAAAAAAALQQQQQQQQWQRRREEEEEEEEECCCDDDDDDDDDDNVLLLLLLLGGGGGGGG
|
||||||
|
EEEEEWWWWWNWWWWTTTTTTTJJJJJJJJJJJJJJJOOOOOOWWWWWJWWWRXXXXXXXXXXXVVVVVYYYYLLLLLALLAAAALLLQQQQQQQQQQRRREEEEEEECCCCCOBDDDDDDDDNNNNNNNGNGGGGGGGG
|
||||||
|
EEEEWWWWWWWWCWWTTTTTTTTLLLLLLJJJJJJJJOOOOOOOWWWJJJJJRXXXXXXXXXXXVVVVVVYLLLLLLLLLLLLLLLLLLQQUUUQQQWEEEEEEEEECCCCCOOOODDDDDDDDLNNNNNNNGGGGGGGG
|
||||||
|
EEEUUWWWWWWCCCTTTCCTTTTPLLLLLJJJJJJJJOOOOOOWWWWWJJJRRXXXXXXXXXXXVVVVVYYLLLLLLLLLLLLLLLLLQQQUUUUCUWWEEEEEEEEECCCCOOODDDDDXXDXNNNNNGNNGGGGGGGG
|
||||||
|
UUUUUWUWWWWCCCCCTCCCCPPPPPLPLJJJJJJJJOOOOOOWWWWWWWJRRRRRPXXXXXXXXVVVVVVULYLLLLLLLLLLLLLLQQQUUUUUUUWEEEEEEEEEEECCCOOODDODDXDXNNNNGGGGGGGGGGGG
|
||||||
|
UUUUUUUUWWUUCCCCCCCIIPPPPPPPPJJJJJJJJOOOOOOWWWWWWWJRRRRRPPXXXVVXXVVVVVVVVYLLLLLLLLLLLLLLLLLLUUUUUUWEEEEEEEEECCCCOOOOOOOODXXXNNNGGGGGGGGGGGGG
|
||||||
|
UUUUUUUUUUUUCCACCCCPPPPPPPPPPJJJJJJJJOOOOOOOWWWWWWWRRRRPPPXXXVVVVVVVVVDVYYLLLLLLLLLLLLLLLLUUUUUUUWWWEEEEEEEECCCOOOOOOOOODXXXXXXGGGGGGGGGGGGG
|
||||||
|
UUUUUUUUUUUUUCCCCCPPPPPPPPPPPJJJJJJJJOOOOOOWWWWWWWWWRQRPPPPXXVVVVVVVVVVYYYLLLLLLLLLLLLLLLLLUUUUUUUUUFFFEEEECCCCCCOCUUUOOXXXXXXGGGGGGGGGGGGGG
|
||||||
|
UUUUUUUUUUUSUSCCCCCPPPPOIPPPPPPPPPPPPOOOGGWWWWWWWWWWWRRPPPPPXVVVVVVVYYVYYLLLLLLLLLLLLLLLLLLUUUUUUUUUFFEEEEECCCCCCCCUUUOOOOOXXXGGGGGGGGGGGGGG
|
||||||
|
UUUUUUUUUUCSSSSCCCCPPMIIIIIIPPPPPPPPPPOOGGGWWWWWWWWWWRPPPPPVVVVVVVYYYYYYYYLLLLLLLQLLLLQLLUUUUUUUUUUUFFEEECCCCCCUCCCUUMOOOOXXXXGGGGGUUGGGGGGG
|
||||||
|
UUUUUUUUUUCCCSCCCCCCCIIIIIIIPPPPPPPPPPGGGGWWWWWWWWWWWPPPPPPPPVVVVYYYYYYYYLLLLLLLQQTLLQQQLUUUUUUUUUUUFFFFECCCCCUUUUUUUMUOXXXXXUUUUGGUUGGGGGGG
|
||||||
|
UNUUUUUUFCCCCCCCCCCCIIIIIIIIIRRRPPPPGPGGGGGWWWWWWWPPPPPPPPPPPVEVYYYYYYLLLLLLLLLLLQQQQQQQUUUUUUUUUUUUUUFFFFFFFCUUUUUUUUUUUXXXUUUUUUUUGGGGUUGU
|
||||||
|
NNUUUUUFFCCCCCCCCCCCIIIIIIIIIIIPPPPHGGGGGGGGGGWWWPPPPPPPPPPPPVEKKKKYYYYLLLLLLLLLLLQQQQQQQQUUUUUUUUUUUUQFFFFFFCUUUUUUUUUUXXXXUUUUUUUUUUGUUUUU
|
||||||
|
NNNUUUUFCCCCCCCCCCCIIIIIIIIIIISSPHHHHHHGGGGGGPLLPPPPPPPPPPPPPVEEKKKYKYLLLLLLLLLLLLQQQQQQQQUUUUUUUUUUUFFFFFFFFFUUUUUUUUUUXXEXUUWEEUUUUUUUUUUU
|
||||||
|
NNNNUSSCCCWCCCCCCCCIIMIIIIPSIISHHHHHHHHGGGPPPPPPPPPPPPPPPPPPVVKKKKKYKKRKLLLLLLLLLLQQQQQQQQQSUUUUUUUUUUFFFFFFCFEEUUUUUUEUUEEEEUEEUUUUUUUUUUUU
|
||||||
|
NNNNRGGKCWWCCCCCCCCCIIIPPPPPIISHHHHHHHHHGGGGGPPPPPPPPPPPPPPPPGGKKKKKKKKKKLKKLLLLLLQQQQQQQQQSUUUUUUUUFFFFFFFFFEEEUUUEUEEEEEEEEEEEEEUUUUUUUUUU
|
||||||
|
NNNNRGGGGWWCCCCCCCCPPPPPPPPPITHHHHHHHHHHGGGGGGPPPPPPPPPPPPPPPGKKKKKKKKKKKKKTLLLLQLQQQQQQQQQUUUUUUUUUFFFFFFFFFFFEEEEEUEEEEEEEEEEEEEEUUUUUUUUU
|
||||||
|
NNRRRGGGWWPCCCCCCHCPPPPPPPPPTTTTHHHHHHGGGGGGGGPPPPPPPPPPPPPPDKKKKKKKKKKKKKKKLLLLQQQQQQQQQQQQQQQUUUUUFFFFFFFFFFFFEEEEEEEEEEEEEEEEEEEEUUUUUUUU
|
||||||
|
RRRRRRGWWWPCCPPPCCPPPPPPPAPPTTHHHHHHHGGGGGGGGGGGPPGGGPPPPPPSKKKKKKKKKKKKKKKWWLBLLQQQQQQQQQQQQQQUUUUUFFFFFFFFFFFFEEEEEEEEEEEEEEEEEEEUUUUUUUUU
|
||||||
|
RRRRRRPPPPPPPPPPPPPPPPPPPAPKPPFFHHXHHHGGGGGGGGGGPPGGGPPPPPQKKKKKKKKKKKKKKKKKQQQQQQQQQQQQQQQQQQQUUUUUFFFFFFFFFFFEEEEEEEEEEEEEEEEMEEUUUUUUUUUU
|
||||||
|
RRRRRPPPPPPPPPPPPPPPPPPPPPPPPFFFFHHHHGGGGGGGGGGGGGGGGPPQQQQQKKKNNNNKKKKKKKKQQQQQQQQQQQQQQQQQQQQUUUUFFFFFFFFFIFFEEEEEEEEEEEEEEEEEEEEUUUUUUUUU
|
||||||
|
RRRRRPPPPPPPPPPPPPPPPPPPPPPFFFFFFHGGGGGGGGGGGGGGGGGGGGPQQQQQQQNNNNNKKKKKKZKCCQQQQQQQQQQQQQQQQQQQUUUUUFFFFFFFFFFEEEEEEEEEEEEEEMEEEUUUUUUUUUUU
|
10
inputs/12/test.txt
Normal file
10
inputs/12/test.txt
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
RRRRIICCFF
|
||||||
|
RRRRIICCCF
|
||||||
|
VVRRRCCFFF
|
||||||
|
VVRCCCJFFF
|
||||||
|
VVVVCJJCFE
|
||||||
|
VVIVCCJJEE
|
||||||
|
VVIIICJJEE
|
||||||
|
MIIIIIJJEE
|
||||||
|
MIIISIJEEE
|
||||||
|
MMMISSJEEE
|
144
solutions/12.zig
Normal file
144
solutions/12.zig
Normal file
@ -0,0 +1,144 @@
|
|||||||
|
const std = @import("std");
|
||||||
|
const print = std.debug.print;
|
||||||
|
const util = @import("util.zig");
|
||||||
|
|
||||||
|
pub fn main() !void {
|
||||||
|
const response = try part_one(false);
|
||||||
|
print("{}\n", .{response});
|
||||||
|
}
|
||||||
|
|
||||||
|
fn part_one(is_test_case: bool) anyerror!u128 {
|
||||||
|
var gpa = std.heap.GeneralPurposeAllocator(.{}){};
|
||||||
|
defer _ = gpa.deinit();
|
||||||
|
const allocator = gpa.allocator();
|
||||||
|
|
||||||
|
const input_file = try util.getInputFile("12", is_test_case);
|
||||||
|
const data = try util.readAllInputWithAllocator(input_file, allocator);
|
||||||
|
defer allocator.free(data);
|
||||||
|
|
||||||
|
var it = std.mem.splitScalar(u8, data, '\n');
|
||||||
|
var lines_list = std.ArrayList([]u8).init(allocator);
|
||||||
|
|
||||||
|
while (it.next()) |n| {
|
||||||
|
var inner_line_list = std.ArrayList(u8).init(allocator);
|
||||||
|
for (n) |c| {
|
||||||
|
try inner_line_list.append(c);
|
||||||
|
}
|
||||||
|
try lines_list.append(try inner_line_list.toOwnedSlice());
|
||||||
|
}
|
||||||
|
const lines = try lines_list.toOwnedSlice();
|
||||||
|
defer allocator.free(lines);
|
||||||
|
defer {
|
||||||
|
for (lines) |line| {
|
||||||
|
allocator.free(line);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
const height = lines.len;
|
||||||
|
const width = lines[0].len;
|
||||||
|
|
||||||
|
var total: u128 = 0;
|
||||||
|
var i: usize = 0;
|
||||||
|
while (i < height) : (i += 1) {
|
||||||
|
var j: usize = 0;
|
||||||
|
while (j < width) : (j += 1) {
|
||||||
|
total += startExploringFrom(i, j, lines);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return total;
|
||||||
|
}
|
||||||
|
|
||||||
|
fn startExploringFrom(i: usize, j: usize, lines: [][]u8) u128 {
|
||||||
|
print("Starting exploring from {}/{}\n", .{ i, j });
|
||||||
|
const value = lines[i][j];
|
||||||
|
if (value == '.' or value > 90) { // i.e. if letter is lowercase
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
const response = exploreFrom(
|
||||||
|
i,
|
||||||
|
j,
|
||||||
|
lines,
|
||||||
|
value,
|
||||||
|
);
|
||||||
|
print("Calculated area {} and perimeter {} for region of value {c} starting at {}/{}\n", .{ response.area, response.perimeter, value, i, j });
|
||||||
|
return response.area * response.perimeter;
|
||||||
|
}
|
||||||
|
|
||||||
|
fn exploreFrom(i: usize, j: usize, lines: [][]u8, original_value: u8) struct { area: u128, perimeter: u128 } {
|
||||||
|
print("Exploring from {}/{}\n", .{ i, j });
|
||||||
|
var area: u128 = 0;
|
||||||
|
var perimeter: u128 = 0;
|
||||||
|
|
||||||
|
// To avoid double-counting - mark as '.' initially, then as the lower-case version of the letter when the
|
||||||
|
// flood-fill is completed (else we'll find false internal perimeters by detecting '.' as "different")
|
||||||
|
lines[i][j] = '.';
|
||||||
|
|
||||||
|
if (i >= 1 and neighbourMatches(i - 1, j, lines, original_value) and lines[i - 1][j] != '.' and lines[i - 1][j] != original_value + 32) {
|
||||||
|
const response = exploreFrom(i - 1, j, lines, original_value);
|
||||||
|
area += response.area;
|
||||||
|
perimeter += response.perimeter;
|
||||||
|
} else {
|
||||||
|
if ((i >= 1 and lines[i - 1][j] != '.' and lines[i - 1][j] != original_value + 32) or i == 0) {
|
||||||
|
perimeter += 1;
|
||||||
|
print("DEBUG - adding 1 to perimeter for up of {}/{}\n", .{ i, j });
|
||||||
|
} else {
|
||||||
|
print("DEBUG - up from {}/{} is an internal boundary, not a perimeter\n", .{ i, j });
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (j >= 1 and neighbourMatches(i, j - 1, lines, original_value) and lines[i][j - 1] != '.' and lines[i][j - 1] != original_value + 32) {
|
||||||
|
const response = exploreFrom(i, j - 1, lines, original_value);
|
||||||
|
area += response.area;
|
||||||
|
perimeter += response.perimeter;
|
||||||
|
} else {
|
||||||
|
if ((j >= 1 and lines[i][j - 1] != '.' and lines[i][j - 1] != original_value + 32) or j == 0) {
|
||||||
|
perimeter += 1;
|
||||||
|
print("DEBUG - adding 1 to perimeter for left of {}/{}\n", .{ i, j });
|
||||||
|
} else {
|
||||||
|
print("DEBUG - left from {}/{} is an internal boundary, not a perimeter\n", .{ i, j });
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (neighbourMatches(i + 1, j, lines, original_value) and lines[i + 1][j] != '.' and lines[i + 1][j] != original_value + 32) {
|
||||||
|
const response = exploreFrom(i + 1, j, lines, original_value);
|
||||||
|
area += response.area;
|
||||||
|
perimeter += response.perimeter;
|
||||||
|
} else {
|
||||||
|
if ((i < lines.len - 1 and lines[i + 1][j] != '.' and lines[i + 1][j] != original_value + 32) or i == lines.len - 1) {
|
||||||
|
perimeter += 1;
|
||||||
|
print("DEBUG - adding 1 to perimeter for down of {}/{}\n", .{ i, j });
|
||||||
|
} else {
|
||||||
|
print("DEBUG - down from {}/{} is an internal boundary, not a perimeter\n", .{ i, j });
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (neighbourMatches(i, j + 1, lines, original_value) and lines[i][j + 1] != '.' and lines[i][j + 1] != original_value + 32) {
|
||||||
|
const response = exploreFrom(i, j + 1, lines, original_value);
|
||||||
|
area += response.area;
|
||||||
|
perimeter += response.perimeter;
|
||||||
|
} else {
|
||||||
|
if ((j < lines[0].len - 1 and lines[i][j + 1] != '.' and lines[i][j + 1] != original_value + 32) or j == lines[0].len - 1) {
|
||||||
|
perimeter += 1;
|
||||||
|
print("DEBUG - adding 1 to perimeter for right of {}/{}\n", .{ i, j });
|
||||||
|
} else {
|
||||||
|
print("DEBUG - right from {}/{} is an internal boundary, not a perimeter\n", .{ i, j });
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
lines[i][j] = original_value + 32;
|
||||||
|
|
||||||
|
return .{ .area = area + 1, .perimeter = perimeter };
|
||||||
|
}
|
||||||
|
|
||||||
|
fn neighbourMatches(i: usize, j: usize, lines: [][]u8, original_value: u8) bool {
|
||||||
|
if (i < 0 or j < 0 or i >= lines.len or j >= lines[0].len) {
|
||||||
|
return false;
|
||||||
|
} else {
|
||||||
|
return lines[i][j] == original_value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
const expect = std.testing.expect;
|
||||||
|
|
||||||
|
test "part_one" {
|
||||||
|
const part_one_response = try part_one(true);
|
||||||
|
print("DEBUG - part_one_response is {}\n", .{part_one_response});
|
||||||
|
try expect(part_one_response == 1930);
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user