Add solution day 12
This commit is contained in:
parent
e70b4189cf
commit
b4f98c1ea3
4
day_12/example_1.txt
Normal file
4
day_12/example_1.txt
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
AAAA
|
||||||
|
BBCD
|
||||||
|
BBCC
|
||||||
|
EEEC
|
5
day_12/example_2.txt
Normal file
5
day_12/example_2.txt
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
OOOOO
|
||||||
|
OXOXO
|
||||||
|
OOOOO
|
||||||
|
OXOXO
|
||||||
|
OOOOO
|
10
day_12/example_3.txt
Normal file
10
day_12/example_3.txt
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
RRRRIICCFF
|
||||||
|
RRRRIICCCF
|
||||||
|
VVRRRCCFFF
|
||||||
|
VVRCCCJFFF
|
||||||
|
VVVVCJJCFE
|
||||||
|
VVIVCCJJEE
|
||||||
|
VVIIICJJEE
|
||||||
|
MIIIIIJJEE
|
||||||
|
MIIISIJEEE
|
||||||
|
MMMISSJEEE
|
5
day_12/example_4.txt
Normal file
5
day_12/example_4.txt
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
EEEEE
|
||||||
|
EXXXX
|
||||||
|
EEEEE
|
||||||
|
EXXXX
|
||||||
|
EEEEE
|
6
day_12/example_5.txt
Normal file
6
day_12/example_5.txt
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
AAAAAA
|
||||||
|
AAABBA
|
||||||
|
AAABBA
|
||||||
|
ABBAAA
|
||||||
|
ABBAAA
|
||||||
|
AAAAAA
|
140
day_12/input.txt
Normal file
140
day_12/input.txt
Normal file
@ -0,0 +1,140 @@
|
|||||||
|
KKUUIIIIIIIIIIIIMMMMMMMMMVVVVVVVVVVVVVVVVNNNNNTTTTTTTTTTMMBMYYKKKKRPPPPXXXXXXXXXXXXXXFFFFFFFFFFFNNNNNNNNNNNNNNNNNNNTTTTTTTTJJJFFFFFFIFMJEEEE
|
||||||
|
KKUUIIIIIIIIIIIIIMMMMMMMMMVVVVVVVVVVVVVVFAEEENNTTTTTTTTNMMMMYYKKKKKPPPPPPXXXXBBBXXXXXPFFFFFFFFFFNNNNNNNNTTTNNTTNNNTTTTTTTTTJJJFJFFFFFFJJJJEE
|
||||||
|
KKUUIIIIIIIIIIIIIIMMMMMMMMMVVVVVVVVVVTZVFEEENNTTTTTTTTTMMMMLKKKKKKKPPPPPXXXXBBBBXXXXXXFFFAFFFFFFFFNWWNTTTTTTTTTTTTTTTTTTTTJJJJJJFFFFFFFJJJJE
|
||||||
|
KKUUUUIIIIIIIIIIIIHEMMMMMMVVVVVVVVEEEEEEFFEEENTTUTTTTTMMMMMMKKKKKKKPPPPPPPPPBZBBXXBXXXXFFFFFFFFFFFFCWWTTTTTTTTTTTOOOTOTOOTJJJJJJJAAFFJJJJJJJ
|
||||||
|
KKUUUUUUIIEEIIIIIHHHMMHMMMVVVVVVVVEEEEEEFFEENNTTTTTTTTMMMMMMMKKKKKPPPPPPPPPBBBBBBBBXXFFFFFFFFFFFFFFFWWWWTTTTTTTTTOOOOOOOOTJJJJAJJAFFFJJJJJJJ
|
||||||
|
KKKUUUUUUIEEEIEIIIHHHHHHMMVVVVVVVVEEEEEEFFFFNNNTTTTTTMMMMMXXMKKKKKKKPPPPPPPVBBBBBBBXXFFFFFFFFFFFFFFWWWWTTTTTTTTOOOOOOOOOOOAJAAAAAAFFJJJJJJJJ
|
||||||
|
KUUUUUUUIIEEEEEIIHHHHHHHVVVVCVHHHVEEEEEEFFFFFNNTTTTTTTMMMMMXXKKKKKPPPPPPPPPVVBBVBBBBBBFFFFFFFFFFFFFFCWWTTTTTTTTOOOOOOOOOOOAAAAALLAAAAJJJJJJJ
|
||||||
|
KUUUUUUUIEEEEEEEEEEHHHHCVVCCCVGGGGEEEEEEFFFFFFNNNTTTTTTFMKKMKKKKKPPPPPPCVFPVVVVVVVVBBFFFFFFFFFFFFFFFFFWTWATTTTTOOOOOOOOOOOAAAAAAAAAAJJJJJJJJ
|
||||||
|
KUUUUUIIIEEEEEEEEEEHHHHCCCCCCGGGGGEEEEEEFBFFFFNNGTTTTTTFFMKMEKJJJJBPPPPVVFVVVVVVVXVBBBBFFFFFFFFFFFFFFWWWWTTTOOOOOOOOAOAAAOAAAAAAAAAAAJJJJJJJ
|
||||||
|
KKUUUUUUIEEEEEEEEEHHHHHHHHCCCGGGGGEEEEEEEEEEFFGGGTTTTTMMMMMMEKEJJBBPPPPBVVVVVVVVVVVBBBBFIFFFFFFFFFFWWWWWWWOTTGNOOOOAAAAAAAAAAAAAAAAAJJJJJJJJ
|
||||||
|
KKUUUUIIIEEEEEEEEEEHHHHHHHCCOOYGGGEEEEEEEEEEGGGGGMMMMMMMMMMMEEEJJJBBPPVVVVVVVVVVVVBBBBBBFFFFFFFFFWWWWWWWWNNNNNNNNOOAACAAAAAAAAAAAAAAAJJJJJJJ
|
||||||
|
KKKUUUIVIIVEEEEEEEHHHHHHHOHCOOYGGGEEEEEEEEEEGGGGGMMEMMMMMMKMEEJJJFJJJUUVVVVVVVVVVVVVBBKBKFFFWFFFWWWWWWNNNNYNNNNNYNNDDDDDAAAAAAAAAAAAJJJJJJJE
|
||||||
|
KKUUUUIVIVVEEEVEHHHHHHHHHHHCOOYOOYEEEEEEEEEEGGGMMMMMMMMMMMMVKEEJJJJJJUUVVVVVVVVVVVVBBBKKKKFFWFWWWWWWWWWGNNNNNNNNNNNNDDDDDAAAAAAAAAAAJKJJJJJE
|
||||||
|
KKUUUUIVVVVVVVVEEHHHHHHHHHCCCOOOOYEEEEEEEEWGGGGGAMMMMMMMMMMVKKKJJJJJJJUUVVVVVVVVVFFBKKKKKKKFWWWWWWWWWWNNNNNNNNNNDDDDDDDDDDAAAAAAAAKAKKJJJJEE
|
||||||
|
KKUUUUIVVVVVVVVEEEHHHHHHCCCOOOOOOOEEEEEEEEGGGGGGGMMMMMMMMMMKKKJJJJJJJJJUVVVVVVVVVVFFFKKKKKKWWJWWWWWWWWNNNXXXXNNNDDDDDDDDDDDAAAAKKKKKKKKKJJJE
|
||||||
|
KKLUIIIIVVVVVVVEEHHHHHHHCCKKKOOOOOEEEEEEEEGGGGGGGMMMIMMMMMMKKKKKJJJJJJRVVVVVVJVVUFFFFKKKKJJWWJWWWWWWWWNNNXXXXNNNNNNDDDDDDDDDKKKKKKKKKKKKKKKE
|
||||||
|
LLLLLIIVVVVVVVVVVHHHHHHCCCCKXOOOOOOORRKRRRGGGGGGGGMMIMMMMMMKKKKJJJJJJJRVAVJJVJJUUFFUKKKKJJJJWJJWWWWWWWNENXXXXNNNNNDDDDDDDDDDDKKKKKKKKKKFFKKK
|
||||||
|
LLLLLLLVVVVVVVVVVSHHHCCCCCKKOOOOOOORRRRRRGGGGGGGGGGGGKMMMKKKKKKKKKJJJJJJJJJJJJJUUFUUUKKKKJJJJJJJWWWWWXXXXXXXXNNNNNDDDDDDDDDDDDKZKKZKKKKFFKKP
|
||||||
|
LLLLLXXVXVVVVVVVVVHHCCCCCCKKOOOOOOORRRRRRGGGGGGGKKGGKKKMKKKKKKKKJJJJJJJJJJJJJUUUUUUUUUCJFJJJJJWWWWWWWXXXXXXXXNNNNNDDDDDDDDDDDKKZZZZKFFFFFFFF
|
||||||
|
LLLLLLXXXVVVVVVVVVTMMMMCCCKOOOOOOORRRRRRRGGGGGGGGKKKKKKKKKKKKKKKKJJJJJJJJJJJUUUUUUUUUJCJJJJJJJJJJWWWWXXXXXXXXNNNNNNDDDDDDDDDDKKZZZZKKKKFFFFF
|
||||||
|
LLLLLALXXVVVVVVVVVMMMMMMCCCOOOOORRRRRRRRXGGGGGGGKKBBBBBBBBKKKKKKKKJJJJJJJJJJUUUUUUUUJJJJJJJJJJJJJWWWWXXXXXXXXNNNNNNDDDDDDDZZZZZZZZZKKKKFFKKI
|
||||||
|
LLLLLLLXXVVVVVVVVVMMMMMMOOOOOOOOORRRRRRRRRGGGGGGKKBBBBBBBBBBBBBKKXJJJJJJJJJJUUUUUUUJJJJJJJJJJJJJJJWWWXXXXXXXXNNNNNNDDDDDZZZZZZZZZZZKKKKKKKII
|
||||||
|
LLLLLCLLCVVSVVSSVMMMMMMPOOOOOOOOORRRRRRRVVGGGGUUUUBBBBBBBBBBBBBDXXJJJJJQQQQQQUUUUUUJJJJJJJJJJJJJUUUWWXXXXXXNNNNTNNNDDDDDDZZZZZZZIIIUUUUKKIII
|
||||||
|
LLLWLLLHCSSSVVSMVMMMMMMMMLLOOOOOOORRRRRRVVGGPPUBBBBBBBBBBBBBBBBXXXXJJJJJQQQQQUUUUUUUJJJJJJJJJJJJJJJWWXXXXXXTTTTTTTDDDDDDDZZZZZZZIIIIUUIKKKKI
|
||||||
|
LLLWCMCCCSSSSSSMMMMMMMMMMLLOOVOORRRRRRRVVVGGPUUBBBBBBBBBBBBBBBBXXXXJJJJJQQQQQUUUUUUUUUJJJJJJJJJJJJJJTXXXXXXTTTTTTTDDDDDDDZZZZZZZZIIIUUIIIIII
|
||||||
|
LLLCCCCCCSSSSSMMMMMMMMMMLLOOVVOOORRRRRRVVUJUUUUBBBBBBBBBBBBBBBBXXXXXJJJQQQQUUUUUUUUUUUJJJJJJJJJJJJJJTXXXXXXTTTTTTTJDDDDDZZZZZIIIIIIIUIIIIIII
|
||||||
|
CCYCCCCCCCCSSSSMMMMMMMMTOOOVNVVOVRERRRRRVUUUPUUBBBBBBBBBBBBBBBBXXXDDJEEEQQQMMMUUUUUUUUUZJJJJJJJJJJJTTXXXXXXTTTTTTTJJDTDDZVZZZIIISIIIIIIIIIII
|
||||||
|
CCCCCCCCCSSMMMMMMMMMMMMOOGVVVVVOVVERRRRRUUUUUUUUUMBBBBBBBBBBBBBXXXXXEEEQQQMMEMUUUUUUUZZZZZJJJJJJJTTTTTOTOOOOOTTTTJJJJNDVVVVZZISSSSSSSSSIIIII
|
||||||
|
CCCCCCCCSSSSMMMMMMMMMMPPIIVVVVVOVVRRRRRUUUUUUUMMMMMBBBBBBBBXXXXXXXXXEEUUXXEEEMUUUUUUUZZZZZJJJJJJJTTTTOOOOOOOGTOOJJJOJNVVVVZZZSSSSSSSSSIIIIII
|
||||||
|
CCCCCCCCCCCSSSMMMMMMMMPPPIIVVVVVVVVRRRRUUUUUUUUUMMMBBBBBBBBXXXXXXXXEEUUHEEEEMMUUUUUUUUZZZGGGGJJTTTTTTOOOOOOOOOOOOOOONNVNVVVVVSSSSSSSSIIIIIII
|
||||||
|
CCCCCCCCCCCSSSMMMMMMMMPPIIIIVVVVVVVRPPPUUUUUUUUUZMMBBBBBBMMXMXXXXXXXUUUUEEEEMMMUUUUMMMMZTTGTTTTTTTTTOOOOOOOOOOOOOOONNNNNNVVVVVSSJSSSIIIIIIII
|
||||||
|
CCCCCCCCCCCCSSMLLIIMIIIPIIIIVVVVPPPPPPPUUUUUUUZZZZZZZZBBBMMMMXXXXXDDDDUUSEEEEMMMMMMMMMMTTTTTTTTTTTTTTOOOOOOOOOOOOOONNNNNNVVVVVSJJSSIIIIIHIHH
|
||||||
|
ECCCCCCCCCCCSSSIIIIIIIIIIIIIIVVVVVVVPPPURUUUUUUZZZZZZZMMMMMMXXXXXXXDDDDEEEMMMMMMMMMMMMMMMMTTTTTTTVVVTTMMOOOOOOOOOOONNNNNNNNVVVHHJSHIIIIHHHNH
|
||||||
|
EECCCCCCCCCCCSSSIPIIIIIIIIIIIIIIUUUVVPPPPUUUUUZZZZZZZMMMMMMMMMXXXDDDDDKKEEMMMMMMMLMMMMMMMTTTTTVVTVVVVTTTOOLOOOOOOOONNNNNNNNVVVHHHHHIIHIHHHHH
|
||||||
|
EEEECCUUCCCCSSSIIIIIIIIIIIIIIIIIUUUVUUPPPUUUUUZZZZZZZZMMMMMMMMXXXJDDDDEEJEMMMMLLLLLLMMMMMMTTVVVVVVKKKKKLLLLOOOOOOOONNNNNNNNNNVVHHHHHHHHHHHHH
|
||||||
|
EEEECCCUUCCCSSSIIIIIISIIIIIIIIIIMUUUUUUUUUUUUUUMZZZZBBBMMMMMMMXXJJJFDDEEEEEEMMLLLLLLLMMMMMMMVVVVHVKNKKKKOLOOOOOOOOONNNNNNNNNNHHHHHHHHHHHHHHH
|
||||||
|
EEUUUUUUUUUCSIIIIIIIIIICIIIIIIIIMMUUUUUUUUUUUUUMZZMMBBBMMMMMMMXXXJJJAAEEEEEEEEFLLLLLLMMMMMVVVVVVVVKKKKKKOOOOOOOOOONNNNNNNNNNGHHHHHHHHHHHHHHH
|
||||||
|
EEUUUUUUUUUUUIIIIIIIIIIIIIIIIIIIMMUUUUUUUUUGUUGMMZMMBBBMMMMMMJJJJJAAAAEEEEEEEEELLLLLLMMMKMMVVVVVVVKKKKKOOOOOOOOOOONNNNNNNNNNNTTTTTHHHHHHHHHH
|
||||||
|
EEUUUUUUUUUUUIIIIIIIIIIIIIIIIIIMMMMMMUUUUUUGGGGGMMMMMBMMMMMMMJJJJJJJEEEEEEEEEEELLLLLLMKMKKKVVVKVKKKKKKKOKKOOOOOOOOOOONNNNNNTTTTTTHHHHHHHHHHH
|
||||||
|
EEUUUUUUUUUUULLIIIIIIIIIIIIIIIMMMMTMMMUUGGUGGGGGMMMMMMMMMMMJJJJJJJJJEEEEEEELELLLLLLLLKKKKKKDDKKKKKKKKKKKKKKKOOOGOOFNNNNNNNNTTTTTHHHHHHHHHHHH
|
||||||
|
EUUUUUUUUUUUULIUIIIIIIIYIIIIIIIMMTTSSCCCGGGGGGGGGGMMMMMMMHHJJJJJJJJJJJEEEEELLLLLLLLLLKKKKKKDDDKKKKKKKKKKKKKKKOOOOONNDDDDDNNJTJTTHHHHHHHHHHHH
|
||||||
|
EEUUUUUUUUUUUUIIIIJIIIIYYYIDIIIMTTTSSSSGGGGGGGGGGGMMMMMHHHHJJJJJJJJJJEEEEEEELLLLLLLLLKKKKKKKSSSSSSKKKKKKKKKKKKKKKODDDDDJJJJJTJJHHHHUHHHHHHHH
|
||||||
|
EHHHUUUUUUUUUUIIIJJJIIIIYYYYYTTTTTTTSSSSGGGGGGGGGGGGGHHHHHHHJJJJJJJJEEEEEEEELLLLLLLLLLKKKQQQSSSSSSKKKKKKKNKKKKNKKDDDDDDJJJJJTJJHHHUUHHHHHHHH
|
||||||
|
HHHHHUUUYUUUUUYYYYJJJIYYYYYYYTTTTTTSSSSSYGGGGGGGGGGHHHHHHHHHJJJJJJJJEEEEEEEELLLLLLLLLLLKKKQQSSSSSSKKKKKKNNNNKKNNDDDDDJJJJJJJJJJJUUUUUUHHHHHH
|
||||||
|
HHHHHUYUYUUUYYYYYYYYYIYYYYYYIIITTTUSSSSSSGGGGGGGGGZHHHHHHHHHJJJJJJJEEEEEPEEELLLLLLLLLLKKKQQQSSSSSSSSSSSKNNNNNNNNDJJJJJJJJJJJJJJJUUUUUUUHUHHH
|
||||||
|
HHHHHUYYYYYYYYYYYYYYYYYYYYYIIIATBZZZSSSSSSSSSGGGGGZHHHHHHHHHHHHJGJJEEEEEEERLLLLSSLLLLLKKKQQQSSSSSSSSSSSKNNNNNNNNDJJJJJJJJJJJJJJJUUUUUUUUUUHH
|
||||||
|
HHHHHYYYYYYYYYYYDDDDYDYYYYYIIIIGZZZSSSSSSSSGGGGGGGZHHHHHHHHHHHHJJJJEEEEEEEELISSSSLLLLLKQQQQQQQSSSSSSSSSHNNNNNNNDDNNJJJJJJJJJYJYJUUUUUUUUUUUH
|
||||||
|
HHHHHHHYYYYYYYYYDDDDDDYYIIYIIGGGZZZZZSSSSSSSGZGGGZZHHHHHHHHHHHHJHHHHHEEEEEEIISSSSLLLLKKQQQQQQQSSSSSSSSSNNNNNNNNNNNNNJJJJJJJJYYYYUUUUUUUUUUUH
|
||||||
|
HHHHHHHHHHYYYYYYDDDDDBIIIIIIIIIIZZZZZSSSOONSSZZZZZHHHHHHHHHHHIHHHHJJJJJEYYYSSSSSSLLLLVQQQQQQQQSSSSSSSSSANNNNNNNNNNRRJJJJJJYJYYYYUUUUUUUUUUUT
|
||||||
|
HHHHHHHHHHYYYYDDDDDDDIIIIIIIIIZZZZZZSSZOOONSZZZZZZHZZZHHHHHHHIHHHHJJJJJEYSSSSSSSSSLLSQQQQQQQQCSSSSSSSSSNNNNNNNNNQNRRRRJJJYYYYYYYUUUUUUUUUUUU
|
||||||
|
HHHHHHHHHYYYYYYDDDDDDDIIIIIIIIZZZZZZZZOOOOOZZZZZZZZZZZHHHHHHHIHHIIJJJJJESSSSSSSSSSSSSSQQQQQQWWSSSSSSSSSNNNNNNNNZNNRRRRRYYYYYYYYYYUUUUUUUQQQQ
|
||||||
|
HHHHHHHHHYYDDDDDDDDDDDDDIIIIIIIZZZZZZZOOOZZZZZZQQZZZZZHHHHHHHIIIIEJJJJJSSSSSSSSSSSSSWWWQQQQWWWSSSSSSSSSVNNNNNNTTTRRRRRYYYYYYYYYYYYWUUUUUQQQQ
|
||||||
|
HHHHHHHHHYYDDDDDDDDDDDDDIIIDIDDZZZZZZOOZZZZZZZZZQZZQZHHHHHHHHIEEEEEJJJJSJSSSSSSSSSSSSSWWWWWWWWSSSSSSSSSVNNNXXXTTTRRRRRYIYYYYYYYYYYUUUUUUUQQQ
|
||||||
|
HHHHHHBHHYYDYDDDDDDDDDDDDDIDDDDDWWZZZOZZZZZZZZZQQQQQZAHHHHHHHIIEEEEEJJJJJSSSSSSSSSRSSSWWWWWWWWWSSSSSSVVVNNNNXTTTRRRRRYYYYCYYYYYYYYYIQQQUQQQQ
|
||||||
|
OHHHHHHHHYYYYDZDDDDDDDDDDDDDDDDDDWWZZZZZZZZZZZQQQQGGGHHMMEHEHEEEEEJJJJJJJSSSSSSSSSRRRSWWWWWWWWWSSSSSSSSSNNPTTTTTTRRRYYYYYYYYYYYYYYYIQQQQQQQQ
|
||||||
|
HHHHHHHHYYYYYYZDDLLDDDDDDDDDQQQDWWZZZZZZZZZZZQQQQQQGGQEEEEEEHEEEEEEEJEJDDSSSSSSSSSRRRWWWWWWWWWWSSSSSSSSSNPPTTTTTTTTTZYYYZYYYYYYYYYIIIQQQQQQQ
|
||||||
|
HHHHHHYYYYYYYYZDMMLDDDDDDDDDQQQQWWWZZFZZFZZZZQQQQQQQQQQEEEEEEEEEEEEEEEJDSSSSSSSSSRRRRWWWWWWWWWWWWSSSSSSSPPPEEEEEEEEEZZZZZYYYYYYYYYYIIIIIQQQQ
|
||||||
|
HHHOHHYYYYYYYYZZLMLLDDDDDDDDQQQQWWWWZFFFFFFZZQQQQQQQQQEEEEEEEEEEEEEEEEDDSSSSSSSSSRRRRRWNNNNNWWWWWWWOOVOOOPTEEEEEEEEEZZPPZYYYYYYYIIIIIIIIQQQQ
|
||||||
|
HHHOOOYYYYYYYYZLLLLLDDDDDDQQQQQQQWWCFFFFFFFZZQQQQQQQQQQQQEEEEEEEEEEEEEDDDDSSSSSSRRRRRXNNNNNNWWWWWRROOOYOOOTEEEEEEEEETZZPYYYYYYYYYIIIIIIIQQQQ
|
||||||
|
OOOOOOYYYYYYYMSLLLLLDDLDQQQQQQQQQQQCFFFFFFFZZQQQQQQQQQQSSEEEEEEEEEEEEEDDDDDDDSFSSSRRXXNNNNNNNNWWWWOOOOOOOOVEEEEEEEEETZPPYYYYYYKYYYMIIIIIOOOO
|
||||||
|
OOOOOYYYYYYYYMSLLLLLLLLLQQQUUQQQQQFFFFFFFFFFFQQQQQQQQQQQSEEEEEEEEEEEEEDDDDDDDFFSZERRXXNNNNNNNWWWWWOOOOOOOOOEEEEEEEEEVPPPYYKKKKKYYYIIIIIUOOOO
|
||||||
|
OOOOOYYYYYSSSSSSLLLLLLLLHQQQUQQQQQQQFFFFFFFFFQQQQQQQQQQQSEEEEEEEEEEEEEDDDDDDDDDDEERRXNNNNNNNNNWWWHOOOOOOOOOEEEEEEEEEPPPPPYKKKKKYYYKKIIIIOOOO
|
||||||
|
OOOOOOYYYSSSSSLPLLLLLLLLQQQQQQQQQQQQFFFFFFFFFQQQQQQQQQQQQEEEEEEEEEEDEDDDDDDDDDDDEEEEEENNNNNNNNWHHHHOOOOOOOOOEEEEETPPPPPPPPPKKKKKYYKKKKOOOOOO
|
||||||
|
OOOOOOSYYSSSSSLLLLLLLLLLQQQQQQQQQQQQFFFFFFFQQQQQQQQQQQQQEEEEEEEEEEEDDDDDDDDDEEEEEEEEENNNNNNNNNHHOOOOOOOOOOOOEEETTOOPPPPPPPPPPPPPYKKKKKOOOOOO
|
||||||
|
OOOOOSSSSSSSSSLLLLNNNNNNNNNNNNNQQQQQFFFFFFFFQQQQQQQQQQQMMEEEEEEUUEEDDDDDEEEDDDEEEEEEEEEPNNNNNNHHOOOOOOOOOOOOEEETTOOPPPPPPPPPPPIDDDKKKOOOOOOO
|
||||||
|
OOOOOOSSSSSSSSSLLLNNNNNNNNNNNNNQQQQQQQQFFFFFFEMQQQQQQQQQMMEEEERMMMDDDDDEEEEEDEEEEEEEEEEPNNNNNNNHOOOOOOOOOOOOEEEOOOPPPPPPPPPPPPPPDDKKOOOOOOOO
|
||||||
|
YOOOOOSSSSLLLLLLLLNNNNNNNNNNNNNQQQQQQQQFFFZMMMMMMQQQMQMMMMMVERRFFMMDDDDDDEEEEEEEEEEPPPPPPPPNNWWWOOOWWOWFFFFFFFFFFOPPPPPPPPPPPPPDDDOOOOOOOOOO
|
||||||
|
YOYOOOSSSSLLLLLLGLNNNNNNNNNNNNNNQQQQQFFFFOMMMMMMMQMMMMMMMMVVFFFFYFMMDTEEEEEEEEEEEPPPPPPPPPPWNWWWWOWWWWWFFFFFFFFFFOPPPPPPPPPPPPPDDPOOOOOOOOOO
|
||||||
|
YYYYOOSSSSSLXXLLGGNNNNNNNNNNNNNNQQQQFFFFFFMMMMMMMMMMMMMMMMMMFFFFFFMTTTEEEEEEEEEEEEPPPPPPPPWWWWWWWWWWWWWFFFFFFFFFFOPPPPPPPPPPPQQDPPOOOOOOOOOO
|
||||||
|
YYYYOOOSSSSSSXXGGGNNNNNNNNNNNNNNNNNNNFFFFMMMMMMMMMMMMMMMMMMFFFFFFFXTTTEEEEEEEEEEEEPPPPPPPPPWWWWWWWWWWWWFFFFFFFFFFOOPPPPPPPPPPPPPPOOOOOOOOOOO
|
||||||
|
YYYYYOYXSXXXSXGGGPNNNNNNNNNNNNNNNNNNNFFFMMMMMMMMMMMMMMEZMMMFFFFFXXXEEEEEEEEEEEEEEEPPPPPPPWWWWWWWWWWWWWWFFFFFFFFFFJOOPPPPPPPPOOPPPPOOOOOOOOOO
|
||||||
|
YYYYYYYXXXXXXXXGPPNNNNNNNNNNNNNNNNNNNNFFMMMMMMMMMMMMMEEMMFFFFFFFFXXXEEEEEEEEEEEEEPTPPPPPPWWWWWWWWWWWWWWFFFFFFFFFFJOPPPPPPPPPOOOPPPOOOOOOOOOO
|
||||||
|
YYYYYYYXYXXXXJXGYPPPPTNNNNNNNNNNNNNNNNFMPMMMMMMMMMMMEEEEDDDFFFFVVXXXEEEEEEEEEEPPPPPPPPPPPWPWWWWWWWWWWWWFFFFFFFFFFJOOPPOOOOOPOOOPPPPPPOOOOOOC
|
||||||
|
YYYYYYYYYYXXJJJJJPPPPPNNNNNNNNNNNNNNNNFMMMMMMMMMMEEEEEEEEEDDDDFXVXXXXXEEEEEEEEPHPPPPPPPPPPPPWWWWWWWWWWWFFFFFFFFFFJOOPOOOOOOPOOOPPPPPPPOOOOCC
|
||||||
|
YYYYYYYYQXXXJJJJPPPPPKNNNNNNNNNNNNNNNNFFJJJMMMMMMEEEEEEEEEDDDDXXXXXXXLLLEEEEEEIHHPPPPPPPPPPWWWWWWWWWWWWWYYYYJJJJJJJOOOOOOOOOOOOOPPPPPPPPOOOC
|
||||||
|
YYYYYYQQQQQQJJJPPPPPRRXRRRRRRNNNNNNNNNFJJJJJMMMMMELLEEEEEEDDDDXXXXXXXLLLXEEEIIIHHPYPPPPPPPPWWWWWWWWWSWWWWYYYJJJJJJOOOOOOOOOOOPPPPPPPPPPPOOOC
|
||||||
|
YYYYYNQQQQQQQJJPPPPPRRRRRRRRRRRRRRRRFFJJJJJJJJJMMYLEEEEEEDDEDEXXXXXXXLLLXEGIIIIIPPPPPPPPPPWWWWWWWWWSSWWWWYYYJJJJJOOOOOOOOOOOOPPPPPPPPPOOOOOO
|
||||||
|
IYYYQQQQQQQQQJQPPPPRRRRRRRRRRRRRRRRRJJJJJJJJJJJMLLLEEEEEEEEEEEEXXXXXXLLLXXIIIIIPPPPPPPPPGPWWWWSSWWWSSSWWWYYJJJZZZZZOOOOOOOOFFFPPPPPPPPPOOOOO
|
||||||
|
QQQQQQQQQQQQQQQPPPPPPPRRRRRRRRERRRRRJJJJJJJJJJJJJLLEEEEEEEEEEESSSXXXXLLLXIIIIIIIIPPPKPPPPQWSSSSSSWWSSSSSWYWWZZZZZZZZOOOOFFOFFFMPPPPPPPPPOOOO
|
||||||
|
QQQQQQQQQQQQQQQPPPPEEPPEREERREEEEERJRJJJJJJJJJJJEELEEEEEEEEEESSSSSXXXLLLXIIIIIIIIZZPPZZPZZZZZSSSSSSSSSWWWWWWWZZZZZZZZFFFFFFFFFFFFFPPIPPPPOOO
|
||||||
|
QPQQQQQQQQQQQQDPPEEEGEEEEEEEEEEEEEEJJJJJJJJJJJJEEEEEEEEEESEESSTSSSSXXLLLIIIIIIIIIIZPZZZZZZZZZSSSSSSSSWWWWWWWWZZZZZZZZFFFFFFFFFFFFFTOOOOOOOOO
|
||||||
|
QQQQQQQQQQQQQQDDDEEEEEJTTETEEEEEEEEGJJJJJJJJEEEEEEEEEEEESSSSSSSSSSSLLLLLIIIIIIIIIIZZZZZZZZZZZZSSSSSWWWWWWWWWWZZZZZZZZFFFFFFFFFFFFFTOOOOOOOOO
|
||||||
|
QQQQQQQQWWWWWQQDEEEEEEJTTTTTEEEEEEEGJJJJJJGJEEEEEEEEEEESSSSSSSSSSSSLLLLLIIIIIIIIIIZZZZZZZZZZZZSSSSWWWWWWWWWWZZZZZZZZFZFFFFFFFFFFGGOOOOOOOOOO
|
||||||
|
QQQQQQQEWWWWWQQDEEEEEEJTTTTTTTEEEEEGJGJGGGGIEEEEEEIEEEESSSSSSSSSSSSLLLLLIIIIIIIIIZZZZZZZXXZZZSSSSSSSWWWWWWWZZZZZZZZFFZFFFFFFFFGGGGOOOOOOOOOO
|
||||||
|
QQQQWWWWWWWWWEEEEEEEEEJJTTTTTTTTTGGGGGJGGGGIIIIIIIIEEEESSSSSSSLLLLLLLLLLIIIIIIIIIZZZZZZZXXAZZSSSSSSSSWWWWWWWWZZZZZZFFFFFFFFFFFFGGGGGOOOOOOOO
|
||||||
|
QQQQWWWWWWWWWEEEEEEEEJJJTTTQRRRTGGGGGGGGGGGGIIIIIIIIIESSSSSSSSLLLLLLLLLLIIIIIIIIZZZZZZZZXXAZZSSMSSSSSWWWWWWWWZZZZZZFFFFFFFFFFFGGGOOOOOOOOOOO
|
||||||
|
QQQQWWWWWWWWWEEEEEEEEEJJTRRRRRRWRGGGGGHGGGGGGGIIIIIIIEESSSSSSSLLLLLLLLLLIIIIIIIIZIZZZZXXXXMMMMSMSSSSSWWWWWWWZZZZHHHFHFGFFFFFFFFFGOOOOOOOOOOO
|
||||||
|
QQQWWWWWWWWEEEEEEEEEEEEEERRRRRRRRRGGGHHGGGGIIIIIIIDDIEWSSSSSSSLLLLLLLLLLIIEEEIIIIIZZZZXXXXXMMMMMMMMSSWWWWWWZZZZZHHHHHFGFFFFFFFFFGOOOOOOOOOOO
|
||||||
|
QQQWWWWWWWWEEEEEEREEEEPPERRRRRRRRGGGGHHGGGGGGIIIIIIIIEEGSSWNSSLLLLLLLLLLIEEEEIIIIIZZZXXXXXZMMMMMMMSSSWWWWWZZZZZZHHHHHFFFFFFFFFFGGOOOOOOOOOOO
|
||||||
|
QQQWWWWWWWWEEEEEEEEEEEPPERRRRRRRRGGHHHHGGGGGGIIIIIIIIIEICNNNSSLLLLLLLLLLEEEEBETEIIZZZXXXXXZZMMMMMMMMMZZZZZZZZZZZHHHHHFFFFEFGGFGGGGGGOOOOOOOO
|
||||||
|
LQLWWWWWWWWEEEEEEEEEEEEEEERRRRRRRRHHHHHHHGGGGIIIIIIIIIIIINNNNNNNLLLLLLLEEEEEEEEEIIZXXXXXXZZZMEEMMMMMMMMZZZZZZZZZHFFHFQFBFFFGGFGGGGGGGXXOOOOO
|
||||||
|
LLLWWWWWWWWEEEEEEEEEEEEEEEERRRRRRHHHHHHHHGGIIIIIIIIIIIIIINNNNNNNLLLLLLLEEEEEEEEEZZZZZZXXXZZZMMMMMMMMMMZZZZZZZZZZFFFHFFFFFGGGGGGGGXXXGXXOOOOO
|
||||||
|
LLLWWWWWWWWEEEEEEEEEEEEEEEERRRRRRRHHHHHHHHOIIIIIIIIIININNNNNNNNNLLLLLLLEEEEEEEEKUZUZZZZXZZZZMMMMMMMMMZZZZZZZZZZZFFFHFFFQQXGGGGGGGXXXXXXOOOOO
|
||||||
|
LAAWWWWWWWWEEEEEEEEEEEEEERRRRRRRRFHHHHHHHHOIIIIIIIAINNNNNNNNNNNNNNYYJJJEEEEEEEEUUZUUZZZZZWWMMMMMMMMMMMMZZZZZZZZZFFFFFFXXXXXGGXXXXXXXXXXOOOOO
|
||||||
|
LAAWWWWWSSSEEEEEEEEEEEEEEEERRRZHHHHHHHHHOHOOOOIIIIIIINNNNNNNNNNNNYYYYEEEEEEEEEUUKUUUUUZZZWWHHHMMMMMMMMMZZZZZZZZZFFFFFFFXXXXXXXXXXXXXXXXXXXOO
|
||||||
|
LLAWWWWWSSSAAEEEEEEEEEEEXEEERRRRHHHHHHOOOOOOOOIIIINNNNNNNNNNNNNNNYYYYEEEEEEEUUUUKUUUUZZZZWHHHHHMMMMMMMMZZZZZZZZZFFFFFFFXXXXXXXXXXXXXXXXXXGGO
|
||||||
|
LLAAAALLLLLAAAAAAEEEEEXXXXXXXRWWHHHHHHOOOOOOOOOIOIINNNNNNNNINNNYYYYYEEYYYYYYYYUUUUUUUZZZWWWHWHMMMXVVVVVZZZZZZZBFFFFFFFXXXXXXXXXXXXXXXXXXXGGO
|
||||||
|
LLAAALLLLLAAAAAAAATAEEEXXXXXWWWWWHWWHHPPOOOOOOOOOOINNNNNNNNYNNCYYYYYYYYYYYYYYYEUUYYYZZZWWWWHWWWWMMVVVVVZZZZZZZBFFFFFFFFFBBXXXXXXXXXXXXBPPPPP
|
||||||
|
AAAAAAAALLAAAAAAAAAAOOOOXXXXWXWWWWWWWOOOOOOOOOOOONNNNNNNNNNYNLYYYYYYYYYYYYYYYYUUUYYYUZZWWWWHWWDMMDVVVVVZZZZZDBBBFFFFFFFFFBXXXXXXXXXXXXBBPPPP
|
||||||
|
AAAAAAAAALAAAAAAAAAAOOOOUXXXXXXWWWWWWWWOOOOOGOOOOOOONNNNNNNYYYYYYYYYYYYYYYYYYYUUUYYYUUWWWWWWWWDDMDDVVVVZZZZZDDDBFFFFFFFFBBBXXXXXXXXXXSPPPPPP
|
||||||
|
AAAAAAAAAAAAAAAAAAAAOOOUUUUXXXXXWWWWWWGGOUOGGOOOOOONNNNNNGNYYYYYYYYYYYYYYYYYYYYYYYYYUWWWWWWWWWWDDDDWVVVZZZZDDDBBBBBBBBBBBBBXXXSSSSSSSSPPPPPP
|
||||||
|
AAAAAAAAAAAAAAAAAAAOOOOUUUQUXNXWWWWWWWWGGGGGGGOOOOONNNNNNGGYYYYYYYYYYYYYYYYYYYYYYYYYYUWWWWWWWWWDWWWWVFDZZDDDDDBKKBBBBBBBBBBBBBBBSSSSSSSPPPPP
|
||||||
|
AAAAAAAAAAAAAAAAOOOOOOOUUUUUXXWWWWWWWWGGGGGGGOOOOOOONNNGGGGYYYYYYVYYYYYYYYYYYYYYYYYYYJJPPWWWWWWWWWWWFFDDDDDDDDBKKKKBBBBBBBBBBBBBBBSSSSSSPPPP
|
||||||
|
AAAAAAAAAAAAAAAAOOOOOUUUUUUUUXWWWWWWWGGGGGGGGGGOOOOOOONGGGYYYYYRYVVVVVYYYYYYYYYYYYYYYPPPWWWWWWWWWWOWFDDDDDDDDKIKKKKKKBBBBBBBBBBBSSSSSSHPPPPP
|
||||||
|
AAAAAAAAAAAAAAAAOOOOUUUUUUUUUUWWWWWWWWGGGGGGGGGGOOOOOONOGGGGYUUUUUULVVYYYYYYYYYYYYYYYPPPPPWWWWWWWWOODDOOOOODDKKKKKKKKBBBBBBBBBBBSSSSHSHPHPPP
|
||||||
|
AAAAAAAAAAAAAAAAOOOUUUUUUUUUUUUWWWWWWGGGGGGGGGGGOOOOOOOOGGGGYUUUUUULVVYYYYYYYYYYYYYYYPPPPPPWWWWWWLLLLLLLLLLLLLKKKKKKKBBBBBBBBBBSSSSHHHHHHHHH
|
||||||
|
AAAAAAAAAAAZAAAAOOOOUUUUUUUUUUUUWWWWWGGGGGGGGGGOOOOOOOOOGGGUUUUUUUUVVVVVVXXXXXYYYYYYYPPPPPPPWWWGGLLLLLLLLLLLLLKKKKKKKKBBBBBBYBBSFFSFXHHHHHHH
|
||||||
|
AAAAAAAAAAAZOOOOOOPPPPPUUUUUUBBUWWWWWWGGGGGGGGGOOOOOOOOGGGGUUUUUUUVVVVVVVXXXXXYYYYYYYPPPPPPPWWLLLLLLLLLLLLLLLLKKPKABBBBBBBBBBFBBFFSFXFLHHHHH
|
||||||
|
AAAAAAAAAZZZZOOOOOPPPPPPPPVPBBWWWWWWWGGGGGGGGGGOOOOOOGGGGGUUUUUUUUVVDDDVVXXXXXYYYYYYYPPPPPPPPFLLLLLLLLLLLLLLLLDDDDDBBBBBBBBBBFFBFFFFFFLVLLLH
|
||||||
|
AAAAAAZZZZZZZOOOOOPPPPPDPPPPBBWBWBWWWWWGGGGGGGLSOOOGGGGGGGGGUUUUUUUVDDDVVXXXXXYYYYYYYPPPPPPPPFLLLLLLLLLLLLLLLLDDDDDVBBBBBBBBFFFBFFFFLLLVLLPP
|
||||||
|
FAAAAZZZZZZZZZOOOOPPPPPDPPPBBBBBBBWBBWGGGGGGGQLSOOOGGGGGGGGGUUUUUUUUDDDVVXXXXXXXXXXXKPKPPPPPPFLLLLLLLLLLLLLLLLDDDDVVVBBBBBJBFFFFFFFFLLLLLLPP
|
||||||
|
FAAAAZZZUUZOOOOOOOPPPPPPPPPPBBBBBBBBBWWGGGGQQQLLLLGGGGGGGGGGUUUUUUUUDDDVVXXXXXXXXXKKKKKPPPPPPPLLLLLLLLLLLLLLLLDDDDVVVVVVVVVFFFFFFFFFLLLLLLPP
|
||||||
|
AAZZZZUUUUUUUOOUDUPPPPPPPPPPPPPBBBBBYBBGGGGGGQQLLDGGGGGGGGGGUUUUUUUUDDDVVXXXXXXXXXKKKKPPPPPLLLLLLLLLLLLLLLPDPDDDDDDVVVVVVVVFFFFFFFFFLLLLLLPL
|
||||||
|
ZZZZZZUUUUUUUUUUUUPPPPPPPPPPPPPBBBBBBBBBBGGLLLLLLDDDGGGGGGGGGGZUUUUUDDDVVXXXXXXXXXKKKKKKKPPLLLLLLLLLLOOPPPPPPPODDVFFFFFVVVFFFFFFFFFFLLLLLLLL
|
||||||
|
ZZZZZZUUUUUUUUUUUUPPPPPPPPPPPPPPPBPBBBBBPGJLLLLLLLLDGGGGGGGGGGZZUUZZDDDVVVKKVXXXKKKKKKKKKUULLLLLFFKOOOPPPPPOOOODVVFFFFVVVVFFFFFFFFFLLLLLLLLL
|
||||||
|
ZZZZZZUUUUUUUUUUFFPPPPPPPPPPPPPPPPPBPEEBPLLLLLLLLLLLGGHHHGGGGGGZZZZZDDDVKKKKKKVVKKKKKKKKKUULLLLLFFKKOPPPPPPOOOODVVVVVFFFFVFMFFMMFMLLLLLLLLLL
|
||||||
|
ZZZUUUUUUUUUUUUUFFPPPPPPPPPPPPPPPPPBPPEPPLLLLLLLLLLHHHHHHHGGGGHZZZDDDDDDDDDDDKKVVKKSKKKKKUULLLLLFFPPPPPPPPPOOOOOVVVVVFFFFFFMMMMMMMMLLLLLLLLL
|
||||||
|
ZZZUUXUUUUUUUUUUFFPPPPPPPPKPPPPPPPPPPPEPWLLLLLLLLHHHHHHHHHGGGGHZZZDDDDDDDDDDDKKVKKSSSKKSSUUFUUFFFFPPPPPPPPOOOOOOVVVVVFFFFFFMMMMMMMMMMLLLDLLL
|
||||||
|
ZZUUZZUUUUUUUUUUFFFPPPPPKKKPPPPPPZPPPPPPPLLLLLLLLLHHHHHHHHGGGGHHZZDDDZDDDDDDDDDDDKSSSSKSSBBFUUFFFFFPPPPPOOOOOOOOVVVVVVMMMFMMMMMMMMMMMMLLDDDL
|
||||||
|
ZZZZZUUBUUUUUUUUUUFFPKKKKKKKKPPPPZZPPPMMLLLLLLLHLHHHHHHHHHCCGGHHHZZZZZZZDDDDDDDDDKSSSSSSSSBFFFFFFFFFFSPPOOOOOOOOVVVVVVVVMMMMMMMMMMMMMDLDDDLL
|
||||||
|
ZZZZZUBBBUUUUUUUHHTFFKKKKKKKPPPPZZZZZPMDDLLLLLLHHHHHHHHHHHHHHHHHHZZZZZZZDDDDDDDDDSSSSSSSSBBFFFFFFFFFFFFROOOOOVVVVVVVVVVVDMMMMMMMMMMMMDDDDDLD
|
||||||
|
ZZZZUUBBBBUUUUHHHTTTTTTKKKKKKKKZZZZZZDDDALLLLLLLHHHHHHHHHHHHHHHZHZZZZZZZDDDDDDDDDSSSSSSSSSBFFFFFOFFFFFRROOOOVVVVVVVVVVDDDDDMMMMMMMMMMDDDDDDD
|
||||||
|
ZZZZZZZBBUUUUUHTTTTTTTTKKKKKKKZZZZZZZDDDALLLLLLHHHHHHHHHHHHHHHHZZZZZZZZZDDDDDDDDDKSSSSSSSFFFFFFFFWWWFWRVVVVOVVVVVVVVVLLDDDDMMMMMMMDDDDDDDDDD
|
||||||
|
ZZZZRZBBBBBBUTHTTTTTTTDDDKKKKBBZZZZZWWDDALLLLLLLHHHHHHHHHHHHHHZZZZZZZZZZDDDDDDDDDKKSXSSSSXAFWWFWWWWWFWWVVVVVVVVVVVVVKLLDDDDDMMMMMMMDYDDDDDDD
|
||||||
|
ZZRRRBBBBBBBBTTTTTTTTTDKKKKBBBZZTZZZZZDDLLLLLLLLLLHHHHHHHHHHHHZZZZZZZZZZDDDDDDDDDKKSXXXXXXAAAAAWQQWWWWWVVVVVVVVVVVVVKLLDDDDDDDMDMMQDDDDDDDDD
|
||||||
|
ZZZRRRBBBBBBBTTTTTTTTTDDKKKBBTTZTTZTZDDDDLLLLLLLLLLHHHHHHDDHHZZZZZPZZZZZDDDDDDDDDKKKKXXXXAAAAAWWWQQWWWWVVVVVVVVVVVKKKKLDDDDDDDJDDDQDDDDDDDDD
|
||||||
|
ZZZRRRBBBBBBBBTTTTTTTTDTBKKBBBTZTTZTTTTTTTTLLLLLLLUUUHHHHDDHHZZZZPPZZZZZZZZZKDDDDKKKKXXQAAAAQQQWWQQQQWWVVVVVVVVKYVKKKLLDDDDDDDDDDDDDDDDDDDDD
|
||||||
|
ZZZRRRBBBBBBBBBTTBTTTTTTBXBBBBTTTTTTTTTTTTTLLLLLLLUUHHHHDDDDHZZZZZPPPZPZDDDDDDDDDDDDXXQQQAAQQQQQQQQQQWWWVVVSVVSKKKKDDDDKDDDDDDDDDDDDDDDDDDDD
|
||||||
|
ZYRRRRRRBBBBBBBBBOTQTTTBXXXBBXTTTTTPTPTTTTVRLLLLLLUUHHHHDDDDZZZZZZAPPPPPDDDDDDDDDDDDDQQQQQAQQQQQQQQQQWWWVVVSSSSKKKKKDDDDDDDDDDDDDDUDDDDDDDDD
|
||||||
|
RYRRRRRBBBBBBBBBBOOOXXXXXXXXXXTTTTTPTPTTTVVVLLLLUUUUUUUHDDMMZZZZZPPPPPPPDDDDDDDDDDDDVQQQQQQQQQQQQQQQQWWWVVZZZKKKKKKKKNDUDDDDDDDDDDUDDDDDDDDD
|
||||||
|
RRRRRRRRBRRBBBBOOOOOXXXXXXXXXTTTTTTPPPVVVVVCLLCUUUUUUUUUUDMMZZZZZPPPPPPPDDDDDDDDDDDDVQQQQQQQQQQQQQQQWWWZZZZZZZZKKKKKNNDDDDDDDDDDDDUUDDSDSSDD
|
||||||
|
RRRRRRRRRRRRRBBOOOOOMXXXXXXXXTTTTTPPPPCCCCVCLLCUUUUUUUUUUMMPZPPPPPPPPPPPDDDDDDDDDDDDDQQQQQQQQQQQQQQQWWZZZZZZZZNKKKKKNDDDDPPDDDDDDDUUUSSSSSDD
|
||||||
|
RRRRRRRRRRRRRBOOOOOOXXXXXXXXXTTTPPPPPPCCPCCCCCCCUUUUUUUUMMMPPPPPPPPPPPPPDDDDDDDDDDDDGQQQQQQQQQQQQQQGWWWWZZZZZZNNNNNNNNNDPPPPDDDDDDUUUUSSSDDD
|
||||||
|
RRRRRRRRRRRRRROOOOOOXXXXXXXXXXQPPPPPPPPPPPPPPPCCUUUUUUUUMMMPPPPPPPPPPPPPDDDDDDDDDDDGGQQGQQQQQQQQQQQGGWWWZZZZZZNNNNNNNNNDDPPPPDDDDUUUUUSSSSSD
|
||||||
|
RRRRRRRRRROROOOOOOOXXXXXXXXXXXXXPPPPPPPPPPPPCCCCUUUUUMMMMMMMPPPPPPPPPPPPPPPPPPDDDDDDGGGGGQQQQQQQQQGGGGGGGZZZZZZNNNNNNNNPPPPPPDDADUUUUUUSSSSS
|
||||||
|
RRRRRRRRROOOOOOOOOXXXXXXXXXXXXXXPPPPPPPPPPPPCCCCCUUUMMMMMMMPPPPPPPPPPPPPPPPPPPDDDDDDGGGQDQQQQQQQQGGGGLGLGGZZZZZNNNNNNNPPPPPPPAAAUUUUUUUSSSSS
|
||||||
|
RRRRRRRROOOOOOOOOOXXXWXXXXXXXXUPPPPPPPPPPPPPPCCCUUUMMMMMMMMPPPPPPPPPPPPPPPPPPPDDDDDGGGGQQQQQGQQGQQGGGGGGGGZZZZZNNNNNNNPPPPPPPAAAUUUUUUUSSSSS
|
||||||
|
RRRRROOOOOOOOOOOOOOXOOOXXXXXXXUUPPPPPPPPPPPPCCCCCUCCMMMMMMMMPPPPPPPPPPPPPPGGPDDDDDDDGGGQGGQGGGGGQQQGGGGGGGGZZZZNNNNNNNNNNPNPAAAUUUUUUUUSSSSS
|
||||||
|
UROOOOOOOOOOOOOOOOOOOOOXUUXXXUUUPPPPPPPPPPPPPPPCCCCCMMMMMMMPPPPPPPPPPPPPPPGGDDDDDDDDDGGGGGQGGGGGQGGGGGGGGGGZZZNNNNNNNNNNNNNPAAAUUUUUSSSSSSSS
|
||||||
|
RROOOOOOOOOOOOOOOOOOOOOXUUXXUUUPPPPPPPPPPPPPPPCCCCCCCCCCMPPPPPPPPPPPPOPPPPPGGDDDDDZDDDDGGGGGGGGGGGGGGGGGGZZZZZNNNNNNNNNNNNNPAAAUUUUUSSSSSSSS
|
140
day_12/solve_1.ts
Normal file
140
day_12/solve_1.ts
Normal file
@ -0,0 +1,140 @@
|
|||||||
|
import { rgb8 } from "jsr:@std/fmt/colors"
|
||||||
|
|
||||||
|
export async function readGardenTypeMapData(path: string): Promise<string[][]> {
|
||||||
|
const txt = await Deno.readTextFile(path);
|
||||||
|
const lines = txt.split('\n');
|
||||||
|
return lines.map(line => line.trim().split(''));
|
||||||
|
}
|
||||||
|
|
||||||
|
export type GardenCell = {
|
||||||
|
type: string;
|
||||||
|
id: number;
|
||||||
|
}
|
||||||
|
|
||||||
|
export function toGardenMap(map: string[][]) {
|
||||||
|
const gardenMap: GardenCell[][] = [];
|
||||||
|
for (let i = 0; i < map.length; i++) {
|
||||||
|
gardenMap.push([]);
|
||||||
|
const row = map[i];
|
||||||
|
for (let j = 0; j < row.length; j++) {
|
||||||
|
gardenMap[i].push({ type: row[j], id: 0 });
|
||||||
|
}
|
||||||
|
}
|
||||||
|
let idGenerator = 1;
|
||||||
|
const typeMap = new Map<string, number>();
|
||||||
|
const idMap = new Map<number, string>();
|
||||||
|
|
||||||
|
function colorArea(x: number, y: number, type: string){
|
||||||
|
const stack = [{x, y}];
|
||||||
|
while (stack.length > 0) {
|
||||||
|
const {x, y} = stack.pop()!;
|
||||||
|
if (x < 0 || x >= gardenMap.length || y < 0 || y >= gardenMap[x].length) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
const cell = gardenMap[x][y];
|
||||||
|
if (cell.type !== type || cell.id !== 0) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
cell.id = idGenerator;
|
||||||
|
stack.push({x: x - 1, y});
|
||||||
|
stack.push({x: x + 1, y});
|
||||||
|
stack.push({x, y: y - 1});
|
||||||
|
stack.push({x, y: y + 1});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for (let i = 0; i < gardenMap.length; i++) {
|
||||||
|
const row = gardenMap[i];
|
||||||
|
for (let j = 0; j < row.length; j++) {
|
||||||
|
const cell = row[j];
|
||||||
|
if (cell.id === 0) {
|
||||||
|
colorArea(i, j, cell.type);
|
||||||
|
typeMap.set(cell.type, idGenerator);
|
||||||
|
idMap.set(idGenerator, cell.type);
|
||||||
|
idGenerator++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return {
|
||||||
|
gardenMap,
|
||||||
|
typeMap,
|
||||||
|
idMap,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export function printGardenMap(map: GardenCell[][]) {
|
||||||
|
for (let i = 0; i < map.length; i++) {
|
||||||
|
const row = map[i];
|
||||||
|
console.log( row.map(cell => rgb8(cell.type, cell.id % 256)).join(''));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export function countGardenAreas(map: GardenCell[][]) {
|
||||||
|
const areas = new Map<number, number>();
|
||||||
|
for (let i = 0; i < map.length; i++) {
|
||||||
|
const row = map[i];
|
||||||
|
for (let j = 0; j < row.length; j++) {
|
||||||
|
const cell = row[j];
|
||||||
|
const currentArea = areas.get(cell.id) ?? 0;
|
||||||
|
areas.set(cell.id, currentArea + 1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return areas;
|
||||||
|
}
|
||||||
|
|
||||||
|
export function getAreaById(map: GardenCell[][]) {
|
||||||
|
const areaById = new Map<number, number>();
|
||||||
|
for (let i = 0; i < map.length; i++) {
|
||||||
|
const row = map[i];
|
||||||
|
for (let j = 0; j < row.length; j++) {
|
||||||
|
const cell = row[j];
|
||||||
|
const currentArea = areaById.get(cell.id) ?? 0;
|
||||||
|
areaById.set(cell.id, currentArea + 1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return areaById;
|
||||||
|
}
|
||||||
|
|
||||||
|
export function getPerimeterById(map: GardenCell[][]) {
|
||||||
|
const perimeterByType = new Map<number, number>();
|
||||||
|
for (let i = 0; i < map.length; i++) {
|
||||||
|
const row = map[i];
|
||||||
|
for (let j = 0; j < row.length; j++) {
|
||||||
|
const cell = row[j];
|
||||||
|
let currentPerimeter = perimeterByType.get(cell.id) ?? 0;
|
||||||
|
if (i === 0 || map[i - 1][j].type !== cell.type) {
|
||||||
|
currentPerimeter += 2;
|
||||||
|
}
|
||||||
|
if (j === 0 || map[i][j - 1].type !== cell.type) {
|
||||||
|
currentPerimeter += 2;
|
||||||
|
}
|
||||||
|
perimeterByType.set(cell.id, currentPerimeter);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return perimeterByType;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (import.meta.main) {
|
||||||
|
const path = 'input.txt';
|
||||||
|
// const path = "example_1.txt";
|
||||||
|
// const path = "example_2.txt";
|
||||||
|
// const path = "example_3.txt";
|
||||||
|
const data = await readGardenTypeMapData(path);
|
||||||
|
const {gardenMap, idMap } = toGardenMap(data);
|
||||||
|
printGardenMap(gardenMap);
|
||||||
|
const areaById = getAreaById(gardenMap);
|
||||||
|
const perimeterById = getPerimeterById(gardenMap);
|
||||||
|
// console.log(areaById);
|
||||||
|
// console.log(perimeterByType);
|
||||||
|
const mixed = Array.from(areaById.keys()).map(id => ({
|
||||||
|
id,
|
||||||
|
type: idMap.get(id)!,
|
||||||
|
area: areaById.get(id)!,
|
||||||
|
perimeter: perimeterById.get(id)!,
|
||||||
|
}));
|
||||||
|
console.log(mixed);
|
||||||
|
const result = mixed.map(({ area, perimeter }) => area * perimeter).reduce((acc, val) => acc + val, 0);
|
||||||
|
console.log(result);
|
||||||
|
}
|
||||||
|
|
71
day_12/solve_2.ts
Normal file
71
day_12/solve_2.ts
Normal file
@ -0,0 +1,71 @@
|
|||||||
|
import { readGardenTypeMapData, toGardenMap, printGardenMap, getAreaById, getPerimeterById, GardenCell } from "./solve_1.ts";
|
||||||
|
|
||||||
|
const pattern = {
|
||||||
|
"0000": 4,
|
||||||
|
"1000": 4,
|
||||||
|
"0100": 0,
|
||||||
|
"1100": 2,
|
||||||
|
"0010": 4,
|
||||||
|
"1010": 4,
|
||||||
|
"0110": 2,
|
||||||
|
"1110": 4,
|
||||||
|
"0001": 0,
|
||||||
|
"1001": 2,
|
||||||
|
"0101": -2,
|
||||||
|
"1101": -2,
|
||||||
|
"0011": 0,
|
||||||
|
"1011": 2,
|
||||||
|
"0111": 0,
|
||||||
|
"1111": 0,
|
||||||
|
} as Record<string, number>;
|
||||||
|
|
||||||
|
function getSideById(gardenMap: GardenCell[][]) {
|
||||||
|
const sideById = new Map<number, number>();
|
||||||
|
function addSide(id: number, side: number) {
|
||||||
|
const currentSide = sideById.get(id) ?? 0;
|
||||||
|
sideById.set(id, currentSide + side);
|
||||||
|
}
|
||||||
|
|
||||||
|
for (let i = 0; i < gardenMap.length; i++) {
|
||||||
|
for (let j = 0; j < gardenMap[i].length; j++) {
|
||||||
|
const cell = gardenMap[i][j];
|
||||||
|
const id = cell.id;
|
||||||
|
const sides = [
|
||||||
|
gardenMap[i - 1]?.[j - 1]?.id ?? -1,
|
||||||
|
gardenMap[i - 1]?.[j]?.id ?? -1,
|
||||||
|
gardenMap[i - 1]?.[j + 1]?.id ?? -1,
|
||||||
|
gardenMap[i]?.[j - 1]?.id ?? -1,
|
||||||
|
];
|
||||||
|
const sideKey = sides.map(s => s === id ? 1 : 0).join('');
|
||||||
|
const addedSide = pattern[sideKey];
|
||||||
|
addSide(id, addedSide!);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return sideById;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (import.meta.main) {
|
||||||
|
const path = 'input.txt';
|
||||||
|
// const path = "example_1.txt";
|
||||||
|
// const path = "example_3.txt";
|
||||||
|
// const path = "example_4.txt";
|
||||||
|
// const path = "example_5.txt";
|
||||||
|
const data = await readGardenTypeMapData(path);
|
||||||
|
const {gardenMap, idMap } = toGardenMap(data);
|
||||||
|
printGardenMap(gardenMap);
|
||||||
|
const areaById = getAreaById(gardenMap);
|
||||||
|
const sideById = getSideById(gardenMap);
|
||||||
|
// console.log(areaById);
|
||||||
|
// console.log(perimeterByType);
|
||||||
|
const mixed = Array.from(areaById.keys()).map(id => ({
|
||||||
|
id,
|
||||||
|
type: idMap.get(id)!,
|
||||||
|
area: areaById.get(id)!,
|
||||||
|
side: sideById.get(id)!,
|
||||||
|
}));
|
||||||
|
console.log(mixed);
|
||||||
|
const result = mixed.map(({ area, side }) => area * side).reduce((acc, val) => acc + val, 0);
|
||||||
|
console.log(result);
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user