From afe718b7a6a58d8448c33943acac7d057f12dd84 Mon Sep 17 00:00:00 2001 From: Ishan Jain Date: Thu, 3 Dec 2020 10:49:29 +0530 Subject: [PATCH] Added Day 3 Part 1 --- input | 1323 +++++++++++++-------------------------------------- small.input | 14 +- src/main.rs | 59 ++- 3 files changed, 373 insertions(+), 1023 deletions(-) diff --git a/input b/input index 9e47a0f..85b57de 100644 --- a/input +++ b/input @@ -1,1002 +1,325 @@ -2-8 t: pncmjxlvckfbtrjh -8-9 l: lzllllldsl -3-11 c: ccchcccccclxnkcmc -3-10 h: xcvxkdqshh -4-5 s: gssss -7-14 m: mmcmqmmxmmmnmmrmcxc -3-12 n: grnxnbsmzttnzbnnn -5-9 j: ddqwznjhjcjn -8-9 d: fddddddmd -6-8 t: qtlwttsqg -7-15 m: lxzxrdbmmtvwhgm -6-10 h: hhnhhhhxhkh -6-8 z: zhgztgjzzfzqzzvnbmv -5-6 j: jjjjgt -2-3 m: mmmfxzm -6-7 n: nnnqgdnn -8-13 b: bbbbbbbbqjbbb -7-8 k: kkgkkbskkk -1-3 g: gdmvgb -5-15 g: gggzgpsgsgglxgqdfggg -12-16 s: snhsmxszbsszzclp -2-3 n: vhnnn -5-7 l: slllclllkc -2-4 g: rnggggdkhjm -1-3 x: wxcxhxx -7-12 c: cxzcwcjqgcmpccchc -4-5 x: lnfsxjxwxx -9-10 n: nnnnnngnzxnnn -3-4 h: rhhk -3-11 r: xrrcnrjrrzsvrrplr -6-11 r: rrrwrrrrrrrrrrrr -3-4 x: xmxz -1-2 l: lllllk -5-11 h: cmxhhhhhrhd -2-11 h: mhzlzshjvtcrrcf -6-15 g: ggggfgwggkcggqz -3-4 q: qqsc -2-8 m: wmwxvmsmfqlkgzwhxqdv -3-9 b: pnrdsgbbbrbgb -1-7 w: ddqtjwwxgwkqsgswvwkl -3-4 t: lxtt -4-6 g: ggxngg -12-13 d: dddddddddddjjd -10-20 n: nnnnnnnnnnnnnnnnnnnp -15-20 j: kjjjljjjjjjjjjjhjjjn -5-11 r: rwrrrrvrbrrrrr -2-4 w: wwww -6-10 v: vvvbvsvvvv -3-6 d: tkbcdddzddd -10-13 r: rrrrrrrrrlrrhrr -3-6 w: ggsxkwjzfpnmkw -2-6 b: bbqbbq -7-8 t: tztttwtttvt -1-3 t: twrttzbfdhrkvdzgn -4-10 c: jxcxvcpnfccvc -8-17 r: rrrrrrlvrrrrrrcsrrrh -1-3 g: gsggjsn -6-8 l: lllclmjllf -11-15 b: bbbzbbbhbbbbbnbb -7-9 l: lflblhzllml -9-12 v: pvtvrvvvrvvhgmvnv -1-3 t: zbrtjt -5-6 f: ffffcf -3-4 q: cqtz -13-14 n: wnnnnnnnngnnnhpnnsn -1-12 d: bdddmdqcsdhd -9-11 h: hhhhhxhhhjqh -7-11 w: wwwwwwswtkww -12-14 m: mmmmbmdmmmmmmmzmjmv -1-7 x: qdtjxmxhw -3-5 n: nnnnn -10-13 d: ldcrdvcvvxdpd -4-8 m: mrfmwmzgmrp -3-8 s: ssssssssss -1-7 h: qhhhhhhhhh -9-10 q: kqqqqqqmhqqqqhqr -5-6 c: cmcccl -3-4 q: qqqw -2-8 v: vtvvvvvvv -1-5 z: zzzzqz -7-8 k: kkkrkqmkkkkk -14-16 j: jjjjjjjjjjjjjjjs -6-7 t: tttttpc -3-5 s: xsxsss -4-5 v: gvvpjv -3-5 t: vqgft -3-4 c: ccwcc -3-7 s: sslwsss -2-5 t: tnbgprqgzm -16-20 b: bbbbbbbsjbbbbbbbbgbd -6-8 p: ppqppwph -12-13 m: mmmmmmmmmmmml -10-13 r: rrrntrrrrhrrr -9-11 f: fffhffffhfcfmf -4-8 l: lmsrlllllzmlll -4-11 p: sxpnpbzpjppgbn -3-8 c: fcccqmfcccxrhmccw -6-7 s: sqsjdbssbsrssd -3-4 g: gggt -1-3 t: tstnsnksfsbgt -3-4 v: vvvcv -13-18 g: tggggppggggggwgggpg -4-8 m: mmmlmfdm -1-3 z: fzzz -1-12 f: ffzfffffmffrnff -10-11 f: ffkffffffff -11-12 m: mmpmdmmrmmmtmmm -9-11 k: zkkkfkkkkkzkkh -16-19 b: bbbbbbbbbbbbbbbvbbjb -3-4 v: vvvhvz -1-6 l: xllllll -8-15 c: cccccccccccccccccc -10-12 m: mmvmlzrmrnmmmm -1-3 c: whcc -2-3 q: kqgq -2-13 s: sbssscrslnssldsxtssg -2-4 v: bfdr -7-19 c: ccccccccckfgpgcmccf -7-9 f: fxvfffffsf -1-5 n: nnnns -13-15 g: gggggggggggghggg -9-10 w: hdwcwqswpwwwwww -14-17 j: jjjjjmjjjjjjfqjjjjj -2-5 k: pkrfrdtfbvkkrkk -2-3 s: ssss -1-8 d: vsxtlvdqpltcj -3-7 b: nlqhbbb -6-10 x: xfxxxrmxxxdx -5-6 n: nnnnnm -5-6 r: rrrprr -6-7 t: dfttttqtwktttgrkkj -1-2 p: npnf -6-8 p: ppppptppp -4-8 k: bkkkkqkkq -11-12 l: kmlnhhmkdlhl -14-16 b: bmbbbbbbbbbbbcbbb -3-5 r: rrfrrrr -5-10 v: glglvvmvkvvvgvrv -2-3 h: whhcsqjhtx -7-8 d: ddddbpddddhdhdddddd -2-3 k: kkkkkkksgkkkkg -2-6 n: cnrpdmtgwncklll -3-14 s: sssckrswlqxshdts -3-4 w: wwgww -15-19 q: qqpqxqqqqqqwqsqqqqz -1-5 t: vrtkttttj -2-7 z: lmpzjbh -11-15 g: gkghtgpwrgngggggvng -4-17 b: bbbbbbbbbbbbbbbbbb -4-6 c: bswcml -3-4 v: vvxg -2-4 m: mmmmm -2-4 w: kwqwjwt -7-14 x: ghflqcwxcrxzrxm -6-7 f: fffjffsff -11-12 s: sssssssssssr -3-13 v: vvzcvrvjgxvkcvh -3-8 k: jkhgbzgkkfwvt -6-7 l: llltllljl -8-10 p: pppppppkvp -1-12 l: lbhxdplkxdstmllwncnl -2-6 c: cqcwrwnbjc -2-5 v: vvkvvvbbv -3-4 g: ggnkg -3-4 z: rczzhbwmszgzhfszd -8-10 t: fvrttqnwjtft -11-17 l: cllqltnlldcllnwnllll -2-9 r: jrrwrrcjrr -3-5 s: skmsssh -5-6 q: qqqqtq -7-16 k: ktzxwrxcdrmkqfpk -7-12 s: hfsssssssssmsk -3-11 s: gssjsdxdxsqgpns -9-11 s: sssssssssss -5-9 t: xtwthrdtvj -5-7 q: qjqxqjq -2-10 r: zlrrrrrtrr -2-18 w: trwqhcfwrmqwwwqfgwww -2-5 k: kkkkwkp -1-4 s: fqss -1-4 l: xtflz -10-12 q: qqqqqqqqqnssq -3-4 s: sssd -10-20 m: mnmmmmqwmjnpbmmmmbmn -3-5 l: clpln -2-11 v: mhrvdkgsxvvvdxvhgv -15-16 j: jjjjjjjjjjsjjjkj -2-5 f: gzvzffsnxdcf -8-10 m: jmmmmmmrmmmmm -1-2 k: fmhkpmssvdkh -4-7 l: vgtldqpbmmj -2-3 v: kdvcgvnw -15-17 g: ggggggggnggggglgj -4-5 w: kjwnw -6-16 j: fjjrjkbjsjjvljzjjdj -2-4 g: bgvgqs -9-12 k: lkkgkkkkzfkqkcj -6-13 b: bbbbbmbbbcbbqb -7-8 m: mmcmmmmp -4-5 v: vvvvg -11-15 n: nnqxnnnnnqmnnnnfnpn -1-5 z: gkvwtv -4-5 l: llllk -3-4 d: ddss -1-4 v: vvvl -2-3 v: vjcvvvvq -9-13 v: vvvvbvvvvgppv -11-14 d: ldhdddddddwpdddddddd -2-12 p: rrpppwppxjplprpp -5-11 p: spfcjpmplbpzpppgpp -3-6 q: lkqfqcq -2-4 x: xvxwxv -2-12 x: bxxxxjxxxtxhktkx -1-14 c: cccccccccccccpc -5-16 t: qstttfxttmtvvgtzt -7-8 q: kqqqqqwq -5-6 c: cccccdcccccc -7-9 v: dvnbvvjmh -5-7 s: sdssswvr -1-2 t: vtsttt -6-8 d: dgdwdcdd -5-18 j: qjjjjjjtjjjjjjjljlj -2-16 r: ksrtrrrrrlchrljrz -5-7 m: mmmkmmvmxbflctjhhfxc -4-10 f: mfftfrfffff -6-12 x: xxxxxxxxxxxbx -9-12 s: ssssssssdsshs -12-14 v: vvvhvvvvvzvvvrzvlvg -14-17 d: ddhdddddddddddpdd -1-5 c: rcchc -1-9 n: npnnnrxnh -1-4 n: mnnn -2-3 q: qklxpwr -7-8 j: djjjjfjnjjv -4-5 h: hhrcbhc -6-8 t: txtfclvtz -8-11 w: grhwwqwhwwww -1-5 r: rrkrxl -3-6 v: jgtdsvlpgx -14-18 r: rrrrrrrrrsrrrhrrrr -5-13 g: xggsggggggggggn -18-19 x: xxxxxxxxxxxxxxxxxfx -4-5 n: dpnnnwnntpwgntqnj -4-12 c: ccccmcccczrspfrcpx -15-16 h: hwhzhnhhhhshhhhhhhhh -3-4 v: vvvg -3-4 j: jpjs -10-13 h: bhhhhhrhhhhhsdh -2-4 v: svvclvv -12-13 k: zkkkkkdskkkpkwwkk -8-9 b: bxbhjbbjb -1-10 k: kpkmkstkhtkl -5-6 d: qddddx -1-3 m: mmmm -1-5 r: trrrrrr -2-5 l: llvlnlllm -9-18 d: dddjhddddvdddtddddd -9-20 j: nxfjfjjbjjljjjjcjjjj -5-7 v: zkvvzpxvtctvmcvvvvv -1-6 d: lmcmvwdwq -1-5 v: dbdvv -6-11 n: snnzlnnnwnd -11-17 l: lwlltvlplldlllllsll -6-8 k: kkkkktkkp -9-14 q: nclswjgmqwvhjrs -7-10 c: cgccfccccl -2-3 z: zqkzzj -14-15 v: vvvvvvvvvvvvvvg -7-9 z: zzzztzzqtz -11-17 n: vnnnnnnnrnnnnnnnqn -15-16 l: lllllqlllllllllz -1-14 t: pgskddftttttxtflt -2-3 d: bdpqd -3-18 k: dkkpkkkkkjjtjgkkkxs -6-10 p: qlptppdjppllppp -8-9 s: sssssssss -11-16 q: qqjqqqhqqqqqdqqmq -7-8 p: pprqppvhpqp -5-12 q: qqqqbqqqqqqqqqqqqq -1-5 b: wbbbjbb -9-17 m: fdhmxtmmccxpmmfbmtbm -2-5 b: tbbptwkghzvsbvcb -12-16 w: wwwwwfwwwwvwfwwww -4-5 h: hfhggh -11-16 z: zlzzdrzzxtxzzzzqz -3-6 x: xxwxxm -3-9 w: vmpsthqww -5-9 q: qqqqpqqqq -17-18 g: gggggggggggggggggw -3-8 s: sscmsssssf -7-15 v: vvvvzvttvvvvvvgvvvv -14-19 h: mdpmhtmhsdsxxhthhhd -1-3 h: hbhcbvhxfmjqdgt -15-17 p: xmnhkrgcxxrdtpprzhfh -2-5 w: dqqrwwbvq -16-17 c: ccccccccccccccccc -1-4 p: plcvxpp -10-15 b: bbbnbbbbbvlzbvgb -9-10 g: gggwggggcp -3-4 d: dtdcd -1-5 v: vjslbjjtxldvvknn -2-4 n: fhgnl -2-3 x: xnjm -3-8 j: tzvjbjvxchjk -1-10 g: wgggggghghggq -5-7 q: dqlwqqqkqqhq -6-7 d: dddrddhdld -2-4 x: kxbxxmchtx -1-2 w: wwjg -19-20 r: hfjrqwdxppgzppwchrjr -10-16 r: rrrrrzrrrrrvrrrt -1-3 m: cmmlm -14-17 h: hhhhhhhhhhhhzhlbphh -2-4 f: bfhf -3-6 j: mkdmmmpjjbqmk -6-7 x: flxxxqxxx -12-15 q: qqqqnqqqqqqnqqs -9-10 w: wgwdwxrlwgwwwmwwcgd -6-7 k: kdnrppkkkkkkrj -2-3 n: pntsmsnb -1-5 c: cqcctccqcccccn -9-10 f: txffffffffcff -2-6 b: smtckkcqrsbkzjbtpbtb -10-14 k: kkckkkkkkhkkkd -9-11 m: jnwmbmjmmqsfz -9-10 h: hhhhhhhhhh -5-6 h: hhhhhvh -3-6 c: cccccr -10-11 l: llllllgplll -6-11 r: prprnrrrqrr -13-14 p: pppppppppppphp -5-8 j: pkjjqjjjjh -7-9 f: zfjfcfhcfkffffxv -9-10 w: wwwwwwwwwhw -2-3 z: tzszz -2-3 t: ntdt -7-10 l: llllllqllkl -4-10 j: bmsjjtjjjlbp -1-3 t: kbrxpnstztz -2-3 h: chbwpmvdh -2-11 p: qwqzlpdbpvpxp -8-11 c: tzcbpcccgfj -4-5 g: rgcdg -1-8 t: pwtkzttdlrd -2-3 l: ldlrvsl -4-5 j: jjjrj -2-4 k: vkfk -18-20 v: vvvvvvvfvvvvvvvvvvvj -5-11 w: gbjwwwwzxsl -10-12 d: ddddddddddqd -1-4 r: rrqr -7-8 p: pppppzpp -7-8 c: cccscmcfch -6-7 c: crncccvtc -6-8 z: zkzlxzcb -3-4 h: hhfs -12-13 t: ttttttttttthmt -2-12 x: xdxxxxxxxxxxxxx -2-5 n: cnnnknnn -10-11 x: xxxxxxxxxsx -3-9 q: fgfqjqxzqtlqqmgk -1-4 g: gzsk -11-14 h: hhhrhwhhsqhchxclhhh -5-15 q: nqzqqqqnqkqfqqqqqq -10-14 b: bbbbbbbbbhbbbqbb -5-6 v: rpfvdvjvvvvvdxjgwc -6-7 r: rrrrzwrhrdv -3-4 f: fffb -9-12 q: qqqqqqqqqqqqqqqqq -15-19 c: cccclcccxcccctccccs -2-3 b: jbwqq -5-6 h: hhchpm -11-12 f: fffffffffffl -5-9 s: fsggxprbsssklhhbsl -12-15 f: ffffcfzfffkrfffnh -1-2 s: fstz -1-6 b: nbfbhb -2-11 k: xfdjrwptgrkk -18-20 k: kkkwkkkkkkkpkkkkkkkr -4-8 r: rgcsrgkdrrrrtwr -3-5 k: kkkkvgkkkkn -9-13 b: bjgbkxqzbbbjtbx -1-2 n: rmbgdnjt -3-6 k: kqnkkk -3-6 c: gzggcpxszscccccc -15-17 r: rrjnrrrrtrrrrhrrxrr -11-12 d: dddddddddddx -4-8 s: sxztltlssksqwthss -12-13 l: llxllllskllqvdlll -4-6 j: cjxdvjjlx -1-4 t: mwttttttttttttt -7-8 p: pbpdpbdpmppjpp -11-13 l: lkjlgdllkllvnl -9-10 b: sbbbbbbbrb -9-13 l: lzlllllllljlllll -6-7 r: tnkpjrhkxzdzwwxv -1-4 x: hdnxxlx -4-5 b: kvhwb -1-2 p: pxmhbcp -2-5 s: csgfssjssstcq -3-7 k: htnkkhprxkc -14-20 c: rlkhpgccjsjchccjmkbg -2-3 t: ttxt -13-18 p: pppppppppppwvppppq -9-10 j: jjqjjjjjdbj -10-12 m: mmmmmmgmmlmm -5-11 l: qrwgblsqjxtll -1-5 m: mqwnn -7-12 p: pppppppppppppppppp -4-8 d: bdrntdzdd -14-15 g: gggggggggggzggc -3-4 m: mmmc -2-9 d: hsqjddjfdcqzsjr -5-9 h: hhhhsffhk -5-7 f: ffffcff -6-8 z: wzkzzzzjzzczg -2-9 q: dqqqgbqdnlfqqws -6-11 m: mhmmpmxmxtxmp -7-11 n: nvjtglngnzmbnnqjnjgp -11-12 v: vvvvvvvvvvdg -2-3 z: vmzz -6-8 z: zzzzzzzbzzzzzzzzzzz -6-13 k: hkvkhpkqkkkkwsdkmk -1-9 k: gkkkkkkkkk -2-5 g: gngggxg -12-14 m: mmmmmmmjmmmrmhm -1-6 f: cqffffsb -10-11 p: xppxpqbplpp -3-17 j: wdjldqqbxqxbcrbkjfth -5-8 w: wlhwvkwwwzkww -4-6 t: vtthtt -6-9 m: rkmtgbzrfmg -10-11 g: gggrgggsggbgmg -5-7 x: xxxxrxdxx -9-12 k: kbgkkgpkkrkkqv -10-14 z: nzzwjznbpzztzm -7-16 t: ttttttwbtltttcltt -13-18 l: lllllltllllltllllll -5-18 v: mvvvzjvvvvvmvvsnjzv -12-19 b: bbsbbbbbbmbbbwbbbbdb -15-16 n: nndgcnnnnnnnnnnpnnnf -4-11 j: gqdkjblvkgbwjjmtfjg -12-13 s: ssssssstssmpbsss -5-7 j: jmgxjjw -4-9 p: pptlvpppp -13-17 q: fqqqqqqqrqqqhqqqqngq -4-6 j: xzjcxjjpcrl -4-10 w: swwwspwwql -10-13 s: sssssssssjsss -2-4 k: nktjkkkm -2-6 z: vzqzfzncz -4-10 l: llplslghlwvlh -5-6 d: ddhdvqd -5-10 r: rrrrrbrrrjrd -1-5 d: ddddn -2-4 t: tttr -4-7 d: dsddpdkfsdd -3-8 r: klrclrkzbrrscrpd -16-18 j: jjjjjjjjwjjjjjjzjj -18-20 p: tppjpppppppppppppcpp -9-11 m: mmmmmmmmmmt -8-12 d: dtxdvddpddmq -4-8 d: qdcddddcd -16-17 w: wwwwwwwwwwwwwwwzwww -3-4 v: hpvhvvpvxnd -3-5 x: dpxxj -18-19 d: ddddddddddddddddddbd -13-16 z: pzzzzhzzqzzzmzzzzzg -2-6 b: bglglbnbdb -9-10 t: ttttttttxmttt -1-7 g: fgggvgm -8-11 t: ttmrwtttttp -7-8 d: ddxddddrddddgdddddd -1-4 p: mpdbdkghzqpkpxbp -8-10 d: dddjdddzdxd -3-4 l: lllwl -6-9 m: mmmmmfmmm -2-6 d: dvjddj -5-19 n: ctnnnnnnvngnnqndwnn -4-7 z: zzwdzdpzzd -9-12 w: wwwwwwwwkpwww -13-14 t: tttttttttttwztt -2-3 z: zzwp -4-12 q: hqtqshlcjsmqjrt -6-13 s: bssqsssstflsw -15-16 l: llllllllllllllllll -9-10 c: ccccccccgq -14-15 m: mrmmrmmmmmbmmmcmm -1-6 r: rrrrrcrrrrr -4-6 s: zqrdvshjbgpssj -3-6 h: mmhxthhbshhb -17-19 q: qqqqqqqqqqqqqqqqrqqq -4-12 x: fqvxcghgqxkwx -2-5 q: qqxqdrjrqxkfmq -3-8 z: wfzzzzzz -6-7 c: ccccqmc -1-5 h: hhhhh -3-4 f: svsf -7-8 x: xxxxxxxsx -4-8 g: gggggggngggg -4-5 w: lwwwx -2-3 g: ggsqg -4-6 q: qqqqqq -3-7 j: jtjdjncjq -7-9 k: kkkkkkkcf -4-11 z: pvdzfbzxzfhbf -6-17 n: nnvnnxnnnnnnnnnnnnn -2-5 c: ccrlttnnccdlcmjvx -3-9 l: llllllllpl -1-2 c: vccc -2-6 c: qfcncx -1-3 k: kkvkkkk -1-5 q: qqjkhq -3-8 p: pvpppzpgpp -4-7 b: bbbbbbhbb -8-15 x: xxxvxlvxxdknxxxxx -5-6 n: nnnnnv -4-7 h: hhhbhhth -9-16 h: hxhhhhhhqhhhpbhlh -8-10 k: kkkkkghkkkwnk -4-12 w: bwwwwmwwwwwmwwwwswww -1-5 q: mzhmqtzlbzvtlwqzpxf -11-12 x: xxxxxxxxxxds -16-17 s: sssssrssssssssspwsw -1-4 q: qwqcq -1-12 w: wwwwrpwwwwwqwwmwlw -5-6 m: tlgzvmqcjt -12-18 c: ccccccccccccccccccc -6-10 g: jpgggdgbddgg -11-14 w: hwwkxwhhkfwcjfdkkwfn -3-4 n: nmdnlnbjxcjsp -3-4 w: bwvj -12-14 f: cmqznmfzlsbpfd -1-3 t: txsttsttzqls -3-4 w: sdsw -6-12 b: sbfbqvbbbstb -17-19 g: nggggggggggggggxngtg -15-17 h: hhhhhhhhhhhhhhrhh -2-3 p: ppcpp -5-9 n: nvnnncqnnhnn -1-4 r: rzrrrr -2-10 b: zbbbkbbctkbbwngbbbsl -1-3 r: rrpn -3-6 q: mmlqxqqq -12-13 x: xxxxxxxxjqxkxtxx -3-5 l: nlllhpcc -3-11 x: jxxgcxxbfxpxxfml -3-6 l: nllqlln -9-14 j: jjjjjjjjhjjjjj -11-13 j: jjjjjjjbsjjjj -19-20 k: kkkkkkkkkkkkkkkkkkkv -7-11 n: ndnnnnxfnbnnnn -5-6 g: gggtgh -1-9 f: nfffbnffffc -4-6 d: sdxlgtrmd -18-20 n: nnnnwnnnnnnnnnnnnhnn -9-11 j: jjjdjljjjljtj -3-4 z: bwcsnqzzz -1-4 j: jzjj -9-13 k: cdvwnnwqklwplbzk -5-9 q: hvqpqqtqh -2-7 f: vdkrwpz -12-13 z: zzhzzpwmzzzzq -7-13 s: nsssssfssssss -4-6 s: kgmksst -17-19 p: pfbcgcnxkbpptcbxpsp -12-13 s: ssssssssssspm -11-12 g: gggggggvggsg -6-8 g: gggggzgz -1-3 j: jjjj -5-7 d: ddddgdd -6-7 r: kmrjsbpkrrnpr -6-9 m: mmmmmmmmmm -5-6 b: bxbbvbb -5-10 h: thxgvlhchhzhnfhhhhh -11-13 l: vcllllnhlllvvllll -1-9 j: wjjjjjjjnjjjj -4-8 n: xnlbndngnn -4-5 f: fffmfz -7-8 c: pwmzcxvc -15-17 z: zzzzfzzzzzzzzzzzx -4-8 d: krddfddxddd -1-2 w: wpzxcbxmcktpjmspw -4-14 t: ptcdtvtttbpwtttt -8-13 f: fmfkffdffqfff -6-7 j: jwnxpjlnrlxdjxvzhsll -2-5 m: mmmmmm -3-4 c: cccc -3-11 f: fffrvfzqnmffd -3-5 k: kkxrkkk -5-8 k: kkkvskvkkkhsk -12-14 k: jkkkkdkkkmfzkknkpkk -1-2 h: vhspjh -3-4 p: pppn -5-6 v: vrvdvg -7-8 j: jxrjjjtdjjj -3-12 z: fzzxzgzzzzzhzz -10-12 v: vvvvvvvvgvxxv -12-13 k: kkkplnlpvwkkkkkt -4-8 t: dvjtltttptt -15-16 z: zzzzlzzzzzlwzzzhzz -15-17 n: nnnnnnnnnnnnnnlnn -12-15 z: zjzzzzzzzzzzzzs -7-8 x: hzxnxlxlfxxxxvxxxnx -9-10 r: rrrrrwrrrp -1-7 r: vrfslcr -6-15 t: tttttsttttttttt -3-6 j: wjjdnjznwfclpskvdq -2-4 v: vzlvls -9-10 j: jjjjjjjjwj -8-9 r: kxrrrtqnr -14-16 h: hhhhhhhhhhhfhlhjhhh -14-15 x: xxxxxxxxxxxxxmx -8-10 h: hhhhhhhhhhh -10-11 m: mmmmmmmmmnnmm -3-17 r: fwmqrcjkgrkhzcnfrb -1-15 q: qqqmqzqgcnrqqlkrq -2-13 w: wdwwwwwwwtwww -1-8 l: lllbllln -4-7 n: nnnnnnbnnn -11-18 l: lkllnllqktnllzllll -4-5 d: gddbrlb -12-13 l: llllllnllllztl -2-6 m: lbhptlvgcsmksqspmtk -1-2 t: wtctt -3-4 w: wwbw -9-12 g: gcggvzggqzgggggsgnt -2-6 b: bbrcbc -9-12 m: mmgmkmmmbmmm -14-17 m: mgpjmmqmmmmmmmmmt -6-8 p: dpvzpskp -12-18 x: xxxxxxxxxxxtxxxxxf -7-12 r: xvjvrrrprrrvrrrcbr -3-5 q: rqqxhqq -6-16 s: ssssskssssssssssss -6-9 c: cccqccccxc -8-16 r: rrrrrrrrrrcrrrhr -5-9 t: ctwttthtjl -16-18 t: ttttttttmttttttttgtt -13-16 t: zrtttgttttttmttttt -6-10 k: kntkplgkkkkkmh -2-4 c: vhsccfcc -1-4 v: vvvqvvgpvvvvvzzv -3-4 g: grgvgd -5-9 p: pppbppppdv -3-4 x: lxxxx -8-9 q: qqqqqqzqqqqq -14-15 c: cpcccccccmcccdcc -7-10 p: ppfppppppppg -1-2 h: thrk -1-3 m: mzlzmtmqrm -3-5 x: xxxxp -4-6 t: gtstvvjzqtxdtsrfc -6-15 p: pppwppwspppcppn -4-5 g: tkhgj -10-14 m: mmmmmmmmmnrmmmm -2-3 b: pnbxfzxxbbrt -5-16 b: tfvlbmbzbvxbtdjl -16-19 w: wwwwwwwwjwwlbwwvwwwr -14-15 w: wwwwwwwwwwwwwgwww -3-6 n: npvzfntbfvngns -8-10 s: sgsssssssz -2-5 n: nnnkcnkn -12-15 n: nnnnnnnnnnqnnnq -1-4 p: qppk -5-10 h: ghdhhcsxtzsdphwh -5-7 k: kkkkkkb -10-11 f: ffhlfffcnffmfrffcnff -6-7 f: fffjfxf -11-17 j: jjjjjjjjnjjjjjjjj -2-4 z: wgrdp -5-6 d: dpmdddfmxzgwd -8-12 h: qhhhxhnhhhsmhlhh -7-19 w: wwwwwwwwwwwwwwwwwwmw -1-4 x: mmlxlc -1-9 g: mgggggggggggg -1-12 z: mtkfgpzmjrgs -7-8 v: vvvgvvzvd -10-12 j: djjjjjjjjbjj -3-4 r: srjsfjbrp -1-4 r: trrr -3-8 j: jjjjjjjpj -6-7 l: lltllwl -13-14 g: gggggggggggggg -1-4 w: wwrxww -1-10 l: xfllllldll -5-7 s: xmwsqpsr -6-17 p: pkpnpppznppppplpl -11-12 s: sssssssssdsf -14-19 c: bsxlpshjmwcflcdhlhcr -8-12 b: xbnbbbbbmbbkbbbb -14-16 w: wwwcwwwwwwtwwswww -13-14 f: zfsfbbffffffsf -13-15 s: swssssssjsssxss -1-3 v: vvnvxrwbrbgdc -8-10 t: mkstnqtttt -14-15 g: gggptgggggggggtg -12-15 r: rrrrrrrrrrrrrrkr -2-5 w: cjwpg -13-14 w: wwwwwwwwwwwwqw -5-12 s: bkrrcczsgsfshpwjr -4-9 w: wwwwwwwwwsnw -3-4 x: xxxzv -3-6 g: rggghqvgfk -9-12 h: hhhdhshwhhkrqhh -8-11 q: zqqqqqqmqqhq -5-7 j: ngxjlbhjjjj -8-9 p: rpxpdqcpkp -11-13 d: htbdddddddjdddd -2-3 p: hpbp -3-4 x: xxxq -4-7 m: mmmlmmm -7-8 r: rrrrrrqr -9-11 x: xxxxxxxxxxx -5-8 h: hhhhflbv -1-2 k: vkrkzjpwtbk -8-10 p: pppppppxpg -9-10 h: lhbhhhhhnqhh -3-9 x: xxmqxxxxgx -17-18 p: ppppppppppppppzpqwp -8-9 x: xxxxxxxxx -1-6 l: lrblvjllhll -1-4 k: klkk -6-8 m: mmmmmbmmmm -1-6 h: hhvhqkh -5-7 n: nnnnwnss -6-7 k: kkkkkzkksl -6-9 b: bbbbbbbbm -9-14 k: kbkkfkkkkkchtklkg -3-4 f: fcjpff -6-12 f: fzfxfrqlvhwflfglftpb -7-8 j: djjjjjjsj -13-15 v: vvvvvvvrvvvvvbvvvvv -2-11 p: qpnpfmppphxpp -3-4 g: ggwgg -1-4 q: nqqq -4-9 t: thpqpkxntg -1-16 l: dllllllljlllllllll -3-8 w: dbwwhxwzqwph -13-15 p: ppppppppppppqpm -4-5 b: bbmbqbthmbn -2-4 d: zddq -2-7 x: vpmchtzdbxxxxnxd -11-13 x: xxxxxxxxxxjxxx -7-9 m: mmdjmmmnm -10-12 j: jjjjjjjjjjjx -12-14 j: wfcvflhjvblzdf -2-12 j: lqfjjjzncbgjhj -2-7 j: jtlfjqjbjgqrxgjm -4-5 t: ttttc -5-8 v: vvvvvbvpvv -4-10 b: qghbgkcbbs -12-14 n: nnnnnnnnnnnnnhnn -13-19 v: vvvvvvvvvvvrvvvvvvv -4-16 z: znzvzzzwgzzzzzzzzdz -4-13 q: qqqlqqqqqnqqlqqm -9-10 q: qqqqqqqqrs -2-12 q: qpqszqxqqqqkq -10-16 v: vvfvvvvvsxvznfvv -1-3 f: fvjpkglwfjbcgnbc -2-7 v: vfvqvvv -6-8 l: llllcllllll -9-14 v: vvvvvvvvzvvvvwb -10-11 s: ssmsssssssxsls -9-10 b: bxbbfbbxbzbzjbbm -3-15 x: xcxxxxpxxxxxdgxg -10-13 k: kkkpkjmkscgxkhkbkgd -2-4 j: djqhc -9-10 c: cccccrccds -7-10 v: vvbvvvvjjpvkv -13-16 n: nnnnnnndnnnnqnnsnnnc -2-4 g: qfgg -3-13 v: hvvvvvzrvqvcpvvhj -5-12 n: rnsnnpnnnnntnnn -7-8 p: pppptpppp -1-6 d: cdddqdddddd -3-5 h: cwzhhhbwlhtd -8-17 j: jnjdscnljmhrljrjjmjj -3-4 j: jccj -4-14 m: mmjkmmhwqbkjqmg -2-4 b: bbbd -4-7 v: vhlvvvq -1-4 p: jppm -9-12 g: vggzgppggggnggcdfp -5-6 r: rrrrrp -6-13 t: bxztttrtbttrm -17-19 d: ddddddrddddwddddpdk -1-3 w: jwjwwc -5-6 k: kkkkkk -5-6 f: ffffjxff -8-10 x: xxxxxxxwxl -6-8 q: qqqqqqqq -5-8 d: fddtdbfdkddddddjd -7-15 k: kkkkklnfkqkkxqkkvkk -2-5 x: cqzxxx -3-4 j: jjjb -7-8 w: wwwwwwlw -18-20 g: gggggggggggggggggggg -10-11 w: hwwwwwwwnwmwws -2-10 d: xsdjqqrqzdnhgmvlhkgm -2-3 s: rsxhms -7-8 n: tdnnznwpnnn -10-12 g: gggggggggggg -7-13 z: zfxzqzzmzzzrndzkvz -11-12 k: kkkkkkkkkkkk -6-7 t: ttjxxtc -4-6 n: nwzlfxnnn -4-6 j: jjjdmj -8-14 p: xgspprprpppppppp -6-7 k: kkkjkkzktn -5-8 d: dddddmdt -4-6 j: jfhjjb -3-4 k: jrkckdwqjbcctpklm -6-9 w: wwwqwxqwzkwgwwwvqbs -1-4 t: gthttttttt -3-4 h: bhhb -4-6 t: ttqltktv -11-17 v: vvvvdvvvvvpvvvvvvvv -13-14 d: ddndddwddkcdvkddddkn -3-4 b: xhdb -3-7 w: zwcptvwlkswv -8-11 p: pptpppppppm -5-14 p: wpmpnplrppppppptp -1-3 q: stqdkc -10-11 c: ccccccccccv -1-7 s: msszslsps -12-14 h: hhghhnhhhhhhhmh -14-16 g: gscwmsggggdgggmg -7-12 z: htztzwzzkzzkrzzzlz -3-6 n: dcnnvn -3-7 k: kkkkkkj -2-3 m: vmlkkjn -12-13 r: rrrrlrrrrrrrrr -6-7 z: zzzzhxxczzsd -2-7 g: htjgfggbllbgxggq -13-17 m: xhhnpmdxfpvsmjzwb -7-9 h: hhhhhhhhjh -3-4 z: zrzzz -1-5 l: llgwlszllvxxmflglldt -7-9 v: vvvvvvmvcq -5-7 r: rrzcwsmrrgrwxnrg -14-16 t: twttpttntttttttlt -7-14 j: qjsmcdzdqjgjpjjcjj -2-3 s: sshscbks -3-10 p: vppkpwpplpvp -2-5 t: ftrrt -3-7 c: cgrsczccpcpcc -9-10 v: vvvvvvvvvxvvvvv -2-3 v: vvsvw -9-11 d: dddddxdjddbd -3-4 p: pdpgrpj -9-10 p: pwppppwpvpp -4-18 r: hmrdmwvrnggrcgrsrrwg -3-4 n: nnnnnf -1-8 x: tblrxhhxwjb -10-19 f: ffbffffpfffhfksflfkf -5-12 s: sssjtsssssss -5-6 z: zzzzfz -7-8 n: nfnnnnrn -8-9 x: xxxcxxxxx -4-8 x: tcdxxxxdx -3-4 x: xxwc -6-8 h: whnhrvdlhhhhhhhxkd -14-15 q: qqqjqmrnnqktdtq -5-9 f: fhffkhfxhc -6-8 c: cccccccwc -17-19 s: ssssssssssmssssszss -10-12 f: hffffffffzff -6-7 k: nkmkkdkk -4-9 v: bvvvvvxvwnvcv -19-20 v: vvvvvvvvvvvvvvvvvvvv -4-8 h: nhnhhhhvtvfh -12-13 l: lltllllllllqll -13-17 s: ssssssssssssnsssgs -6-9 g: gdvctgcgzgrgf -13-15 w: wwwwwwwwwwwwswb -4-8 l: lllfllcglllljl -8-9 q: flqqqqqrrqq -4-5 w: wwwmww -2-5 v: dqkgvhlmqvv -6-8 g: gvtggvgg -3-11 t: ntvttnqtgltttttt -3-7 m: mmqmjmmm -9-13 d: dddzddddddddndd -3-7 j: jjqjhjt -13-14 q: qqqqqqqqqqqqbq -5-11 x: lxxxhxxxckxx -5-6 q: qnqqqwqqq -2-5 z: hzzskzzckj -2-3 j: jjzm -3-4 g: wggs -1-3 v: vzsbsvv -2-4 z: mrnz -16-19 x: fxxxxbxxxxxxxxjxxxf -6-7 x: xxxxxtx -1-6 v: qvrvvvv -4-5 w: hwwdww -3-4 d: tljd -6-13 v: nvcdjvjrvvvmqj -6-10 v: gfqjlnxfvhw -6-8 f: kzvffvffff -5-6 r: rvrctrrwcrvr -6-11 s: csfcvsxhgcsvh -8-11 b: bbbwwmdbbbjjbtb -5-13 x: lvxxbvtxbhvdx -3-6 h: dhhhvmscwwbhbrbk -4-5 s: gmpqsw -2-12 z: pzncbwqpfbhsfzzz -5-6 w: dwwbwqhgb -2-13 l: llllllllllllcllllll -1-9 v: vjjvvvvnvvvtvvd -12-14 f: ffjffzftfcfrffbf -2-5 b: brwzbs -6-10 s: tnfszsnjvbwzzhtwqg -5-6 p: pfkppppppppp -3-5 n: vstnnnprjn -9-18 s: sssssssssssssssssr -1-6 d: wdldddnvdndfqvd -3-5 t: kttjlcpttzt -5-7 z: zzzzhlzz -2-9 p: ppppppppjp -7-9 v: vvzvvvvvvvvcv -3-6 r: zrrtrrfpwgzbrtskt -9-12 s: mptshmsssssslssss -5-10 c: nccmccchjjthdtlcj -18-20 r: rrrrrrrrrmrrrrrrrxrr -2-14 f: frplctstcgdfff -9-15 h: hfhzhhhhhvmfjhhfjhhh -1-6 w: wwwwrpm -4-6 f: hfffhcfjfszdzbbg -7-10 w: xwwwwzhwrpwkw -9-10 r: rrrrrrrrzr -14-16 n: pngnnnnnnvnnnnnsnn -14-15 p: gppppdpppjppzptpppp -1-4 n: wnnnnnn -12-13 t: tttttttttttgt -4-5 n: nnwsd -9-10 l: vlllllllln -5-16 p: pppfxpxpspppmpkgppp -1-10 v: vlvvtvlkvmgcdwvvtrv -14-15 s: ssssssssjssskrg -4-5 n: gxnnnn -4-10 b: lvbqbjbbbbw -5-6 k: xkrkfldcs -5-6 n: nnsnnznfjnf -6-9 v: gqvvmvvvpb -14-18 f: sdffffwffflffsfffn -2-4 m: mmdm -11-12 g: ggnmgdmfhrpgzgr -14-15 z: zzzzzzhzzzzzmzcz -7-13 s: ssssssstssssj -4-6 g: zgtbcg -2-7 t: rttskmdpmvk -6-20 n: nnkpnnnlnfnnbnpnnnnm -9-10 w: zfpwwhwjwdwwwpwwjww -3-9 d: ddldddddwdddd -4-5 f: hfftmfcq -1-2 w: zwbjt -7-11 g: cggggkxggvgggtbmm -5-9 d: dwgfdltddgndwd -3-4 b: rbrbb -6-10 z: fzzzzxzzkzxz -4-5 z: zzhzjzffcz -8-10 x: wwsxdbkxgd -9-10 t: lttttfttdtttc -13-17 d: dddddddtdnddddddrdd -13-15 w: wwcwwwwwwwwwlwdwq -4-18 r: rvrrrkwtrmrbrrrzfwlj -11-14 j: jxjjjjjjtjjjjjv -8-15 m: mkmmlmmmmmmmmrqmmm -1-3 g: gsng -3-11 n: ttdplnfpkmnrwcrqwbvr -5-10 n: wgnqrlcnnnnnnn -7-9 c: jgwbrcclt -1-4 l: flml -8-13 s: sjssqssrgssrz -6-7 x: xlxbclxxxzxbwqx -12-19 g: qlzcctgmgfmrvxgwvgzj -4-5 w: wwwrr -11-18 m: kmgxmjskmmmmmmmmmz -12-16 f: ffqlfhzflqffffkfz -1-6 k: kzkhrfxkkk -10-11 x: vxfxxxbxxxxx -4-6 d: gvqdwrclzsdmhglrz -5-9 d: dwjddjddd -1-3 n: ndcqcn -4-5 r: rrrrh -5-10 g: pkbxgvczgn -4-6 w: wggwpfww -2-4 g: glgggg -7-8 h: hhhhhhhh -12-16 h: nkvzdqlbsptvnrzh -8-14 w: bwlwbwghwwwwtwwl -4-11 q: vqsllpqnqdcbbtvqrqxb -2-5 x: xkxxx -4-10 c: cccjncjsccr -10-18 h: xkswshrhghxlnmhqzr -5-18 k: kkkkkkkhkkkklkkkknk -9-10 t: ttttttttnt -10-11 x: xxxxxxxxxcv +.#.#....###..#.#..............# +#......#####..##.##.#.......#.# +.###.....#..#.#..#..#.#......#. +.........##.#.....#.#.......... +........##....#.......#.#..#..# +#.#..####...#.....#.#.#...#.... +#....#...#.........#.....#..#.# +.#..........#..#.............#. +...##..##..#...####.#.#.#.#.... +.#...####............##....#... +..##.....#.#......#......#.#.#. +..##......#..##.....#.#.....#.# +..#...#....#.#.........##...... +#..##..##..#..##....#....##.#.# +..###.#....#.#.#...#......#.#.# +....#...#...#.........#.....##. +.#..#.#..........#.##.....#.#.. +.#...#...###..#..#..####.#...#. +##..............#..#.#...###..# +.#..#.#.#...#..#...#..#........ +..#.#......#.#..##...#.#..#.... +...#.#.....#.##..#...#..#...... +...#...##....##..#....#..#...#. +#......##.#.......#...#..#.#... +.#..#......####...#............ +...#..##.#...#....#.#.#.#...... +....##...........##.#.#...##... +#.##.###........#..###.#..##... +....#......#....##...##.#...... +#.............#...#.........#.. +..##.......#.......#.#...#...#. +...#....####...#...#....#.###.. +...##......#...###.#...#....#.. +...#.............#...#.......#. +...#..#.##.##.#..#.##.#..#....# +..####.....#..#............#... +##....##..#.#.#.#..#..#.....#.. +......##...##......#.#......... +#.#............#.#.#..#......#. +...#.#.#.....#..#..#.#..##..... +.#.#.............###..#....##.. +....#.###..#..#.....#..#.##.... +..#.#....#.......#.......##..#. +.#.##.#.#..#..##.........##.... +...#...###.##....#####.......#. +......#.....##...##...#....#.#. +###.......##..#.....#......#.#. +...#..#..#....#.#.....##..#...# +..#....##.......#....#......... +#....##.........##......#.#..#. +#.....#.#.#..##..#.#.....##.... +......#....#...#...#.###....##. +#...####...###.##..#.#.#..##... +......###....###..##......#..## +.#.####.###..#.....#...#..#...# +.###.#.....#..#.#..#.....##..## +...##...#.####....#......###... +...##.......#.#..#......#.#.... +......##....#......#.........#. +............#....#............# +..#.#..........#......#..#..... +.#...#.#.#......#..##..#....##. +..##.#.#.#..#...###..#.#.##.#.. +..#......#.........#.......#... +...#...##.#.##......#.....#.... +..#.....#..##....#..##..#.#.##. +....##....#.#...#..##.##.##.... +..#.............#...#......#... +.#.#.#.##..#.#..##...#......... +.##...........#..#.#........#.. +.#..##.....#....#...#...#...... +#.#.....##.#..#...######....#.. +....#..#...##...#.........###.. +..##.#...##..#......#.##..#...# +##..##...........#.......#.#... +.......##..##...###.##.......#. +.#.##...#.##...............#... +.......#.............#.......## +......#...........#...#..##.... +.#..#..#....#..........#......# +...........#..#.....#....##.... +###....#....##..#..##.....##... +#........#........#...#.##.##.. +##.#.#........#..#.#..#.......# +.##.#.....#............#....... +.....#........#..##......##.... +.#.####.#.##..................# +#...##.......#...#....#.#.##... +#.#.##...#.#......#.....#....#. +.........#....#...#....#.....#. +...#..#..#.#..#.##........##.#. +..#.##.#...#...#....#....##..#. +.#..#...####..........#.......# +....#...#...#...##.#.##......#. +.#....#...#.#..##..##.#.....#.. +.....#....#......#.#####...###. +..#...##..#......#.#....#.....# +.##....##..###.#.....##.##.##.. +#...#.#.........#....#....#.... +...#.........#.##....##.#.#.#.. +...#...#.#....#..#.#.......#.#. +#......#..#....##....#......... +...........#......#......###..# +#..#...#..##..#....#.....#.#.#. +#.#.....##..#..........###..#.. +#...#.....#.......#..##...#.... +...#....##.....#..##..#....#... +#...#.#......#..#...#........#. +.#....#...#...#.........##....# +..##...#.........#.......##..#. +......#.......#.....##....#..#. +.....##..#...#............#.#.# +...#....#.##..#...#.#....#..... +...#...........#.##....#..##.## +##......##....##...........#.#. +..##..##......#...#.##.##..#... +.#..##.#...##...#......###.##.# +###.#....##..#..#.##..##...##.. +..#........##.#...#.......#.... +.....##....##.#.###.....#....#. +#.##....#....##.....#..#.#..... +#.........#..##...##.......##.. +.#....#......#.#...##.......... +##..##.....##....###..#...#.#.# +..##.#.#..#......#.#....###..#. +.#.##.....##.......##.#.##..#.. +..##...#........#.#.#.##.#..### +........#.......#...##....#.#.. +...#..#...#.##..#...#.#.###.##. +..#.#....#..#...#..##.........# +#....#..##..##....#.........#.. +.......#.......#....#....#.#... +...#.##...#...#..#....#.###.##. +##.##...#..........#....#...... +#.##.#.....#..#............##.# +.##...#.#.#.##...........#..##. +.#...#....#.......##...##...#.# +.#......#..#...#...#....#.#.... +...#..#..#...#..##..##.....#..# +.#.##..#.#...#..#.#...#...#...# +#.##..........#.##..#....#..... +##....#.#..........#..#....#... +..#..##.#.......#...#.##......# +....##......#......#.#.#.##.... +###......#...##..#..........### +##.#.##.....###.#..#.#......#.. +#.#.#........#..........#....#. +...#.#..#.......#......##.#.... +......#.....#.#.#....###..#...# +.........#...#..#####..#.#..#.. +..........#.#.#####.#..#.....#. +....#.......#.#....#.....##..#. +#...##.#..#.#........#.#..#..## +#......#..#.#.....##......#.##. +.##...#....#.##..#.....###..#.. +#....#.#..##....##..#.#####.... +.......##..........#......#.... +......#.#...#............#..... +.......###.....##.#..#.#....#.# +...#...#..........#....##...##. +.#..#.#.#....#.#.....##..#.#..# +......#.#..#....#..#...#....... +##.#####............#.#.####.#. +#.....###.#.......##...###....# +......#.##..##.........#.#..... +.#.#......#..#.##......#......# +.#.#.#..#.#...##.....#..#.#..#. +.#.#....#...................... +#.#..###...#...####.##.#....#.# +.....#............#....#..#.##. +#..#...#.#....#....#..#..#...#. +...#.......#..#.#....#.......#. +.#..#.#...#.#.####..#...#....## +....#..#..............####....# +.....#.#.###....#.#.#.#...#.... +..####..#.#.##.##.##....#..#... +.#.#.#.###..#.##..............# +..#.#..#...#.....#.......#.##.. +.#.#..#.....##...###.....#..#.. +..#..#......#.##..#......##..#. +.....#.#.#..##..###.#.......... +.##......#...#.##.......#..#..# +.......#...#.....###.##...##... +..##..#.#.......#.............. +#.....#......#.#..#..#..#...... +..###.......##...#.##....#..... +.....##...........##.....#...## +.#.#.####....###.#.......#...## +#.#..##.#.#.....#.#....#....... +.........#.#..#...............# +..##.#..#..#####.###.........#. +.#........#...#...#...#.##.#..# +.#.##..........#..##....#.#.#.. +.##......#....#.#....##.#.#.#.. +.......##.####..#..#.#..#.#...# +...#.....#..##..###.#..##...#.. +#.......##..#####....#.......#. +#.#.##.................#...###. +................####........... +.#..#......#...###............. +......#.#.##.##.....#.......... +.......#..#.#............##.... +#........#..#....#......#.####. +...#.#....##..#..#............. +..#.#......#...#.#..#.......... +###...###...........#......#... +#.###..###........###...#..###. +.#.....#...#.#...........##.... +....#..##.....#..#......#...... +#.###.#........#.#.##.......... +#.#.#.#.#..#.#...#...##.#...... +..###.......###..#.#.#.#.#..... +...#........#.......#.###..##.. +.#........#...#.#........#..##. +#.......###..#....##.###...#..# +.##....###..##...........##...# +#...#..........#.....#..##..#.. +#..##..#..##.#.........##...... +..#.#..###..###.....#.......#.. +#...#...........##.#.#.###..... +...#....#.....#.....#.##.#.##.# +...........##.......####...#..# +#.#...#..##..#.#..#..........#. +..#...#.##........#.#.......... +.##.....#.#.#....#.#.......#.#. +.......#.##...#.##....#.#...#.. +......#...##...###...#.....###. +##......#.##.####.##...##...... +..#....#.#..###.#..##....#..#.. +...##..###.....###.....#....... +...#.....#.#........#..#..##.#. +.....................#.....#.#. +.#...#...##.#..#..........#...# +#.....#..#....#..#.......####.. +.##.......##......###.#..#...## +.#.##..#...#..........##....... +...##...........##..##......#.. +#....##.##...#......##.#.##.##. +..##.##.#.#.#....#........#.#.. +....#......#......##..##.#.#... +.............#.##...#..#...#... +.#..#...#.........#...........# +....#.....#..................#. +........##............#...#..## +.###.....##...#...#.##.....##.. +...##.#.........##.#.#..#...... +#...........##.#..#........#..# +....#....#..##.#..##..#..#..#.# +#..##..#............#...#.#.#.. +#......#..##......#...##..#...# +....#.#..##.#.#...####...#..... +.##..#..##....#...#....#...##.# +##.....#.#........#....#.#.#... +......#.#...##....#.###.....#.# +..#..#............###.###.##.#. +#..#.##.##.##..#...#.#.##..#... +....#..#.#...#......#..###..... +.#........#...###.....#...#.... +....##.##....#..#...#.#####.#.# +...#..#...#.#.....#....#...###. +..........####...##............ +.....#....##...##......#..#...# +..#...#.####......#...#..#..### +.#.....#....#..#...###..#.#.... +..#..#......#.#...#.....##....# +.....##....#....#...#.....##... +#............##.#....#.#.#..#.. +#......#......#....#.#..##.#... +#.#......##.....#.#..##.#.#.... +.#.###..#.#......##...........# +#.#.........##..#.#.##......#.. +##....####...##...........#.... +....###.#..##.#.#.##...##.....# +..###.......##.......#......#.. +..#.###.##.#................... +...#.#...#..#..#..##.###...#.#. +#...#..#...#..#....#..#...#.... +....#........#.#.#.##.##.#..#.# +...#....#.#...#..#....#.#.#.... +..#...#..##.#....##...###...##. +#......#.....#.....#....####.#. +...##.#..#.#.....#..#..##.#.... +.####.#..#...#.#......#......#. +..#.#....#..#..##.#......##.... +....#...#.#..#...#...##........ +##..#.#....#..#.........#..##.. +...#.......#....#..##...###..## +#......##.#..#..#..#..###.#.### +.#..##.#...##...#.............# +###.........#...###.#.#..#....# +.#.....#..#........#.#.......#. +#..#.#.....#.........###..#.... +#..##.....#.#....#.###.....#..# +....#..#.......##..#.#..##....# +##.##..#....#..#.#.###......... +..##....#........#..#..#.##.#.# +.#....#...##..#.#.....#..##..#. +#..#.......#......#...#...#.##. +...##.#......#.#..#......#..... +......#...#.##.#....#...#.##.#. +#.....#..#.#.#...##...#........ +....#.#..#.#.....#....#.#..#... +....#.#...###............#..... +.#.#...##.......#....#.##...#.# +.....#.##......#.#..#...#....#. +.###....#...#........#......... +..#.....#..#.#.#..##...#..#.... +...###..#....#.....#.........## +#....#....###...#.#............ +.#..##.....#...........#.#..#.. +..#.#.#.......##..#.#.......... +.#...#...####.#...#####.....#.# +..#....##.....#..#...#......... +#.#......#.##.........#......## +..#.#...#.##..#....#....#.##... +#....#......##.#..#......#.#.#. +#.#.............##..#.#........ +..#.###.......##.....##.#..##.# +.........#........#...#..#....# +.........##.#.#..#..#....#....# +##..#..#.#.....##.........#.#.# +..##.##..#.##..........##.#..#. +...#..#####.......#.........#.. diff --git a/small.input b/small.input index fe19c03..7e88cdc 100644 --- a/small.input +++ b/small.input @@ -1,3 +1,11 @@ -1-3 a: abcde -1-3 b: cdefg -2-9 c: ccccccccc +..##....... +#...#...#.. +.#....#..#. +..#.#...#.# +.#...##..#. +..#.##..... +.#.#.#....# +.#........# +#.##...#... +#...##....# +.#..#...#.# diff --git a/src/main.rs b/src/main.rs index 36ac655..1462318 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,33 +1,52 @@ use std::io::{stdin, Read}; +#[derive(Debug, PartialEq, Eq)] +enum GridType { + Open, + Tree, +} + fn main() { let mut input = String::new(); stdin().read_to_string(&mut input).unwrap(); - let count = input + let grid = input .split('\n') .filter(|x| !x.is_empty()) + .into_iter() .map(|x| { - let mut x = x.split(':'); - let policy = x.next().unwrap().trim(); - let pwd = x.next().unwrap().trim(); - let chars = policy.chars().last().unwrap(); - - let mut policy = policy.split_whitespace(); - let limits = policy.next().unwrap(); - - let mut positions = limits.split('-'); - let lpos = positions.next().unwrap().parse::().unwrap(); - let rpos = positions.next().unwrap().parse::().unwrap(); - - (lpos, rpos, chars, pwd) + x.as_bytes() + .into_iter() + .map(|y| match y { + b'#' => GridType::Tree, + b'.' => GridType::Open, + _ => unreachable!(), + }) + .collect::>() }) - .filter(|&(lpos, rpos, c, pwd)| { - let pwd: Vec = pwd.chars().collect(); + .collect::>>(); - (pwd[lpos - 1] == c || pwd[rpos - 1] == c) && (pwd[lpos - 1] != pwd[rpos - 1]) - }) - .count(); + let m = grid.len(); + let n = grid[0].len(); + println!("m = {} n = {}", m, n); - println!("{}", count); + let treecount = calc_trees(&grid, m, n, 3, 1); + + println!("{}", treecount); +} + +fn calc_trees(grid: &[Vec], m: usize, n: usize, slope_x: usize, slope_y: usize) -> u32 { + let mut sx = 0; + let mut sy = 0; + let mut treecount = if grid[0][0] == GridType::Open { 0 } else { 1 }; + + while sx < m - 1 { + sy = (sy + slope_x) % n; + sx += slope_y; + + if grid[sx][sy] == GridType::Tree { + treecount += 1; + } + } + return treecount; }