Compare commits
	
		
			2 Commits
		
	
	
		
			eec175943e
			...
			54c84304aa
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 54c84304aa | |||
| 1b49b24aa1 | 
							
								
								
									
										140
									
								
								day12/input
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										140
									
								
								day12/input
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,140 @@
 | 
				
			|||||||
 | 
					SSFFFFFFFFFFFFFFFFEEEZZZZRZZZZZZZZZZZKKKKKKKKKKKKKKKSSSSSSSSSSSSSKKKKKKKKKQDDDDDTTTTTTTTTTTTTTMMMMMMMMMWWWWWWWWWWYYWKKKKKKKKKKKKKKKKKKKKKKKK
 | 
				
			||||||
 | 
					FFFFFFFFFFFFFFFFFFFEEEZZZZZZZZZZZZZZZZKKKKKKKKKKKKKKSSSSSSSSSSSSSKKKKKXXXXXXXXXDDDTTTTTTTTTTMMMMMMMMMMMMWWWWWWWWWWWWKKKKKKKKKKKKKKKKSKKKKKKK
 | 
				
			||||||
 | 
					FFFFFFFFFFFFFFFFFFFFEEZZZZZZZZZZZZZZZKKKKKKKKKKKKKKKSSSSSSSSSSSSSKKKKKXXXXXXXXXDDQQTTTTTCTTTTMMMMMMMMMMKMWWWWWWWWWWWKKKKKKKKQKKKSSSSSSKKKKKK
 | 
				
			||||||
 | 
					FFFFFFFFFFFFFFFFFIIIIEEZZZZZZZZZZZZZZKKKKKKKKKKKKKSSSSSSSSSSSSSKKKKKKKXXXXXXXXXDDQQQTTTTCTTTTMMMMMMMMMMMMWWWWWWWWWWWKKKKKKKKQQQQSSSSSSSSKKKK
 | 
				
			||||||
 | 
					VVVFFFFFFFFFFFIIIIIIIEEZZZZZZZZZZZZZZKKKKKKKKKKKKKSSSSSHHHSHHSSKKKKKKDXXXXXXXXXDQQQQQTTTCCTTTMMMMMMMMMMMMMMWWWWWWWWWKKKKKMMKKQQQSSSSSSSSKSSK
 | 
				
			||||||
 | 
					VVVFFFFFFFFFFFFIIIIIIEZZZZZZZZZZZZZZZKKKKKKKKKKKKKKSSSSHHHHHSSSSKKKKKIXXXXXXXXXDQQQQTTTTCCTTMMMMMMMMMMMMMMMMWWWWWWKKKKMMMMMMQQQQSSSSSSSSKSSK
 | 
				
			||||||
 | 
					VVVVFAFFFFFFFFFIIIIIIIIZZZZZZZZZZZZZZKKKKKKKKKKKKKKKSSSSHHHSSSSSKKKKKIXXXXXXXXXDQQQQQTTTCTTMMMMMMMMMMMMMMMMWWWWWWWWWKWWMMMMQQQQQSSSSSSSSSSSK
 | 
				
			||||||
 | 
					VVVVFFFFFFFFFFFIIIIIIIIIIZZZZZZZZZZZKKKKKKKKKKKKKSKSSSSVSHHSSSSSSSSSKDXXXXXXXXXXXQQQQQQTCTTMMMMMMMMMMMMMMMMWWWWWWWWWWWWQQMQQQQQQQSSSSSSXSASK
 | 
				
			||||||
 | 
					VVVVVFFFFFFFFFFLLIIIQQIPPPPZZZZZZZZZKKKKKKKKKKKKKSSSVVVVSSSSSSPSSSSHDDXXXXXXXXXXXQQQVVTTTTTMMMMMMMMMMMXXXXXWWWWWWWWWWWWWQQQQQQQQQSSSSSXXSSKK
 | 
				
			||||||
 | 
					VVVVVFVFFFFFFAAIIIQQQPPPPPPZZZZZZZZZKKAKKKKKKKKKMUUSSWVVVVSSSSPSSSSHDDXXXXXXXXXXXSVQVVTTTTTMMMMMMMMMMMXXXXOWWWWWWWCWWIWQQQQQQQQQQQSSSSXXXSKK
 | 
				
			||||||
 | 
					VVVVVVVFFFFFFAKCIQQQPPPPPPEEZIZZZZZKKAAAKKKKKKKXUUSSUWVVVVSSPPPPESHHHDXXXXXXXXXXSSVVVVTTTTTTTMEMMMMXXXXXXOOZWWWWWWWIIIWWQQQQQQGGQQQXXXXXXXXX
 | 
				
			||||||
 | 
					VVVVVVVVFFFFAAKKKKQQQPPPPPPEEEEAAZZZZZAAAAKAAKJXUUSSUUVVVPPPPPPPESSHHDFXXXXXXXXXSSSVVVTTTTTATEEMMMMMMXXXXOOOOOOIWIIIIIIWWQQQQQYGXXXXXXXXXXXZ
 | 
				
			||||||
 | 
					VVVVVVVVVVFFAKKKKKPPPPPPPEEEEEEAAAZZAAAAAARRRRRRUUUUUUUVVVPPPPPMPPPHHHDDDDDDDDSSSSSSSSTTTTTTTEEEMEMMMMXXOOOOOOOIIIIIIIIWIIQQQGGGGGXXXXXXXZZZ
 | 
				
			||||||
 | 
					VVVVVVVVFFFAAKKKKKRRRPPEEEEEEEEEAAAAAAAAAARRRRRRJUUUUUUVVIPPPPPPPPPHHHHHDDDDDDSSSSSSSEEEEETEEEEEEEJJJJOOOOOOOOOIIIIIIIIWILQQEGGGGGXXXXXXXXZZ
 | 
				
			||||||
 | 
					VVVVVVVVJJJVAAAAAKRRRRREREEEEEEEEEEAAAAAARRRRRRRRRRUUUUIIPPPPPPPPPHHHHHHDDDDSSSSSSSESEEEEEEEEEEEEEJJJJOOOOOOOOOIIIIIIIIIIGGGGJGGGGGGXXXXXXZZ
 | 
				
			||||||
 | 
					VVVVVVVVVVVVXXXXAKRRRRRRREEEEEEEEEEAAARRRRRRRRRRRRRUUUUUIPPPPPPPQPPPHHHHDDDDSSSSSSSEEEEEEEEEEEPEPPPOJJOOOOOOOIIIIIIIIIIIIGGGGGGGGGGXXXXXXXZZ
 | 
				
			||||||
 | 
					AVVVVAVVVVVXXXXXXRRRRRRREEEEEEEEEAAAAAARRRRRRRRRRRRJJUUUPPPPPPQQQPPHHHHHHSSDDSSSSSEEUEEEEUUEEPPQQQQQQQOOOOOOOOIIIIIIIIIIIGGGGGGGGGGGGXXXHXZZ
 | 
				
			||||||
 | 
					AVVAAAAVVVVXXXRRRRRRRRRREEEEEEEEEAAAAAARRRRRRRRRRRRJJJJUPPPPPPQQQHHHHHHSSSSSSSSSSSEEUUUUUUUEPPPQQQQQQQOOOOOOIIIIIIIIIIIIIGGGGGGGGGGGGGXXXXXZ
 | 
				
			||||||
 | 
					AAVAAAAAVVVVXXXRRRRRRRREEEEEEEEEEAAAAARRRRRRRRRRRRRJJPJJJPPPPPQHQHHHHHHSSSSSSSSSSEEUUUUUUUUUUPPQQQQQQQOOOOOOOIIIIIIIIIIIIIGGGGGGGGGGGGXXXXZZ
 | 
				
			||||||
 | 
					AAAAAAXXXVVVXXXXXRRRRRRREEEEEEEEEAAARRRRRRRRRRRRRRRPPPJJJPPPPPHHHHHHHHSSSSSSSSSSSEEUUUUUUUUUUUPQQQQQQQOOOOOOOOIIIIIIIIIIGGGGGGGGGGGGGGGGGZZZ
 | 
				
			||||||
 | 
					AAAAAAAAXXXXXXXXXXRRRNNNNNEEEEEEEXXARRRRRRRRRRRRRRRPPPPJJHHIIIHHHHHHHHSSCSSSSSSSSSEUUUUUUUUUUUPQQQQQQQOOOOOOOOOOIIIIIIIIGGGGGGGGGGGGGGGGGZZZ
 | 
				
			||||||
 | 
					AAAAAAAXXXXXXXXXXRRRRNNNNNNEEEEEXXXARRRRRRRRRRRRRRRPPPPHHHIIIIIIHHHHHHHHSSSSSSSSSXUUUUUUUUUUUPPQQQQQQQQQQQQQQQOIILLIIIIIGRRGGGGGGGGGGGGGGZZZ
 | 
				
			||||||
 | 
					AAAAAAAAXXXXXXXXXXNNNNNNNNNEHHXXXXXXRRRRRRRRRRRRRRRPQPPHHHIIIIIHHHHHHHOGGSSSSSSSSXUUUUUUUUUEPPPQQQQQQQQQQQQQQQQQQQLLIIIIRRGGGGGGGGGGGZGZZZZZ
 | 
				
			||||||
 | 
					AAAAAAAAXXXXXXXPXXXNNNNNNNNHHHHXXXXXRRRRRRRRRRRRPJPPPPPPHIIIIIIUHHHHHHOGGGOXXXXXXXXXDDDUUUVPPPPQQQQQQQQQQQQQQQQQQQLLLLRRRLEEGZGGGGGGGZZZZZZZ
 | 
				
			||||||
 | 
					AAAAAAAAXXXXXXXXAANNNNNNNNNNNNNNXXXAAJQQQQRRRRRRPPPPPPPPPPDIIUIUOXHHWOOGOGOXXXXXXXXXDDDDUUVVPPPQQQQQQQQQQQQQQQQQQQLLLLLLLLLGGZGZZGGTTZZZZZZZ
 | 
				
			||||||
 | 
					AAAAAAAAAXXXXXXXAAANNNNNNNNNNNAXXXXAAAQQQQRRRRRRPPPPPPPPPPDIIUUUOOGHHEOOOOOXXXXXXXXXXXXDVVXPPPQQQQQQQQQQQQQQQQQQQQLLLLLLLLLLLZZZZGGZZZZZZZZZ
 | 
				
			||||||
 | 
					AAAAAAAAAAAAXOXWNNNNNNNNNNNNNAAXXXAAQQQQQQRRRRRRPPPPZPPPPPPZOOUUOOOOEEOOOOOXXXOXOOXXXXXDVXXPPPQQQQQQQQQQQQQQQQQQQQLLLLLLLLLLLZZZZGZZZZZZZZZZ
 | 
				
			||||||
 | 
					AAAAAAAAAAAAAWWWWNNNNNNNNNNNNNAAXXXAAQQQDDRRRRRRPPPZZZZZZZZZOOUOOOOOOOOOOOOOOOOOOXXXXXXXXXXZPPQQQQQQQQQQCCCYCCCCHLLLLLLLLLLLLZZZZZZZZZZZZZZZ
 | 
				
			||||||
 | 
					AAAAAAAAAAAWWWWWWNNNNNNNNNNNNAAAAAAAHDDQQZRRRZPMPPPZZZZZZZOOOOOOOOOJJOOOOOOOOOOOOXXXXXXXXXZZZZQQQQQQQQQQCGCCCCCCCCCLLLLLLLLLLLZZZZZZZZZZZZZZ
 | 
				
			||||||
 | 
					AAAAAAAAAAAWWWWWNNNNNNNNNNNNAAVAAAAAHDDDDZRRRZZZPPPZZZZZZZFFFFFFOOJJJJOOOOOOOOOOOXXXXXXXXXZZZZPPPRRRPOOFFCCCCCCCCLLLLLLLLLLLLLZZZZZZZZZZZZZZ
 | 
				
			||||||
 | 
					AAAAAAAAWAWWWWWWNNNNNNNNNNNNANVVVVHHHDDZZZRRRZZZPPZZUUZZZFFFFFFJJJJJJJJOOOOOOOOOOXXXXXXXXZZZPPPPRRRRRLOLLCCCCCCCCCCLLLLLLLLLZZZZZZZZZZZZZZBB
 | 
				
			||||||
 | 
					AAAAAAAAWWWWWWWWWNDDNNNNNNNNNNVVVHHHHHHXXXZZZZZZZPZZZUZZZFFFFFFJJJJJJJJOOOOOOOOOXXXXZXZZZZZZZPPZRRRRRLOLCCCCCCCCCCCLLLLLLLLLZZZZZZZZZZZZZBBE
 | 
				
			||||||
 | 
					AAAAVAAAWWWWWWWWWNDDNWNNNNNVVVVVKKKHHHXXXXZZZZZTZZZUUUUUUFFFFFFJFJJJJJJOOOOOOOOXXXPXZZZZZZZZZZZZRRRRRLLLLCCCCCCCCCLLLLLLLELLZZZZZZZZZZZZBBBB
 | 
				
			||||||
 | 
					AAAVVVAAAWWWWWWWWNDDNLNNNNLVVVVVKKKHXXXXXTTTTTTTTUUPUUUUUUFFFFFFFFJJJJJJJMSOOZXXXXXZZZZZZZZZZZZRRRRRRRLLLCFCCCCCCCCCLLLLLEEZZZZZZZZZZZZZZBBB
 | 
				
			||||||
 | 
					AAVVVAAWWWWWWWWWWWLLLLINLLLVVVVVKVVXXXTTTTTTTTTTUUUUUUUUUVVVFFFJFFJJJJJJMMMMOZZXXXZZZZZZZZZZZUZRRRRRLLLLLCCCCCCCCCCLLLLLLEEEZZZZZZZZZZZBBBBB
 | 
				
			||||||
 | 
					AAAVVVVVVWWVVWWWWWLLLLLLLLLVVVVVVVXXXXTTTTTTTTTUUUUUUUUUVVVVJFJJJJJJJJJMMMMMMZZZZZZZZZZZZZZZZUZZZRRLLLLLLLLLCCCCCCCCCLLLLLLEZZZZZZZZZZBBBBBB
 | 
				
			||||||
 | 
					FFVVVVVVVVWVWWWWWLLLLLLLLLLVVVVVVVVXXTTTFTTTTTTUUUUUUUUVVVJJJJJJJJJJJAMMMMMMMMMZZZZZZZZZZZZUUUUZZZRRLLLLLLLLLLCCCCCFCLLLLLLEEEEGGGZZZZBBBBBB
 | 
				
			||||||
 | 
					FFFFFVVVVVVVVWWWWLLLLLLLLLLLVVVVVVVTTKTTTTTTTTTUUUUUUUUUVVJJJJJJJJJJJAMMMMMMMMZZZZZZZZZZZZUUUUUZZZRLLLLLLLLLLLLCCLLLLLLLLLLEGEGRRGGZBBBBBBBB
 | 
				
			||||||
 | 
					VVFFVVVVVVVVVWWJLLLLLLLLLLLLVVVVVVVVTTTTTTTTTTTTNUUUUUUUVVJJJJJJJJAAAAAAMMMMMMMZZZZZZZZZZUUUUUUULLLLLLLLLLLLLLLLLLLLLLLLLIIGGGGRRGGGBBBBBBBB
 | 
				
			||||||
 | 
					VVFFFVVVVJJJJWJJLLLLLLLLLLLLVPPVVYYYTTTTTTTTTTTTNUUUUUUUVVJJJJBIBBAAAAAMMMMMMMPZZZZZZZZZZZZUUUUMLLLLLLLLLLLLLLLLTLLLLNNNNIIGGGGGGGGGBBGBBBBB
 | 
				
			||||||
 | 
					VFFVVVVVJJJJJJJJJMLLLLLLLLPPPPPPPYYTTTTTTTTTTTTTTOUUUUUUVVVBJJBBBBMAAAAMMMMMMMMZZZZZZZZZZZZUUUUMMLLLLLLLLLTLLLTTTLLLLNNNANGGGGGGGGGGGGGBBBBB
 | 
				
			||||||
 | 
					VVVVVVVVVJJJJJJJJJUULLLLLLPPPPPPPYYYTTTTTTTTTETTOOOOOUVUVVVBBBBBBMMMMMMMMMMMMMMZZZZZZZZZZZZRZZMMMMMLLLLLLLTTTTTTTLLLTNNNNNNGGGGGGGGGGHGBBBBB
 | 
				
			||||||
 | 
					VVVVVVVVJJJJJJJJJJUUZLLZZLPPPPPDPPZATTTTTTTTTTTTTOOOOVVVVVVBBBBBBBMMMMMMMMMMQQQQZZZZZZZZZZZZZZZMMMMMLLLTTTTTTTTTLLNLNNNNNNGGGGGGGGGGGGGGBBBB
 | 
				
			||||||
 | 
					VVVVVVVVVPJJJJUGZZZZZZZZZZPPPPPPPPPAAAATTTTTTTYYYOOOOVVVVVVBBBBBBBMMMMMMMMMMQQQQZZZZZZZZZZZZZZZMMMMMMMMMMTTTTTTTLNNNNNNNNNNNGGGGGGGGGGGGBBBB
 | 
				
			||||||
 | 
					VPPPPPPPVPKKKGGGGZZZZZZZZZZPPPPPPPPAAAAAAATTTTYOOOOOVVBVVVVBBBBBBBBBBBMMMMMMQQQQZZZZZZZZZZZZZZZZMMMMMMMMMTTTTTTTTLLNNNNNNNNNGGGGGGGGGGGGBBBB
 | 
				
			||||||
 | 
					VPPPPPPPPPKGKGGGGZZZZZZZZZZPPPPPPPPPPPPAAATTTTTTJOOOVBBBVVBBBBBBBBJBBBMMMMMMQQQQZZZZZZZZZZZZZZZZZMMMMMJMMTTTTTTPNLNNNNNNNNGGGGGGGGGGGGGGGGBB
 | 
				
			||||||
 | 
					VPPPPPPPPKKGGGGGGZZZZZZZZZZPPPPPPPPPPPPAAAAAAATHHOOVVBBBBBBBBBBBBBBBBMMMMMMMQQQQQZZQQQQQQZZZZZZZZMJJJJJMMMMMTYTPNNNNNNNNNNNGGGGGGGGGAGGGGBBB
 | 
				
			||||||
 | 
					VPPPPPPPPPPGGGGGGGZZZZZZZZZZZPPPPPPPPPAAAAAAHHHHHOOBBBBBBBBBBBBBBBHHHMMMMMMSQQQQQZZQQQQQQZZZZZZZZZZZMJJJMMTTTYYNNNNNNNNNJJNUGGGGGGGAAAGGGBBB
 | 
				
			||||||
 | 
					QWWPPPPPPPPGGGGGGGZZZZZZZPPPPPPPPPPPPPPPAAAAHHHHHBBBBBBBBBBBBBBBBBHHHMHMMMMMQQQQQZZQQQQQQZZZZZZZZZZZZJJJMJYYYYYYYNNNNNNKKKUUGGGGKGAAAAGGOBBB
 | 
				
			||||||
 | 
					QPPPPPPPPPPGGGGGGGGZZZZZPPPPPPPPPPPHPHHHHAAAAHHHHHBRRRBBBBBBBBBHHBHHHHHHMSSSQQQQQBZQQQQQQZZZZZZZZZZJJJJJJJYYYYYYYFFNNNNKKKUUGGGOKGGOAAAOOOBB
 | 
				
			||||||
 | 
					QPPPPPPPPPPPBAAAGGGZPOZPPPPPPPPPPPHHHHHHHAAAAHHHHHHRRRRRBBBBBBBBHHHHHHMMMSSQQQQQQQQQQQQQQQZZZZZZZZJJJJJJJJYYYYYFFFFNFFIKKKKKKZGOKKOOAAAAOOOO
 | 
				
			||||||
 | 
					QQPPPPPPPPPAAAAAAAGZPPPPPPCPPPPPPPPPHHHHHHHHHHMHHHRRRRRWRBBBBBBBHHHHHHIIMMMQQQQQQQQQQQQQQQZZZZZZJJJJJJJJJJJYZZZFFFFFFFKKKKKKKZKKKOOOAAAAOOOO
 | 
				
			||||||
 | 
					QQPXPPPPPPPAAAAAAGGGPPPPCCCPPPPPPPPPPPPHHHHHMMMMMRRRRRRWRDDDDDDHHHHHHIIIIMMQQQQQQQQQQQQQQQQQQQZZJJJJJJJTJJZYZZZZZFFFFZZKKKKKKKKKKKOAAAAOOOOO
 | 
				
			||||||
 | 
					QQPPPPPPAAAAAAAAAAGGPOOPCCCPPPPPPPPPPPPPPHHHMMMMMMRRRRQQQDDDDDDHHHHHHIIIMMMQQQQQQQQQQQQQQQQQQQZZJJJJJJJJYYZZZZZZZFFFFZZKKKKKKKKKKKKKKKOOOOOO
 | 
				
			||||||
 | 
					QQPQPPPBAAAAAAAAADAOOOOCCCEPPPPPPPPPPPPPHHHMMMMMRRRRRRQQQDDDDDHHHHDGHIMMMMMMMXXXSSQQQQQQQQQQQQJJJJJJJJJJYZZZZZZZZZZZFZZKKKKKKKKKKKKKKEEOOOOO
 | 
				
			||||||
 | 
					QQQQPPPPAAAAAAAAAAAOOOCCCCECCPAPAPPPPPPPHHMMMMMMMMRRDDQQQDDDDDHDDDDDIIIIMMMMMIXXSSQQQQQQQQQQQQJJJJJJJJYYYYZZZZZZZZZZZZZKKKKKKKKKKKKKREEEOOOO
 | 
				
			||||||
 | 
					QQQQQPPPAAAAAAAAAACCCOCCCCCCPPAAAPAPPPPFFMMMMMMMMMMDDDQQQDDDDDDDDDDIIDIIMIMMMIXXXXSSZZZQQQQQQQJJJJJJJJYYYYZZZZZZZZZZZZZZZKKKKKKKKKKKEEEEEOOO
 | 
				
			||||||
 | 
					QQQQQGPPPAAAAAAAAAACCCCCCCCCCBPPPPFFFFFFMMMMMMMMMMMMDDQQQDDDDDDDDDDDDDDIIIIIIIXXXXUSZZZQQQQQQQJJJJJJJJJJJYZZZZZZZZZZZZZZZKKKKKKKKKKKEEEEEOOO
 | 
				
			||||||
 | 
					QGGGGGPAAAAAAAAACCCCCCCCCCCCCCIIPPPFFFFFFFMMMMMMMMMMDQQQQLLLDDDDDDDDDDDDIIIIIXXXXXXZZZZZZZZZJJJJJJJJJJJJYYYZZZZZZZZZZZZZKKKKKKKKKKKKKEEEOOOO
 | 
				
			||||||
 | 
					QQQGGGPAAAAAAACCCCCCCCCCCCCCCCCIIFFFFFFFMMMMMMMMMMMMMQQQQLLDDDDDDDGDDSOOOIIIXXXXXXXXXXXZZZJJJJJJJJJJJJFFWWYZZZZZZZZZZEEEKKKKKKKKKKKKKEEEOOOO
 | 
				
			||||||
 | 
					QQGGGGGGGAAAAACCCCCCCCCCCCCCCCIIIFFFFFFFFMMRRMMQQQQQQQQQQLLLDDLLDGGGDSOOOOXIXXXXXXXXXXXXKKJJJJJJJWNWWWWWWYAAAAZZZZZEEEEEEEKAKKKKKKOKEEEEEEOO
 | 
				
			||||||
 | 
					QQGGGGGGAAAAAAAACCCCCCCCCCCCCCIIIFFFFFFFFMMAAJJQQQQQQQQQQLLLDDLDDGGYOOOOFXXXXXXXXXXXXXXZKJJJJBJTJWWWWWWWWYAAAAZZZZZZEEEEEEKEEOOOOKOKEOEEOOOO
 | 
				
			||||||
 | 
					QQGGGGGGGGGGAAAACCCCCCCCCCCIIIIIIIFFFFFFMMMAAAAQQQQQQQQQLLLLDDLLGGGGGOOOOXXXXXXXXXXXXXXZKJJJJBWWWWWWWWWWWWAAAAVVVZEEEEEEEEEEEOOOOOOOOOOOOOOO
 | 
				
			||||||
 | 
					QQQGGGGGGGAAAAACCOCCCOOOOOCCIIIIIFFFFFFFFFFAAAAQQQQQQQQQLLLLLLLGGGGGGOOOOOXXXXXXXXXXXXXKKKKKJBWWWWWWWWWWWWAAAAVVVEEEEEEEEEEEOOOOOOOOOOOOOOOO
 | 
				
			||||||
 | 
					QQQQGAGGXGAAAAAOOOOOCOOOOOCIIIIIIIFFFFFFFFFAAAAQQQQQQQQQLLLLLNNGGGGGOOOOOOXXXXXXXXXXXXXEKKKKKKKWWWWWWWWWAAAAAAVVVEEEEEEEEEEEOOOOOOOOOOOOOOOJ
 | 
				
			||||||
 | 
					QQQQQGGGAAAAAAAOOOOOOOOOORCIIIIIIIIIFFFFFFHHAAAQQQQQQQQQQLLLLNGGGGGOOOOOOOXFXXXXXXXXKKKKKKKKKKKKWWWWWWWWAAAAAAVAVEEEEEEEEEEOOOOOOOOOOOOOOJJJ
 | 
				
			||||||
 | 
					QQQQUUUUUUAAAAOOOOOOOOOOOOCIIIVVIIIIFFFFFFFHASAQQQQQQQQQQLLLLNGGGGGGOOOOOOXXXXXXXXXXXKKKKKKKKKKKWWWWWWWWAAAAAAVVVEEEEEEEEEEOOOOOOOOOOOOOJJJJ
 | 
				
			||||||
 | 
					QQQQQUEUUUAAAOOOOOOOOOOOOOOIIVVIIIIIFVFYFFSSSSSQQQQQQQQQQLLLLGGGGGGGGOOOOOOXXXNXNXXXXKKKKKKKKKKWKWWWWWWWAAAAAAVVVVEEEEEEEEEEOOOOOOOOOOOJJJJJ
 | 
				
			||||||
 | 
					QQQQQEEEEUUAAOOOOOOOOOOOOOOIIVVVIIIIIOOOSSSSSSIQQQQQQQQQQLLLLGGGGGGGGOOOOOOOXXNNNXXXXKKKKKKKKKKKKKWWWWWWAAAAAAWKKVKKEEEEEEEEOOOOOOOOOOOJJJJJ
 | 
				
			||||||
 | 
					QQQQQEEEEUUEEOOOOOOOOWZZOOOVVVVVVVVIIOOOOSSSSSSQQQQQQQQQRRLLLLUGGGGGGOOOOOOONNNNNXXONNKKKKKKKKKKKKKWWWWWAAAAAAKKKVKKEEEEEEEEOOOOOOOOOOJJJJJJ
 | 
				
			||||||
 | 
					QQQQQEEEEEEEEOOOOOOOSWZWWWVVVVVVVVYIOOOOSSSSSSSQQQQQQQQQLLLLLLLLLGGGGOOOOOOOANNNNNNNNNKKKKKKKKKKKKWWWWWWAAAAKWKKKKKEEEEEEEEEOOOOOOOOOOOJJJJJ
 | 
				
			||||||
 | 
					QQQQEEEEEEEEEBOOOOOOOWWWWWVVVVVVVVYYYVOOOOSSSSSQQQQQQQQQLLLLLLLLLAAGHOOONNNNNNNNNNNNNUKKKKKKKKKKKZWZWZZWAAAAKKKKKFKKEEEEEEEIOOOOOOOOOOOJJJJJ
 | 
				
			||||||
 | 
					QQQQQEEEEEEEEWWWWOOOWWWWWWVVVVVVVVYYYYOOYOOOOSTQQQQQQLLLLLLLLLLLLAGGHHHONNNNNNNNNNNNNUUKKKKKKKKKZZZZZZZZAAAAKKKKKFEEEEEEEEEEOOOOOOOOOOOOJJJJ
 | 
				
			||||||
 | 
					QQQQEEEEEEEEEWWWWWWWWWWWWWVVVVVVVVYYYOOJYOOOOSSTTTTTLLLLLLLLLLLLLLLLHHHOHHHNNNNNNNNNNUUKKKKKKKKYYYYYZZZZAAAAKFFKKFFFEEEEEEEBBOOOOOOOOOOJJJJJ
 | 
				
			||||||
 | 
					QQEEEEEEEEEEWWWWWWWWWWWWWWVVVVVVVYYYYOYYYYYOOOOOOOTTTLLLLLLLLLLLLLLLHHHHHHNNNNNNNNNNNNKKKKKKKKKYYYYYZZZZZZKKKFFFFFFFFEDDDDDOOKOOOTOOOKJJJJJJ
 | 
				
			||||||
 | 
					QQQEEOEEEEEEWWWWWWWWWWWWWWWVVVVVYOYYYYYYYYYYOOJOOOOTTLLLLLLLLLLLLLLLHHHHHHHNNNNNNNNNNNNKKKKKEKZYYYYYZZZZZHKKKFFNFFFFFODDDDOOOOOOOTOOKKJJJJJJ
 | 
				
			||||||
 | 
					QQQQQEEEEEEWWWWWWWWWWWWWWWPPPVPVYYYYYYYYYYYJJOJJOOOTTTTLLLLLLHHLLLHHHHHHHHJNNNNNNNNNNNKKKKKKZZZYYYYYZZHHHHHKKKFFFFFFFDDDDDDOOOOOOTTJJKJJJJJJ
 | 
				
			||||||
 | 
					QQQOQQEEEEWWWWWWWWWWWWWWWWWWPPPPPYYYYYYYYYJJJJJTTTTTTTTWWWHHHHHHLHHHHHIIIHJBJGNNNNNNNSKKKKKKZZZYYYYYZZZZHHHHHFFFFFFFFDDDDDDUOOOOOOTJJJJJJJJJ
 | 
				
			||||||
 | 
					QOOOOOOEEEWWWWWWWWWWWWWWWWWPPPPPPYYYYYYYYYYYYJJJJTTTTTTWWOHHHHHHHHHHJJIIIJJJJNNNNNNNNJJJCCKKZZZZZZZZKZHHHHHFFFFFFFFFFDDDDLLLLOOOOOJJJJJJJJJJ
 | 
				
			||||||
 | 
					QOPOOOOOWWWWWWWWWWWWWWWWWWPPPPPPPPYYYYYYYYYYNNNJTTTTTTTWWHHHHHHHHHHHJJIIIJJJJJNNNNNNNJJJJJJWZZZZZZZZZZZHHHHHHFFFFFFFFDLLLLLLLLOOOOOJJJJJJJJJ
 | 
				
			||||||
 | 
					QOOOOOOEEEEEWWVWBBWWWWWWWPPPPPPPPPPYYYYYYYYYYNNTTTHHHTTWWHHHHHHHHHHHJJIIIJJJJJWNNNNNNJJJJJJZZZZZZZZZZZZHHHHHFFFFFFFFFFLLLLLLLLOOOOJJJJJJJJVV
 | 
				
			||||||
 | 
					OOOOOOOOEEEWWWVWBBBWWPPPPPPPPPPPPPPYYYYYYYYYTTTTTTHHHHHWWHHHHHHHTHHHJJIIIJJJJJJNNNNJNJJJJJJJJZZZZZZHZZHHHHHHFFFFFFFFFFLLLLLLLLOOJJJJJJJJJJVV
 | 
				
			||||||
 | 
					OOOOOOOOEEEWWWVVVBBBBBPPPPPPPPPPPPPYYYYYYTYTTTTTTTVHHHHHHHHHHHHHHHHJJJIIIJJJJJJIVINJJJJJJJJJBBZZZHHHHHHHHHHHHFFFFFFFFFLLLUUULLOOOJJJJJJJJJVV
 | 
				
			||||||
 | 
					SOOOOOOSZZZZVVVBBBBBBBUPPPPPPPPPPPPTTTYYYTYYTTTTTTTGGGGGHHHHHHHHHHSSHHHHHJJGJJJIIIIZJJJJJJJJBBZZHHHHHHHHHHHHHFFFFFFFFFLLLUUULLOOOOJJJJJTTTVV
 | 
				
			||||||
 | 
					SSSSSSSSSSSZZZZNBBBBBUUPUPPPPPPPPITTTYYTTTYTTTTTTTTGGGGGGHHHHHHHHHHHHHHVHJEJJJIIIIIZJJJJJJNJJHHHHHHHHHHHHHHHFFFFFFFFFFUUUUUULOOOOOOOOVKVVVVV
 | 
				
			||||||
 | 
					SSSSSSSSSSZZZZZZBBBBBBUUUPPPPPPPPITTTTTTTTTTTTTTXXXXXXGGGGGHHHHHHHHHHHHIJJJJIIIIIIIIEEJJJNNNHHHHHHHHHHHHHHHHHFFIIIIIFIUUUUUULOOORROOOVVCVVVV
 | 
				
			||||||
 | 
					SSSSSSSZZZZZZZZZZBBBBBUUUUUPUUVVPPPTTTTTTTTTTTTTXXXXXXGGGQGHHHHHHHHHCHHIIJJJIIIIIIIIEEEJNNNNHHHHHHHHHHHHHHHHHFFIIIIIIIUUUUUULORRRRROOVVVVVVV
 | 
				
			||||||
 | 
					SSSSSSZZZZZZZZZZZBBBBUUUUUUUUUUVPZVTTTTTTTTTTTTTXXXXXXGGGGGHHHHHHHHHCCIIIJIIIIIIIIIIEJJJJNNNXXXXXHHHHHHXHHHHHHFIIIIIIIUUUUUULCCCCCVVVVVVVVVV
 | 
				
			||||||
 | 
					SSSSZZZZZZZZZZZZBBBBBBBUUUUVVVVVPVVVTTTTTTTTTTTTXXXXXXGGGGGHPHHPHCHCCCIIIIIIIIIIIIIIJJJJJNNNXXXDHHHHHHHXHHHHIEEEIIIIIIUUUUUUCCCCCCVVEVVVVVVV
 | 
				
			||||||
 | 
					SSSZZZZZZZZZZZZBBBBBBBUUUUUVVVVVVVVVTTTTTTTTTTTTTXXXXGGGGUGUPPPPCCCCCCIIIIIIIIJIJJJJJJJJNNXXXXXXHHHHHHXXXHHXIEIIIIIIIIUUUUUUCCCCCCCCVVVVVVVV
 | 
				
			||||||
 | 
					SSSSSZZZZZZZZZYBBBBBBBUUEUEVVVVVVVVVVVOTTTTTTTTTXXXXXXXGGUUUPPPPPPPCCCIIIIIIIIJJJJJJJJJJJNNXXXXHHHHHXXXXXXXXIIIIIIIIIIUUUUUUCCCCCCCCCCCCVVVV
 | 
				
			||||||
 | 
					SSSSSSZZZZZZZDYYBBBBBBBEEEEVVVVVVVVVVVVJJTTTTTPPXXXXXXXGUUUUPPPPPPPCCIIIIXXIIIJJJJJJJJJJJJXXXXXXXXXXXPXXXPPXIIIIIIIIIIUUUUUUCCCCCCCCCCCCVVVV
 | 
				
			||||||
 | 
					SSSSSSZZZZZZYYYYYBSSBBBBEEEEVVVVVVVVVVVVJJTJJPPPXXXXXXXGUUUPPPPPPPPPPXXIXXXXIIJJJJJJJJJJJJXXXXXXXXXXXPPPPPPXPPPIIIIIIIUUUUUUCCCCCCCCCCCCVVVV
 | 
				
			||||||
 | 
					SSSSSSSSZZZZZYYSSSSIBBBBEEEEVVVVVVVVVVVVJJJJJJJPXXXXXXXUUUUUPPPPPPPPPYXXXXXIIIJJJJJJJJJJJJFFXXXXXXXPPPSPPPPPPPPHIIIIIIRRRRCCCCCCCCCCCCCCVVVV
 | 
				
			||||||
 | 
					SSSSYYYZZZZYZYYYSSSSSSEEEEEEVVVVVVVVVVVJJJJJJJJJXXXXXXXUUUUUPPPPPPPPPXXXXXXXIIIJIAJJJJJJJJFFXXXXXXXPPPPPPPPPPHHHIIINIIRRPRCCCCCCCCCCCCCCVVVV
 | 
				
			||||||
 | 
					SSYSYYYYYYYYYYYYYSNEEEEEEEEEVVVVVVVVHHVJJJJJJJJXXXXXXXXUUUUPPPPPPPPXXXXXXXXIIIIIIJJJJJJJJFFFFXXXXXPPPPPPPPPQPHHHINNNNNRRPPCCCCCCCCCCCCCCVVVV
 | 
				
			||||||
 | 
					SSYYYYYYYYYYYYYYYNNEEEESEEEEEVVVVVVHHHHJJJJJXXXXXXXXXXXGUUUUPPPPPPPDDXXXXXIIIIIIIJJJJJJJJFFFFXXCXXXPPPPPPPPPPPPHINNNNNNRPPAAAAAAACCCCCCCVVVD
 | 
				
			||||||
 | 
					YYYYYYYYYYYYYYYNNNEEEEEEEEEEEVVVVVVHHHHHJJJJXXXXXXXXXXXGGUUUPPPPPPPDDDXXXXIIIIIIOOJJJOOJOYYYFXYCXXXJPPPPPPPPPPPPPNNNNNNNPPPAAAAAACCCCCCCVVVD
 | 
				
			||||||
 | 
					YYYYYYYYYYYYYYYNNENEEEEEEEEEEVVVVVHHHHHHJJJJXXXXXXXXUUUUGUUUUUPPKKKDDDDDXXIIIIIOOOOOOOOOOYYYYYYXXXXXPPPPPPPPPPPPNNNNNNNNNPAAAAAAACCCCCCCNVVD
 | 
				
			||||||
 | 
					YWWYYUYYYVYYYYYEEEEEEEEEEJEEVVVVVHHHHHHHJJJJXXXXXXXXGGGGGGGUGUUPPKKKKDDDDIIIIIIOOOOOOOOOOYYYYYYBBBBEEEEEEEEEEPPPNNNNNNNNNNAAAAAAACCCCCCCNNNN
 | 
				
			||||||
 | 
					WWWWYVTTVVVVXXEEEEEEEEEEEJJEEVSVVVHHHHHHJJJJXXXXXXXXMGGGGGUUGGGGKKKKWDDDDDDIIIAOOOOOOOOOYYYYYYYBBBBEEEEEEEEEEPPPPNNNNNNNVNAAAAAAAAANNNNNNNNN
 | 
				
			||||||
 | 
					WQWWYVTVVVVVEEEEEEEEEEEEEEJJJSSSSVSSSHSSSSJJXXXXXXXXGGGGGGGGGGGGKKKKWWDDDDIIIIIOOOOOOOYYYYYYYYYBBBBEEEEEEEEEEPPNNNNNNNNNNNBANAAAAAANNNNNNNNN
 | 
				
			||||||
 | 
					QQWVVVVVVVVVVEEEEEEEEEEEEDSSSSSSSSSSSSSSSSSJXXXXXXXXGGGGGGGGGGNGKWKKWWWDDDDDIIIOOOOOOOOYYYYYYYYBBBBEEEEEEEEEENNNNNNNNNNNNNNANNNNAAAANNNNNNNN
 | 
				
			||||||
 | 
					VQQVVVVVVVVVVVEEEEEEEEEEEDSSSSSSSSSSSSSSSSSJXXXXXXXGGGGGGGGGGGGGKWWWWWWWDDDDDIIDOOOOOOOOYYYDYYHBBBBEEEEEEEEEEPNNNNNNNNNNFNNANNNNNNMMNNNNNNNN
 | 
				
			||||||
 | 
					VVVVVVVVVVVVVVEEREYEEEEDDDDSSSSSSSSSSSSSSSSSXXXXXXXGGGGGGGGGGGGGGWWWWWWWDDDDDDDDOOOOOOOOJYYHHEEEEEEEEEEEEEEEEPNNNNNNNNNNNZNNNNNNNNNNNKNNNNNN
 | 
				
			||||||
 | 
					GVGVVVVVVVVVVVVEYYYYDEDDDDDSSSSSSSSSSSSSSSSYYYGGGGGGGGGGGGGGGGGGGWWWWWWDDDDDDDDDOOOOTOOOOYYHCEEEEEEEEEEEEEEEEPNNNNNNNNNNZZZZNNNNNNNNNKNNNNNK
 | 
				
			||||||
 | 
					GGGVVVVVVVVVVVVYYYDDDEDDDDSSSSSSSSSSSSSSSSSYYYYGGGGGGGGGGGGGGGGGGGWHHWDDDDDDDDDTTTOOBBBBBBBBBEEEEEEEEEEBGGGBPENNNSSNNNNNNNNNNNNNNUNNNKKKKKNK
 | 
				
			||||||
 | 
					GGGGVVVVVVVVVVVYYYDDDDDDDDDUUUSSUUSSSSSSSSSYYYGGGGGGGGGGGGGGGGGGGGWDDDDDDNNDDDDTTTTTBBBBBBBBBEEEEEEEEEEGGGGGEEESRSNNNNJTTNNNNNNNNNNNNKKKKKKK
 | 
				
			||||||
 | 
					GGGGVVVVVVVVVVVYYYYYDDDDDDUUUUUUUUSSSSSSSSYYYYGGGGGGGGGGGGGGGGGGGGDDDDNNNNNNDTTTTTTTBBBBBBBBBEEEEEEEEEEHHRSSSSSSSSSNYYTTTNNNNNNNNNNNKKKKKKKK
 | 
				
			||||||
 | 
					VGVVVVVVVVVYYYVYYYYYDDDDDDUUUUUUUUUSSSSSSSYYYYGGGGGGGGGGGGGGGGGGGGGDBWNNNNNNNTTTTTTTBBBBBBBBBEEEEEEEEEEHHHSSSSSSSSSYYYTTTNRRNNNNNKKNKKKKKKKK
 | 
				
			||||||
 | 
					VVVVVVVVVVVVYYYYYYYYYYDLLDUUUUUUUUUUUSSSSSYYYYGGGGGGGGGGRGYGGGGBBGGBBBNNNNNNNTTTTTTTTTWWXXXHXEEEEEEEEEEHSHSSSSSSSSSSSYYTTTRRRNNNNNKKKNKKKKKK
 | 
				
			||||||
 | 
					WVVVVVVVVVYYYYYYYYYYYYDLZUUUUUUUUUUUUSSSSSYYYYGGYGGGGGGGRRYGBBBBGGGBQQNNNNNNNTTTTTTTWWWXXXXHTEEEEEEEEEEHSSSSSSSSSSSSSYTTTTRRRNSSNNKKNNNKKKKK
 | 
				
			||||||
 | 
					WVVVVVVVVVYYYYYYYYYYYQDLZZUUUUUUUUUUUSSSSSXYYYYYYYGVVGSGRRYRBBBBBBBBBBNNNNNNNNTTTTTTWHHHRHPHTEEEEEEEEEEHSSSSSSSSSSSSSSSRTRRNNNSSNNNNNNNKKKKK
 | 
				
			||||||
 | 
					VVVVVVVVVYYYYYYYYYYYYQLLLLUUUUUUUUUIISSSSXXYYYYYYYGVRGSRRRRRBBBBBBBBNNNNNNNNNTTTTTTHWHHHHHPHHEEEEEEEEEESSSSSSSSSSSSSSSRRRRCCNNNSSCNNNNNNKKKK
 | 
				
			||||||
 | 
					IVVJVVVVVJJJYYYYYYYYDLLLLLLWWWUUUUUIIIYSSXXXYYYYYYYRRBRRRRSSBBBBBBBBBBNNNNNNXXXXXXXHHHHHHHHHHEEEEEEEEEESSSSSSSSSSSSSSRRRRRRCCCCSCCNNNNNKKKKK
 | 
				
			||||||
 | 
					KKKVVKVVVVVJJYYYYYYYYYYLLLLLWWUUMMMMMIYQXXXXYYYYYYRRRRRRRRRBBBBBBBBBBBNNNNNMXXXXXXXHHHHHHHHHHEEEEEETTTTHNNNSNSSSSSSSSSSRRRRCCCCCCCCCCNNNNKKK
 | 
				
			||||||
 | 
					KKKVKKVVVVVJJYYJYYYYDLLLLLLLWWYYYYYYYYYYYYYYYYYYYYRRRRRRRRRRBBBBBBBBBBBNNMNNXXXXXXXXXXXXHHHHHHEEEEETTHHHNNNNNSSSSHSHSHHHHHHCCCCCCCNNNNNNQKMM
 | 
				
			||||||
 | 
					KKKKKKKVVVVJJJJJYYYYYLLTLLLLLLYYYYYYYYOYYYYYYYYYYYRRRRRRRRRDBBBBBBBBBBBNNMMMXXXXXXXXXXXXHHHHHHEEEEETTHHHNNNNNNNSSHHHSHHHHHHCCCCCCCNNMMNMQMMM
 | 
				
			||||||
 | 
					FKKKKKKKKKJJJJJJYYYYYYYTTLLLLLYYYYYYYYYYYYYYYYYYYYRRRRRRRRRDBBBBBBBBBBNNMMMMXXXXXXXXXXXXHHHHHHEEEEETTHHHHNNNNNNNHHHHHHHHHHHHCCCCCCCNNMMMMMMM
 | 
				
			||||||
 | 
					FFFKKKKKKKJJJJJJJTYBTTVTTZLVVVYYYYYYYYUYYYYYYYYYYYYRRRRRRRBBBBYBBBBBBBNMMMMMXXXXXXXXXXXXHHHHHHEEEEETTTHHHHNNNNNNHHHHHHHHHHHHCCCCCCCNNNMMMMMM
 | 
				
			||||||
 | 
					FKKKKKKKKKKJJJJJJTTTTTTTVVVVVNYYYYYYYYUYYYYYYYYYYYYYRYYRRYYYYYYBBBBBBNNMMMMMXXXXXXXXXXXXHHHEEEEEEEEZTTHNHHNNNNNNNNNHHHHHHHHCCCCCCCCNNNMNMMMM
 | 
				
			||||||
 | 
					FFKKKKKKKJJJJJJTTTTTTTTTVVVVVVYYYYYYYYUUUUYYYYYYYYYYYYYYYYYYYYYBBBBBBBBMMMMMXXXXXXXXXXXXHHEEEEEEEEEZTTNNNHNNNNNNNNNHHHHHHHHCCCCCCCCNNNNNLLLM
 | 
				
			||||||
 | 
					FFFKKAAAJJJJJJJTTTTTTTTTVVVVVVYYYYYYYYUUUUYUUYYYYYYYYYYYYYYYYYYBBBBBBBBBMMMMTTXXXXXXXXXXEHEEEEEEEEEZZZNNNNNNNNNNNNNHHVVHHHCCCCCCCCNNNNNNLLLM
 | 
				
			||||||
 | 
					FFFKKAAAAJAJJTTTTTTTTTTTVVVVVVYYYYYYYYUUUUUUUYRRRRRYYYYYYYYYYYYBBBBBBBBBMMMMTTXXXXXXXXXXEEEEEEEEEEEZZZNNNNNNNNNNNNNHHVVVHLCCQQNNCNNNNNLLLLLO
 | 
				
			||||||
 | 
					FFFABAAAAAAJTTTTTTTTTTTTVVVVVVYYYYYYYYUUZZZUUZRRRYYYYYYYYYYYYYYYBBBBBBBTTTTTTTXXXXXXXXXXEEEEEEEEEEEZZZXZNNNNNNNNNANNNVVVVVCQQQQNNNNNNLLLLLLL
 | 
				
			||||||
 | 
					FFAAAAAAAATJTTTTTTTTTTTGVVVIIVYYYYYYYYZZZZZZZZRRRYYYYYYYYYYYYYYZZBBBBBBBBBBBTTXXXXXXXXXXTEEEEEEEEEEZZZZZNNNNNNNNNNNNVVVVVVQQQQQQNNNNNLLLLLLL
 | 
				
			||||||
 | 
					FAAAAAAAAATTTTTTTTTTTTTVVVIIIVVVVUUUUUZZZZZZZZRRYYYYYYYYYYYYYYYZZZBBBBBBBBBBTTTTTTTTTTTTEEEEEEEEEEEZZZZZNNNNNNNNNNNVVVVVVFFQQQQQNNNNNLLLLLLL
 | 
				
			||||||
 | 
					FAAAAAAAAAATTTTTTTTTTTTTVVIIIUUUUUUUUUUZZZZMMMMYYYKYYYYKYYYYYYYYYYBBBBBBBBBTTTTTTTQTTTTTTEEEEEEEEEEZZZZZNNNNNNNNNNVVVVVVVFFFQFQQNNNNNNLLLLLL
 | 
				
			||||||
 | 
					AAAAAAAATTATTTTTTTTTTTTUVVVIUUUUUUUUUUUZMMMMMMYYYYKKKKKKKYYYYBBBBBBBBBBBBBTTQTTQQQQQTTTTTTEZZZZZZZZZZZZZZNNNNNNSSSVVVVVFFFFFFFFQNNIIOIIILLLL
 | 
				
			||||||
 | 
					AAAAAAAAATTTTTTTTTTTTTTUUIIIIUUUUUUUUURZMMMMMMYMMYKKKKEEYYYYYBBBBBBBBBBBDQQTQQQQQQQQQTTTTTKZZZZZZZZZZZTZZNNNSSSSSSVVVVVFFFFFFFFIIIIIIIILLLLL
 | 
				
			||||||
 | 
					AAAAAAAAAATTSTYTTHHTTTUUUIMIIUUUUUUUUUUUUMMMMMMMMKKKKKEKKKKKBBBBBBBBDDDDDQQQQQQQQQQQQQQQQQQQZZZZZZZZZTTNNNNSSSSSSSVVVVFFFFFFFFBIIIIIIIIILLLL
 | 
				
			||||||
 | 
					AAAAAAAAAASSSHTTTHHTOAAUUIIIUUUUUUUUUUUUUMMMMMMMKKKKKKKKKKKBBCCBBBBBDDDDDDQQQQQQQQQQQQQQQQUDZZZZUUZZZTNNNVNNSSSSSSSEVVVFFJFGFFBBBIIIIILLLLLL
 | 
				
			||||||
 | 
					AAAAAAAAAAAHHHHHHHHHAAAUUUUUUUUUUUUUUUUUUMMMMMMMKKKKKKKKKKBBBCCCBCBBBDDDDQQQQQQQQQQQQQQQCUUUUUZUUUUUZUUNNSSSSSSSSSSSVVVVVJJQQQQQBIIHIILLLLLL
 | 
				
			||||||
 | 
					AAAAAAAPPAPHHHHHHHHHHEAFUFFUUUUUUUAUUUUUUMMMUMMMMMKKKKKKKKBBBCCCBCCBDDDDDDQPQQQQQQQQQPPUCUUUUUUUUUUUZUUUUFUUSSSSSSSSSSSOQJQQQQQQBIHHHLLLLLLL
 | 
				
			||||||
 | 
					AAAQAAAPPPPHHHHHHHHHHHAFFFAFUAUUUUAUUUUUUUUUUMMUZMKKKKKKKKBCCCTCCCCCCPDDDDPPQQQQQQQQQPPUUUUUUUUUUUUUUUUUUUUUSSSSSSSSSOSOQQQQQQQQQIHHHLLLLLLL
 | 
				
			||||||
 | 
					AAAAAAAPPPPHPPHHHHHAAAAAFFFFAAAAUUUUUUUUUUUUUMUUUUKKKKKKKKCCCCCCCCCCCPPDDDPPPPQQQQQQQPPUUUUUUUUUUUUUUUUUUUUSSSSSSSSSSOOOOOQQQQQQQQQHHLLLLLLL
 | 
				
			||||||
 | 
					APAAAAAPPPPPPPHHHHHAAAAAFFFAAAAAUUUUUUUUUUUUUUUUUUUKKKKKKCCCCCCCCCCCPPPPPPPPPPPQPPPQQPPPPUUPPUUUUUUUUUUUUUUSSSSSSSSSSOOOOOOQQQQQQQQHHLLLLLLL
 | 
				
			||||||
 | 
					PPPAAPPPPPPPPPHHHAHAAAAAAAFAAAAAUUUUUUUUUUUUUUUUUKKKKKKKKCCCCCCCCCCCCPPPPPPPPPPPPPPPPPPPPPPPPUUUUUUUUUUUUUUSSSSSSSSSSSOOQQQQQQQQQQQQHHLLLULL
 | 
				
			||||||
 | 
					PPPPPPPPPPPPPHHHHAAAAAAAAAAAAAAAAUUUUUUUUUUUUUUUUKKKKKKKKKCCCCCCCCCCCCPPPPPPPPPPPPPPPPPPPPPPUUUUUUUUUUUUUUSSSSSSSSSSSSOQQQQQQQQQQQQQHHLLUULL
 | 
				
			||||||
 | 
					PPPPPPPPPPPPPPHQHAAAAAAAAAAAAAAATTTUUUUUUUUUUUUUUKKKKKKKKKKCCCCCMMCPPPPPPPPPPPPPPPPPPPPPPPPPUUUUUUUUYUUUUUUSSSSSSSSSSSQQQQQQQQQQQKKQHHLUUUUU
 | 
				
			||||||
							
								
								
									
										10
									
								
								day12/sample4.in
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								day12/sample4.in
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,10 @@
 | 
				
			|||||||
 | 
					RRRRIICCFF
 | 
				
			||||||
 | 
					RRRRIICCCF
 | 
				
			||||||
 | 
					VVRRRCCFFF
 | 
				
			||||||
 | 
					VVRCCCJFFF
 | 
				
			||||||
 | 
					VVVVCJJCFE
 | 
				
			||||||
 | 
					VVIVCCJJEE
 | 
				
			||||||
 | 
					VVIIICJJEE
 | 
				
			||||||
 | 
					MIIIIIJJEE
 | 
				
			||||||
 | 
					MIIISIJEEE
 | 
				
			||||||
 | 
					MMMISSJEEE
 | 
				
			||||||
							
								
								
									
										71
									
								
								day12/sol.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										71
									
								
								day12/sol.py
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,71 @@
 | 
				
			|||||||
 | 
					import itertools
 | 
				
			||||||
 | 
					def solve(file):
 | 
				
			||||||
 | 
					    grid = [l.strip() for l in file]
 | 
				
			||||||
 | 
					    ny = len(grid)
 | 
				
			||||||
 | 
					    nx = len(grid[0])
 | 
				
			||||||
 | 
					    def get(p):
 | 
				
			||||||
 | 
					        x,y = p
 | 
				
			||||||
 | 
					        if 0 <= x < nx and 0 <= y < ny:
 | 
				
			||||||
 | 
					            return grid[y][x]
 | 
				
			||||||
 | 
					        return '.'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def flood(initial_point):
 | 
				
			||||||
 | 
					        c = get(initial_point)
 | 
				
			||||||
 | 
					        stack = [initial_point]
 | 
				
			||||||
 | 
					        count = {} # set of points connected to x,y. value is the number of connected neighboring points
 | 
				
			||||||
 | 
					        while stack:
 | 
				
			||||||
 | 
					            p = stack.pop()
 | 
				
			||||||
 | 
					            if p not in count:
 | 
				
			||||||
 | 
					                count[p] = 0
 | 
				
			||||||
 | 
					                x,y = p
 | 
				
			||||||
 | 
					                for n in (x+1,y), (x-1,y), (x,y+1), (x,y-1):
 | 
				
			||||||
 | 
					                    if get(n) == c:
 | 
				
			||||||
 | 
					                        stack.append(n)
 | 
				
			||||||
 | 
					                        count[p] += 1
 | 
				
			||||||
 | 
					        return count
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    points = lambda: itertools.product(range(nx), range(ny))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    done = set() # set of points which have been counted as part of a shape
 | 
				
			||||||
 | 
					    total = 0
 | 
				
			||||||
 | 
					    total2 = 0
 | 
				
			||||||
 | 
					    for p in points():
 | 
				
			||||||
 | 
					        if p in done: continue
 | 
				
			||||||
 | 
					        shape = flood(p)
 | 
				
			||||||
 | 
					        done |= shape.keys()
 | 
				
			||||||
 | 
					        area = len(shape)
 | 
				
			||||||
 | 
					        perim = 0
 | 
				
			||||||
 | 
					        for p,n in shape.items():
 | 
				
			||||||
 | 
					            perim += 4-n
 | 
				
			||||||
 | 
					        #print(get(p), area, perim)
 | 
				
			||||||
 | 
					        total += area * perim
 | 
				
			||||||
 | 
					        total2 += area * discount(shape)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    print(total)
 | 
				
			||||||
 | 
					    print(total2)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					def discount(shape):
 | 
				
			||||||
 | 
					    def sides(p):
 | 
				
			||||||
 | 
					        x,y = p
 | 
				
			||||||
 | 
					        s = 0
 | 
				
			||||||
 | 
					        if (x+1,y) in shape: s += 1
 | 
				
			||||||
 | 
					        if (x-1,y) in shape: s += 2
 | 
				
			||||||
 | 
					        if (x,y+1) in shape: s += 4
 | 
				
			||||||
 | 
					        if (x,y-1) in shape: s += 8
 | 
				
			||||||
 | 
					        return s
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # only count a side as free if the neighbor to the north or west
 | 
				
			||||||
 | 
					    # does not have the same side free
 | 
				
			||||||
 | 
					    perim = 0
 | 
				
			||||||
 | 
					    for p in shape:
 | 
				
			||||||
 | 
					        x,y = p
 | 
				
			||||||
 | 
					        free = sides(p) ^ 15
 | 
				
			||||||
 | 
					        if (x-1,y) in shape:
 | 
				
			||||||
 | 
					            free &= sides((x-1,y))
 | 
				
			||||||
 | 
					        if (x,y-1) in shape:
 | 
				
			||||||
 | 
					            free &= sides((x,y-1))
 | 
				
			||||||
 | 
					        perim += free.bit_count()
 | 
				
			||||||
 | 
					    return perim
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					solve(open("sample4.in"))
 | 
				
			||||||
 | 
					solve(open("input"))
 | 
				
			||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user