From 7981c50a4e1f0187cedb7fb4385e62a5e06aa7ae Mon Sep 17 00:00:00 2001 From: Xiretza Date: Sun, 6 Dec 2020 16:34:20 +0100 Subject: [PATCH] add test script and data --- data/day1.expected | 2 + data/day1.input | 200 ++++ data/day2.expected | 2 + data/day2.input | 1000 ++++++++++++++++++++ data/day3.expected | 2 + data/day3.input | 323 +++++++ data/day4.expected | 2 + data/day4.input | 1068 ++++++++++++++++++++++ data/day5.expected | 2 + data/day5.input | 960 +++++++++++++++++++ data/day6.expected | 2 + data/day6.input | 2179 ++++++++++++++++++++++++++++++++++++++++++++ test.sh | 52 ++ 13 files changed, 5794 insertions(+) create mode 100644 data/day1.expected create mode 100644 data/day1.input create mode 100644 data/day2.expected create mode 100644 data/day2.input create mode 100644 data/day3.expected create mode 100644 data/day3.input create mode 100644 data/day4.expected create mode 100644 data/day4.input create mode 100644 data/day5.expected create mode 100644 data/day5.input create mode 100644 data/day6.expected create mode 100644 data/day6.input create mode 100755 test.sh diff --git a/data/day1.expected b/data/day1.expected new file mode 100644 index 0000000..25d1f84 --- /dev/null +++ b/data/day1.expected @@ -0,0 +1,2 @@ +1018336 +288756720 diff --git a/data/day1.input b/data/day1.input new file mode 100644 index 0000000..5614de8 --- /dev/null +++ b/data/day1.input @@ -0,0 +1,200 @@ +1028 +1987 +1938 +1136 +1503 +1456 +1107 +1535 +1946 +1986 +855 +1587 +1632 +1548 +1384 +1894 +1092 +1876 +1914 +1974 +1662 +1608 +2004 +1464 +1557 +1485 +1267 +1582 +1307 +1903 +1102 +1578 +1421 +1184 +1290 +1786 +1295 +1930 +1131 +1802 +1685 +1735 +1498 +1052 +1688 +990 +1805 +1768 +1922 +1781 +1897 +1545 +1591 +1393 +1186 +149 +1619 +1813 +1708 +1119 +1214 +1705 +1942 +1684 +1460 +1123 +1439 +1672 +1980 +1337 +1731 +1203 +1481 +2009 +1110 +1116 +1443 +1957 +1891 +1595 +1951 +1883 +1733 +1697 +1321 +1689 +1103 +1300 +1262 +1190 +1667 +1843 +1544 +1877 +1718 +1866 +1929 +1169 +1693 +1518 +1375 +1477 +1222 +1791 +1612 +1373 +1253 +1087 +1959 +1970 +1112 +1778 +1412 +1127 +1767 +1091 +1653 +1609 +1810 +1912 +1917 +935 +1499 +1878 +1452 +1935 +1937 +968 +1905 +1077 +1701 +1789 +1506 +1451 +1125 +1686 +1117 +1991 +1215 +1776 +1976 +846 +1923 +1945 +1888 +1193 +1146 +1583 +1315 +1372 +1963 +1491 +1777 +1799 +1363 +1579 +1367 +1863 +1983 +1679 +1944 +1654 +1953 +1297 +530 +1502 +1738 +1934 +1185 +1998 +1764 +1856 +1207 +1181 +1494 +1676 +1900 +1057 +339 +1994 +2006 +1536 +2007 +644 +1173 +1692 +1493 +1756 +1916 +1890 +1908 +1887 +1241 +1447 +1997 +1967 +1098 +1287 +1392 +1932 diff --git a/data/day2.expected b/data/day2.expected new file mode 100644 index 0000000..04c3359 --- /dev/null +++ b/data/day2.expected @@ -0,0 +1,2 @@ +603 +404 diff --git a/data/day2.input b/data/day2.input new file mode 100644 index 0000000..9219f52 --- /dev/null +++ b/data/day2.input @@ -0,0 +1,1000 @@ +13-14 f: ffffffffnfffvv +10-12 w: kwtzpnzspwwwdz +2-3 n: nnjn +2-3 h: hhhh +2-11 c: crccccccccsccc +1-6 b: lcpcbcr +16-20 q: qsqqqqqqqjqqqvqqqqqh +4-5 m: mmfmm +10-13 h: hhhhhhchhkhhphh +10-14 x: xxvxxxxxxvxxxwx +2-7 v: tvvgvrvvv +8-11 j: jjjjrjwljjzjkmc +2-5 t: xtpftb +4-6 m: mmmlmpm +9-14 h: hhhhhhhhhhhhhchh +10-11 x: xxxxxxxxxxx +14-15 z: zzzzzzpzzzzzzzkz +5-6 m: mwjmmw +2-4 r: rrrr +7-11 v: vvkwlmvkvkmbwvvvv +16-17 j: jjjjjjjjjjjjjjjhj +6-12 v: vjvvddtdpvvvldvqvdhv +3-16 z: rktsvbkctznjkjzz +5-6 r: hrrrrr +1-3 d: ddxddd +19-20 s: sssssjssssssssssssss +17-20 b: bbbbbbbbbbbbbbbbbbbb +2-4 m: mslm +2-5 b: bbbbbl +3-4 j: ljjj +2-4 h: nlhbh +4-5 z: zsmwfz +4-5 j: jjzqj +9-10 r: rrrrrrrrrj +7-18 l: lljlgpmlltlzjltplln +1-6 l: zbmljsljdszwl +3-6 h: hhfhhqhhh +10-14 d: vmddcdhsdzkxdddddddd +6-7 s: psssssms +1-10 j: cndjjjjjjjjjjj +4-14 x: xxxdxxxxxxxxxxc +6-7 f: fwfffsff +2-11 v: dmmvlvsvvbbr +7-8 l: dlcllllllll +4-5 m: mmmmc +4-10 m: zmmmlmnmrj +5-6 s: ssshdsvbsk +1-3 p: pppfps +5-6 t: tttttt +6-15 z: zzzzzzzzzzzzzzzzz +7-12 m: bgshdmmkmmmmmfnmmm +10-11 l: gclgllsllll +3-4 d: dpdd +2-9 n: kgngnrcxd +8-10 n: knnsqnnnnrn +8-18 f: qhwqbwnfppkffwhjjxf +2-4 j: zwksc +3-11 s: nkszjxwhcms +8-11 b: tbbbbbbwbmbjk +7-8 z: kvxfrzzzz +2-5 g: hhwgv +1-5 s: lmkxjbbsmnq +2-7 p: spgxbpp +2-8 z: xqzpztbvk +4-7 r: wrtcfqrqcrlr +2-4 g: gzgggg +13-15 q: qqqqnrqqqbgqnqt +7-12 h: dhxhbcqhhhhd +7-8 l: llllflll +5-6 d: ddbdfddwmndc +3-10 j: jjjjjjcjjjj +16-17 x: jhmqjpbpxsttjpcxrz +7-14 j: jqjjjgjhjjmjjfjj +5-7 l: zllllll +9-13 d: dddddddxrdcsjdngbtd +13-14 k: kdwkhqkkkkkknkk +5-12 c: zcxwcbwfclccm +14-16 x: xxfxxxhxxxxmdxxxxx +10-11 x: xxxvxxxxxqxxxxxhx +6-11 d: ddddddddddtddd +1-3 j: bjbcj +8-10 p: pppptppzpp +3-7 z: zwldzgvztmbwwqwb +4-5 h: hhhrm +4-7 v: vvrvjvsz +2-4 w: prsdkgxw +1-4 q: fqqvqqqnm +5-6 k: kzjbpkkkzzktkc +12-15 s: ssvssssnsssdssgss +3-10 w: wwfcwcwwwrjww +6-7 t: thftndnvtztztb +1-6 w: qgzppbcdjbpwmsj +3-16 c: nccccfccrrcqhwcjck +7-10 b: bfscxbdbnb +4-14 x: xxrxsgxxwxptxxxdxdx +1-4 c: jccb +16-17 p: ppkppppppppppppwk +2-10 z: wqtzzbhzkv +9-10 b: bcbbqwcbbdvbzbfbsj +6-11 s: ssssswsssssg +3-7 c: wdcxzgtcrswqj +4-10 c: xszcrmcsxccbwccxwv +6-9 f: pffffffff +7-8 k: wkhkhdkkkkkkrbkk +3-4 q: cqqbqpg +3-15 s: sswvssssswssssh +19-20 k: kkkkkkkkkkkkkkdkkkkx +11-14 d: dddddddddddddnd +3-4 l: llll +3-4 t: bvtvtrr +13-16 b: bbbbbbbbbbbbbbbb +16-20 b: bbbbbbbbbbbbbbbkbbbw +10-11 v: vhvvvvvvvnvv +1-6 v: xsvmvvxvkvv +4-7 t: vttltqg +16-20 b: bbbbgsjbxkbbbbbbrbqb +15-17 c: ccccccchcccccxphcc +1-3 w: cmwbtnzwwlhr +2-16 j: njmqdfdsmrsptrjz +12-13 r: rrrrcrrrrrrdhr +11-14 j: jgjjjjjjjjtpjh +4-5 w: wwstw +5-6 w: mwrgwwmdwhzk +4-7 b: bbdlbbbbc +1-16 b: xbbhfbhbbbdbbdbbbbb +11-14 h: hhjhjhhhhhhzhh +2-3 t: jrtrt +5-6 w: pdwwww +5-16 m: mmhrmsvmxmvjdltm +15-17 b: rbdbbbbtbfbbxbbbbbbb +4-6 t: lzjtttqdpthkzrt +3-4 x: xcxxxxxxxxxx +15-16 z: zzzzzzzzzzzkzrcljz +15-20 b: bbbbbpbbmbbbbbbbbbbb +15-17 z: zzzzzzzzzzzzzcqnzzr +3-13 t: tntttttttttttt +6-10 s: jssmqsslsssddtg +9-10 p: ppppppppjp +9-14 d: sdxnfmpzlgvdcs +5-6 c: cccscvcc +2-4 r: rrrr +11-14 v: vvcvvmvvvpvvvjv +2-6 h: znfjphzqzdczp +5-12 j: msdjjbjbgjjjbl +4-7 h: hhhthkhhh +5-6 q: qqqqqc +18-20 q: pttqsnjcfchtfnqbjlqf +11-12 x: xxxxxxxxxxxq +5-6 j: xqbwjjcxjjljgj +7-14 g: pdkdbzgzjvdvwggpnnt +2-17 j: zhklmfrwspkgqbxjjdp +5-17 b: bbbnbkbbbgbbxvzxhb +6-8 b: bwhbbbbb +6-16 q: lgxlqsqqwwmqrqqfgp +16-20 j: jjjkjjjjjvjjjjjjwjjb +1-2 g: vggg +3-7 v: fvsvvxfvvv +5-8 q: vdqqqqqqcrqqxq +11-16 w: wwwwwwwwwwbwwwwnwww +5-7 s: swwzsss +3-6 d: hqwqcvdnqvh +2-7 h: hsqhthghhhh +4-9 d: dddtddddddd +8-9 d: ddddddddd +2-4 q: qqqsq +4-6 t: ttnlqt +4-6 s: sssszscs +2-7 l: ssfllslplqll +1-3 m: vmmlm +6-13 q: qtqqqrqqqqqqqqqq +2-10 d: zbldzlzssd +4-5 n: nnndq +8-18 b: wbbdgkvgscbdgqvxdj +5-6 r: srrtrrrrr +6-8 m: mmmmwbpm +11-14 h: hhhhhhhthhhhhm +2-4 p: pvpxpp +5-6 g: ggvgng +4-5 x: xxxtp +3-10 v: vbvvzvhvvvvmvbcvvwrv +11-13 d: ddddddddddxdldd +4-5 g: gggggggggggngfggg +7-8 j: jpjjjjhw +2-6 m: jmfrmmhhsgbmmm +6-10 v: vrvvvbvvvsv +8-15 c: cctrcccpccccgcc +14-16 d: ddddxdsdzwdddwdsddh +5-6 m: mmnmmb +2-6 d: dtwlswdnlkn +12-13 x: vldxvmxcnndzx +4-6 k: kkkxkm +1-4 p: pppp +11-16 b: bbbbbbbbbhdbxpbbbpb +1-5 j: jjjjjj +6-8 q: zqwdqszvqwqbrmhfqqm +2-5 q: nqqczhb +12-17 v: vvvvvvvvvvvtvvvvpv +1-3 w: wwlww +9-11 n: nbndcjnzntnvjnk +3-4 q: qqcr +15-17 p: plppppppppbppppplpp +1-2 c: cvdlsccrccldccvfcc +4-5 p: bpppcp +19-20 d: dddddddddsdddddddddd +2-4 t: bwbtmjbgkdlpjkrxt +2-5 l: llxdblrcvnpclt +11-13 b: bpbbbbbmbbbpbtcbbbzm +6-7 p: ppppppp +5-18 m: mqmmqpmmmmmwmpmzchms +3-6 g: ggggmggkgg +11-18 z: wjwlzzptzzzwbmzzgz +5-7 b: bbcxbfbwbbcn +4-5 p: szppp +2-12 b: bbbbbbbbbbbmbb +6-10 m: jmmmmwmtmfcwwxm +4-5 m: mrqzmmmptfkmch +13-15 q: qqqqqqlqqqqqqqqd +1-5 b: kbbbnb +4-5 t: qdtttszwwppbtllp +12-14 c: cccccccccccccm +4-5 g: gggdhg +1-4 b: wbtbb +3-6 d: ddrdgbdvdv +14-15 x: xxxxxxxgxxxxxvdx +13-18 l: lllllllllllllllllll +5-7 p: zjsxppv +4-13 v: vvvpvvvvvvvvf +17-19 q: qqqqqpcqpqqgqqqqqqmq +1-5 r: rlmrrr +8-9 j: jjjjjjjjw +2-4 q: dswq +16-17 z: zzzzzzzzzzzzzzzzzz +4-7 h: hhhzhhw +11-12 l: lllllhhpllllqlllln +11-12 h: hhhhdhhhhhrhh +3-4 j: pkthmjsjqx +15-18 b: bbbbbgbbbbbbbbbbbh +4-5 j: lsxklmdwmhj +1-2 p: pptp +8-10 g: fgggzrnggg +3-7 k: njkdhpkpqtqxhqwkp +10-11 l: llllllllllz +12-14 q: qjqhkqmqqwqgqcg +1-3 m: mmmm +8-19 c: dwzvhvbcpdbhcnrlcncx +3-7 x: xtxjljw +6-18 t: pttgnchttttttttqtt +3-4 p: pppxpp +15-16 k: kkkkkkkkkkkkkkvr +2-3 x: dxxmx +12-20 m: mmmmmjmmcmdmmmmmcmmm +6-13 h: sthvjhlhfhxlhb +4-5 t: pbrlttgmmwztxtrt +3-7 p: dpptmppp +7-9 p: hpppppppp +3-4 q: qdgqqq +1-4 c: cffcrkpdczhbj +1-8 d: cqdwddlrddd +9-10 n: gnkmnxnzmn +3-4 k: kkxx +1-7 d: vnddddn +8-12 l: jllnlcllllllllvllb +1-4 n: nnnnnhnnnn +9-12 s: tssssszsssssbt +8-13 h: nhnhdtkjbsfvbsh +2-4 v: qmvs +3-6 c: chcxccch +1-5 d: ddddd +11-15 l: pklllvllwlmlcklllll +1-3 v: dvkbwsgjzqzzjmznd +5-6 j: zjjjjjs +1-4 f: vbffrwfr +3-5 x: xxxxxrfdxmnbkrjbdzcx +16-19 s: spsssbmrpbwrhqssgft +13-15 v: vvvrvvvvbvvvvvv +6-9 q: lqfqgcwtdqzgrqqp +3-5 w: fwpwx +7-8 h: hnhschhfphjzphwh +2-6 r: rrrrrrr +8-10 h: hhrhzhhttm +9-16 w: wwwwwwwwfwwwwwwh +2-3 n: zbnfnlpcnjqftpv +14-17 k: rqwlkzqczczrlktcl +6-7 f: ffffffff +3-6 k: nndkjtpjzpmkkr +12-17 p: gpppbpmjpptpfnzpb +16-17 n: nnnpnnlnnnnnnmnnnnnn +4-6 r: rrsrwr +4-7 x: cnljrzcj +7-8 s: srgtqlmc +8-10 n: nnnnnnnvnn +2-5 g: ggqggb +7-8 h: hhqhgpxb +4-12 b: bxbchbbbbbbbb +2-4 z: qfzng +6-13 m: pcmmwdkmzlstn +3-4 v: qvdc +2-10 t: tktttttttmt +9-15 t: tttttttttttpttw +8-13 p: pppjpppkppdlv +6-9 g: gggggngqg +2-9 k: lzvkqkkkkk +8-12 h: ldpnjvchhshx +5-14 c: cccccvrccccdbccchjc +14-19 k: kkjksgrrkklhkkkkkkt +5-15 r: hrrrrrwmrlrgrlz +7-17 g: hbjtgsxbgrgggcjlk +4-6 q: lqcbqvzqrqzqxqnqd +5-8 x: xkdxsxxf +12-16 m: vxlfjgzgqhxmlvmmqmm +2-13 c: vccvjvqrgrsrqv +4-6 l: ltlrlpvnl +12-16 p: ppptdppppppcfppzpgsm +18-19 q: qfqpvwpwjqvlnrmvsqq +5-6 m: mmmmmh +6-7 m: mmmmsls +3-4 p: pvcg +6-7 h: hhhhhhj +1-4 g: gkggc +3-10 n: sqsndtgnjbnljnn +5-11 h: tcmlhlnbfnhgt +9-10 t: ttttttttxl +6-8 x: mxvxxxxhxxccbx +9-16 g: rgggthgxggdggjgg +7-20 w: wwnwwhvmtwnvwwpzdxvt +13-14 t: tttmttlttgttlptt +5-6 f: ffffpg +5-7 z: qzzzzzqzz +1-3 b: bfbfdhkwdzttcldtr +5-8 n: nnnnrnnqnnnn +7-18 m: hgnrbdmvmzqmhnhhpww +2-6 h: rjghpwxhn +5-10 m: bjqjmmnbvmlxpvvdds +3-4 v: hvjttv +4-8 n: nnpnnnnnn +1-10 g: gzxghcgkggggtxg +4-6 b: pbgblbbb +4-7 c: ccccccmc +2-4 g: ggwgtzvxqhjqphfg +3-5 t: htdtt +8-9 t: tttttptttttt +4-5 v: dvvvd +6-12 p: skzhnpblmpppcptfpll +15-16 l: llllllllllllllvp +6-11 b: mbbbbjxbbmbbf +2-4 t: mtqwtnt +2-4 h: wfhkh +5-6 w: wwwlwwwkw +7-8 k: kskkkktz +5-6 g: rggqcv +2-4 z: krmw +2-4 q: qqwqlrqcbxlxbpqg +14-18 m: mmzmmmmnmmmmmtmmmm +1-5 p: pqwfpnp +3-7 w: dwwxdwgwwksm +8-11 g: bkmcfcddjvw +7-9 s: srsszspss +3-4 r: rjrsz +12-14 k: kkkkkkkkkkkgkl +13-14 f: fffffffffffffh +7-9 r: qgxpglrlr +4-6 l: xflkll +2-9 d: gdddddddrqdddd +2-3 k: zskkzq +3-4 z: jzrtwgmtl +3-4 b: bnnbbx +1-9 r: rhmrwwrfmsb +7-10 b: btbbbbbbjbbb +7-8 t: lmttpttq +1-4 s: rcls +11-12 k: kkkkklkkkskq +14-15 p: ppppppppppppppp +3-7 l: dcslvkjgjcdk +1-6 l: hllhllpl +6-9 z: zdlqztzzkzz +10-11 r: rrfrrrrrrrqjpkkrmrrh +4-5 v: bvpqvvkvrxnvzmghbhmx +10-11 v: vvvvvjvvfcvvcvpj +10-11 j: jjjsfhdmjtcvbzj +4-5 z: zzzzzz +14-15 l: lllllllllzlllkcnl +3-8 c: dchcjjrccvm +12-14 b: vrwbfbqbbbbkbhgqjjh +8-9 g: stggqgctgpgggctt +15-17 p: pppppppppppkppqpp +7-8 q: qqqjvqhmqq +3-4 x: xxxxx +7-8 g: ffbgglgzpjgqvnglpsgh +14-16 r: rrdrrrrrrrrrrgrrrd +10-13 l: lllllllllllll +6-14 q: qfqzqnqqmhqqsp +2-3 q: qqqqq +17-18 f: ffffffqfffffffffftf +11-13 h: hhhhhhhhhhmhz +3-10 c: cccmcccccfzc +8-12 v: vvvvvvvvvvvvrfwrvv +3-4 v: vrnx +1-12 v: gfvsvkvvvzvcvsv +9-10 b: lbtgbbpcfbgb +6-8 f: fgnffkfshhfbfc +8-10 w: wwwwwwwwgpltzwzk +7-12 b: btbbjbhbbpbbqsbbbvp +11-12 r: vfcvrrrzrhvc +19-20 g: gggggggggggggbggggjh +11-14 s: sfsvsfsswsssscxssm +4-6 c: lcclcc +7-8 g: gggggggr +10-14 g: gdcpmgxlgggggtgbgg +2-3 b: bktb +9-13 k: krkkkgkkkkvkkk +2-12 f: bwtgngzflzcfchx +2-4 m: mmmmmmm +10-12 b: bbbbbbbxbbblcbpb +3-4 c: ccct +6-8 r: kgqvrrrjn +10-12 f: ffffffwfffff +6-7 c: ckcjcjccc +10-12 l: lllltllllllxll +3-6 q: qqgqqlxqqq +4-5 b: nbbbbb +7-11 r: rrrrrrrrrrrrrrr +10-11 s: sssssssssss +1-6 w: wwwwwwwlww +5-7 l: lrlmlll +8-12 c: fbcmjxccqcwc +9-10 b: ljmbxwbbbbbhbbb +2-4 h: shwgvlw +15-17 t: ttptttttktttkttttt +2-5 d: dddgdd +2-14 x: xbbtnzdvbszrlxl +8-10 c: cccccccbcx +10-12 k: kkkkkkkkmkkc +7-17 r: rzbcshqhmrzrktzdr +5-16 k: kvkkdkkkkkkkkkklk +1-7 p: hkplfbjdhsh +1-6 z: pnzzzz +12-18 m: mmmjmxmmmmmmmmmmcd +5-7 k: kskkdbsk +9-10 b: bbbbgbbbbw +4-6 c: cccccjs +19-20 w: wwwwwwwwwwwwwwwwwwwf +7-11 j: drzjhxkjjjkwr +10-15 c: cccfckccccdccxc +1-3 d: ddddc +13-14 j: jbjjknjjjjjjjjjjjzzc +1-4 m: mzmftx +1-4 t: rttt +12-17 t: tltqttzttttjwcttrwtt +6-10 m: rmfmrnmmmdmqp +6-15 p: jpfpppwppppppznpppp +4-8 p: mppxctpb +2-4 z: gwzzrn +3-4 p: ppfpp +3-4 b: bbbh +11-17 l: llllllllllllllllhll +4-6 m: mmmmmmm +4-6 c: ccccjx +11-14 g: gggggggggggggg +3-4 l: llflq +9-13 p: pspvvcpkpcpzpfpk +1-4 n: nhwn +6-10 j: jjjjjjjjmjj +9-12 p: ppgpwxpplgppzpppwpp +10-14 h: hhhhhhfhhhhhmxh +8-10 l: llllllmcwfl +7-8 h: hhjhhhps +8-11 v: grvvvgbvxvvlhvvbdvr +5-6 m: fmjjbmp +1-2 x: xxhd +11-15 n: nnnnnnnnnncnnnm +1-8 g: jgggbggd +13-15 l: lshllllllllllll +5-12 r: crrsrrrrprtrr +10-16 k: hkkkkkkjkgtkkkkkq +5-16 j: prxjxjjdxzjjvjjwfj +7-8 k: pdkkkkkzkzw +3-4 s: sstg +1-5 x: vxxxb +10-16 s: tqmzsfksjzfmlqzsdb +2-5 r: rcrxjr +10-15 v: jcbvvvhvvvkwrgvvvvv +4-6 n: nnxnnpnn +13-18 l: llllllllllllbllllgl +9-11 g: vwqgnrzlclgqtp +2-3 f: fpms +3-5 l: llllllll +7-12 x: xcvxzxxhxxxxxxxxqxxv +6-10 b: fcfpwbmbhbpbbqkkbxb +8-11 z: nrnzzqzzzzck +8-9 g: nggdfgdgggfggg +2-6 d: sdztkkfvpkddggdxd +10-14 g: nhdstmlfxcggcs +10-11 g: ggzfglgggmcxgjh +3-13 x: cxjxxxxxxgxvj +9-10 h: smlxphtmkhf +7-8 v: rhdvgcvrdvvvvvxwvssh +7-14 n: nnnnnnncnnnvnn +3-6 z: zzzgznzz +6-10 l: llwmgllljllll +4-5 v: vwvvpvw +7-8 m: mmmmqvmqmv +13-14 z: zzzzzzzzzzhzrcz +3-8 h: bdmhcxpgbpjvwfmh +3-5 h: nhhjk +11-19 b: zrrmrqbfvwbnmvkvbzbv +3-8 c: ztwqhccmwzvcbxjjrc +4-9 h: hhhhhhhhh +2-15 d: lddzlxhkscrmfbd +3-9 s: kpscwnwzj +10-11 w: zwwlwxwwwwwwww +4-5 v: dpvjr +1-3 d: ddtd +3-6 x: xxdfxxxrbdh +3-6 g: dghwgxg +8-10 z: zzzzzzzpzz +13-15 p: pjpxpppppdcpphlppjp +6-16 j: jjjjjljnjjjjjqjjjwx +11-17 f: fffffffffflfpfffxff +8-10 j: jjjjjjlwjkjrdjjjj +8-9 w: wwwwfwwdkww +4-9 x: qpxbhxwxxkx +5-7 w: wwwwbwl +1-6 m: mmfrmmmm +8-9 l: lllllvlsl +3-4 d: dddd +6-8 c: cqcptcfcgcrzbjcccp +10-11 k: dccpkmkkgkkdzkkkkkk +3-4 j: jjjr +3-9 h: hzhwhchzhjg +7-8 g: bxgnvvzfsbggdgg +2-17 f: ffffffffffffffffffff +7-13 g: ljggdgztggvgtggg +9-13 x: rxlxrxxnwqxpcdxq +10-11 j: jjctjjjjjfjj +8-16 k: zpzskgkkkvsbxhsk +4-5 l: llljl +2-6 b: bbbbbb +1-3 w: swww +6-8 r: rrrrrbrbrr +8-9 t: tttttttth +3-5 s: sssss +3-14 q: qqxqqqqbblqqcqmqsq +7-8 v: dmfvccvvvbvmwjvvvqfv +5-7 v: qvvvvvvvv +4-9 c: cgcgvncctwrtv +3-5 p: ppnpppp +13-15 h: hhhhhhhhhhhhhhhhnhhh +5-8 r: rrrvpgrdbhrc +2-9 q: szlqwzwhqxbxkr +5-6 c: cwrmhxcpxchzccb +4-6 z: zzjczz +12-14 p: pwqkbphzplxhnpm +8-13 t: tkkzjttrstbtwttd +15-16 m: mmpqmxbxdzmqmmmb +4-6 c: ctcpczdd +2-3 j: fdjjj +15-19 k: kkkkkkkkkkkkkkpkkkwk +2-3 c: cccc +1-2 w: wwfqwwgpmv +2-3 h: wfzmhm +3-10 s: wbsbvhfxjgxfqstwqn +15-16 r: sxrzvkqpqmgzgtrr +3-5 m: fmmtmqjxzss +12-13 k: ddsnpkfvknhwq +5-11 z: lzwvzhtzzzz +12-13 t: tttttttttbdgtft +14-19 g: gggggggggggggggglgnv +3-4 r: rrrr +3-7 h: xchhnhh +10-11 n: ndnjnnhnnnk +5-7 l: llllhll +3-5 p: ppppb +11-12 s: rrsjzvswsdtxssv +2-10 z: ztxzzzzzztzp +16-17 m: mmmpmmmmmmmmmmmmmmq +1-6 b: wkbfntzw +10-14 n: nnnngrnnnnnnnnnn +1-3 b: pbdfsbbp +6-13 n: brnwnhnnsnnrwncnmz +2-11 f: mlhpdjflklzmhxt +1-2 f: shzsffl +8-16 k: kkkkkfkxfwnslkkm +13-14 b: bbbbbbbbbbkbqbb +2-7 x: zdxxxxxx +6-10 h: hhthmpvhnlk +6-7 p: tppfpqpcppppxpmpcpp +3-5 m: grmkm +5-11 w: vcwbwwwbwwswnrdwfwx +1-6 s: sssrssssx +13-14 j: jjjjjjjjjjjjgj +14-19 q: sbqqzqnqnlzdrlqqqtkl +3-4 t: btdttvzrvnjst +1-7 s: ssbsssmhssssdsc +3-4 z: vcdzj +6-13 v: vvvvvvvvvvvvvv +2-7 t: ttttgpthqhmth +5-9 z: zzzzwzzzl +10-15 w: wwwwckbzwwwwkwwlrwb +2-7 r: wjrbdzrjxrstrc +1-8 z: dpzzzvcsx +4-6 c: nccxccvcccczcccdc +1-10 c: cccccccccc +3-7 d: zdmdpdntdpzncdbff +5-9 x: xvlvxldrxxmbdcdxxxz +6-7 p: ppplppjcwcpp +2-7 d: pwnhpdd +2-3 q: hqqsdqxs +6-9 t: smttzjmktq +7-9 t: ttttttttp +4-19 w: wwwrwwwwwwwkwwwwwwnw +17-20 s: cssvssssssssssssssss +10-11 s: srssssssssss +5-6 f: ffcfjt +3-4 d: ddgdddddddd +2-15 s: sssssssssssstsssssss +2-4 c: kmccnnt +2-3 f: ffff +10-14 s: vspjssnsssssshvsq +9-10 k: skkkkkkfxkkwk +3-5 g: mgnggjpgspcf +4-15 z: zzzdzzzzzzzzzzzz +3-4 c: cgcc +6-7 s: sssssjs +2-4 z: ztzz +17-18 w: wbqwwnwwwmwvwwhgdnl +13-15 d: dwddddddddddwdddd +4-7 g: gzghgcnq +3-9 n: snnnnnmll +2-7 j: sjhtsxj +2-6 h: khvzdhhr +2-10 t: tttttttttttttttt +4-6 x: xxglxwjrx +3-4 r: rjrc +5-13 b: bbbbbbbdbbbbbb +3-4 q: qqrhqq +8-12 g: ggggkggdgggbg +3-12 j: jjjjjjjjjjjjjj +1-5 c: cbcch +10-11 r: rrnrvrrrrzn +4-16 j: jjjpjjjjhjjjjjrjjjv +8-9 f: fffffzdsvfccfr +14-16 f: ffzfjfftfffffffffff +2-8 n: ngnnnnntnnnnr +6-11 n: nchnnvnnnndn +4-5 w: sfwvm +6-14 s: ssssssvsspssqhsss +3-4 m: sjjb +2-4 d: dnkjd +3-9 s: twsgkmqstq +6-14 f: ffffffffffhfff +10-15 w: wmwlwwwwfgwwjrzwwwww +3-11 f: fffffkxfffffmfff +1-2 l: jlrpl +3-14 p: pbnpkbppxhppmpp +1-14 v: bvvvtvvvvbvvvh +3-4 s: zssvs +3-4 l: llljrlk +8-12 f: ffcfffczlffff +3-13 m: xsmgpvzsrrwmxtbktsrj +5-7 j: qxvjjlqjjjjj +3-4 r: rbdwg +13-14 d: dddddddddddddg +10-12 f: lqvhjnkfrfffv +6-7 n: njnnnhz +11-13 v: vvvvvvvvvvvvs +12-13 v: nvvsfvvvvvnvdvjxvvv +2-19 s: slsssssbsskspssssts +9-11 n: nnnnnnnnnnm +4-5 j: mhngjjrhjcjkjw +12-18 p: pnfwppppprsqrppltppp +9-13 s: wsssfsjsssfssss +6-8 b: bbbbbzbj +9-12 c: lcccccrccctv +7-11 w: wbdwwqwwkbwws +6-19 c: cccrmldccfhtvclcccc +9-14 h: bhhhhdhjkhhhhm +7-15 g: gkgggggvcgggghgggz +4-8 k: kknklwkkkg +10-13 c: ccccccxcccccccc +10-14 c: ccbcfcccptcczbcc +8-9 s: scsssssss +1-7 v: bvvvvvvvk +4-8 s: dspsskkstklsz +9-10 b: blbkkzbvvpbhbbbb +1-2 m: qgntnbccqm +7-14 w: wwwwlftgspwmwr +4-13 n: tnxmnnwwnnlnnnnz +3-5 c: cwzbs +3-6 d: dddddl +6-8 s: qsfssrnsst +1-2 l: llxcx +9-11 g: zhzkcbglvgw +5-11 f: lfzgtbcmzzw +6-19 m: gcbgjbqrdkswqhmxjct +1-3 z: dzzz +9-13 t: wttftcddttmtttgttnvt +14-15 z: zzzzgtzzwzzzzzzzzz +1-11 q: qqqqqqqqqqqq +4-5 j: rxjjjxjwjjj +3-5 v: gqjhjvlvlbmkgssd +16-17 q: qgcbftwncjhdzwqmw +1-3 g: tjftgp +11-16 l: rlllllllllgglllm +4-6 z: zprzvrfbpblf +7-11 j: jjjjjjjjhpjmjj +3-4 l: ltlrblllwljljlc +8-11 k: kkvkkkkkbqkskrkkd +5-10 r: hjrcrrrdvtrkrvrxrr +5-6 x: xxxxpx +13-16 g: gmggggggcggpwgghgt +3-4 h: hzzp +13-15 h: hhwhhghhhhhhhhh +3-5 t: mlftttt +8-13 c: cccccvcdccccfcccccc +1-6 k: kczzpq +8-14 t: rtcttttgtttttgtttz +6-7 l: lhsvlll +1-2 x: cxlr +8-10 t: rtbtttttsblttttb +11-14 z: zzzzzzzzzzdzzzz +2-3 t: ltttbthjdxwbxrv +5-6 x: xxxxxxxkx +8-12 f: fffffpffwfng +5-6 x: xxxxflxxxxx +5-7 d: ddddvvk +4-8 j: ttjjjjhj +2-5 p: rtrmpksjdvpplmrkl +9-11 s: ssshsskssssssr +5-8 j: wjnjjvjjfjjhf +4-6 q: qlpcjqqqq +13-14 m: zctdnmkjstxbmmfqtns +4-11 n: nqntnngnvmnknrnwnnl +3-5 d: ddfvdnkd +9-14 j: wsznlrpljmjwjjjkmtk +2-6 w: wlwwwww +9-12 j: jjzjxjjjjhjp +10-13 v: zvvvvvvvvfvwlvvvv +3-18 x: dzxcqgwxpwxvpmcxxdxx +2-3 w: wsgwwd +3-20 n: nrnfxnnnnlnnnnnfnrhp +3-8 f: fmvjwsffvxjfnlw +5-6 l: llllcs +3-5 b: bbbbbbc +2-7 l: rlwkflnsm +4-18 m: dqskhdqgmrpbgtmdnp +4-6 r: grpxzr +5-7 m: mmmmmmjmm +7-8 b: bbkkbbkbb +1-4 r: rwrtr +5-6 g: gggcggg +4-6 l: qlcbwrsf +16-18 t: tttmtttltvtttttxtrtt +3-4 z: zzzz +6-10 g: gggggtgggg +12-15 f: tffffffffqrffvvftffh +10-16 w: wwgwwpwhqdwhwpbw +5-7 m: mpmmmmm +3-5 b: bbxtbbb +5-10 x: xxxxbxxxkjkx +10-12 b: bjbldbbbwbxg +3-4 g: gnggqgg +2-4 s: sstst +6-10 j: jjjjfvjjjj +16-20 r: rrrrrrrrrrrrrrrrrrrr +4-12 b: bbbxbbbbbbbbbbbbb +3-4 k: kkpk +4-7 s: ssssqsh +10-13 b: vbzbbbbnblbbb +12-14 f: rgqffrfsvftwff +2-4 x: bfxvhmsxnqxz +10-12 c: ccccccccccbcc +1-4 l: llxbmjpll +9-14 f: ffhfmpfffffzfgcg +3-4 n: ndfm +1-6 k: lkmdzgfbkfktkkvkw +12-13 q: qtkqqgqbqtqgvqqqzq +7-9 d: ddddddhddsd +4-11 j: kdqjjjjjjxg +4-6 k: kkkgkm +6-12 n: nnnnndtnnnnnnv +2-6 c: dccccdc +10-11 v: vvvlvvvvvvb +7-10 w: wwwwwcwtzwkpvjqwsb +1-5 x: xxxxxxx +5-8 g: dhggzggsggggglgggg +8-9 t: dttttttdtfnt +11-17 g: cqgglgtwgggcbwjvwg +1-2 t: ttttt +16-17 j: jjjjjjjjjjjjjjjjjj +4-7 k: lkdkhkkkfk +15-17 z: zzzzszzzzzzzzzwzlz +3-13 w: wwswwwwwwwwwfwww +5-12 h: mstzhsghhhhnzmdrh +10-12 h: hhhhhhfhhphhbhhk +3-4 j: jjsd +11-12 k: kkkkkkmkkmfd +19-20 d: ddddhdddddddddddddxj +7-8 g: gggjggrg +4-5 m: mdzmv +3-4 w: wwww +7-8 b: bdbwbbbbb +2-12 q: dxqqqqqjqqqlqq +3-6 w: wwwwxwh +9-11 s: smhnkssssssstxj +5-6 n: nnpnkj +7-8 s: qsgdxkjs +9-14 m: mmmmmmmmsmmmmv +1-3 v: vvcvv +2-5 x: kzxgjttwxspclfx +5-8 c: ccctpcckz +5-6 h: hhhchthqxchh +3-7 t: hnrcqdtttmtxtnmhcf +2-4 v: vvlz +4-5 k: kbgkl +9-12 x: mhzpjqtxqnfrcnwhk +7-11 z: slztclzvxbzmz +13-14 l: ldllllllllllkcl +1-2 l: fslcthfv +12-16 b: bxbkbbbbbbbbbbbb +1-4 r: rrmr +8-11 d: dddfdpdddtdd +17-20 n: nnnsngnbnnnnnnnncnnn +1-16 x: xxxxxxxxxxxxxxxxx +2-4 z: zqzv +1-4 m: fnwm +2-3 j: jqvd +10-12 h: ghhhhhjhhchg +14-15 v: vvtvvvvvvvvvvvv +4-6 f: ffffff +8-20 g: tgghjfglrzggggcxhcgg +9-11 p: pvpmzppppkpk +5-18 x: xxxxnxxxxxxxxxxxwlzx +10-11 m: mgdmrfchqwmfmrlnq +7-8 g: gggggzxs +4-6 n: vjnchzknzbvnvn +17-18 p: pppppppppppkppppjp +6-8 d: dddddfddld +1-4 r: brrr +2-10 m: mzmmhqmmmmkmmwm +8-15 f: cfjwxkgmfkxdmwxf +3-8 c: djskjzcmwjcz +2-3 k: hkckkjbztrggrffvxwm +11-13 d: krddnddddrddgdddd +4-5 f: zjsndf +4-5 r: rrrgl +1-2 z: tsbn +1-11 s: sssdwtjssssskkszms +6-16 x: xfxxtxxxxxxdxzxmxx +5-13 m: mmmmmmmmmmmmmvm +2-4 z: zdzj +3-4 d: dddd +3-4 n: nnmnkv +14-16 d: dfddddddddddtddddqdd +5-7 n: jnnnnnnj +8-16 q: qqltjqqqqqqqsqqfq +10-14 s: sssxsmsssvqjssss +6-7 w: wwwwjwwxwd +2-5 m: mzqcndqmnmmgwmsspm +9-10 k: tkkkkrkkkhkk +3-5 r: rxrrrrr +7-11 c: glfcdqrcnfhc +8-9 r: rrrrrrrjd +7-8 d: ddddddlk +2-7 j: pjsmjjr +2-4 x: txxx +13-15 f: ddkhqfnbcmtwvbf +7-11 n: nnnnnnnnnnvn +7-9 m: jmmmlgmmthlrm +8-13 w: wwwwkwwgwwwwfrwww +2-6 d: drdrhn +8-10 k: lnkfrvgkzkchq +4-7 z: lxjzzzzhzprrzzzpcwj +1-2 s: lssc +2-3 n: jmkcngpn +3-9 x: xxmzxnxxxx +3-12 v: nqwshwqgfnwvwvnf +5-8 m: zmmmmmmmqlkprv +1-5 q: qpqrqwqsvpjqf +14-18 q: qqqqqqqtqqqcqqqqqq +13-16 v: vvvvhvvvvvvvrvxdv +2-6 r: rrlrrrk +6-8 r: hmsrxsrkprdrrrl +14-16 s: sssssslssgswssssss +3-11 t: ctttvsnfcstzktktb +1-11 c: gwfbddphwnqcmf +3-18 h: hhhhhhwhhhhhhhhhhs +7-9 c: cjjcrtpvctccfcc +6-14 f: fffffgfffffffff +8-15 z: zzzzzzzzzzzzzzdz +9-16 d: ddddbdddhddddqpd +1-2 q: qffc +3-5 l: grcsjln +12-13 q: qqqqqqqqqqqqq +4-5 q: qqqlk +1-3 w: wwwx +3-4 w: kwwf +5-15 m: pkwmgmmxspzxhmmrmp +5-18 t: ttfthsbwntpcnttmwtc +14-15 p: pjpjwppkpxpqkpf +1-3 n: nnnn +8-9 j: jjjjjjjbxj +4-6 w: gfhwfwwmfx +8-11 k: kkckkkknkkkk +13-14 m: mmmmmmmmmmmmsqmmm +2-4 s: tsrz +9-13 j: tjvjqpnjjjlkwjjljrj +3-4 f: xwfgf +2-7 h: rhxshbh +10-18 j: jjjjjjgbjjjjjjjjjjj +5-14 n: fnwnnnsnnnncnpnn +9-13 h: qhhlnhhhqhhhm +3-17 h: hhfgzkhhjhrbhwdcpbnh +2-4 c: qccrblqtcd +13-16 s: ssjssqssssqsxssw +10-15 n: nnnnnnnnnqnnnnf +2-3 m: nmtl +2-4 w: wqwdt +4-7 v: vvvvvvvvvvv +5-6 w: wbctwwwgj +4-6 q: qqqttqzzwsxp +2-7 r: rcrrrrrr +10-12 d: sdmddcfdddzvdddddq +1-15 f: ffffffffffffffffff +3-7 r: rrwddcjgr +2-11 t: tttttgttttttt +3-6 n: nhxgnqnnfs +1-3 t: pqtwt +8-17 r: rrrrrrrrrrrrrrrrrrrr +3-16 t: tktnpjtcthrhtqltq +5-6 h: kcmkkqdrbhhxm +3-4 l: llll +1-14 g: gggdgrvjtqfgpk +5-8 p: ppppplwcpp +4-7 d: ddddtdmdd +1-7 q: qqvxrqq +8-10 v: pvvvgkqrvvgnvlvv +17-19 g: sdgghgnggggggfbmggp +6-8 x: rvjknxlx +13-14 r: rrrrrrrrrrrrrb +3-10 b: zbkmbbbbbb +4-6 d: kdtbdmkd +8-12 m: mmzmmmmmcxmmh +7-8 n: gspnbfnp +13-14 l: llllllllllllnf +4-5 b: rzbbbxblvbwbrbbbx +3-5 x: bxgrcxxrk +2-4 j: jjjh +11-13 r: rrrrrrrrrfrrrrrrr +4-7 q: mwqqfqqqnwqwq +2-3 g: sghvhggvv +4-5 k: kkkkk +11-12 s: ssssssskssgss +16-17 g: dcgqnwtptvvlfkdgg +4-5 v: vvvqc +2-6 s: xsksrmrrd +7-8 w: swwwwwfnww +5-6 m: hmgchm +6-8 m: mmmglzmmmhfnfqk +2-5 c: bnjknt +2-3 x: lxxj +1-4 g: gqgpzgtj +3-12 c: cngsrcvcjccxgcc +2-11 z: zpzzzzzzzzzzz +6-7 s: ctsxgslsjbstspgsl +1-2 v: vnqs +4-5 n: rnnwcnfl +14-17 v: kvvvvvvvkvvvvbnvw +5-6 h: hhhchhh +1-7 d: vmcdddj +14-16 n: snnnnnnnnnnmnnnhn +11-16 h: hhhhhhvhdhrhhghn +3-5 k: lckkknk +1-12 t: tcttbpgtdwdxwddrxv +1-13 x: jxxxxxxxxxxxfx +11-12 l: llllflllllll +11-14 p: qpphckzdppkjxz +3-16 d: nfngxfjxwdpjvjcds +4-5 b: xkbmb +11-12 s: sssssssssshs +15-17 t: tttttttttttwttttt +14-15 x: xxxxxxxxxxxcxxgm +3-5 t: wxlttc +10-11 x: xxxxxxxxxtk +9-12 h: hhhhhhhhdhhhh +5-20 d: smdvdkdbqbnsdssfhdnd +16-17 d: ddddddddddddddsvtddl +6-11 v: kvvvvvvmvvdv +2-5 r: nrrgr +1-4 b: bbbc +8-10 p: ppppptjpspkpppp +7-10 w: pjhswvhdjqx +11-13 c: cfcfccbcctgnccccvcc +8-14 t: tttttttttgtttttts +1-4 c: fcccc +4-6 v: tvfvvvqvlkrpxkvvhztr +3-6 v: vvdvvbv +13-15 p: pwppppppppppppp +1-2 v: pwbr +15-18 r: xrrrbrrrgrpbrprrqrqr +2-4 g: zgggp diff --git a/data/day3.expected b/data/day3.expected new file mode 100644 index 0000000..f1ebfd9 --- /dev/null +++ b/data/day3.expected @@ -0,0 +1,2 @@ +205 +3952146825 diff --git a/data/day3.input b/data/day3.input new file mode 100644 index 0000000..6333a60 --- /dev/null +++ b/data/day3.input @@ -0,0 +1,323 @@ +..#...##...###.........#..#..#. +#.###........#..##.#......#...# +#.#.###..#.#..#.#............#. +.##............#......#...#.#.. +..#..#.....##..##..##.......... +...#...........###.#.##........ +....#.#...#..#..##............# +....#....##...##..##........#.. +.#..#..#....#...#..##.....##... +.#.###..#......####........##.. +..#...###....#......#.....##.## +..#...#.......#......#..##....# +#...##....#.#..#.......#....#.. +.#......#..#...........#....##. +.##.#......#.#.#.....##........ +.....#.................#.#..#.# +....#..#........##......#..#.#. +..#...#..##.......#..##...#..#. +..#.......#.............#.#.... +.#.................#.........#. +..#..#.#.#.#............##.#..# +.#.#.##.#.....#.....#..#......# +..#.#..#.#..........##........# +.........#...#.....#.#...#####. +##..#.....##.##........#...##.. +.#.....#....##.#..#....##...##. +.##.....#.#....#.#.....#......# +.....#..#.##.....#.#....#.#..## +#......##..##....##...###..#... +.......#..#...........#......#. +#...#......#........#..#....... +##..#.....##.....#...#...#....# +.###..##..#.#........#..#.#.... +#.#...#...#......##........#.#. +......#....#.#........##...#..# +.#.....#..#.#.....#......##.... +.....#.....#.#.#....###.....#.. +#.......##.#......#.#.#....###. +.......#..#..#...#.#.##........ +.#......##..#.........###..#... +....#..##.......##.###...###... +.##............#..#.##.....#.## +..##.#.......##....#.......##.# +#..###............#.#...#...#.# +...##.#.#.#..#.##........#.#... +.#.....#...##.#..###..##.##...# +..............#.#.#.........#.. +.....#...........#.#...#....#.. +.....#...##.##.#....#.###..#... +#..###.........#......#.#.#.... +.....#..#...##...###.#....#.... +#..........#.#.#....#..#......# +###...................#......#. +........####......#.#.......... +.......#.....#...#.......#...#. +.....#.....................#... +...#.#...#...#...........#..... +..#.........#...#....###..#.... +.....#.#..##......##........##. +..#.............#............#. +.#....##.......#..#............ +.#............#.#..#.##....#... +.####...##.#....#.....#...#.... +##..#....#.#.#...........#..#.# +...#..#...........#...#..#....# +.....##.....#..#...#.........#. +...##........#....##........#.. +.##.#...#...#..#.....#....##.#. +#.#...#.#.#.#.#..#....#....#... +#..#.#...#..#........#....#.#.. +....#.#.....#......##...#....#. +.###.##...#....##.#...###..#..# +###..#...##..#......#.........# +..#.#......##.......#.....#...# +..#...#........#.........#.#... +#....#..#.........###.#......## +...#..#....#...#.......##.#.#.. +....#.......#....###...##.#.... +..#.....#.#.....###..#####....# +##......#....#.....##..#..#...# +#...........#..#..#....#....#.. +.#...#.##.#.#.#....#......#..#. +.......#.#....#....#...#.#..#.. +..#.#..#.##..##...##..#..#..... +...##.##.................#.#... +.....#...#......##.#....#.....# +......#..##.#..#.#.........#... +.............##.#......#....... +..#.#.....#...#.#.....#..#..... +.........#..#.#......#..#...... +#..#.#.##..........#.##......## +......#.......#.....#..#.#...#. +.#....#....#.#.....#.......#... +#..#..##..................#.... +............#...........##.#... +####...#..##.#....#.##..#...... +#...#...#.....#.#...#.#........ +.......##.........#.....#.....# +.....#...........##......#.#### +.##....#.#.##......###.#.##.... +........#.####.......#.#...#... +.#.#...##.#.#.#.........##..... +....#............###.##....#... +...##........##.#...#....#..### +..#.#.........#....##.#........ +..#..##..#...##..#.##...#.....# +.#......#..#..#.........#...... +..#........##.#......#.....#... +.##.......#....#.#......#...... +#........#....#.####...#.#..... +##......#.............#....###. +..#....####.#.#.#.#...##......# +#.#.#.....#...#.......#...##... +........#...#....#..#......#.#. +#..#...#.#.##.....#.#....#....# +#...#....#......#.........##.## +..##.#..##............#........ +#.........####.........#....... +#.##.........#..##....#.#.#.#.. +.###......##..#.#.....#.#...##. +...#.........#.#...##.##....#.. +#..#......#....##..#.#...#...## +...#.......#.#.#.....#..##...#. +....................###........ +#...........###......#.#...##.# +.................#.#...###....# +...#..###..#.##...#..#....##... +###..#..#.#...#.....#.#.......# +.........#..#.#.....#.........# +.##..#.........#.#.....##...... +.....#..........#.#.##....#.... +........#.##.....#...##...#.... +#.#.#...#......##....#.###..... +.#.##.....##.....#....#.##.#.## +.#...#.....##.#.##....#.....#.# +...#.....#........#............ +##...####..#....#..##...#...... +#.......#...#.#...#........#..# +......#.....#....#..#..#.#..... +..............##.....#.##....## +.#..##.........###..#.......... +......#......#............#..#. +#.....###...###..........#..... +...###...........#....##..#.... +.....................#...#.##.. +###....#.#....#...#....#.#..##. +..#.............#.#....#..#.#.. +.......#..###....#...#...#...#. +.##..#....##..............##... +...#...#..#..#.##.#....##...#.. +#..#....##......#....###..####. +.##...#.#....#..#..#....#....#. +.#.##..#..#.........#.#......## +#..#.................#.....#... +..#............#........#...#.. +##.##.......#.#....#..#....##.# +..##...#.#.....#......#........ +......#.##.........##...#...... +......##.#......#.##....##.#..# +.#.#......####.#.#.#.#..#...... +..#.#....#...###....#.#...###.. +.#.#...#....##..###.#..#....... +..#.....##..#............#..#.# +.#...#....#.....#....#..#.#.#.. +..#....#..#......##...##......# +....#.......#.##.#.........#..# +#............#...##.....#..##.. +......#..#..........#.#..#..... +...........#.#..#...##.#...#..# +.........###..#......##.###.#.. +.....#....#......#...#....##... +..#.......#..#.#.#......#...... +.#....#.....#.#.#.##...#....##. +....#.##.##.......#..#.....#... +.#.....#......#.......#..#..... +....###.....##.....##..#.#...#. +#.......#.#....#.#.#....#...... +#...#..#.#......#...##.#....... +....##.##....#..#.......#..#.#. +.#.##.#.#..#.....#.#.......##.. +..#..#..#..#.###............... +#.#......##....##.#.#.....#.#.. +..##...#.........#.#..#.##..#.. +.........####...#.....##.#..... +..#...................#.###.... +..#.....#..#....#..#........... +.....###.#.........#.#......... +#..#..#........#..#......#..#.. +###..##...#.......#........#.#. +.#.#.#.###.#............##..... +#..............#......#....#.## +.#...#..###...###.#..#.#....... +.###....##.#.......#.#.....###. +.##.....#.#.................... +#..#.....#.....#...#.....#..##. +#.#....##..#......##..#...##..# +...........#....#..#.##.##....# +......#.......##....#.#....#.#. +###..#.#..........#.......#.#.. +..#.#..##....##............##.. +..#.....#..#....###............ +.#...#...##...#..#..#..#.#....# +...#....#........#............. +#.#......#.#.....##..........#. +....#..#...............#...##.. +........#..#....#..#..#..##.... +....#......#.#.#...#.......#.## +.#.....#.#.#........###....#... +.#..#.......#...........#...#.. +#.#.#####..#......#...#.#.###.. +...##...#.#.....#..#...#...#... +..#....#.....#..#....#.#.....#. +....#.......#.....#........###. +..##..........#...###.......#.. +#.#.##..#........##...#.#...... +....##...#......#..........#.#. +#.......#..#.##.............#.. +......#..........#...#....#...# +#.#.....#.##.#.#.............## +#...#.........##.##......#.##.. +.........##.....#....#...##..#. +#.#...##.#...#.....##...#..#..# +......##.#.....#.#.....#.##.... +....#.............#...#.......# +.#......##...#.#...#.##........ +...#..#..#...........#..#..#.#. +.#...#...........#.#.##....#... +..#...#...#.#..#....#..#..#.... +..###..##..#..#.........#.#..#. +....#.##.#...#.......#...#..... +.#.#.................#.......#. +.#..#.....#.##...#.#.....#...#. +.#.......#...#....#.......#.... +###....##....#..#...#.#..##.... +.........#.#.#.#...###.......## +....##.......#......#......##.. +......##.###.#..#...#.#.#.#.... +.#.###.#.#......#.#.......##... +.#.....##..#.#.....#...#.##.... +.#..##.#.....#........###...#.# +.......#.#...........#........# +..........#...##..##.......#.#. +...#..#..#...#....#.#......#.#. +....#...#..#....#....#.#.##.... +...#.#...##...#...##..#........ +..#........#...##.#...##.#.#.#. +...##.#..#.......###.#.#.#..... +..##......#.#.#.........###.#.. +.......#.#...##...#.#.......#.# +.#....##..#..#....#..#...#..... +.#....#.#.......#..#..##.#....# +#.#..##..#.#............#....#. +##..#....#.##.#....#...#..##... +.###.#.#..#...##........###.##. +...........#..#...#..#.#..###.. +.#.#.#...#....#...##.##........ +.....###.........#......#####.. +#.#.#.....#....#..#...#.#.#.#.. +..##.....#..#..#.#.#...#....#.# +......#.##..##..#.#.#.......#.. +...#.#..###.........#........#. +......#.##..####...#...#..#...# +#.......#.........#....#....### +#......#...#........#.##....### +.#.#..............#...#...###.# +.#....####...#..##.###.....#... +.......#......#..#...#..##.#... +...........#.......#........... +..............#...#.#.#.#...##. +.###.....##.#.....#..........#. +##.##......#....##..#.....###.# +#.......#...##...#....##...#... +##.#.##...#....#....#....#..... +.....####...........#.#......#. +......#...#....#..#......#..... +...#...##..........#.......##.# +.#....#..........#.####........ +...##...#..#...##........##..#. +.........##....#...##..#.##.#.. +##.#.....#.......#.....#....... +#..#....#.##.#........#........ +#.#...#...##........#.#.....### +....#...................#.#.#.. +.......#..#.#...#....#.##.#.... +....##...###.#.#.##...#...#.... +.#....#....#...##.#......#...#. +............##..#.#.#........#. +...#....#.....#......#........# +...#.#.....#.##.....#....#...#. +.....#..##.......#.##.......#.# +........##................#.... +....#..###...##.#..#...#......# +.#.#.......#.......#....##.#..# +..#........#............#...... +..##.......#..#..#....#....#..# +#...###.......#.##...#......... +.....#...#...#..##..#....#..#.. +.##.#..#...##.........###.#.... +..#.#..#...#...####.#...#.#.#.# +#....#..###.....#......#.##..## +##......#...##...###......#.##. +...........#.....##...#...#...# +..#..#.#.....#..#.....###...#.. +.............#..........###...# +....##............#....###.##.# +..##.#..##.....#.#.........#.#. +....#.#...........####......... +.##.###.##.#.#......#.##.#.#... +.....##.........#..#.......#... +...........#.........#....###.. +...#.#..#..........#.....#..#.. +.#..###.......##........#.#.... +.#...###.....#..#.#..#...#.##.. +##...###.#.#....#......#...#..# +....#.......#..#..##..#.#...... +#.#......#.##..#......#..#....# +....#..#..#.....#.#......#..#.. +..#...###......##.............# +..#....####...##.#...##.#...... +.....#.......###............... +.......#...#.#.......#.#.##.### +.#.#...#.....#...##.........#.. +..#..........#..#.........##... diff --git a/data/day4.expected b/data/day4.expected new file mode 100644 index 0000000..2e305eb --- /dev/null +++ b/data/day4.expected @@ -0,0 +1,2 @@ +202 +137 diff --git a/data/day4.input b/data/day4.input new file mode 100644 index 0000000..5b0a490 --- /dev/null +++ b/data/day4.input @@ -0,0 +1,1068 @@ +hgt:159cm +pid:561068005 eyr:2025 iyr:2017 cid:139 ecl:blu hcl:#ceb3a1 +byr:1940 + +iyr:2014 +byr:1986 pid:960679613 eyr:2025 ecl:hzl + +cid:211 ecl:blu hcl:#7d3b0c iyr:2011 pid:006632702 +byr:1982 eyr:2023 hgt:68in + +hcl:#341e13 hgt:192 iyr:2028 +ecl:utc +eyr:2027 byr:1979 pid:653515689 + +eyr:2026 hgt:161cm ecl:#1850b8 +pid:298779494 hcl:b2114e iyr:1953 + +hgt:155cm +hcl:#a97842 iyr:2019 +ecl:gry byr:1939 +pid:935099157 eyr:2027 + +eyr:2024 ecl:grn +pid:102781360 byr:1962 iyr:2013 hcl:#602927 + +hcl:#602927 hgt:152cm +pid:659074205 ecl:brn iyr:2014 byr:1951 + +iyr:2025 hcl:8464b2 byr:2030 pid:976783295 hgt:155cm ecl:dne + +hcl:#ceb3a1 byr:1984 pid:863872932 +iyr:2016 hgt:190cm ecl:grn eyr:2026 + +eyr:2030 hcl:#efcc98 +cid:166 pid:894418497 ecl:hzl +hgt:189cm iyr:2014 byr:1966 + +byr:1937 iyr:2017 eyr:2028 +ecl:amb +hgt:165cm cid:84 +pid:435289747 + +hgt:166cm hcl:#6b5442 byr:1953 eyr:2023 iyr:2010 +pid:948173962 ecl:amb + +byr:1962 cid:276 iyr:2010 hgt:183cm pid:097154397 +hcl:#341e13 eyr:2024 + +hgt:61cm +byr:1942 ecl:xry hcl:#05e97d pid:42823283 +eyr:2024 + +hcl:#888785 +pid:960190685 byr:1967 iyr:2012 cid:99 eyr:2021 +hgt:76in + +eyr:2025 byr:1958 hcl:#18171d iyr:2012 pid:759427419 +ecl:hzl + +ecl:#829d2e +cid:60 iyr:2028 +byr:1979 hcl:caff12 eyr:1931 pid:#fd7aab hgt:184cm + +cid:251 byr:1981 pid:625590775 +hcl:#a97842 eyr:2020 +ecl:amb hgt:178cm +iyr:2016 + +pid:026891577 ecl:amb byr:2014 +hcl:bc419f eyr:2026 +iyr:1948 +hgt:123 cid:67 + +ecl:hzl +hgt:152cm hcl:#efcc98 +byr:1993 +eyr:2025 + +ecl:grn iyr:1924 eyr:2039 pid:8441306576 +hgt:163in +byr:2012 +cid:193 + +ecl:#78f4fa +eyr:2020 hgt:165cm byr:1965 pid:987868257 iyr:2012 +cid:331 hcl:z + +ecl:brn cid:289 pid:868305933 +byr:1936 hgt:174cm iyr:2016 hcl:#623a2f eyr:2021 + +hcl:#2a6308 eyr:2027 hgt:154cm ecl:grn +iyr:2012 +byr:1940 +pid:675209536 + +pid:186cm eyr:2022 +hcl:#fffffd hgt:151cm iyr:2016 ecl:hzl byr:1954 + +ecl:grn hgt:177cm pid:725111435 byr:1927 eyr:2027 cid:154 iyr:2010 hcl:#623a2f + +pid:801551597 cid:55 eyr:2028 hgt:193cm hcl:#a97842 +ecl:hzl byr:1942 iyr:2015 + +cid:176 eyr:2030 iyr:2018 byr:1932 hgt:162cm pid:896180324 ecl:amb hcl:#6b5442 + +cid:239 ecl:grn iyr:1953 pid:9500162195 +byr:1998 +hgt:182cm hcl:#733820 eyr:1966 + +eyr:2030 +pid:919325322 hcl:z iyr:2024 hgt:71cm ecl:#1e935c byr:2026 + +iyr:2012 +ecl:gry eyr:2025 hcl:#602927 hgt:168cm byr:1925 +pid:303312675 + +hgt:150in iyr:2014 ecl:gry eyr:2029 +byr:2029 +cid:228 + +ecl:#9524e0 byr:2026 hcl:z +iyr:2023 +cid:325 +eyr:1996 +pid:6172325031 hgt:191 + +ecl:#689e88 +eyr:1937 +cid:75 byr:1963 iyr:2024 +pid:4980937 hgt:156cm +hcl:#fffffd + +pid:719820090 iyr:2020 hgt:165cm +hcl:#ceb3a1 byr:1997 ecl:blu eyr:2027 + +eyr:2025 +pid:241723456 +iyr:2011 +byr:1953 cid:230 hgt:185cm hcl:#efcc98 ecl:oth + +byr:1936 hcl:#623a2f +iyr:2010 hgt:156cm +eyr:2022 +pid:064253102 ecl:brn + +cid:332 hcl:#a97842 eyr:2026 ecl:gry iyr:2019 pid:#4e4a46 +hgt:150cm +byr:1987 + +ecl:grn hgt:67in +iyr:2012 +byr:1953 pid:910793005 hcl:#341e13 eyr:2020 + +iyr:2024 eyr:2030 cid:204 hgt:166cm pid:218828260 +hcl:701b48 ecl:gry byr:1930 + +hgt:162cm pid:024916763 eyr:2026 ecl:hzl +hcl:#efcc98 iyr:2019 byr:1921 + +eyr:2025 +iyr:2017 ecl:hzl hcl:#fffffd hgt:167cm pid:779214145 + +eyr:2022 +hcl:#6b5442 byr:1941 ecl:grn hgt:169cm iyr:2014 +pid:610328167 + +iyr:2026 cid:179 pid:193cm +ecl:#deb37c +byr:1958 eyr:2024 +hgt:185cm + +pid:907508207 ecl:oth byr:1941 iyr:2017 hcl:#341e13 +eyr:2030 hgt:186cm + +iyr:2018 byr:1925 +ecl:brn eyr:2023 pid:903196231 +hgt:159cm +hcl:#a97842 cid:323 + +hgt:185cm ecl:hzl eyr:2022 iyr:2020 pid:572453155 hcl:#fffffd + +hcl:#a97842 ecl:blu pid:#ab3597 eyr:1964 byr:2030 +hgt:181cm iyr:2018 + +ecl:blu +hcl:#602927 +cid:234 +hgt:68in eyr:2021 pid:257420555 iyr:2014 byr:1972 + +hcl:#7d3b0c eyr:2022 +hgt:152cm byr:1974 +iyr:2017 +pid:353127736 +ecl:gry + +iyr:2018 eyr:2028 byr:1924 hcl:#69929e ecl:gry +hgt:68in pid:942207567 + +eyr:2028 cid:90 +hgt:185cm +ecl:amb byr:1990 pid:947625812 hcl:#623a2f iyr:2011 + +eyr:2023 byr:1996 hgt:175cm +iyr:2012 +hcl:#866857 ecl:blu +pid:437669135 + +byr:1937 eyr:2030 +hcl:#866857 iyr:2017 pid:513963895 hgt:157cm +ecl:grn + +iyr:2016 hcl:#623a2f eyr:2025 +pid:559150893 hgt:176cm +byr:1920 ecl:amb + +byr:1982 +eyr:1961 ecl:hzl +hgt:167cm hcl:#888785 iyr:2011 cid:261 pid:709006236 + +pid:307171649 byr:1935 hcl:#888785 hgt:182cm ecl:brn eyr:2030 iyr:2013 +cid:256 + +ecl:hzl +eyr:1998 +byr:2009 +hgt:153cm iyr:2010 +hcl:#888785 pid:140487128 + +iyr:2019 cid:78 +hgt:169cm +hcl:#888785 ecl:hzl byr:1997 eyr:2028 + +hgt:182in eyr:2025 hcl:#cfa07d ecl:#27a1c9 byr:2005 pid:8143047758 + +byr:2013 hgt:178in +eyr:1933 +pid:829007679 iyr:2016 hcl:#783308 +ecl:grn + +cid:267 byr:1930 pid:949963673 eyr:2026 +ecl:grn iyr:2020 +hgt:188cm hcl:#6b5442 + +eyr:2022 pid:254482159 +byr:1935 iyr:2017 +ecl:hzl +hcl:#b6652a +hgt:165cm + +hcl:109d15 hgt:72cm +cid:258 byr:2023 eyr:1987 ecl:grt iyr:2022 + +byr:1969 +ecl:oth hgt:151cm +pid:578662559 +eyr:2024 iyr:2015 hcl:#602927 +cid:343 + +iyr:2011 byr:1989 +ecl:brn eyr:2029 pid:123354233 +hcl:#efcc98 + +hcl:#a97842 iyr:2010 pid:558586208 +eyr:2029 byr:2002 ecl:amb +cid:225 hgt:152cm + +eyr:2005 byr:2024 iyr:1924 ecl:gmt cid:186 pid:#886ae9 +hcl:3cf4cd hgt:74cm + +ecl:gry +eyr:2029 +iyr:2013 +hgt:178cm hcl:#7d3b0c + +byr:1970 hcl:#6b5442 hgt:155cm iyr:2020 ecl:hzl +pid:698123164 eyr:2030 cid:185 + +hcl:#6b5442 ecl:hzl +iyr:2014 cid:324 pid:149063285 hgt:64in eyr:2023 +byr:1949 + +hcl:#866857 +eyr:2025 +iyr:2012 cid:116 hgt:185cm +pid:416329937 +ecl:grn byr:1962 + +iyr:2020 cid:55 byr:1985 hcl:#733820 pid:237883033 eyr:2020 ecl:blu + +iyr:2020 hgt:71in +ecl:hzl byr:1960 cid:53 hcl:#888785 pid:590574853 eyr:2024 + +pid:834729501 iyr:2019 hgt:72in byr:1977 +hcl:#604861 ecl:oth eyr:2024 + +pid:111536282 ecl:gry +hgt:69in eyr:2021 byr:1940 +iyr:2019 +hcl:#ceb3a1 + +hgt:186cm pid:045765056 ecl:gry byr:1958 iyr:2012 +eyr:2025 hcl:#cfa07d + +hgt:61in eyr:2023 pid:4189258985 ecl:brn iyr:1995 +hcl:#602927 byr:2017 + +byr:1984 hcl:#866857 +iyr:2013 pid:927074474 hgt:168cm +eyr:2021 ecl:oth + +hgt:186cm +pid:948677443 iyr:2014 hcl:#866857 byr:1968 ecl:amb eyr:2027 + +eyr:2028 cid:260 hcl:#623a2f pid:500330326 +iyr:2018 hgt:170cm +ecl:gry +byr:1960 + +hgt:71cm +pid:6209572 byr:1927 iyr:2011 ecl:utc hcl:3bc47a eyr:1984 + +hgt:164cm cid:160 iyr:2010 +byr:1922 eyr:2024 hcl:#c0946f ecl:gry pid:867476938 + +cid:316 +iyr:2015 hcl:#b6652a hgt:72cm pid:#c37dbf byr:2022 eyr:2036 ecl:#8bd8f4 + +iyr:2016 hgt:172cm +pid:482664712 ecl:hzl eyr:2024 hcl:#602927 byr:1945 + +eyr:2029 pid:883381915 +hgt:174cm byr:1937 hcl:#fffffd ecl:gry cid:91 + +eyr:2029 pid:302832265 hcl:#ceb3a1 byr:2010 +hgt:64 iyr:1960 + +hgt:170cm eyr:2030 pid:846949920 +hcl:#ceb3a1 +ecl:hzl iyr:2016 byr:1945 + +hcl:#efcc98 +pid:406029852 eyr:2023 byr:1981 ecl:blu iyr:2013 + +pid:788563693 hcl:#a97842 hgt:172cm eyr:2022 ecl:brn iyr:2010 byr:2002 + +iyr:2013 +hgt:60cm hcl:#7d3b0c pid:6594060725 ecl:#46a7d7 eyr:2023 byr:1995 + +cid:313 byr:1964 pid:102442749 eyr:2020 +hgt:167cm +hcl:#341e13 + +ecl:grn hgt:163cm pid:405504213 cid:349 hcl:#733820 eyr:2029 iyr:2011 + +ecl:hzl pid:470689685 iyr:2015 byr:1980 hgt:180cm eyr:2027 + +eyr:2023 iyr:2013 +hgt:189cm hcl:#866857 byr:1981 +cid:313 +ecl:brn pid:386584267 + +iyr:2011 +hcl:#7d3b0c +eyr:2027 +ecl:gry byr:1931 +hgt:71in +pid:435568613 + +eyr:2021 +pid:443386140 hgt:192cm iyr:2015 byr:1974 + +byr:1989 ecl:oth iyr:2011 +eyr:2027 +pid:761106563 hcl:#efcc98 +hgt:60in + +byr:1933 ecl:brn pid:607926472 +hcl:#cfa07d eyr:2026 +iyr:2010 + +ecl:hzl eyr:2027 hgt:175cm +pid:68527368 +byr:1980 iyr:2017 hcl:#341e13 + +hgt:159cm pid:6199921925 iyr:1920 byr:1950 ecl:amb cid:229 eyr:2034 + +pid:060780170 ecl:gmt +eyr:1961 hgt:184cm hcl:#a97842 byr:2007 + +eyr:2025 byr:1970 ecl:brn hgt:183cm pid:423232940 hcl:#cfa07d cid:283 + +hcl:#18171d hgt:191cm +byr:1951 +eyr:2029 +pid:627632195 cid:268 iyr:2012 + +eyr:2025 iyr:2019 hgt:163cm +ecl:oth pid:967756889 +byr:1938 + +hgt:160cm iyr:2015 +ecl:#9cf598 pid:297446459 cid:123 byr:1968 eyr:1970 +hcl:#efcc98 + +ecl:hzl pid:311990731 hgt:171cm hcl:#602927 byr:1978 +eyr:2026 cid:254 iyr:2014 + +hcl:#8e0dfc +pid:961997362 byr:1950 eyr:2027 hgt:184in ecl:blu iyr:2015 cid:266 + +pid:953859016 iyr:2018 hcl:#341e13 ecl:grn cid:61 +hgt:192cm +eyr:2022 byr:1920 + +eyr:2026 pid:149020634 byr:1942 iyr:2021 hcl:#6b5442 +ecl:oth hgt:176in + +eyr:2025 hgt:176cm +iyr:2020 ecl:oth hcl:#efcc98 pid:196082064 byr:2002 + +hgt:172in hcl:z +pid:#b454a0 +ecl:#d7a600 +byr:1977 +eyr:2035 iyr:2014 + +cid:254 iyr:2020 +pid:716596533 +hcl:#341e13 byr:1947 +hgt:150cm ecl:hzl eyr:2028 + +iyr:2019 pid:190601635 byr:1922 hcl:#18171d hgt:71in ecl:brn eyr:2021 + +byr:1938 iyr:2019 eyr:2028 pid:568504071 hcl:#efcc98 hgt:178cm ecl:amb + +pid:921417345 eyr:2020 ecl:brn hcl:#c0946f +hgt:168cm +byr:1983 cid:170 +iyr:2018 + +iyr:2020 cid:212 eyr:2002 pid:61850316 hgt:148 hcl:#b6652a +byr:2024 ecl:grn + +hcl:z eyr:1985 iyr:2015 hgt:72cm ecl:brn pid:599880521 + +pid:166cm hcl:z +hgt:165 eyr:2036 +cid:152 iyr:1943 +ecl:zzz + +eyr:2021 iyr:2014 +hgt:156cm +pid:654181902 ecl:amb +byr:1946 +hcl:#733820 + +iyr:2019 +hgt:189cm byr:1940 pid:419593669 ecl:amb +cid:149 hcl:#fffffd eyr:2020 + +hgt:172cm +ecl:lzr pid:788208394 hcl:#341e13 cid:183 +iyr:2020 eyr:2027 byr:1988 + +byr:2030 ecl:#d82c54 iyr:2014 +hcl:#be9be7 eyr:2027 pid:1291285950 hgt:61cm + +ecl:hzl +hcl:#a97842 hgt:186cm byr:1992 eyr:2022 + +iyr:2017 hgt:191cm pid:097984693 eyr:2025 byr:1963 +cid:333 +ecl:blu + +ecl:zzz pid:425594420 +byr:1983 +hcl:z +eyr:2028 hgt:184cm +iyr:1937 + +hgt:167cm +eyr:2025 hcl:#623a2f pid:575911832 +cid:305 byr:1939 iyr:2020 + +iyr:2015 hgt:179cm hcl:d678e0 byr:2030 pid:284187009 eyr:1977 cid:285 + +pid:405789549 byr:1982 eyr:2020 hcl:#623a2f +hgt:161cm iyr:2013 ecl:amb + +pid:775860836 hgt:184cm hcl:#fffffd ecl:amb byr:1930 eyr:2022 iyr:2016 + +iyr:2020 byr:1979 +eyr:2024 hgt:171cm +ecl:brn hcl:#ceb3a1 pid:853915000 + +iyr:2015 pid:244459567 +hcl:#18171d cid:224 byr:1931 eyr:2022 hgt:169cm ecl:gry + +iyr:2017 cid:308 eyr:2026 ecl:blu hgt:59in byr:1953 +hcl:#ceb3a1 pid:466915764 + +hcl:#7d3b0c +byr:1940 iyr:2015 +eyr:2020 pid:950614940 ecl:amb +hgt:179cm + +byr:2010 +cid:106 eyr:2022 +iyr:2020 pid:336057617 ecl:brn hcl:f13e26 +hgt:182cm + +byr:1981 iyr:2017 hgt:152cm +hcl:#fffffd +eyr:2024 ecl:gry + +cid:216 hgt:193cm +byr:1975 ecl:oth pid:684529055 iyr:2018 eyr:2020 hcl:#18171d + +hgt:150cm +eyr:2028 +hcl:#cfa07d ecl:grn +iyr:2018 byr:1951 pid:749102509 + +pid:937451204 hcl:#341e13 iyr:2020 +hgt:171cm eyr:2021 +byr:1941 +ecl:hzl + +cid:69 +iyr:2014 eyr:2022 pid:174789690 hgt:157cm byr:1961 ecl:hzl +hcl:#a97842 + +hcl:#7d3b0c pid:658134059 hgt:65in byr:2005 ecl:#2dcb50 iyr:2012 +eyr:2030 + +eyr:2027 +hgt:68in ecl:oth hcl:#888785 iyr:2016 pid:181577931 + +iyr:1997 byr:1994 +hgt:189cm +ecl:gry pid:564165515 +eyr:2029 hcl:#ceb3a1 + +hcl:#602927 eyr:2024 +cid:130 +iyr:2015 ecl:blu +hgt:184cm byr:1996 +pid:897871188 + +ecl:oth hcl:#623a2f +iyr:2016 pid:012591439 byr:1937 eyr:2022 hgt:176cm + +eyr:2020 +byr:1965 +iyr:2013 hgt:193cm +hcl:#ceb3a1 +ecl:hzl pid:177120440 + +byr:1934 iyr:2015 hcl:#341e13 +pid:370860309 ecl:oth +eyr:2028 hgt:157cm + +ecl:brn +byr:2001 +iyr:2010 +eyr:2028 hcl:#866857 hgt:183cm pid:194361427 + +hgt:182cm pid:449667574 ecl:amb +byr:1958 iyr:2017 +hcl:#efcc98 + +iyr:2020 ecl:hzl eyr:2030 hgt:185cm byr:1969 hcl:#ceb3a1 pid:157651787 + +pid:893956434 eyr:2027 hgt:185cm hcl:#a97842 +byr:1944 ecl:oth + +byr:2011 +iyr:2018 +hcl:#623a2f hgt:159cm ecl:blu pid:174cm +eyr:2030 + +ecl:grt pid:520129782 eyr:2020 +byr:2020 hcl:z cid:50 iyr:2017 +hgt:156cm + +iyr:2015 +ecl:grn hcl:#83b224 eyr:2021 pid:554994156 hgt:179cm byr:1994 + +ecl:gry byr:1971 pid:772131254 +eyr:2027 cid:201 hcl:#602927 + +cid:125 +byr:1943 hgt:168cm ecl:hzl pid:418786991 +eyr:2020 iyr:2016 +hcl:#cfa07d + +pid:825704567 eyr:2032 byr:2024 +iyr:1926 +hcl:d31139 hgt:190in + +cid:243 hcl:#cfa07d byr:1951 ecl:oth pid:382615614 +iyr:2018 eyr:2030 hgt:64in + +byr:1925 hgt:187cm ecl:oth eyr:2023 hcl:#888785 + +eyr:2028 iyr:2013 ecl:brn byr:1923 cid:174 hcl:#b6652a hgt:154cm pid:274036240 + +ecl:brn hgt:183cm iyr:2016 +byr:1922 +hcl:#efcc98 eyr:2030 + +hgt:188cm +byr:1979 +ecl:amb +eyr:2025 hcl:#b6652a cid:130 +pid:646985829 iyr:2019 + +hgt:76cm hcl:z cid:112 ecl:zzz +pid:953385473 eyr:2020 +byr:1943 + +ecl:#12c807 +byr:1954 eyr:1934 hgt:73cm hcl:#ceb3a1 iyr:2015 pid:704621520 + +hgt:188cm hcl:#733820 eyr:2024 ecl:grn +iyr:2018 byr:1982 pid:522812862 + +hgt:68cm ecl:blu +byr:2023 pid:875418461 iyr:2021 eyr:2020 hcl:#623a2f + +byr:1967 +pid:313706535 ecl:amb hcl:#888785 +iyr:2012 +eyr:2026 + +eyr:2026 +pid:288363970 cid:70 byr:1932 hgt:157cm iyr:2016 ecl:hzl hcl:#ceb3a1 + +byr:1992 pid:539896055 +eyr:2023 +cid:189 hgt:70in ecl:oth iyr:2019 +hcl:#866857 + +hgt:158in +ecl:gry byr:2028 +eyr:2036 cid:188 +hcl:#cfa07d +pid:044279141 + +eyr:2024 hgt:170cm ecl:hzl +byr:1939 pid:851235247 iyr:2013 +hcl:#fffffd + +ecl:hzl hcl:#c0946f +hgt:167cm +eyr:2024 byr:1936 pid:463230636 cid:297 +iyr:2016 + +pid:291401545 ecl:grn hcl:#b6652a iyr:2014 +hgt:185cm eyr:2025 byr:1947 + +eyr:2029 pid:612595763 +iyr:2018 ecl:gry +cid:290 +byr:1991 hcl:#733820 +hgt:150cm + +hgt:151cm +pid:667532675 cid:134 +byr:1930 +hcl:#efcc98 iyr:2012 +ecl:oth + +ecl:gry +hcl:#888785 hgt:161cm +eyr:2023 +pid:467759498 cid:274 + +eyr:2023 byr:1956 hgt:188cm iyr:2014 hcl:#b6652a pid:382721925 ecl:brn + +byr:1947 ecl:gry eyr:2020 +pid:874004905 hcl:#602927 hgt:161cm iyr:2029 + +pid:164334257 +iyr:2014 cid:286 eyr:2020 +hcl:#733820 +ecl:gry byr:1959 hgt:165cm + +hgt:59in +pid:#5b1362 +eyr:2028 iyr:1980 hcl:z byr:2030 +ecl:utc + +pid:604128460 iyr:2016 byr:1952 hgt:152cm ecl:grn hcl:#7d3b0c eyr:2021 + +pid:7483106309 eyr:2005 hgt:158in byr:2024 iyr:1935 hcl:z +ecl:#158994 + +hcl:22207f eyr:1994 +cid:166 pid:#d8e64c ecl:utc +byr:1966 hgt:70cm +iyr:1980 + +iyr:2012 pid:045892410 hgt:70in ecl:dne hcl:1a323a byr:1920 eyr:2022 + +hcl:#18171d iyr:2019 eyr:2026 +hgt:191cm pid:514596186 cid:327 byr:1938 ecl:grn + +pid:904148746 hcl:#a97842 hgt:161cm +cid:181 +iyr:2012 eyr:2020 ecl:oth + +iyr:2028 +eyr:2034 +cid:276 pid:#0e7ee2 byr:2020 +hgt:63cm ecl:gry +hcl:z + +pid:4270554593 eyr:2031 ecl:lzr hgt:72cm +iyr:2027 hcl:ffc210 cid:132 +byr:2008 + +iyr:2018 pid:174cm cid:144 +ecl:#10b2ed byr:1931 eyr:2040 hcl:z hgt:68in + +pid:446746712 +iyr:1957 +ecl:oth cid:213 hgt:184cm byr:2008 hcl:z + +hcl:#7d3b0c iyr:2012 ecl:hzl +eyr:2023 pid:270148060 + +pid:832184923 +eyr:2023 hgt:180cm +byr:1965 ecl:hzl cid:189 hcl:#a97842 +iyr:2016 + +pid:688867083 +iyr:2011 hcl:#733820 cid:147 eyr:2021 +byr:1986 ecl:oth + +hgt:166in ecl:amb byr:2014 +pid:169cm hcl:#cfa07d iyr:1976 + +hgt:64in byr:1987 hcl:01f3d7 +pid:553206412 eyr:2027 ecl:grn cid:336 +iyr:2012 + +cid:336 +ecl:oth byr:1975 +pid:296100726 hcl:#6b5442 iyr:2016 hgt:180cm eyr:2029 + +hcl:#ceb3a1 hgt:181cm pid:364719801 byr:1922 eyr:2029 +iyr:2010 cid:346 ecl:gry + +hcl:#1c7f1d cid:205 +hgt:184cm +byr:1928 +pid:694275035 iyr:2018 ecl:blu eyr:2023 + +eyr:1970 +hcl:z byr:2001 +pid:9244596 iyr:2030 hgt:187in ecl:blu + +hgt:96 +byr:2030 ecl:zzz eyr:1920 pid:115437655 hcl:z +iyr:2017 +cid:344 + +iyr:2018 +eyr:2023 +hcl:#888785 hgt:188cm +ecl:amb byr:1992 pid:602211075 + +pid:848099019 hgt:168cm iyr:2016 +eyr:2026 ecl:amb +hcl:#866857 byr:1981 + +iyr:2013 hcl:#623a2f hgt:151cm cid:135 byr:1974 eyr:2026 ecl:gry +pid:313553018 + +hcl:#733820 +byr:1986 hgt:182cm +ecl:brn eyr:2024 iyr:2017 +pid:676008782 + +eyr:2030 pid:833874339 iyr:2011 byr:1949 hgt:159cm +ecl:brn hcl:#602927 + +hgt:182cm hcl:#6b5442 pid:131549376 eyr:2029 iyr:2012 +ecl:gry byr:1926 + +cid:55 ecl:amb iyr:2015 hgt:192cm hcl:#a97842 +byr:1944 +eyr:2027 + +iyr:1944 eyr:2038 hcl:a2adf2 cid:99 byr:2006 hgt:67cm +pid:154cm +ecl:dne + +eyr:2005 hcl:#1495bd ecl:grt byr:2028 +iyr:2016 hgt:155 pid:182cm +cid:326 + +hgt:136 +pid:599182089 eyr:2020 byr:1945 +iyr:2012 +ecl:oth hcl:#18171d + +pid:4695182580 +iyr:2012 +ecl:brn eyr:2039 byr:1936 +hcl:#cfa07d + +ecl:hzl byr:1949 cid:133 hgt:159cm hcl:#b6652a pid:9833212692 iyr:2011 eyr:2030 + +eyr:2020 +hgt:175cm +cid:140 iyr:2014 byr:1980 hcl:#7d3b0c +ecl:grn pid:400508366 + +pid:#100a75 iyr:2016 +hgt:65 +eyr:2037 ecl:hzl +byr:1962 + +eyr:2024 pid:180cm hcl:#6b5442 hgt:154cm +iyr:1964 + +byr:1986 hgt:159cm ecl:brn +pid:856817592 hcl:#cfa07d eyr:2024 +iyr:2017 + +hgt:166cm +byr:1996 hcl:#410645 +ecl:hzl iyr:2010 cid:178 pid:337713295 +eyr:2026 + +iyr:2017 byr:1964 hgt:167cm hcl:#7d3b0c cid:298 ecl:brn pid:371416367 + +byr:1929 iyr:2011 hcl:#fffffd ecl:blu +pid:013408674 hgt:187cm eyr:2021 + +hcl:#cfa07d byr:1986 cid:331 +iyr:2010 ecl:gry pid:616063053 hgt:150cm +eyr:2028 + +pid:013835033 iyr:2017 byr:1991 +hgt:154cm hcl:#efcc98 eyr:2020 + +byr:1978 eyr:2024 +hgt:155cm iyr:2012 hcl:#694989 pid:914726069 +ecl:amb + +ecl:blu pid:139464317 hcl:#fffffd eyr:2024 byr:1970 hgt:72in iyr:2012 + +byr:1965 hcl:#ceb3a1 ecl:hzl iyr:2019 pid:910593212 eyr:2029 + +byr:1994 cid:228 +ecl:grn hgt:171cm pid:538884417 eyr:2025 iyr:2011 hcl:#6b5442 + +cid:264 hcl:#623a2f +hgt:186cm iyr:2012 ecl:brn eyr:2024 pid:304101929 byr:1954 + +hgt:183cm byr:1987 hcl:z ecl:gry eyr:2020 pid:384983241 iyr:2015 + +pid:#885c1a +byr:2012 eyr:2034 ecl:#8ea705 iyr:2028 hgt:61cm hcl:z + +eyr:2023 hgt:156cm byr:1939 hcl:#cd2220 ecl:brn pid:484163297 + +hgt:158in +byr:2000 ecl:lzr +iyr:2014 +eyr:2033 pid:50157400 + +byr:1974 hcl:#c0946f +iyr:2018 pid:285451524 cid:299 eyr:2029 hgt:184cm ecl:hzl + +byr:1974 hcl:#602927 hgt:151cm iyr:2013 pid:322935162 ecl:amb +cid:209 +eyr:2026 + +hcl:#341e13 iyr:2015 +ecl:gry byr:1970 +hgt:186cm +pid:330151070 eyr:2034 + +ecl:gry eyr:2023 +hgt:160cm hcl:#c0946f +iyr:2011 byr:1926 pid:727347794 + +iyr:2012 +byr:1974 hcl:#866857 +eyr:2025 +pid:933155590 hgt:167cm +ecl:grn + +iyr:2015 ecl:gry eyr:2029 +byr:1967 hcl:#f9f576 hgt:170cm pid:439696954 cid:173 + +eyr:2029 byr:1935 ecl:brn pid:165587982 +hcl:#6b5442 +iyr:2020 + +eyr:2029 ecl:hzl hcl:#866857 byr:1994 +pid:308548232 hgt:162cm iyr:2012 + +byr:1924 cid:274 +pid:028266367 eyr:2025 iyr:2017 hgt:169cm +hcl:#cfa07d ecl:gry + +eyr:2025 byr:1995 +ecl:brn +hgt:160cm +pid:819047484 +hcl:#602927 iyr:2011 + +pid:660383456 +iyr:2016 eyr:2022 hgt:158cm byr:1942 ecl:amb cid:334 hcl:#efcc98 + +hcl:#6b5442 iyr:2024 cid:180 ecl:grn pid:167cm hgt:169 + +eyr:2024 iyr:2017 hgt:165cm hcl:#7d3b0c byr:1920 +ecl:amb pid:236377188 + +pid:063113952 +ecl:grn hcl:#341e13 hgt:166cm +byr:1977 iyr:2017 + +ecl:amb hgt:174cm +eyr:2028 byr:2002 +hcl:#7d3b0c +pid:428826816 iyr:2017 + +byr:2025 ecl:dne hgt:167in pid:706379338 +iyr:2019 hcl:240e75 eyr:1971 + +eyr:2021 +hcl:#efcc98 iyr:2014 +pid:358236477 +byr:1923 cid:73 hgt:165cm ecl:amb + +eyr:2030 cid:267 +ecl:brn +pid:282023612 hcl:#c0946f iyr:2018 byr:1989 +hgt:72cm + +ecl:utc hcl:ea4b34 byr:2013 +pid:#d58d54 +hgt:107 iyr:2027 cid:296 eyr:2038 + +byr:1946 eyr:2024 iyr:2012 +hcl:#341e13 +pid:765835791 hgt:159cm + +hcl:#341e13 byr:1927 +ecl:grn iyr:2011 +hgt:175cm eyr:2023 pid:638808763 cid:339 + +eyr:2030 cid:160 byr:1994 hgt:163cm ecl:hzl iyr:2016 hcl:#623a2f pid:569304871 + +byr:1965 +eyr:2020 hgt:157cm hcl:#a97842 +cid:271 iyr:2014 pid:326802068 ecl:#a16571 + +byr:1965 +ecl:hzl eyr:2029 iyr:2010 hgt:157cm +hcl:#7d3b0c pid:617693914 + +pid:547158528 byr:1956 +ecl:gry hgt:189cm +eyr:2029 +hcl:#602927 +iyr:2011 + +hcl:#efcc98 +ecl:#1ecd0e pid:160cm eyr:2027 hgt:183cm byr:2027 iyr:1963 + +hcl:#fffffd eyr:2021 iyr:2014 byr:1959 ecl:amb +pid:102521439 hgt:190cm + +cid:112 hcl:#fffffd byr:2025 +pid:016603375 +eyr:1942 hgt:145 +iyr:1994 + +ecl:xry +pid:#5be367 +hgt:171cm cid:144 iyr:1946 eyr:2034 hcl:z byr:2022 + +ecl:oth +iyr:2014 hcl:#7d3b0c +cid:316 +byr:1936 pid:088295340 +eyr:2029 + +iyr:2019 +hgt:183cm ecl:brn hcl:#efcc98 pid:821190245 cid:251 eyr:2023 +byr:1993 + +ecl:oth iyr:2018 +cid:131 +hcl:#524e2e byr:1981 hgt:183cm eyr:2022 pid:037981572 + +hcl:#18171d byr:1934 eyr:2020 hgt:62in +cid:64 +ecl:oth pid:343039563 iyr:2010 + +hcl:#733820 pid:374199356 +hgt:169cm eyr:2026 byr:1994 iyr:2015 ecl:brn + +pid:394267581 +hcl:#a97842 iyr:2010 byr:1988 +hgt:185cm ecl:amb +eyr:2022 + +ecl:#be3b70 iyr:2025 +hcl:z +eyr:2010 +byr:2023 +hgt:65 cid:220 pid:#d6af49 + +eyr:2029 +hcl:#a97842 ecl:amb hgt:159cm +cid:228 byr:1946 iyr:2012 +pid:805319194 + +hcl:#c0946f eyr:2020 hgt:171cm ecl:oth iyr:2010 byr:1958 pid:276122958 + +iyr:2017 +hcl:#da47a1 byr:2007 ecl:utc +eyr:1945 cid:327 hgt:192cm pid:549704477 + +iyr:1923 hgt:174in hcl:z byr:1974 +eyr:2026 +ecl:xry pid:158cm + +iyr:2022 +ecl:#ae10f9 +hgt:108 +eyr:2035 hcl:z byr:2019 pid:#1f4f7c + +eyr:2021 pid:959352732 cid:306 hgt:178cm ecl:amb +iyr:2012 +byr:1953 + +byr:2016 ecl:lzr eyr:2021 hcl:z iyr:1977 hgt:181cm cid:164 + +cid:242 byr:2008 hcl:#866857 hgt:172cm iyr:2011 +ecl:blu eyr:2026 pid:350658669 + +hgt:67in eyr:2030 +ecl:gry pid:156329184 iyr:2010 byr:1936 hcl:#efcc98 + +cid:110 hgt:76in iyr:2018 +eyr:2029 pid:474249956 byr:2002 hcl:#866857 +ecl:oth + +iyr:2016 hgt:193cm eyr:2029 +byr:1934 hcl:#b6652a pid:901756621 +ecl:brn + +eyr:2017 hcl:z pid:#2f9848 iyr:2024 +hgt:170cm + +hgt:60in eyr:2026 byr:1922 hcl:#18171d iyr:2016 +pid:921038878 diff --git a/data/day5.expected b/data/day5.expected new file mode 100644 index 0000000..2c4df75 --- /dev/null +++ b/data/day5.expected @@ -0,0 +1,2 @@ +998 +676 diff --git a/data/day5.input b/data/day5.input new file mode 100644 index 0000000..9d33385 --- /dev/null +++ b/data/day5.input @@ -0,0 +1,960 @@ +BFBBBBBLLR +BBFFBBFRRL +FBFBFFFRRL +BBFFFBFRRL +BFFBFBFRLL +FFBBBFBLRL +BFFFBFFLLR +FBFFFFBLRR +FBFFBBBRRR +BFFBFFFLLR +BFFFFFBLLL +FFBBFFBLRR +BFFFFFBRLR +FBFBFBFLLL +FFBFBFFLLL +BBFFFFFLLL +FFFBBBFLLL +BBFFBFBLLR +FFBFBFBRRR +BFFBFFFRRR +BBFFBFBRLR +FFFBFBFLRL +BBFFBBBLRR +FBBFFFFLLR +BBBFBBFLLL +BFFFFBBRLL +FBBFBFBRRL +FFBBBFFRRR +BBFFFFBRRR +FBBBBFFLLR +BFFFFFBLRR +FFBBFBFLLR +BFFBFBBLLL +BBFBBBBLLL +FBFBBBFRLL +FFBFFFBLRL +FFFFBBBLRL +BBBBFBFRRR +FFBBFBBRLL +FFFBBBBRRL +FFBFFFBRLR +BFBFBFBLLL +FFFBFFBLLL +BBFBFBBLRL +BBBBBFFLLL +FBBBBFFRRR +FBFFFFBLLL +FFFFBBBRRL +FBFBBBFRRR +FBBFFBFLRL +BFBFFBFLLR +FFBBBFBLLL +BFBFFFFLLL +BBBFFFFLLL +BFBBFBFRLR +BFBBBBFLRL +BBBFBFBLRL +BFFFBFBLRL +BFBBBBBRLL +FBBBFFBRLL +BFBFFBBRRL +BFFBBBFLLR +BFFBFFBRRR +FBFBFBFRRL +FBFBFBFLRL +BBBFFFBRRR +FBFFBBFRRR +FFBBFFFRLL +BFBFBBBLLR +BFFFFBFLLR +FFBBBBFRLR +FFFBFFFRRR +BFBBFFFRLL +BBBFBFFLRL +BFBBFBFLRR +BBBBFBBLRL +FBFBFBFLRR +BBFBFBBLLL +BFBBBFBLRL +BFBBFBFLRL +FFFBBFBLLL +BBBFBFBLLR +FBBBBBFLLR +FFBBBFBRLL +BBBBFBBRRL +FBFFFBBRLL +BBFBBFFRRL +FBFFBFBLLL +BFFBFBBRRL +BFFFBFFRLR +BBFBFBFRRR +FBBFBFFRRR +BBBFBFBLRR +FFBFFBFRLR +FFBFBBBLRL +FFFFBBFRRL +FFBBBFBRLR +FBFBFBBLLL +FBBBFBFRLL +BBBBFBBLLR +BFBFBBFRLR +FBBFBBFLRR +BBBBFBFLRL +FBFBFBFRLL +FFBFBFBLLR +FBFFBBFRRL +BFFFFFFRLR +FFFFBFFRRL +BBFFFBFLRR +FBBFFBFRRL +FFFFBFBLLL +FFBBFFFRRL +BBFBFFFRLL +BFFFFBFRLR +FBFBFBBRRL +FBBFBBFRLR +BFBFFFBRRL +FFFBFFBRLR +BFBFFBFLRL +FBBFBFFRRL +FFBFFFBLLL +FBFFFBFRRR +FBFFFBBRRL +FBFFBFBRLL +BFBFFFFRLL +FFFBBBFLRR +BBFFFFFLRR +BFBBFBBLLR +BFBFFBFLLL +FBBBBFBLLR +BFBBFFFLLR +BFBBFFFRRL +BFFBBFFLLR +BBBFFFFRRL +BBBFBBBLLR +FFFBFBBRLL +FFBFFBBLRR +FFBFBBFLLL +BBBFFBFRLL +BBBFBFFLRR +FBFBFFBRLR +FBBFFBBLRL +BBFBBFFLLR +BBFBBFBRLR +BFBFFBBRLR +BBBBFFBRLL +FFFBBBFRLL +FBBFFFFRLR +BFBBBBFRRR +BBBBFFBLRR +FBBBBBFLRR +FBBBFFBLRL +BFFBBBFRRR +BBBBFBFRLL +BFBBBFBLRR +FFBFFFFLLL +FBFFFFBRLL +FFBFFBBRLR +BFFBBFFLLL +FFBFBFBLRL +FFBFBFFRRR +BBBFBBFLRR +BBBFBBBLLL +BFFFFFFLRL +FBBBBBBRLR +FFFBFBFLRR +FFBBFFBRRL +FBBFBBBRLR +BBBFBBFLLR +FFBFFBFLRR +BFBBFBBRRL +FBFFFBBLRL +BFFBBFBLRL +BBFFBFFLLL +FBBBFBFRLR +BBBBFFFRLL +FFBFBFBLRR +FBBFFFBRRL +FFBBBFFLLL +BBFFFBBLLR +BFFFFBFRRL +FBFFFFBRRL +BFBBFFFRLR +FFFBBBBLLL +FBFBFBBRLR +FFFBFBBRLR +FBFBFFFLRR +BFFFFFFRRR +FFFFBBBRRR +BBFBFFFRRL +FFFBFBBLLL +BFBBFBFLLR +BBFBBBBRRL +BBFFBBFRRR +BBBFFBBLRL +FBFBFFFLLR +BFFFBBBRRR +FFBFFFFLLR +FBBBFBFLLL +FBBBFBBLRR +BBBFBFBRRR +FBBBFBFRRL +BBBBFFBRLR +FBFBBBBLLR +FFFFBBFRLR +BBFBBBFLLL +BBFBBBBLRR +FFFFBFBRRR +FBFFFBFLRR +BFFFBBFLRR +BBBFBFFLLR +BFFBBBBRLR +FBFBBFBLLR +BFBBBFFLRR +BFFBBFFRRR +FFFBFFFRLL +FFBFBBBRRR +BBBFFFBLLR +BBFFFFFLLR +FBBBBFBLRR +FBFBBFFRRL +BFBFBFFRRL +BFFFFBFRRR +FFBFFBBLLL +BFBFBFBRRR +BFFFFFFLLR +FFFBBFBRRL +BFBBBFBRRL +BBFFFBFRLL +BFBBBBBLRL +FBFBBFFLRR +FFBBBFFRLR +FBBBFBBRRR +FFBBBFFRRL +FFBBBBFLLR +BBFBBFBRRL +BBFBBBFRLL +BBFFFFFLRL +BBBFFFBLLL +BBFFFFFRRR +FFBFBBBLRR +FFBBBFFLRR +BFFBFBFRLR +FFBBBFBRRR +FBBBBFBLRL +BBBFBBBRLL +FBFBFFBRRL +BFFFFBBRRL +BBFFBBFRLR +FFBFBFFRLR +BFFFBFBRRR +BBBFBBFRRL +FFFBFFFLRL +FBBFFBFRRR +FFBBBBBLLL +FFBFFBFLRL +FBFBFBBLRR +FFFBFFBRLL +BBBFFFBRRL +BFBFBBBRLL +BBBFFFFLRR +BBFFBFFLLR +FBBFFBFLRR +FBBBFFBLRR +BFBFFBBLLL +FBFFFBBRLR +FBBFBBBLLR +BFBBBBBRLR +FBBBFFFLLL +BFFFBBFLLL +BFFFFBBRLR +FBBFBFBRLL +FBFFBFBLRL +BBBFFFFRLL +FBFFFFFRLL +FBBBFBFLRL +FBFBBFBRRL +FFBFBFFLLR +BBBFFBBLLL +FFBFBBFLLR +BBBFBBFRLL +BFFBFBBLRR +FBBFBBFRRL +FBFFBFFLLL +BFBBFBFLLL +FFBBFFBRLL +BFFFFFFLLL +BFFFFFFRLL +BFBFFFFLRR +FFBBFFFLRR +BBFFBBBRLR +BFFFFBFLRR +FFBFBFFLRR +BBBBBFFLRL +BBFBBBBRLR +BFFBFFBRLL +BFBFBBFLRL +FBFBBFBLLL +BFFBBFFRLR +FFFFBFBRLR +BFBFBFBRLL +BFBBFFBLRR +BBBBBFFRLL +BBFFFBBRLL +BFBFBBBLLL +FBBBFFFLRR +FBBBBBFRRL +BFFBBFBRRL +FFBBFFBLLL +FBFFFBFRLL +BBBFFFBRLL +FFFBBFFLLL +BBFBFBBLLR +FFFBFFBLRL +BFFBBBBLLL +BBFFBFFLRR +FFBBFBFLRR +BBBBFBFRRL +BBFBFBBRRR +BBFFFFBLLR +BBBBFFBLLR +BBBFFBFLRR +FFBFFBBLRL +BBFBBBFRLR +FBFFBFFLRL +FFFFBFBLRL +BFBFFFBLRL +FBBBFBFLRR +BFFFBBBLLL +FBBBFFFRRR +BFBFBFFLLR +BFFBFBFLLR +FFFBBBFRRL +BBBFFBFLLR +FFBFBFBLLL +BFBBBFFRLR +BBBFFBFRRL +FBFBFFFRLR +BFBFBBFRRL +FBFFFFFLRR +BFBFFBBLLR +BBFBFBBRLR +FBBBFFFLRL +BBBBFBBRRR +FFBBBBFLLL +FBFFFBBLLR +FFBBBBBRRR +BFFFBBBLRR +BBFBBBBRLL +BBFBFBFLRR +BFBBFFBLLR +FBBFFBBRLL +FBBBBFFRLL +FBFBFFBLLR +FFBFBBBRRL +FFFBBFBRLL +BFFBBFBLLR +BBBBBFFRRL +BFBBFFBRRL +BFFBFFBRLR +FFBFBBFRRL +FFFFBBFLRL +BBFFFFBLRL +BFBFFFBRLL +BFBFFFFRRR +BBBFFBBRRL +FFFFBBFLLL +BBBFFFFLRL +BBBFBFFLLL +FBFBFFBRLL +FBBFFFBLRL +BFBFBFFLLL +BBBFFFBLRR +FBFBFBFRLR +BFBFBFFLRL +BFFFBBBRRL +BFBFFBBRLL +FFBFFFBRLL +FFBFFBFLLR +FFFBFFBRRL +FFBBFFFLRL +BFBFFFFRRL +FBFFFFFRRR +BBFBBFBLLR +FFBFBFBRLR +BFFFBFFRRR +FBBBBFBLLL +BBFFBBBRRR +BBFBBBBRRR +BBBFBBBLRR +BBFBBFBRLL +BFBFBFFLRR +FBFFFBFLRL +FFFFBFFRRR +BFFBFFFLRR +FBFFBBBRLL +BFFFBFBLLL +FBBFBFBLLR +FFBFFBBRRR +BFBFBBFLRR +BBFFFFBLLL +FBBFFFFRRR +FBFBBBFRRL +FBBFFFBLLR +FBFBBFBRLR +BBFFBBBLLR +FFFBBFFLRL +BBFFBFBRRR +BFBFFFFLRL +FFFFBFBRLL +FBFFFBFRRL +BBBFBBBLRL +FFBBBFFRLL +BBFBFFBRRL +BFFBFFBLLL +BBFBBFBRRR +FBBFBBFLLR +BFFFFFFLRR +FBBBBBBRRR +BBFBBBFRRL +FFFBBBFLLR +FBBBBFFLRL +FBFFBFFRLL +BFBFBFBRLR +FBBBFFFRLL +BBFFFBBRRR +BBFBFBBLRR +BFFFFFBRLL +FBFBFFFLLL +FBFFBFBLLR +BFFBFFBRRL +BFBBFFFLRR +BFBBBFBLLR +FFFBBBBRLR +FFBFFBFRRL +FFBBBFBLLR +BBFBFFBRRR +FFBBBBBRLR +BBFFBBBLLL +BFBBFFBLLL +BFBFBBFRRR +BBBBFFFLLL +FBBFFBBRRL +FFBBBFBRRL +BFBFBBBRRR +FBFBBFFLLL +FFBBFFFLLR +FBBBBBFLLL +FFBFBFFLRL +FFBFFBFRRR +FBBBFBBRLR +BFFFFBFLRL +FFFBFFFLLR +BBFBFFBLLR +FFBBFFBLRL +FFFBFBBLRL +BFFFBBBRLR +BBFFFFBRRL +FBBFFBBLRR +FBFFFFFLRL +BBFFBFFRLR +BBFBFFFRLR +FFFBFBFRLR +BFFFBBFRRL +BBBFFBFLLL +BBFBBBBLRL +BFFFFFBLLR +BFFFFBBLLR +BBBFFBFRRR +BBFFFFFRRL +BBFFFFBRLR +FFBBBFFLRL +BFFFBBBRLL +BFFFBBFRLL +FBFBBBFRLR +BBFBFBFRRL +FBFFBFBRLR +FBFFBFFRRR +FBFFFBBLRR +BFFFBBFLRL +FBFBFFBLRL +FBBBBBBRRL +BFFFBFBRLR +FBBBBFBRLL +BBFFBBFLLR +BBFBBFFLRR +FBFFFBFLLR +FBBBFBBLLL +FFBFFFBLRR +BBFBFFBLRR +FFBFFBBRLL +BFFBBFFRLL +FBFFFFBRRR +FFFBFBBRRL +BBBBFBFLLR +BBFBFFFLRL +BFBFFFFRLR +BBFBFFFRRR +BBBFBBBRRL +BFFBBBBLRR +BFFFBBBLRL +BBFFFBBRLR +FBBBFFBRLR +FBBBFFBLLL +FBBBBBBLRL +BBBFFFBLRL +FBFBFFFLRL +BFBFFBFRLL +BBFFFFBRLL +BBFFFFFRLL +FFFBFFFRRL +BBFFBBFLRR +BBBBFFFRRL +BFFBBBBLLR +BBBBFFFRLR +BBBFFFBRLR +FBBFFBBRLR +BFFBBFBLLL +BBBFBBFLRL +BFBFBBFLLR +BBFBBFFLRL +BFFBBBFRRL +FFFFBBFLRR +FBFFBBBLLR +BFBFBFBLLR +FBBBFFBRRR +FBBBBBFRLR +BBFBFFBRLR +BBFFBFFRLL +FFFBFFBLLR +BBFFBFBLRR +FBFFFBBRRR +BFFBBBBRRR +FBFFBBBRRL +BBFBFBFLLR +FBFBBFFLRL +BBBBFFFRRR +BBFBFFFLLL +BFFFBFBLLR +FBBBBFFLRR +FBFFBBFLLL +FFFFBFBRRL +BBFBFBFLLL +BFBBFFBLRL +BFFFBFBLRR +BBBBFFBRRR +FBFBBFBRRR +FBBFBFBRLR +FBBFBFFLRR +FBFBBBBLRR +FBBFBFFRLR +FBBBBBFLRL +FBBFBFFRLL +FFBBFFBRRR +BFBFBFBLRR +FBBFBBBLRL +FBBBFBFRRR +BFFBFBFRRL +FBBFFFFLRL +BFBBBBFRLR +FFBFBBBRLL +BFFBBBBRRL +BFBBFBBLLL +FBFBFFFRRR +BFBFBFBLRL +FBBFFBFLLR +FFFBFBBRRR +FBBBBFFLLL +FBFBBBBLRL +FBBFBFBLRL +FFBBFBBRRR +FBFBFFBLRR +FBFBFBBLLR +FFFBFBFRLL +FFFFBBFRRR +BFBBBBBLLL +BBFBBBBLLR +FBBFFFFRRL +FBBFBFBLLL +BFFFBBFLLR +FBBBFFBLLR +FFBFFBFLLL +BBBFFBBLLR +BFBFFFFLLR +FBFBBBFLRR +FFBBBBFRRL +FFFFBBBLRR +FFBFFFFRRL +BFBBFFFLRL +BBBFBFBLLL +FBFBBFBLRR +BBFBBFBLLL +BFFBFBBRLR +BFBBFBBRRR +FFBBFBFRLL +BFFBFBFLLL +BFFBBFBLRR +FBBBBFBRRL +BFBFBBBLRR +FBBBBBBLLL +BFFFBBBLLR +BBFBFFFLLR +BBBFFBBRLL +BFFBBBFLRR +BFFBFBFRRR +BBBBBFFRLR +BFFBFFFRLR +FBFFFFFLLL +BFFFBFBRLL +FBBFBBFLLL +FBBFBFBRRR +FBFFBBFLLR +FBBBFBFLLR +FFFBFFFLRR +FFBBBBFRRR +BBBBFBFLRR +FBFBFFBRRR +BFFBFFBLLR +FFBBFBBRLR +FBFBFBBRRR +FFBBBBBLRL +FBBBBBFRRR +FFFBFBFRRL +FFBFBFBRRL +BFBBBFBRLR +BBBFBFFRRR +BFFBBFBRLR +BFFBBBBRLL +FBBBBFFRRL +BBBFBBBRLR +BFFFFFFRRL +FFFBBFFLRR +BBFBFFBLRL +BFFBFBFLRR +BBBFFBBLRR +BFBFFBFRRR +BBBBFFBLLL +FBFFBBBLRR +BBFFBBFLLL +FBFBBBBRRR +BBFFBFBLLL +BBBBFFFLRR +FBFFBBBRLR +BFBFFFBLRR +BBFBBFFLLL +BFFBBFFRRL +BFFFBFFRRL +BBFFFBBLRR +FFBFFFFLRL +FFBFBBFRLL +FBFBFFFRLL +BBFFFBFRLR +FFFBBFBLRR +BFBBBFBLLL +BBFBFBFRLL +BFBFBBFRLL +BFFFFFBRRL +FFBFBBBRLR +BFBBFFBRLR +BFBFBFFRLR +FBBBBBBLRR +FFBBBBFLRL +FFFFBFBLRR +FFBFFFBRRR +FFBFBBFRLR +BBBFFBFLRL +FBBBBFFRLR +BFFBBFBRLL +BFFBBBFRLR +FFFBFFBRRR +BBBFBBBRRR +FBFFBFFRRL +FBFFFBFLLL +BFBBBFFRRL +BBFBFBBRLL +BBFBFBBRRL +FFFBFBFRRR +BFBBFBBLRR +FFFBBBFRRR +BFFBFBBLRL +BFFBFFBLRR +BFBBBFFRRR +FFFBBBFLRL +FFBBFBFRRR +FFBFBFBRLL +FFBFFFBLLR +FBBBBBBRLL +FFFFBFBLLR +FFBBFFFRRR +FFFBFFFLLL +FFBBFBBLLR +FFBBBBFLRR +FBBFFBBLLL +BFBBFBBRLR +FFFBFBBLLR +BBFFBFBLRL +FFBFBBFRRR +BBBBFBBRLR +BBBFBBFRLR +BBFFBFFRRR +FFBBBBBLLR +FBFFBFBLRR +FBBBBFBRLR +FFFFBBFLLR +BFBFBBFLLL +FBBFBFBLRR +FBBFFBFRLL +BBFFFFFRLR +FFBBFBFLRL +BFBFBBBRLR +FBBFBBFRRR +FBFBFBBLRL +BBBFFBBRRR +FBBFFBBRRR +FBFFFFBRLR +FBBFBBFLRL +FFFBBFBRRR +FBFBBBBRLR +FBBFFBBLLR +FFFBBBBRRR +BBBBBFFLLR +FFFFBBBLLL +BFFBBBFRLL +FBFBBFBLRL +BBBBFBFRLR +BBFBFFBLLL +BFBFFBFLRR +BFFFFFBLRL +BBBFBBFRRR +FFBBBBBLRR +FBFFFFFLLR +FBFBBFFRLL +BFBBBBBRRL +FBFBFBBRLL +FBBFBBBRRL +FBFFBBBLRL +BFFFBFFLLL +BFBBBBBRRR +FFFBBFFRRR +BBFBBBFLRL +FFFFBBFRLL +FBFFFFFRLR +FFFFBBBRLR +FBFFBBFRLR +FFFFBBBRLL +BBFFBBBLRL +FFBFBBFLRR +BFBBBBBLRR +BFFFFBBLLL +FBFBBBBRRL +BBBFBFFRRL +BFBBFBBLRL +BFBBBBFRRL +FBFFFBBLLL +FFBBFBBLRL +BBFBFFBRLL +BBBFFFFRRR +FFFBBBBLRR +FFFBBFBLRL +FFFBBBBLLR +BFBFBBBRRL +BBBBBFFLRR +BBBBFBBLLL +BBBBFBBLRR +FFFBBBFRLR +FBBBFFFLLR +BFFFBFBRRL +BBFFFBFLLR +BFBBFBFRLL +BFBBBFFLRL +FFBFFBBRRL +FBFBBFFRLR +BFFFFFBRRR +FBFFFFBLLR +FBBFBFFLLR +FBBBFFFRLR +FBFBFBFLLR +FFFBBFBLLR +BFBFFBFRRL +FFFBBFBRLR +FFBBFBBLRR +FBBBFBBLLR +BBBFFFFLLR +BBBBFBFLLL +BBFFFBFLLL +BFFFBFFLRL +BBFBBFFRLR +BBFFBBFLRL +FBBBBFBRRR +FBBFFBFLLL +FFFBFFBLRR +FFBBFFFRLR +FBBFFFBRLR +BBBFBFBRLL +BFBBFFFLLL +FFFBBFFRLL +BBFFBFBRLL +FFBBBBBRRL +FBFFBBBLLL +FBBFFFBRRR +BFFFBFFRLL +FFBBBFFLLR +FBBFBBFRLL +FBBFFFFLRR +FBBBBBFRLL +BBBFFBBRLR +FBFFBBFLRL +FBBFFFBLLL +BFBBBFFRLL +FFFBBFFRLR +BFBFFFBLLL +FFFFBBBLLR +BFFBFFFLLL +BFBBFFBRRR +BFFBFBBLLR +FFBFFBFRLL +FFFBBFFLLR +FBFFFFFRRL +BFFBBFFLRR +FFBBFFBLLR +FBBBFFBRRL +FBBBFBBLRL +BBFFBFFLRL +BBBBFFBRRL +BFBFFBBLRL +BFBBFBFRRR +FFFBBBBRLL +FBBFBBBRRR +BBBBFFFLRL +FBFFBFBRRR +BBBBFFFLLR +FBBFFBFRLR +FFFBBBBLRL +BBFBBFBLRL +BFBBBBFLLR +BBBFBFBRRL +BFBBBBFLLL +BFBFFFBRRR +FFBBFFBRLR +FBBBFFFRRL +BFFFFBBRRR +FBFBBFBRLL +BFBBFFBRLL +FBBFBFFLRL +BFFBBBBLRL +BFFBFBFLRL +FBBBFBBRRL +BFBBBBFLRR +BFBFFBBRRR +BFFFBBFRLR +BFFBFFBLRL +BFFBBFBRRR +BBFFBBBRRL +BBBBFBBRLL +FBBFBBBLRR +FFBFBFFRLL +FFBFFFFRRR +BFFBBFFLRL +BFBBFBBRLL +BFBFFBBLRR +FBFBFBFRRR +BBFFFBFRRR +BBFBBFFRRR +FFBFBBBLLR +FFFBFBFLLL +BBFFFBBLLL +FFBBFBBLLL +BFBBFFFRRR +BFBFBBBLRL +FBFBBBFLRL +BFBFBFBRRL +FFFBFBFLLR +BBFFFFBLRR +BBFBFBFRLR +FFBBFBFLLL +BFBBBFBRLL +BBBFFBFRLR +BFFFFBFLLL +FFBBBBFRLL +BBFBBFFRLL +BFFFBFFLRR +BBFBBBFLLR +FFBFBBFLRL +BBBBFFBLRL +BFBBBFBRRR +FBBFBFFLLL +FBFFBFFRLR +BFFBFFFLRL +FBFFBFFLLR +FBFBBBBRLL +BBFFFBFLRL +BBFBBFBLRR +BFFFFBBLRL +BBFBFBFLRL +FBBFBBBRLL +FBBFFFFRLL +FFBFBBBLLL +FFBFFBBLLR +BFBBBFFLLR +BBBFBFFRLR +BFFBFFFRRL +BBFFBBBRLL +BBFFBBFRLL +FBBBBBBLLR +BFFBFBBRRR +BBFFFBBRRL +FFBFFFFRLL +FFFBFBBLRR +BBFFBFBRRL +BBFFFBBLRL +FBFFFFBLRL +BFFFFBFRLL +BFFBBBFLLL +BFBBFBFRRL +FBBFFFBLRR +FFBFFFFRLR +FBBFFFFLLL +FBFBBFFRRR +FBFBBFFLLR +FFBFFFBRRL +BFBBBBFRLL +BFFBBBFLRL +FBFFBFBRRL +FFBFFFFLRR +FBBBFBBRLL +BBFBBBFRRR +BFFBFFFRLL +FFFBBFFRRL +BFBFFFBLLR +FBFFFBFRLR +FBFBBBFLLL +FFBBFBFRRL +BBBFBFFRLL +FBFFBFFLRR +BBFBBBFLRR +FFBBBFBLRR +FFFBFFFRLR +FBFBFFBLLL +BFBBBFFLLL +BFFFFBBLRR +FBFBBBFLLR +FBFFBBFLRR +FFBBFBBRRL +BBFBFFFLRR +BBFFBFFRRL +FFBBFFFLLL +FFBFBFFRRL +BBBFBFBRLR +BFBFFFBRLR +FBFBBBBLLL +FFBBBBBRLL +FBBFBBBLLL +BFFFBBFRRR +BFBFFBFRLR +BBBFFFFRLR +FBFFBBFRLL +FFBBFBFRLR +BFFBFBBRLL +BFBFBFFRRR +FBBFFFBRLL diff --git a/data/day6.expected b/data/day6.expected new file mode 100644 index 0000000..ce888b1 --- /dev/null +++ b/data/day6.expected @@ -0,0 +1,2 @@ +6683 +3122 diff --git a/data/day6.input b/data/day6.input new file mode 100644 index 0000000..e04309e --- /dev/null +++ b/data/day6.input @@ -0,0 +1,2179 @@ +gwlcpbtxmiezd +xwlcpbtzimgdk +tbiwmpcgzdxo +ygzdbpjxncfwimt + +icb +xqhf + +mlpjsqwv +dvjqsipz +slqpvj + +waxcqvufpkeld +udkvxbjaglpq +gkxfpqvudhjl +uivpdozsnrqkxmtl + +tzhercs +cgxujw +dianpfvbk + +vwynik +obrut +gmbza +atm + +fvjnryuk +scihpabjgdxo + +kpeir +rikpe +rpiek + +inwtuxevsacyqg +cvteaqoylwknxfgui +ewqvugcxyntai + +xbsymjfvh +hmsbyvxj +vsyxmjhb + +atfckhz +wm +p +egdbwvl +jproey + +zgatorfjh +fbxogarc +sgvzafwj +feagpnqlyumdi +wfhvabg + +c +c +c +j +c + +egl +uel +le + +jcodp +jpdc +jmcpd + +nfz +zpiyn +nz +knhz + +rxl +dr + +g +suj +teo +cuzq +fzsw + +pqgdsbmuvechjxfz +auovygnkldfbwr + +jmos +msuj + +z +vb +wn + +dvyoixczmh +vmyxoczdi +ixydonzck +icwyeoxdz + +jafpextioch +pztsoxefcymrgjikhda +opecfhxjtuia +icuhjoaetpfx + +ipxyojqwegvu +bvhtiogwxjqdue +wongurjizvfekxmsqlac +xdvgoiquwej + +unzvtlbaxmfri +cfosmwtdpyziekhajgq + +lsipkqmohvztfcgb +cvqtblhmpfgsozk +mpvsbflqczkhgot + +wg +gw +wg +wg + +dpeyclxofhk +pgxheckmylod +xkpmcosuyeldh +yvoxhekgcpdl +lrhndwaoekycpx + +hva +ah +hat +ha + +zfqj +zjyqf +qjfz +qjfz +qfzj + +fvoaxgj +xfoygja + +gehvyapz +gwpzyvahe +zhavpegy + +viursfc +vucfr +mxstvocyufr +gnflvqdzkcrwhupa + +yqdxh +yhqxd +yhqtdx +dyqhjzx + +rkp +orkph +ckpr + +ym +epytqgr +jvdmy + +dtkcjulsy +tujysdckl + +mhgavu +ghvu +uvhg + +klqxbejfmgtrausdpy +mjayepflubdksgqtxr +jmakegrybfxutspldq +tpdyneqlmrkajxusgfb + +vlmi +lxhz + +bpv +e +mu +kme + +cnxwtbigkedzsyjr +ihsngtewzjukxcrd +cegsxnwydzitkuj +vpdlnsiazkejgcwxto +wizfnsgqtxekdjrc + +pojbrzvhnltydmswqga +gudzjlwynbriaqvsphto +ldtacrhgopvqzywbsjn + +rvpbylxcuajdh +rxwjpbedvuayl +yavrpdlxjibu +riydhaplbfcuvxj +ibpayxruvdlj + +gojpz +hmvkeqbxr + +znwovmahqdcefrjbs +crnjswagzqmevhdofb +sfchdgxqjmzviebonarw +zoqbcwdvnshfearjmt +snhazkomqjvrcbflwpdye + +au +au +fbu +oglu + +yzwxtvuhdaeo +bridg + +ljndxc +nxjc +cjnx + +dyrwejnmuqpxolakgbzhv +vxmnpagycwquzlhdojrsebk +umhalvgjenrxpydwzkobtq +nytrhgplwdjkioumbexvqaz + +uyakmhxqifbdjer +tmeqpsfahxoruw + +l +y + +xgw +paxdsuof +xw + +ztvo +ixu +lrnkj +zxq + +foxkjaehwqcntiu +fojweunxikahtcq +hjtnwcuifkxqeao +oqjxwicklaehtupnmf +jachtnuqxwoekfi + +btq +qtbv + +ra +yasr +ncmvroaz + +pevfcuo +rivmwztqy + +gdmlczw +mpacxyolh +lcrmi +lgkecqdtm +rlktmdcf + +itkzmv +kizt + +ksxgfjrtvdqybwoze +jgzydsxtvwbforkqe + +xtfmoew +gzldprhy + +mecgavlynobxupi +jyohgertfnmuxz + +rakfugnvxpi +funvgpia + +xfurihg +guhdrqix + +qo +q +qv +mrqp + +cuseonqthxpavmgd +ynhazdmkfivjxwope +hzejxiavpnkodlfm +zbexajlphdmvkno + +dotnhqgu +nguqrv +unoigqr +ncuqgp + +wfinrjsmlxzchqpv +hqwljsfkxnmizpcv +qiswhmrpxcnfjzvl +cxljqizvnwhsmpf +qhwsilbczxfpjmnv + +n +thes +s +wpkadjgorxcy +mue + +upwxeatcm +mpwectyud +ewvtumpyc + +pglamhfkcsyoeb +hfakeosglmcpyb +gesmyloacpfhkb +ksemychfgalpbo +fgohpcklsemayb + +bn +unb +mbdn +bun + +zmwfyakq +swaj +twrva + +rbkcgzqvp +oumthkfnia + +wsadpbj +biznahjxc +azblmj + +e +er +r +ge +tb + +nzq +cldif + +hlswofngtjda +ajvodlhtsw +whaltsodj + +fe +frcbep +fe + +cgjlhspvnmiut +jgptuchmsnilv +lcdnguvhsjmxipt +psugwjctmihvnl + +r +ir +rwk +rlgj +r + +ypakce +pyjxchkeon +cpgyke + +ksilwgqtud +kisldgtqwu +zslgqtikduw +qudilskjwgt + +jquan +nou + +szfq +qszf +fqzs +sqfz +fqsz + +kriwjoyabgslfmx +kqjdhnuei + +tocqzagpnbyd +sxunfeaicptv + +r +yr +tru + +d +d +tkv + +taondlyrxhv +nhbciefzudw +gsmpjqk + +kbrswhqj +bhqswkjr +qbrjhskw +hbkrqjws +qbkujrswhn + +ruaqvlfb +fduniqemlgab +bkaqlfu + +pesctg +tjpesygc +mpcgvst +cjsbwptkg +gsphtc + +jwq +yjpkzi +wj +qujw +j + +v +v +v +v +vg + +ynwlevxsopbuc +luepovcwbnsy +nwvcusyplokeb +jscybopflvuenw +eoysncwuvblp + +qhjtyuxdbcgsfomnl +tlyfnqbmusghdjcxo +htnfqbcmujsxlogdy +buysgfjtnchdmqxolr + +dr +vri +rmunz +oashgr +kmlvrd + +dqhsjgrak +qxvlgb +xgpqbu +tgenibcmq + +f +f +f +fy + +vyukhwopcxbmjgfq +xchljnpgryq + +b +b + +ewmlqdzgtsaf +zvfrbaysleqogtwm +fqatklgwumhzes +lzgsfmtiweaqcx + +sqxazpginrvbmoflectkhyd +igkxqsdahmepcybrfltzov + +qf +d +q + +uhvndserfgt +cmdethsfurnygv +tfnvrugeshd +gfrsntdhveu +fenhsdvtprgu + +nkm +km +mk + +dw +z +x +ud +vi + +sleyfmcvigp +ytneopvgcms + +c +h +j +r +h + +jvxmidzkg +nqjuzkvcxhpid +dzjkxgvifm + +hwgzm +ucaewrs +ywjkgxt + +tewjlngvszk +tnjkzve +agjhkznvesqwrt +kwztvjnaedl +jpyteikxobncvzm + +uxcpz +pucxz +xpbczu +xzcup +uzpcx + +cfxlvkiswmgzrtjuq +kfxcqtnmrlzjswvg +hxetzclbjfmvwsrgqk + +fpaxlvbzwnqkgsj +xczqlbkwgapyvsnj +bwzalgjsnqpxkvr +jnskawbxlpzvgqe +wsajkvygnqbzxilp + +zuhimpjlbfogqkn +ophznvgmfuiakj +njhkpfiomguz +okufhjdgznipm + +fpsmed +shgef +mfse +esqfv + +xkj +nk +ndc +j +gh + +wkeocxgtds +xekgsowdt + +n +n +n +n + +rpgonuykqjawhfdxcmzvbe +mhtrxudpnvbezawcyqjgkf + +wtoveydlszxngqcbiuk +glsktqomjwrebz +hwbgulqtzoeackyvs + +drfxcnjqsyug +dsfrniycubx +cyshxnkdrfuzv +cswmnxaylfrdtu +cduymsxfpnr + +htnpxifrlsmgev +ohwmykctdnzquj +htmsfbanlx + +sigvmu +gvism +gisqmvprlw +aigvsdm +svpmgli + +msbeiuotwyrq +ebykoiswt +wkfyeitaonsb +wiogepskytvb + +xcimgdsvfkhzonlb +fkdsbcohnizgvlmx +cizlnxdkghbmosfv + +h +a +a +h +b + +kyqg +sohnwprx +zmb + +msw +mws +swm +msw +wsm + +xopjrmh +plrshdmwoax +pxiromh +xmpbhorj +ijxhpmor + +acempwkqxoglu +puhqcvwadebsxj + +xaiwnyl +yowxn + +lbynjvihxe +dojvbhlinyx +hxyvbijnel +jlxihnvby +xhnbijvyl + +gkewxnjbc +sztpavcrkyqmndhi +cguknlo + +ywgpaoermuizc +wrmpouzyicgea +mzpecogtuirayw +opriuamyewgcz +yuarigpoemcwz + +tvfj +bvtj +nvftj + +opjlskxcfgdrwmav +jmrhzacwdilpx +dhwjclxarqpm +bwcmpardljx + +gtr +oajst +t +pwtg +utg + +cuwpi +wcupi +cuiwp +pwuci +wpuci + +icrlgewdmu +lhricgdwme +lergdciw +kwclifzredg + +rnpwzhlqmkafov +rmnfzaldqokhv +hnrfakqvomzl +okvrhzqlmadfn + +bwxpgnrovqs +vagbromxwjs +kxfsyb + +nakv +nkva + +bzkg +vgkz +rkgl + +oklyx +kylox + +ibw +wib +iwb +izubwxv +iwb + +zikvprafh +pnajkvzif +vmiaxbkptzlf + +mbouarxetzqcfg +hmojusvzelgnad +zigdupoylmwae + +fsjyboa +pvhzlwkima +djrngxuae + +ozry +rzoy +yozr + +suydqovzgel +ulke +bluwe + +uiykabnpgdxhlmoz +enhigdubzkopayml +psiagkznbmchdoyul +ukinspbamdgoyhlz +opnjmrkyughzbalid + +nahxju +pxhnjua +hjnxlua +jxnakuh +uaxjhn + +teqaxpfjkiovg +gtfpijeqva +gfqepivajt +pavegfiqjt + +kglixrmouhyjbfvt +rkmlwixycujhtfgzb +frpasbtmugyhldijxk +rletbqjmfuhgixky +mwugybtjhokfxvnril + +qrtpdcvhnoljbi +gsdphvmotljb +jvbpkewotl +lvjmnuozptb + +zrxesgvquayc +syczgvqxreau +xlaeumyqcszvg + +ojfgyctiksprhavmxeb +yvcsjobgetrxkpm +spjorevcqkgytxbm +gscojxrpbvdtlmkyen + +otaibjyzxceu +xzceiyubojta +zbjxaieycout +odubiyxtacezj +ugowzxitacyejb + +pfqwxeumsy +fyupexw + +lnmvxqswzh +npstbrhcx +tmhazxndsg +uhnsrx +yjxnhoksie + +xmrzgnis +imnorzs +snrmzi +qitspdrmzn + +ws +ws +s +tqs + +ndo +w +wl + +moazp +pjz +zpj +jzp +pz + +hwgdsjvkyteo +wtqzdjoy + +ntzbhs +zsnhbx +hbsnz + +kqztidpsmboyung +phymuiozr +xaoumiyhzp + +kejuifmox +mfikxuejo +jifxueokm +iejmkoufx +ixfkemjou + +auw +gudkr + +sgenlwuohcb +ghekwucxnq +xncujhweg +geuqxncwh +grewnhcu + +lomvbqwzrsgfeiajhntdku +vwzytogdmhkinecafjlxprsuq + +pgleaswzbd +zaswfkdhp +apszwd +wsapydz +atdpzsw + +wxhonybje +ojnwyhexb +bejxhnywo + +olsux +zxou +oux +toxum +xuo + +gxaebkqydnjzthirmcfpow +gtxiwdykrzmqohejcfabpn +xfaorpbgywzdncqthkemji + +eglacoibktsdhumnyx +ukfxoetsbcwmqjigah +sbvughkyocditlmaex + +tsumebadoq +oeqtusbad +piuohxndabqtrs + +oty +yo +yo +oy + +zw +tz +zsyuk + +bpruyqoen +qykbfrzpeo +yeqpbor +nreyqpob +pyrbqwego + +myrhzftueikx +fvdetmlxpcwsibhguk +ahnijxufoketmq + +gvxfsulkyj +oknycdfrelw +flky +lfkgyx + +dtgsf +tgfd + +rsdag +adgrsf +fargsd +rjagdlms +gdrsa + +ehurysjqofmtk +ytrfmuokesj +yvjfraemitksnuo +ueoyksjtmrf +esxkmwopgfycjlrdbtuz + +hl +zfo + +ieduqnyk + +gpjisdyezo +kynwfce +vykerc + +wh +wh +h +lkho + +i +xhl +x + +utzexphayjw +jyzwuethapx +thpueazwjyx + +rk +kdr + +oquelchwfivxakjmrpyzd +mjavklucigqwoyxezrpdhf +xzcuohkplafmwjdivqyer + +uy +yu +yu +yu + +wnkdo +cpkogadyvqtr +fdokh + +mxgktesjocbl +hetucq +ypizcret +evctaz +qtce + +zlidyjfbhopmxstcnrk +epqbhldkyzsjnfaoi +lkbnjisydhpqzof + +eiagoyskthn +hgxtaivrmyplukobz +gyokihwat +gafytkihco + +utxdvi +duvixt +xituvd +uidtxv + +oxeyucapbnk +wtxmklujney +fxesykubhrzgona +uefycnxrvk + +qpjnoavemkgxfuydlr +rwqucktobjelyd +dqrcuosyekzlhjt + +jvaecytfpmxrdq +safuytleohkxbdvcipz + +oizutcswja +uzwcti +wcuzit +tzwiudc + +waphtlmdxzckqirb +mekftdrwzhjqxsplcb +tzkqdplmhuvy +hxzcrtkpqflobmd + +glrfzsdbu +rfgdlubs +frwconquxylbsagdh +tgbfslrdu + +dulbtwyp +fgct +trhkxa +nejhstv + +zjgdsavc +dvgsacjz +sacgdzvj + +fjsgwkziy +bwgitfk +rhkdpiwg + +jfygdqpchxneb +jpwxzsbn +mrajoptnlvbxu +mxpbkwnji + +th +fht +th +ht + +kijvchy +aivjkhcy + +fsqtcplo +tlcosfp +slocfpt +tpflsoc + +gkc +gqck +kgc +cgk +xckg + +swqxzdtmfplhibyjrevu +izhfjltywpmrqbevdsxu +evtxzpflqrjsdbhmwuyi + +kdmbvqcg +pqckvdmb + +witrzdagcbyux +irxgyuazwbdtc +gazbrywcetdxui +axinyzgrcdbutw +trbagmluciwkdxyz + +uwbhvdy +wuvhcy + +ygjqzpdrtsi +psqrtaidjgy +kmsghxlqnidtjp + +cprkdbafqlwuihgvys +yubzxwmvogderf + +xabnqejdtcw +dqtfejnwbmhxac +dwnbcjqtexa +wvabnxqyjetdc + +pzo +zmnr + +v +v +v +v +u + +lht +qlth +hlt + +lx +xl +lx +lx + +eazpcoihwxmtudsyknrq +qldaiztcpoeynskwhmur +cobzyspahgrkinutdmweq + +qpjm +elqujm +jqm +jmpq +mjq + +oltnpgsmhbqwzexvikudyar +zyxqhatrgsenwlbokdipvm +eshotqirdnxbyklvwmgzpa +zeaqwofdpvxytrikhslmgbn +alkrqdxyeswmgnvzbhtopi + +wzbhmvrtiq +wtimqvzb +ifcobmgwznvq + +fgwtjydp +gjtwpdyf +pyjtdfwg +ftwypgjd + +qmsfcxwdopnj +floqiwdmx +wxohimlfbdv +xakwymterdozgu + +vrlq +ulhdwsmr +hrufl + +gohrfpw +brzdtl + +nhso +hn +nh +chn +hnd + +myzkfxprtegohl +epntmxyoglr +tyqgiloxnperm +dgoewlrabcytxmpjs +urlyoxmpeqgvt + +aiewv +wrativ + +tglwzqhrjexkf +fuazgyqkvxrj + +priylwgbfn +gmlbpiwfn +qdbginlpafsw +rinblpfwg +niwplbgf + +zngjkchylqi +yfilnjschgzeq + +wvmbrui +wxg +kwjg + +ljvueoishfzabyw +ruwkeyzigsljaof +jyiwnzleafotsu + +mcxv +jmwg +ktsnm +toim +mulyfrze + +ku +ku +kuvi + +ulotnbfrqcadkmjivpxgeshy +qcegdpwszryvjnuxmbohka + +rfikmej +ctagoqzldvhnxpwuj + +xpjwiftdynkcz +dxvcqtn + +nelkupxgrmtijasqbv +qvilfbksnjgtepruo + +x +y +d + +qnzorg +rqzg +grzq +rgzq +gzrq + +wqmofz +tlm +ml +mp + +bfszturqkoxymjh +hkfuoqrzemstxyab + +xevanum +efvmnax + +bouykivwld +mbrnfczq + +upvexa +aexvupsy + +c +c +c +c +c + +h +t +t +t + +jati +tiaj +tiaj +tija +dptjia + +vksjnyti +bvlksta +tmxvzpsc + +ksqwt +stmqkw +qskwt + +xcupr +iue +uwt + +mznesjqwdu +eudhitwm + +jmslovq +jsdcvgb +imsvj + +oiva +izo +ig +crhi +gizj + +wlecpsqrdh +rdextqhwpc +prdnhcaeqvw +rwdhpeqci +qurwjfhdlpec + +tkaoh +xjecrywq + +xeni +gvt +eft +pomsjacq + +cxv +q +t +u +r + +qw +wfq + +oabsdwtgvqiuphnfexjlzyr +ardwyhflepinsqvbuzxgj +rswgxjdeyiphzvfulqncab +ywxvruidnsazlpfhqbejg +dfyvncgsiaezrhlxwbpjqu + +jeklahmztuxnvqgc +jlhmekvugtqcnazx +hamkqunjztglvecx +muckejgalvtqzhnx +zkelhjncqaumvxgt + +bwikegxcfoysruqvh +htpucnivmjzlad + +qntrsyigzmha +aqtspyoxi +bwuvsyjeadiqkt + +sfyamuxco +jdqfykzigv + +plbctxfsagrdmovyz +oyhaesxcgznlmbpwvrt +pzdibfsocrvtlamxgy + +mkvdbpt +dkvbtsp +xbkptwhd + +pgldyjsqunafzit +olbzkdscvymhw +sybmdzlxore + +pujqcnoeisagyv +qjcevnigaypuos +ceunsjqloaimvygp +niecoypusavgjq +puqacjoveisgyn + +ilhxmtzjs +jsitmhlx +sjltiexh +lxhtsji + +aiforvklhzq +zivlh +lgzhiv +lixjvhz +ihzcvl + +fsztenwbpuqoai +cpvkthwdlrjuy +jwluyptg + +qdjgnkzsputbvhlyoicw +rjipmyqnfwukstcoxzghblv +ucjyndisqgwvpkolbthz +nbjsizouwgcvplthykq + +bzuyelgj +ubeljgyz +gzjbylue +zljgyeub +byjgluze + +quk +ukq +upqfk +ugqskz +usrgkq + +ftajvlypimzxshdcqnkwure +dnclmiyjrpzxeatskhwufvq +dpxkfzuevlatsijnrmhwycq +qnjvmukyciwzxpfdahlrste +fmzcxnaerptujisqhklywvd + +krty +pths +zcotin +uyzt +tqladvbejgw + +kcyfjpzre +fknbmoajc + +fwzliqbamsg +biqamolzswyjfg +zslamfgwqbi +lxaqtvnhsfmpbcgzweui +afislomgzdbwq + +vroeixdqfcwszaukygjlhp +wrmzvklhgoyxdciaejqfpsu +cqghksdzuwjvrflxpaoiye +dkxwcrpszagifyjlqhoeuv +vqkoywerdhgusaljzpfcix + +nfcuoishtemrqyxjv +clrnxheqvoiuytfmsj + +tkrqbu +ubrtqk +rukbqt +kqutrb +gbutkqr + +xie +ixfe +eaknmyi + +mjlreiaczpfbs +ibkehz +bezwxio +izthqbgue + +cxegof +qrotsf + +zslba +lbzsa +lszab +lebdsza +wbzsla + +pnrdfmhqgbyc +bprgnvhyd +nhpdzeuaiojsyxrgtb + +noeytqbsxfrl +obfntxlyresq +exybsrtfqnol + +iwyg +ygiw + +fcha +wma +zhanpwe +lzfaneck +bjuxogiavqt + +pbjwavkdhczy +baywzkqjvce +vsjygktbczwa +vwzijyblcaxkmou + +ryl +rxq +akcvpwr +lr + +oqzty +yitqozg +zqoyt +qyzto + +hugtzim +ingzchuyd +pkhuzsljxi + +jx +xi +x +x +x + +ofjhxmvksergiwybtcu +tolphrazkdmnxvjqbgwfu + +fxchrgezya +egyavxfzhu +qazgfehxcy +yizpxgfhae +yefoxgrzha + +fdeycphozusnrmlqxbgkatij +ibcljzfekypxraosntmdhg +rclgbmydkifnzhtjsxpeoa +ackshxdjemipfrgyznlotb + +wumlxodgzvq +xrzkoqgmludvw +qzulvoxwmg +wugolamjqisyvx + +jizxyhqgrnawmpueo +pasuqmtjnexolvr + +xkguqypbe +osgkvxueib +nxsgekoub +gekvdxub + +kngxpdyotlzfejvswcm +qplsjgtownxahbdrkfu + +zjqeomhnt +tojeqhmnz +mtjqozhne +ejozmqhnt + +syzqrhiwfp +hmqewc +vbhsqfn +tgaxkhqlo + +fyhucdtvsk +kfhcvudsty +stbnyhuigkdjfc +tfycshvduk + +rbhqwkjdvmpxageitnoflzy +xkthmoywqeidjplagszvbrfn + +ktpfmlvsw +mvsklwtpf +wfptvklsm + +rnlvdy +nxrcl + +elwycpbnf +ncywf +wcyfn +fvcnwy +fywcn + +bckpqzdwosyfvnut +oxpvukncbdwfzqtys +fzwpdtvybnscoqku + +cbmrsxdipyfnvjo +mnpabkgqslufwx + +kywscxvhq +vruiyhsezt +fjgnmy + +qbjdkgltunyfaxsp +psblakjyedthnu +punsydztlkcjba + +bphcoy +hbpoyu +bkopyq +atilojrpmby +pbyou + +ibluxzvfswnghc +gwsfplu +uglsfw +lusgfw + +sjlubyimoegkpftdavhcrqw +amouhdfilybrjgetpwq + +orawjpscyfdnelztqbh +sawekclfpnbqzodth + +ntjuvmwpycf +szjagiteydvnmplfwc +myrhnvxwpcfjt + +rdosc +rdosc +dsrco +rodezcst + +ncugi +nbgwup +ugn +nug + +n +n +nl +n +n + +ntflyovsdhmkcgp +kantmvyrpdhglio +tnkvpidloymbuhg +ohtvdypnmzwkgl + +nxqs +nqx + +jp +jp +jp + +ejskx +oryamnsvzg +hdjs +uwtsh +sh + +bpcugtovs +gweokzqstjvlp +gtduvshopria + +uthdirywmvgbxe +zugeithvrynm +yoivghmuqtr +typsgmlfhrivuk +erdvuimhtyg + +eydpbq +dbyeq +yebqd +webdqy +debqljtyv + +munbwc +lnvu +nu +nu +ynru + +gftdzau +gufszr + +fyxzhbwnuptil +sygzkulwpqfinht +tfwuihlcypbdnez +pnhyzmulwfit + +acryonbgetshwjfxzml +ozhmrcfalxwytbsugej +ehybxrfjcqtsozawgml + +z +nfej + +mhvxlkbtuyo +hfxqabklvygmc +ykbmvohxlws +ekbxvrhyml +yobvuwhlekxm + +ambpsyie +bcimpyase +ebispmay + +lydzmsgoqijxkthcewpbrn +ynlpjgqrztobhmkedxsiw +jpwrluxgbismezdnyhqtko +vrdkxhnjgeysbtofqmwzlpi + +mvkyralfjqtu +iazljont +tzdclaje +ltgjza + +nsizhmgdoewlvx +lwghmdxzovnsie +doghnvsxewmlzi +lnswzoivdmhgex + +cadutlrvyk +xaouyv +vygua + +z +w +n +n +n + +xjlvfhcgbqyozt +zcyqbtgvljeofh +yczjfqouvdtgkhbl +gbvzflyjhcqot +ftbcoryzgqvhjel + +fnkspvetum +edmstgnqkjvx +puesnmvkita + +ytrbqlwcvusz +qmjcl +qcxl +hxgclq + +ldg +d +d + +sc +cs +cs +sc +syc + +axpdoftgkme +adleukosgxfmry +kgfeonazbdmx + +muxqr +rmqxu +rxmqu +ruvxmq + +qhidvckgolepxsuj +zfvinabmcewpkgt + +pcvmxbdo +wyodpmcx +ojgrdxcpm + +jimg +mljsi +mji +ijms +imhzwj + +jfkbp +zndqof + +ed +tdef +capdkyize +etdf +edtqv + +vhm +hmv +hmv +hvmt + +vylapqueifs +vpyqilsfaeu +paqefisuyvl +svlepfuqyia +eufpvialqys + +jowmpltbdxyrvu +mudxhrcbfzjqslwptk +dbrtulxpjgywm +uwpmtjndlbrx + +ilnxbpwdrvuokfjgtzec +inxbtyczgfjwdlveour +ohznidtmxuawbcgvlerjf + +q +q + +xmjs +smwj +jsm + +cyfp +soxgrjm +pu +kfhe +tw + +rhuey +uyhrge +erhyu + +d +d +tmd +d + +muciswt +stmic + +ldxnfy +nqler +nlkb +ln +lbn + +eyqhbgiwfkjlnx +wtekhamon +zcseurhpnk + +xumhwodpjfgalqns +gozkaxbrwvc + +kioucnzelsy +foyuvzceiknls +ksenoulzycmi + +nefyugdromqbiksz +isomrdufqbkgzyne +pesmfngbrkudioyqz +gsmtfeodynqkubrz + +xskygfdipzwchrlvatb +dhgawjcpirkmvtflzbxys +izrvshfbdwlapygxctk + +mb +qzmayl +fmt +tmh + +csjthr +tflbks +bstfpda + +qojyvbtusn +ovsxbhqytuj +weojbisuqytv + +aepz +eapzb +apdezm + +syoeagjvfl +fejtvnmqxrphzlbc +fgviejsukld + +ylbqv +qlvby +vyqbl +blvyuheq +qyblvz + +evusaopzdy +zvypducloea +udvozyepac +adystoeupzbc +gzmpdaeqwukyo + +fglqnbtpra +robpaegfktnq +mntqfaiprklob +prjfybutdwaqncsh + +q +y + +rcz +zrc +zrc +czrf + +rh +rh +rh +hr + +aynwkrpfuvhcblqtzixgeojsm +mvtpirakxuhwfyjscbqgnoezl +mlcuqzoihdgrxfvyswtbaejpkn +rpialswqmbnvehcyxjfuogztk +amkhqocevbwxlifsyrntzgupj + +rljduyhgnzwkp +kuydljrnpgwzh +uykgjwrdplnhz +ngdwzylhpjurk + +wexrly +yxqlrhemw +rywxle + +t +e + +pxhgaqjv +rnjxltuqh +myqfwekcsdix + +gwdfvsolhup +vlgdwuspohf +fdrvuwopslgh + +zhsrfjbcndwqyvupgakemoxlti +xhtoyfnlwpzuevgdmbjircakqs + +ldgebj +jleg +jugle +glje +egjlu + +jlnzs +nj +jn + +jfhdwsg +ltkpanyihejxsg +hsjrgmc +gmsfoqhwjc + +evjngcfizyuoslpb +ozbsiefngjvpcuyl + +pjbred +jdtbkp +awdbjko +dbj +vmdcbjhl + +iudzrx +agykxzu +xukzpa + +ou +huo + +l +l +lb +l +l + +hfpw +wphf +hpwf +lfpwhc + +wajmh +tqfpcselurxi +kbz +ywg +dkz + +sgw +cyezglipksuh + +oexibpzgr +pixobge +xvucyptmqib +bixozp + +va +o +wnjky + +zevpulnqaikdmwsyotcr +dzvkjeinuslfrchqmgyw +vezxklwdqynursmcfi + +id +dvi +sdiz +ids +idq + +bmpxyk +cnykjbmexo +xydmatbki +dxbymk +myxbk + +atzibcu +ticuazb +icazbtu + +nypbqmhuc +sjqzoetl + +dxumvboftrwzihclgqeyk +mhrfecdvzgikxujyqtpwbaol +nkobczmqytrlefviuwhxdg +vgcelwryqhznbtfxkmiduo + +fzxyjegvadrltb +rgehucmqpn + +nfrx +ufxkverj + +haqu +qk + +fgchqktrynjbwduia +umnljcwifthzqpovd +xwenjtqihdrucsf + +zkjmoyh +oyhmzkj + +xdsoglwprq +xlmwoqg +luqxwyogm + +yp +bgiw +l + +liefqvj +jefiqlv +efvljiqr + +axnpoecuwibslgd +xeougsnz +smxgueony +qexumgzonsh + +wua +adwiu + +n +nk +n +n + +maijgrtsyn +sjytikamrgc + +cwnetku +gilvzhsa + +hywvukqdmjiezrbtnplacg +ejinbtdzwgmkyqhrlfcap +uimwlzrnkbqgjvtacyedhp + +grud +dxuerg +urdgh +diugr +iurdg + +tfwiqjnmbue +puylasdgzocxh + +ysghmdqol +omlqhgd +imqohjdxrgl + +fkayurzxndqieobvht +qmrnbfkahieowduvt +cefarktbvhqiound + +qptdrbmzgk +dmbq +lbfcq + +tjxkogms +dcphwbfulxenrmzi + +ohreptydvgsiwnubkz +vbgkoshpdluzeyirtn +xiqskhnadmjtgyvbrpeuoz +oknhrzvgbepysutdi +ynegfoubrdctsihlpzkv + +zrn +rzn +rnz +nzr +ndrz + +hpgliyawdbsrxfkqjen +rsdielyjxqakphwbgn + +qvcjphegszrt +tjcaermgsvz +dgcjfuapeozhsn +gwexszycjkibl + +cmsjwrbudoi +ezqwslombvj + +glw +elo +mrxkctaqu +hnsjf +jwvbi + +kotwglnpf +pugtlxn +npltg + +gdxpkcyuqezlonsfam +wjpsozehatqyk +izykpvoqejas + +xbjouepi +samvuxp +xvprzu + +rq +rq +rq +qr + +ocvehwzqfurayknlix +uxekyhclarqwonvifz +wdruxcqnkohfayezliv +oqrnxawlhycuziekfv + +xpcgsrelqw +mwdrceplsqx +pehrjxcswlq +seluwdrqcpx +qwpeucsxrl + +d +u + +epijobawgtdqrylszxnf +rwpxfzbeyosadntqjg +fbxwyrcepozajnsdugtk + +dtecfku +eiutfkr +tefuk +fteku +lktuef + +dmrwnhbq +oimnyltvqphze +qchkmsajn + +nfw +nwf +wnf +pnfwq +wnfe + +brw +rbw +wbr +brw +bwr + +pyuxqzbcnmrdwjkgsoe +jbudewcygrsqxtpmozn +gzsibnfydwrcjvmxkuopeq +whnoypqjrcgulszmbdax + +pdfzoknvgbr +fgokwnzebdvrp +borzfpvnkglh +krfgplvznob +pgvmnzbcfkroyjs + +jgszrlwvi +wvonhpy +dnfmtwva +kvqdtyw + +xrzhqlgpevtcwm +ehglzctpxqrmwjavu +clmhowtkgpiyfqrnbvxsez +vpzhmrxqewdgtlc + +waztysmcegnurkvjqdp +vosdabjykpmgzcnuwr + +bwutrjc +urbjwt +jurztwyb +utbjrsw +zbwutjr + +zeckigrwv +zswgrcivke +ceywkizvgr +kziyvtwcge +gzfanbvwxmceidkp + +n +n +n +n +n + +mzwbnksrt +tomrwnkzs +mknszowrt +ktrnmswzv +mtwnrszk + +y +y +y +y +y + +rmbditwshcfkpjnozavyx +dyftmzojakhrpcwxsvnbe + +avdbct +dvatb +amdntlovb +vadbtc +bavtd + +ruyvefoqiaslcdkm +iaouvsmyefkcdrlq +uqoescaifkbvdrmyl + +dkvxyjsbwhqac +pcjbqyaeuvgfostx +yrdxkqjacsbvm + +ugepzw +derzibs +jyokqvmal +fhc + +qupyrj +ibmzegkto + +xksviqnyurgw +vkbnurxlyqg + +opgw +smbvpg +bpds +gjp +fpta + +xtlncsiwjhbygrdoumzkqvaf +olsxbuwigdzmhvtyrajnqckf +lajzbuqswcnvhkdfomxtiyrg + +pakwbfxuq +wxpafkuqb +bkqpufxaw +axuwqkfbp +uxwbfpkaq + +eqsgztjkimn +nqjzyst + +cn +nc +nc +cn +cn + +rv +rv + +pbwsuy +jshcqt + +vbjkzyprhm +jkmbrezygvhup +rhjvmbpyzk + +ochfjrqmy +qrfocyhmj + +ksrx +hcrbzu +rdc +jrcp + +soixrchpvek +qbtdocpixwalfvnkm + +zmtlj +zlpyjtm +rthxldmjaniz +zluptjm + +rcyshqp +jbdnpe +zgp +pnjtz diff --git a/test.sh b/test.sh new file mode 100755 index 0000000..d0269c5 --- /dev/null +++ b/test.sh @@ -0,0 +1,52 @@ +#!/usr/bin/bash + +set -euo pipefail + +cd "$(dirname "${BASH_SOURCE[0]}")" + +run_solution() { + if [ -d "$solution" ]; then + runfile=$solution/run.sh + [ -f "$runfile" ] || { echo "Error: $runfile not found"; exit 1; } + "$runfile" "$input" + else + case "$(basename "$solution")" in + *.hs) + runhaskell -icommon "$solution" < "$input" + ;; + *.py) + python "$solution" < "$input" + ;; + *) + echo "Error: Unknown solution type: $solution" + exit 1 + ;; + esac + fi +} + +for day in day*; do + input=data/$day.input + expected=data/$day.expected + for solution in "$day"/*; do + echo -n "$solution... " + solution_output=$(mktemp) + trap "rm $solution_output" EXIT + run_solution "$solution" > "$solution_output" + + if ! diff -u "$expected" "$solution_output"; then + echo FAIL + rv=$? + case "$rv" in + 1) + exit 2 + ;; + *) + exit 1 + ;; + esac + else + echo ok + fi + done +done