Author: Honza Pokorny <honza@pokorny.ca>
Archive 2020
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0
diff --git a/2020/project.clj b/2020/project.clj new file mode 100644 index 0000000000000000000000000000000000000000..c023e04fe03b711ea568eaa7564dd8239e51840d --- /dev/null +++ b/2020/project.clj @@ -0,0 +1,8 @@ +(defproject aoc "0.1.0-SNAPSHOT" + :description "FIXME: write description" + :url "http://example.com/FIXME" + :dependencies [[org.clojure/clojure "1.10.1"]] + :main ^:skip-aot aoc.core + :target-path "target/%s" + :profiles {:uberjar {:aot :all + :jvm-opts ["-Dclojure.compiler.direct-linking=true"]}}) diff --git a/2020/resources/input01.txt b/2020/resources/input01.txt new file mode 100644 index 0000000000000000000000000000000000000000..3c039b7ba24e88f68dce34a38df090ffe61bbba8 --- /dev/null +++ b/2020/resources/input01.txt @@ -0,0 +1,200 @@ +1895 +1732 +1660 +1658 +1878 +367 +2010 +1989 +431 +1946 +1614 +2003 +945 +1856 +1934 +1937 +1781 +1947 +1991 +1917 +1604 +1707 +1966 +1959 +1182 +1828 +1880 +1908 +1942 +1687 +1611 +1922 +1913 +1803 +1976 +1718 +1885 +1971 +2000 +1912 +1981 +1776 +1901 +1941 +1935 +1977 +1907 +1893 +1898 +1975 +2001 +1833 +1951 +1939 +1988 +1870 +1985 +1932 +1930 +1938 +1926 +1931 +1982 +76 +1979 +657 +1872 +1933 +1961 +1987 +1998 +1994 +418 +1914 +1929 +1810 +2009 +1712 +830 +1990 +1900 +1876 +1753 +1859 +1965 +1963 +1905 +1921 +1685 +1694 +697 +1899 +1997 +1964 +1927 +1952 +1894 +1960 +1986 +1883 +1616 +1993 +1892 +1943 +2005 +1995 +1915 +1663 +1954 +1902 +1191 +1948 +1875 +1850 +1955 +1962 +1984 +1957 +1969 +1887 +1953 +1786 +1638 +1909 +1881 +603 +1973 +1784 +1869 +1925 +1968 +1737 +1807 +1950 +1992 +1936 +1918 +1891 +1897 +1940 +1919 +1910 +1862 +1958 +1832 +1904 +1791 +1920 +1874 +1729 +1643 +2007 +1871 +1999 +1584 +1890 +1924 +1974 +1701 +1906 +143 +1725 +1945 +1783 +1873 +1903 +167 +1855 +1633 +1956 +1996 +1808 +1884 +1916 +829 +2002 +1852 +1835 +1889 +1983 +1949 +1970 +1774 +1764 +1609 +1882 +1857 +2004 +1911 +1896 +1980 +2006 +1967 +2008 +1972 +1648 +1923 +1978 +1675 +1831 diff --git a/2020/resources/input02.txt b/2020/resources/input02.txt new file mode 100644 index 0000000000000000000000000000000000000000..f4997c30891eed45500c538ec98feed1af7d4301 --- /dev/null +++ b/2020/resources/input02.txt @@ -0,0 +1,1000 @@ +6-10 s: snkscgszxsssscss +6-7 b: bbbbbxkb +2-4 n: nnnjn +1-2 j: jjjj +5-9 z: jgzzzqhbj +4-11 m: mfmmmpmjmkdr +12-15 t: twqrxttwttthtkxbz +8-9 z: ftzjzzzzr +17-18 h: cpkhssvpphzvprfnft +7-8 b: bjbbbbbb +4-5 p: pppppppppgppps +16-18 r: rrrrrrrrrrrrrrrrrr +9-16 v: vvvrpvbvvvvvvvvvwvvh +11-15 d: ddddddddddddddjd +9-14 g: ggbggghggggggggw +1-5 d: ddddbd +1-4 x: xxxwxxx +1-2 l: bdjjddlqg +1-4 b: lbbxb +15-16 f: ffffffffffffffmz +10-16 m: mmlmmmvmmmbhmmmq +4-15 v: vlfvvqphhjfvlgt +5-12 m: mmmmjmwmmmmcmmm +7-8 q: qqqqqqxkq +4-9 h: hhzhhhhhhhhhsh +3-7 t: thltdtjtstzrtwtt +6-7 k: kkkkkkk +1-5 q: jqwqd +4-13 x: xxxxxxxxxxxxxxxxxx +1-4 l: llfl +6-12 n: nnffnfnnmnffnx +4-6 m: xmvxnmpmm +5-7 m: mmmmbmmmmmmmmm +9-17 f: ffffflffbfffffcffff +4-10 k: kkklkkkkkhktkkbkzq +8-15 z: kdxxzzlhpzgbzjzz +2-5 q: qrqqbqqqqqqqkqq +3-5 t: zrttht +9-12 t: ttxgntjmvntctpfrt +2-3 k: kkkk +8-10 j: jjjjjjjjjj +2-9 k: vkwkhcqnk +9-10 t: ttttttthtt +4-6 b: bbbbbbbb +9-12 n: xnvnnvldhthlsn +2-4 w: wwwwwwj +6-10 t: tttttwttttvtt +3-10 j: jqjjjxjdjnjjjj +15-18 q: kqlncdqwclqpjzrbnq +7-8 p: gpwbjppp +3-13 m: mmmmlsmfvmhmmmm +7-10 s: wdshsrsgsl +8-16 f: fffffffxfffffffcf +16-18 s: ssskswhsvslwsssrsq +12-14 j: gjjjjkjgjkjhjvj +13-14 t: gtttvftwtgvhlt +6-7 v: vvvvvgbv +2-8 l: ssldslmvl +3-9 l: bflzllqkqlkll +8-9 n: rrnnnnnnsn +7-14 p: bqsrxgplkpdvbpkn +2-5 z: wzbclnsxt +2-4 k: knkxk +6-8 d: drddjddjdd +15-16 p: ztgptpfpcwppqrzppps +1-3 k: nmsqksv +7-10 n: pwhbcwnlznfnvrlnds +13-15 t: tttttttttttttttttt +10-12 b: bbbbbbdbbgfxbbbf +3-5 w: rwwwj +18-19 x: xxxxmxxxxwpxxxfxgln +1-4 g: lfsjtgggg +13-15 x: mxzgtxhrxjhxtnf +13-14 d: ddddddddddddlx +3-5 r: rrrtrrtmlr +1-7 t: thttttttttt +2-5 g: sngggj +8-9 n: tnnnnnnnn +6-10 w: wkwwjfwltk +12-18 n: nnnnnnnnnnnnnnsnnh +14-18 m: mmmmmmmmmmmmmmmmmmmm +5-15 v: fvvfrcqkvkggnpl +13-19 f: ffffffftfffdnffffpsf +13-15 k: kgkkkmkkkgftklb +4-6 h: hhhchvh +7-14 l: qmbdhdjbrglxql +13-17 w: kwwwwwwwwwwwdpwww +1-5 q: pqqqdqqqq +8-9 p: vhwphvpfp +2-4 h: hljmh +1-2 c: tmcc +3-5 f: dpnvwffhlp +3-5 m: mmmmmm +10-12 c: ngjnczmcscxc +2-4 x: mxxj +4-6 m: xbmkmm +1-6 l: kllllsblqhngl +11-18 x: xprkjcrxkgxxgwtbmx +4-6 k: vwxshkkkkbtfbhl +11-15 z: dzzkzjjzzzzzzzlmzbn +5-6 f: ffffnfffflfjff +3-6 d: ddddddbd +6-9 r: wrrrvrrrr +8-9 n: nnnnjnnnt +2-7 b: bxptdkctbrxfllpvj +3-4 x: hxxv +5-14 n: nrnnnlsnznnzrqnjxnp +1-3 w: wwww +9-12 x: xxmxxxxxxxxxtxx +10-14 j: jjnjjjjlvjkcsjjdllvj +4-6 w: wgwbwwww +10-12 t: ttqttttttttl +10-11 t: ttwtttttttv +9-15 t: ttttttttftttttttt +2-3 p: pfgp +2-4 z: brrksnvqjzwqjvjs +8-9 n: knnnftzjbqj +6-7 w: swjwwdwwwwwwwww +1-2 j: xjlrkjjztrjfpss +13-14 l: llllllllllllvlllllr +7-12 l: lllllllllllblllll +7-8 j: gqdcmjqh +3-9 g: gchkbvgvgw +15-17 b: bbbbcbbbgbbbbbmbg +1-7 h: qlmhhcdhhhhhhhhhh +2-15 c: ccccccccccccccscccc +1-2 q: xvch +3-9 w: wwwwwwxwww +2-4 x: jskx +3-7 t: btwsnvts +9-11 g: gkhgwctggbm +2-7 g: xvgwwltdvnzscbtqwb +1-11 k: kkqkpkkdkkkkkkkhkk +4-12 h: nbqlhjbqhxtnxlzlr +3-4 d: dwdd +8-9 k: kkkzbckklqqkhfkqkk +7-8 c: pcxmqdwc +2-4 v: qbvwvvnvvp +3-9 c: pfqcblwxcrmx +1-9 t: fwgtcrftktt +7-8 p: pppppppp +6-13 w: dnwfhwkjffpdwgzdf +10-14 k: kkkkkkhkkwkkkkkk +2-4 s: zscssddtpmqblmd +11-13 b: dbvzwthlcmbkb +1-4 k: kqlxwvbkckwzmqxvtcc +2-10 s: sxssssgsssxsssnss +3-9 w: nxrmwlpgw +10-13 w: wwsgwwwwwwwkw +9-13 v: vhvvwjvcvbvvg +5-7 n: fbvnjpt +3-4 x: xxxx +9-10 l: rlllmlllll +7-9 d: ddddddddhd +4-8 z: zzzhzzzf +11-12 m: mmmmmmmmmmkf +4-8 m: bmfzppcqttct +2-4 m: mfmcmmmcx +2-9 p: rppzgvshn +7-8 r: rrrrrrrrrrvr +6-7 p: hkltppp +7-10 m: mmmmmfmmtmmmpbmm +6-14 p: pppppppppppppxp +4-6 p: wbspppnlmc +2-4 n: xnfnl +2-5 q: nqkcqmvwp +2-3 d: ddkbkdjd +5-9 b: qxjbblbrb +14-16 b: bbbbbbbbbbbbbqbbb +5-6 p: dppppp +5-8 j: kxztnjjn +14-18 k: krkkkkckkkkmktkkkkd +7-8 n: nnngxnfpnn +16-17 c: ccmccccccccccccfcccc +1-3 g: wggg +1-2 c: cqcckc +2-8 g: gjwdkbds +10-17 s: hswqssmttskspdlkkss +14-16 b: bbbbbbbbbbbbpbbrbbbb +12-16 r: srrmcbrrcrzrdwzng +2-3 h: fcws +9-13 p: gkgpqpghpjbpz +9-10 m: mmmmmmmmmmm +3-4 b: brbb +2-3 p: gncvqdhp +2-7 g: gdggggggggggggg +2-7 j: jjjjjjrjqjjj +3-5 v: ltptjlntf +1-7 w: gwwwwwfww +7-10 z: zzzzzzmzzzz +10-12 x: xxhxxxxxxgxsxxxx +11-12 b: bbbbbbbbbbbbd +16-17 v: vvvvvvvvvvvvvvjht +1-4 x: bxxx +16-19 g: gggggggwggggggjgggg +5-10 q: qjpqqvlnkqxmlv +4-6 p: qrpffplvpp +7-9 r: rrrrrrgrb +2-3 g: bgjg +10-12 t: ttjttttnttdtt +2-4 g: dgng +11-12 r: rrmrrrlrtrrj +1-5 v: qvvvvvvvvvvvvvv +3-18 p: ftnfnpmjprmrzmhbnxj +10-12 w: dqnsjjxsqrwq +2-4 z: lzgkzsb +8-9 n: dwclxdtnndtpcgqmx +10-11 w: zjwdsphbbwlhp +2-9 d: zzprkgzczbs +14-19 c: gpjfrvsrcnbxbclctxc +1-9 f: fmhfvfffrfws +12-14 d: ddrddbddddddddhmdg +14-15 s: sslsssmsnssdxsj +2-10 v: ljppzjfvfnfp +1-2 z: qbwbzknrzzs +18-19 l: llllllllfllllllllll +2-3 p: ppgp +13-15 k: knkkkkkckkkkhkxk +3-6 v: vbjvmv +4-8 h: hmhcxfhg +12-14 v: vvngcvvvvkvgvs +2-3 j: xdjjrk +5-13 s: sssssrqsssssq +1-7 s: sssssssss +6-14 b: ptlvmbbrbxnvqbrmp +16-18 w: wwwswwnwwmwwwwwwwf +1-4 k: kkknkkkkk +1-4 g: ggrbk +9-11 r: rrrhrrrrrrrrr +11-13 x: xxxxxxxxxxxxnx +3-8 x: nsxvlvdfbkpxsgscn +12-15 h: hghhchvjhhhhlvhhhhh +11-12 n: nnnnnnnnnnjqn +10-13 r: jrzfzrzrqblmks +7-8 w: wwwwwwwh +3-4 k: kkbft +1-9 c: cccccjccccccn +2-7 r: rrvnrxrvrzsrbrs +3-10 l: llgdldmlplqlhdlll +4-8 m: mmzmbmgm +5-6 q: sfxqnftnbnqwq +5-6 v: vvvvgvvqv +9-14 h: dhmwrhzqqvhhhfhfhhht +4-7 p: jwwppvpklc +9-13 z: zzzzzzzzzpzzzx +13-14 l: fllklltlllllcphllll +12-15 m: htmbmqgljcmvmclgnm +9-10 b: bbbbbbbnbb +6-12 x: nxjbxxhxxxxgdxx +6-7 t: tttbwlk +8-11 q: fqqjtlswqgkqdqc +16-20 t: xplwqxbwtsfptbvtvcxt +3-4 k: kklkkkkkkxkkkk +3-9 m: kmmsvmpmxmgmb +6-12 j: jjtjjjjjjjjpjjwj +3-4 m: kkmbmzkx +7-8 f: gmfxlgfjtfst +1-3 w: wwwn +1-7 k: knkktkkn +13-16 v: vvvvvvvvvvvvvvvmvv +10-11 h: rhvdhnfhvtchlfhh +10-12 x: xgxwbqxkxxcwsfd +10-14 m: mmmrdxpcmcmmmkmmmmm +2-5 x: vvxpx +8-9 h: hhhhhhhmfh +16-19 j: jmwjjjjjjjjjjjjjjjz +2-3 r: sqrnr +14-19 p: ppppppppppppppppppk +2-5 w: wwwww +15-16 q: dppxtnhmxrhmncrqq +4-5 v: drhpp +1-4 p: pkhn +3-6 q: gwmrfwh +6-10 v: dlvvfhvvkb +1-8 q: qqqqqqqqqdqqqqqqqq +17-18 n: nnnnnnnnnxnnznnpnng +3-7 m: gmxzffwmbdm +12-14 m: dmzmcmmhjmqltm +3-16 w: drcbwtvqgbppbwzvm +8-10 d: ddbddddzdddddkpd +8-9 m: mmmmmmmmmmmm +1-3 l: glll +7-11 x: fxrxxdxxxqxnxx +6-7 d: ddddxgdd +7-8 g: hgggbggg +2-3 w: pwwtww +7-10 h: lhwbhjhzhx +3-14 b: bbbrvrbsfbnxrgqbbq +4-7 l: jzqkxlnpxlglfsll +6-7 b: hbpbbbb +2-4 w: pskwwxzpjvmwcnfr +13-15 m: mmmmmmmmxmpmxmmm +4-9 k: krxkzqzkkhrpqth +4-7 f: xfffkvfqzwhcfwkhq +4-10 q: qqqqqcqbqqq +14-15 s: lgszsdststlpgjbs +7-12 s: sspbsssskfns +7-8 d: cdddqpnd +13-15 p: ppppppppppppxppp +10-11 r: rrrfxrrrrrrrrr +10-12 z: zzzzzzzzzvzvzz +3-4 l: lllwll +7-9 p: ppppkpppqpppppsvx +3-4 k: kkkrk +4-5 v: zxmmvmhvr +14-15 r: rrrrrrrrrrrrrfjr +6-10 b: vwbgbbbbdbqsbb +5-7 j: jsjjjkv +3-4 m: tzmhr +11-13 r: rrrrrrrrrrqrhrr +1-4 s: psqmcssnk +5-6 z: zdkzzzz +3-5 p: cnpmbtknqdppmcjpzvcn +13-14 g: ggggkggggmtggd +14-17 c: nxmzcczccnvdcxpcmb +6-10 w: wlwwbdwwwwwwww +9-17 l: llllllllllllllllll +2-12 j: jpjdjjjzmjxj +1-3 n: szjntnnl +7-8 l: dpxlmhlbts +5-16 s: sssssssssssssssrs +1-6 m: pmqvlc +7-15 f: ffffffffqfkfffdxff +10-11 w: wwwwwwwwwwswwww +7-12 p: tkppvfpwksrp +4-7 f: fdjdgdvsksbfbnjkspc +4-11 b: bjmvfrmlmlbndl +1-3 r: rrrnxhgbwr +5-10 h: xhhmhhhlhbh +10-11 h: hghhhhhhdlhhh +5-6 g: gptglg +9-11 t: wtgtxtttqtmttt +5-11 f: jxqffhfsfmz +4-7 f: frjffbf +1-15 m: mmmmmmmmxmmmmmmmm +1-12 d: drwlbpdbzdgdjpnzmj +9-14 n: nfnmktjnncnnnln +1-2 h: pshhjhhhhf +2-4 t: tgttttttfb +2-4 w: dwpwhnxbf +7-11 b: vbcbzhbwhpb +4-5 k: hknck +5-12 m: mmmmtdmmmmmmmm +5-7 w: qwflwxq +2-5 g: jdnxdlclplvb +5-7 t: ttrtttttkr +8-18 l: lwscjwlmdlzlllnsllpw +2-8 c: cccxtccchbrkr +1-3 q: qqtqqqqq +3-13 d: dddddddbddddddd +1-7 r: jkpzrpfnrgpkc +9-10 t: ttttttttttt +11-12 w: wjwplwwwwwmw +9-12 r: rpsvrhrbnrwqch +6-11 p: zpzbpkpmtnptsnpbswc +4-6 t: jhzstt +3-4 t: ddpkcgpzhd +4-6 s: cvzshjfrsslxnslqddwt +1-3 c: cgsczhl +1-4 d: lddqdqd +6-7 v: vvvvvvb +5-8 w: wwwwwwwwww +5-11 p: ddswpbpppsqpp +5-6 x: dfzxxxhhqjvj +3-7 m: mmmmmmmmmm +4-8 g: ggggggggg +5-6 j: jjcjjn +5-6 n: nndtns +4-5 t: ltxkdpst +2-8 b: ldwkbzbxgpbbbb +11-12 w: wwqwdqwwwqhvwww +15-17 k: klkcxqbwrktxcmqlnb +5-6 k: tkqhkkkkrkjfd +12-13 x: nxxxrjxxxdjlxxbt +9-12 m: mmzmmmrmmfmgmmmmb +2-5 v: tkbhvlvp +12-14 v: dvbvvvvhrcvvvxxvvvvv +14-16 x: xxxxxxxxxxxxxrxxxx +6-7 v: xvswnvvm +6-9 c: vcpcksxwbdlc +5-11 s: sssssjssssrsdjsssq +6-16 j: jjjjjmjjjjjjjjjnj +8-12 g: ggggwggggggnggg +4-5 c: ccczk +14-15 l: lllllllllllllkm +10-11 r: rrrrrrrrrrrrr +3-5 n: dwnvnlj +2-4 x: xdxxxx +5-6 j: jjjjjjj +3-9 k: kkkkkhlrkktt +3-7 t: stqtgfdprtqjsgznrtjh +11-16 n: hsnnnnnnnnfnvnpqnnn +13-16 v: kdvbvxvvtvhvvvvq +1-3 v: vwpvkvdpxgc +14-17 v: vvvvvvvvvvvvvnvvhv +14-15 m: mmmmmmmmmmmmmtm +6-10 m: mmmmmhmmmm +5-8 t: tttjrttdsttfttwstf +6-7 c: ccqcvcc +2-5 v: vvvvvv +8-16 c: cccccccccwcpcccmcccc +4-5 t: ztvttktttttt +10-11 n: rnmnnnnnnnnnnnnpt +5-6 g: lgsggggg +15-18 s: lcsmgkjqzdpcgvsrng +2-6 p: wwpppp +9-10 v: vvvvsvvvmvv +6-11 c: qrmdjxzsmxcmcccgrr +17-18 b: bbbbbbbbbbbbbbbbbbbb +6-10 t: thtxgtpxwt +2-8 f: xkgbrpqfsrhhbnfpdg +3-8 c: gqkkvgkcqfwdc +5-6 c: jjcsjf +8-16 q: fbwdmlwljqqcrqsq +3-10 m: mjmmsmmmmmmcmm +5-15 x: xmrvcsjwxxdpsrxzcrzj +3-7 x: rxngzxxg +17-19 z: mmvfgzpmbvzsrmkgmmmb +3-4 z: zdzz +4-5 v: vzcvb +3-11 z: tzllpgzzmwxznh +8-11 x: ptgvnbxzsxwdb +2-3 r: rrrrr +6-10 b: bbmbbbbbbb +6-11 q: wvmqrzrllhxfzmpkp +13-17 v: vvrgvvsvvcqkvvvvbvvw +16-18 p: ppppppppnppgppppclp +13-15 g: gglggggggngggggggggg +15-17 b: bbbbbbbbbbbbbbbbb +3-6 t: tpwzktlzkdt +2-3 m: lmvtnfjzmm +1-7 j: jzjjfjx +15-17 r: rtfdnhrrhrrdcswrl +1-3 d: gdfdmddddwdddlsd +3-4 r: qrtr +10-11 m: mmmmmmmmmkc +2-5 n: gntnnnncc +9-14 b: bbbbbbbbbbbbbb +10-13 f: fxfffznffffzwffflz +5-12 j: vjjrjjjjngjjjjm +6-8 k: kkkrkklkkkkkkk +5-7 r: rrhzsxrjjw +17-18 g: gggggggggggggggggf +2-3 h: ghhvrh +1-3 j: hjjxjjjj +3-5 q: gbqnqkprckxqglkhw +17-18 n: ngnnnnnqnnnnnnnnnnnn +2-3 m: xlhmmq +6-7 p: kvvphgj +9-12 k: kpkzkkzkkkkkbwk +9-10 k: kkrkkkkkmt +5-10 t: tttttttttttttttt +10-11 l: ztdvlllzfltlwlglkhcj +7-12 t: bttttqtqttttttttg +3-4 z: xzvb +5-10 h: lhcdhkhhhhb +1-6 z: jqzzqzzzzzzzzzzzzz +6-7 x: qxxxxtxz +13-14 g: gggngggggggrgsgg +1-2 t: tttt +11-15 w: hpwhwmwlkbwtwmwlj +8-10 r: rnrhrrmprnrrr +5-12 z: rshzhwgzhfjb +15-16 s: sssqssssssssmsss +9-12 z: zdzzzzzzkzmz +10-12 c: mfgpskncfcfctjmt +5-10 p: sppwnpdpptppwdppppp +3-14 q: mnzfgfmvmsdlqg +1-13 s: sssssssfssssbsss +6-8 d: ddddddddd +2-5 j: vsbbjh +14-16 m: nmklmsrpjxwpdbmj +3-8 v: rfvvvjqv +18-20 p: pppppppppqhpflppbppp +7-11 x: xxxxxxwxxxx +3-4 l: llmvlll +8-9 w: grmvwtwbz +2-11 m: mmmmmmqmmmsmmmmmmmmm +6-13 h: hhhhhrshshhhlhhhh +3-12 t: tnttblttttcvrtttx +5-18 f: cfffcffvgffffrmlfx +1-3 n: rnjnnnnnnnnnnnnnnn +1-2 w: smmdq +1-5 v: vvvvvv +5-15 s: tssssscssffhsswssss +3-11 b: bbbbbbbbsbkbbbr +13-15 j: xjjpjjcjjjjjjcj +5-10 g: bvjvgpzgdgkmmzwnwrxz +2-7 q: qqqqqrq +10-12 d: fddddbdddxdqpd +5-7 c: hsccjccrlm +11-15 r: nrrrlrrvrdlrprw +13-14 r: drrtbrrrrrrrrcrrr +8-10 c: ccccxcchfjcccccxpc +8-9 s: sssssssss +1-10 r: rvlgkrrrrm +8-13 w: jwbwcwmwwvwwwwww +7-12 k: fxkkcnkkbvkxbkphx +7-8 l: llllmlvll +11-15 q: qdjpqwgfqjdqnnq +8-9 m: mmmmmmmvmmm +6-7 k: kkkksmkb +4-6 h: hhhlhhhhfhhhhhh +2-5 k: xzjlwb +3-12 j: sjwqrjzjgqrj +5-18 p: ppppppppppppppppphpp +1-3 g: gggrggggg +14-15 n: nnnnnnnnnnxnnhnnn +19-20 d: jkpzsxwsddzccjdkcptj +2-4 v: wpdz +1-8 w: dwjtngwwwrwhp +13-15 t: tttttctttttxvfrt +6-11 h: ksvshqhhdth +8-9 k: khfkdkppl +11-12 d: whlmcdmfgfddd +11-12 p: htvxpkfngthz +6-9 v: vqvmvvbbv +5-8 m: lghmmmrmmw +14-16 q: dtmqqrqqqqqgpgqtqr +2-11 f: bfjskxzlgvfml +10-19 p: kpppppppphppppppppp +5-7 j: rfbpzmjtjj +9-10 p: kpppppppqpp +3-15 k: hgkgrqblnjmsbvrghzdk +6-7 r: rrtwrwlfrswwr +3-4 k: fkkdv +12-20 g: ggggggggkggggggggkgh +3-5 x: xxxxpxxxxxxxxxb +8-10 k: kkkkkkkzkh +4-10 q: qqqmqqqqqcqq +4-12 t: ttgtqblzqzpttcxdtfn +18-20 s: sssbbsscsjvslsvsssss +3-6 x: xxxxxxx +4-5 t: tttttt +5-7 q: xqqqqqqqxkqqqqqqqtqq +2-4 s: zsvq +6-7 b: mmbcklx +1-13 z: zzfzkshpslwcn +1-14 d: ddpddtdddddmmf +8-13 j: jjjjjjjjjjjjjjjjjz +5-6 c: cjjlxb +10-12 v: vvvvvvtvvmvv +2-3 b: wfbbg +1-10 l: llllllllllllllllll +5-10 d: hdbhdgxcjd +10-13 t: ttttttttttttnt +5-6 h: vhmhhh +16-17 x: xxxxxxxxxxxxxxxsqx +6-14 g: gzggggzhggggzgg +15-20 f: ffbfxffffvfffffffhfd +2-3 d: xdvw +5-7 g: zgggjgq +2-12 g: ggggggggmgggggg +6-8 h: hhhhhhphhhlhjhhxfh +3-10 j: knjklstqxwcsjf +2-3 h: hvnwjxhpsc +7-8 w: wwwlwwgw +14-16 s: chgtpswssxsqtwzrsqt +5-6 d: zdbdkl +3-4 p: lwkpbrbp +8-14 c: cbhtccjmrccrcp +2-3 s: tctflmgdtsjjfxpl +3-4 g: gggjkctwdsgl +2-4 h: ghbh +4-13 h: fczphhvflghhhd +3-10 x: jkzhgljwsblcrmbwfx +12-13 p: npfgppprzpppc +7-12 l: sqbplmqnlmwph +1-8 p: hpppvpprppp +12-18 n: nhbznznxncnkcchscl +9-10 g: grjxmgzpgk +6-7 g: rcmkggggggg +1-7 b: bbbbbbbb +2-3 t: ttftzqt +8-10 l: twbjlnblhck +1-2 c: cvbc +4-9 d: mfpdddsnd +5-8 f: flpvbdrfl +7-12 s: rhspsxlbpsmsclzrdsfc +2-4 h: vhhh +1-10 k: bhkkkkkkxkkkzk +5-15 q: qqqqqqqqqqqqdqdqql +12-15 c: ljvcklwjvngfgfgrjsv +8-10 w: pwwtpbwwvwwrwww +5-13 b: tbjmbfmknjhbb +1-2 v: cssd +2-5 s: ssssss +3-4 h: bhhxxhfh +3-5 p: pfppp +13-20 l: lcxxllcfjmllclljllfl +2-4 p: sqpzk +2-4 l: xlllb +1-7 t: ttttttrttttrttttttxt +10-12 m: bwmmghzmqmmpmj +5-8 l: jtlljpql +5-6 d: lddddd +6-8 c: nljczccdwvnmrlqvlsc +8-9 d: dzdddcddt +10-11 z: zzzzzzzzmqj +3-4 s: msssss +3-5 z: xzvdzbzt +2-18 v: bvcbpwkbdmclbnbmsv +9-12 b: jrcccsndstzbxprkvtq +3-11 n: vlntglzvvcnngn +3-8 v: rpgckwptlvdqsrqqt +6-11 q: qdqdkqvkvhdrdqm +9-12 b: khbmbgbbvbqb +9-10 g: gtggggggczgg +3-5 c: zqctcs +15-18 z: kbzsdhbbzxfzzqdjzc +7-8 g: ggggggzx +9-10 s: sswssrssqms +14-17 g: ggggcggggggggpggcgg +10-15 g: qgzmbkjlggrhgkg +9-11 j: jjjjjjjjqqjjjjjj +5-6 c: cgcdcchcccbcc +2-4 g: gggg +5-13 h: plkhhrmxhxhmh +11-16 v: vkkqrvbvbcvvnvvvvv +6-7 c: rlfmqphqrhqkhch +3-5 z: hzspz +8-9 d: kddmdddpdvddln +5-11 k: wkqkcfkpvnkvh +4-7 r: fnzzwxrxr +15-16 r: rrrrrrrrrrrrrrwr +2-19 f: fvffffffffffffffffwf +9-11 v: hbvbvvgcvvvj +2-4 m: mrxpv +13-14 z: zztzgzzpzzzzzg +4-10 t: qtvtcrfmlkrgtwsvwtw +3-7 g: ggggggfgggggggg +5-8 c: ccccfcccnmccc +6-12 z: bzfcjzdznzwzrzbzzqrn +14-15 c: ccccccccccccczkccccc +3-4 j: jjjjjjf +1-2 x: kxxxx +3-4 s: sksj +17-19 c: hvchccvccdxgccnxdcc +3-6 r: trrrrrrr +10-11 c: ckcjzcrzcbc +1-7 p: pmqplfpvgq +3-4 h: hhmx +5-6 n: nnwndln +5-10 v: bkkvfgvqwdt +7-14 h: hkjlwvhdnhxhwcnhs +4-12 f: xxwfjfcwslrfzrxfkxj +2-3 c: ccccc +4-13 k: kkkdkkkkkkkkkkk +8-10 b: mqlljkpbbbxbrbfx +1-4 p: pppp +14-17 n: nnnnnnnnnnnnnnnngnn +5-6 d: dddddddvw +9-10 r: rjtrrrmqrrrzrrrrjrrm +7-11 x: bxxxxxrwxpmn +13-14 w: gwmwwwlwwjwjwx +2-4 d: dddddvddd +7-9 p: pjmdppgpspcslh +13-16 l: tllllzllpvllvlzd +9-11 q: qzmwqqzqtqqq +4-5 d: dvdngdd +9-11 j: xxxvjrmgjpk +3-4 c: rvvcn +15-16 r: rxvmlslkpmqdqtdd +2-5 b: sbflb +4-5 w: wntpw +8-16 n: nnnnnnnhnqnnnnnnn +5-6 n: nnnnnnn +2-5 q: bsjfhq +6-18 r: prrrqkmrrrvbrrrrdfrv +3-5 g: xnxlp +4-11 s: jsstsssjssfssss +14-16 d: dddddddddsdddddd +18-19 n: vgngvbhdjfrbnznhhjzn +11-13 f: ffffffffffgfgf +5-11 n: dbgvngchnkngt +3-4 f: gsff +2-4 r: rfdrlznkzg +10-18 z: zzgzwzzzzzzdzzmzhzzn +4-5 s: qscmbssss +11-15 x: xbxxxxgxxxbxxzw +2-10 h: dkrnxknmthcv +12-13 b: bbbbvbsbbbbgcbnb +4-5 m: mmlmmsmmh +3-6 j: njrjjkcr +10-12 x: xxxxwdnxxxxx +14-16 g: hggggggggngggggg +8-9 x: gjqfxxxtxxxb +16-17 f: ffffffffjffkffffmffb +2-8 z: tsktkzfxntrv +2-6 v: hvvswd +1-2 w: xddl +2-6 k: svwvvkqmzwjkx +9-12 p: ppppppppbppspppb +12-19 m: mdjmlhsmxmwcmmmmmmm +3-5 x: rxjxb +17-18 r: rrrrrrrrrrrrrrrrwk +2-9 b: cbfbqcfwbmwd +1-11 h: hhhhhbhhhhmvhhhh +2-3 j: jkjjgjhxj +5-6 f: fffffffffhf +17-18 j: jprvtszvgsbtxlrhljsz +1-4 m: mmhmmmp +2-6 p: xvfkpkc +1-2 f: xqtfcf +1-5 r: brrrrrr +7-10 w: wwhwwwdwwj +1-4 w: vwwdh +1-3 f: hnpvgfwth +10-12 k: kkkkkkkkkdkq +5-13 r: rrpqrrvrqrswzr +9-17 x: xjxxvxvbtxxxtpxpx +12-13 j: njrjkcjgbjjnj +2-4 l: lvll +12-17 p: dpppprpbppnvpppprp +4-18 b: zftbmbxgzfzdvdnvhb +12-16 r: lcqgqjthprlxrzrrx +2-7 m: msclccmxhsmf +3-4 b: bfkb +2-6 k: skfgrk +4-5 q: qqqhhx +6-8 c: cccmvcch +16-17 l: bxnlvbvwzvfvbcmxl +7-12 c: cccccccccccc +6-7 b: bbbbjsjbbbs +2-7 q: phxnfxqrqv +4-5 h: hhhhhh +9-15 n: nqnnglsjnnghxrn +3-4 h: hkkh +5-11 r: rlsjvrrrrrl +5-7 b: bbbbzbwbbbb +2-3 f: qczff +8-14 c: fccqccccccclccccck +1-8 r: rrbfmjsr +4-5 p: dpphz +11-13 d: wdmwkcqddrdvdz +8-15 h: hhhhhhhhhhhhhhhhh +6-10 l: dhgdclhlkltnc +14-15 t: tttntttnthtttzw +4-6 p: pppppdp +13-14 l: dvlnvlgtbpnhll +11-12 s: brsqgfsnpmwskhdnm +6-7 j: httjvjj +2-14 w: wwwfwjzwrzfwnwjwwm +8-9 w: wwrwwwwgt +2-5 r: dvrwb +7-9 b: wwvqbsbjb +1-12 l: lljxlbslwlgn +11-12 m: mmmmmmhmmmwbmkmmt +10-11 l: lblllmllldl +3-9 w: wwpwwwwbfwwwm +9-10 q: pcrqfqlskz +7-9 l: llvlllblklllx +6-7 g: qgggjmwg +5-10 v: vvvvvxbrvvp +9-10 d: hqddgkkdrpdd +17-18 q: qqqqqqqlqqqqqqqqdt +6-10 h: hspnhhzldxphdh +8-13 l: vvvscdnlblllml +6-12 p: ppkrprpxwpppwx +4-5 k: tkslb +7-8 d: hdjdhnzdd +9-10 x: wkxtblgxxjxxlqnfxxlx +8-9 g: rggggggdk +10-20 d: kcgdtbbswwdtvgdgxfwd +3-4 g: gggggg +16-17 l: llnzlqllllzllllmllll +4-10 r: nsrrrbzrfzcrrzrrdqk +4-6 k: kkkkkpkk +4-8 n: nnnmntnnrnnn +12-14 l: lllllllllwlqllll +3-6 r: rrrrrrr +1-6 s: ssskcshsxtd +7-15 d: ndrbdnntdmkddxd +9-10 j: pjjjjgjsjhjj +7-10 k: pkbkkkkkgkq +4-8 m: mmxmmmdmmmmm +9-13 c: ngjcrcccvbcvqdjmph +3-5 q: qqqqqq +7-10 s: fcssnsssssslxspr +3-5 k: kkkkvv +5-10 f: tlbcvgwfzlf +5-9 x: xxxxqxxxx +2-10 q: qrprhbrhjhb +3-4 g: gggmgg +8-10 j: jjjjjjjgjpjjj +2-4 v: dvzvvtfm +7-12 q: zvzqprjhqdcqfzr +12-13 f: ffffffffffffqf +2-3 f: fffsdwq +10-11 z: ztzzjzjzzzlzzz +5-7 k: kkkkqtkkkkk +6-9 z: dfbzhgsrzsp +2-4 b: wpqb +9-15 c: cwchcdhxlqzccxbb +8-11 q: qqxptqqvqrgqg +5-7 t: ttttztcvtjtkts +2-6 n: nnbmdnjxclwkffrnxff +3-7 p: pppppph +9-12 d: xhmfndzcddfddvgddf +1-5 h: hthmhvlthhhhh +6-7 m: mmmmmmm +6-7 j: jjjvjjjrj +1-5 q: mqnqwqqqqqjq +10-11 b: bmbbbdbpbbbbzbb +1-4 k: gvccvdltkwcdd +12-16 s: sssssssssssjssshs +4-10 k: wzvlkmdhcklhdp +10-13 z: zzzzzzzzzfzzj +6-12 g: bmzmvvggpgtm +3-11 m: nvcpfgvnsqmwxmmz +1-5 n: dnwnnnnnnnbndnnn +4-5 h: lhhhh +4-5 g: gggdg +2-5 h: xthqhfj +2-4 f: lfkf +4-6 k: rqbhrtzktmvmrxck +4-5 q: jqdsc +10-11 h: hhhhhhhhhvjh +2-17 r: rrrrrrrprwrrrfjrr +16-17 b: bbbbbbbbbbbbbbbbhbbb +3-5 z: pkvzzfrljrjctw +13-14 w: wwwwwwwjwwwwww +8-10 d: dddddddldzpq +1-4 b: sbbgb +2-10 d: vnhpzmvpcddhs +8-15 t: zftpwtrtqjqtfntp +11-12 j: djjjjjjjcjjcj +4-7 r: jrrtrrrvmzzrrvsl +2-4 r: rpkp +3-4 b: qbxc +10-11 w: wwwwwwfzkdmnwwv +6-14 z: mztxzzztmzwzzqvm +12-14 w: wwwwwwmsgwdwsqwjwww +6-10 f: zfhqjfhnjfdvwsfftf +2-11 q: mwbbqdncdfq +8-11 v: zvtvvwvfvvq +6-8 n: xnwhzmdskwhn +8-15 q: qqqqkqqqqqqqqqst +1-4 n: nnnnn +5-18 c: sqczchcwcccclccccccc +3-4 j: klgr +11-12 m: mmmmmmmmmmmm +2-3 d: qdxfmqwbmdnvj +1-5 m: cmmmm +6-7 l: llllllll +1-9 m: zmmmmmmmlmmmmmmm +9-11 m: dwspwrmjsxpc +5-6 p: qpppfz +10-19 t: fvtphwzsptqzntbkxqt +7-9 m: mpcmpmmmvptmm +3-9 h: hhhpqqwhhtm +11-16 p: pppppppppppppppvp +1-9 k: ktkklkkkkkkk +10-17 q: rthtqvgspqkvfkgkqfhj +11-14 g: ggxgggggxggzggcnggg +3-4 t: tttt +9-10 t: sqtbdttthtttm +1-4 t: ttkbgdzztbxd +3-8 f: gxfcrrsfntftvffnfqff +9-11 q: qqqqqqqjlqqq +12-13 v: vvvvvvvvvvvvk +7-11 b: nbxbbbsmbtkb +7-8 k: kkkkkknn +4-6 j: jjjjlv +13-16 m: mmcmmmmmmmmmmmmvs +7-9 k: kdkkkkrkgkk +1-4 c: crcdlrdbzc +1-16 k: kkkkkkkkkkgmkkktkkk +2-12 l: llllrlllllllll +4-9 g: gggbkgpgz +6-7 q: qqqqqqjq +6-7 v: hvvvvpm +10-14 t: ttfxmqtgtttttbtct +5-7 h: hwhhfrnch +4-13 w: zdlrqvxwwzsfrfq +4-5 h: hhhshhhh +2-4 n: vhjfnz +5-6 s: sssssss +11-13 n: nnwrnnnlnngnn +3-4 s: wbss +3-4 s: wnss +16-17 p: ppfprptkpmzkbjppp +2-4 v: pvxv +8-9 w: swwwwwwhwwnwwwxj +4-6 s: pzhkvss +4-5 x: wnxpx +4-5 f: fsfwp +4-5 z: zzdjz +3-6 v: vnvvvvvvvvvvv +5-6 f: wfxfff +4-7 z: zzzqfzz +3-5 q: qqjqsqqqf +3-7 w: kwwkmww +6-7 h: hhhhhhgh +2-5 v: vvbzvvkn +8-15 r: svrqpqrgrrhmzbms +9-17 n: jnnnncnnnnnxnnnnnp +5-6 n: dgnhsc +5-7 l: lplltbv +4-6 n: mmrnsbcqr +7-8 w: wwjwwwwww +1-16 c: bccccccfcccccccdcc +6-9 l: sjnlmxwllg +3-9 q: cqvhkwhtstwrl +5-9 h: khvxhhhgfchhknhhhz +8-9 c: ccccccccdc +2-19 n: jjxbmbwmnqbblfbgzsz +3-4 p: pppp +1-3 b: jzxbbb +3-6 h: hhhgjhhw +2-8 f: vfxftzkmlzk +11-19 h: mmdptdzhwdbjhvkccrhk +4-14 s: sssvsdpsssssspns +11-12 f: fffffffflfbk +2-13 h: nhbgtbjvbpmrnhf +1-3 t: ttttttttttttttttttm +3-4 t: tsttr +2-9 n: fnkknptqn +1-8 j: qjpjjjjjjtpxjqjw +2-12 c: clccccccccckccc +18-19 f: dpftffzcfhqffddfpff +1-4 j: trjj +9-11 z: zwzmzzczsdd +5-8 g: vrpbggfn +2-5 k: qksvzkj +2-4 f: wfdfjlfwmjrdmxx +4-12 l: bnplnlgqcwql +13-14 n: nqlfdnnnnnnnvbnwnlh +4-8 l: dgxhsrql +10-11 k: qvwcrkxtkjxlq +5-6 g: ckgggg +6-14 h: xbhhvzvxbhhhhhbhkzhh +6-9 w: whwdwrxgc +7-9 b: bbrbnjbfb +7-8 w: brwwkfvwwwww +2-11 g: gmggghngggg +12-17 l: bgslljzntbmvtkbgllgg +12-18 g: gggggggggggkggggggg +1-3 l: gllllllll +14-16 k: jkkqkkgkrkvxkkkkskgb +2-3 v: vljvgnvm +7-8 r: jrjvrprr +7-8 f: xxffrnff +2-18 j: jhjjjjjjjjjtjjfjjpjr +8-9 q: rfllhmnqtrkv +2-3 n: lnndv +2-15 s: hzzsrprnnjlwdfs +1-5 q: vqqqq +9-18 b: gxbpbbppbrbbnlkmbb +2-13 b: bbbbbbbbbbbbpb +6-7 t: mtrftthtttftttztttst +1-7 z: nfzzzzvzzczzzzzzzz +4-12 m: mmmcmmmmmmmmmm +9-11 p: jpswppqbmpfpzpg +10-11 c: ccccccpcccc +2-6 t: ztscdrkxxctdft +3-13 q: mqfqqqqjqqfqdqqq +16-20 z: zzjcxdmzgzzzppbtztzz +5-15 w: wwwpwhwqcwwwwwgw +2-4 p: pczp +5-7 d: ddddmdfd +2-3 f: fftc +1-3 v: vvmv +11-15 k: tjkcvkkkkgkzkkxqv +4-6 b: vdkvbn +7-8 c: wbcjhswc +9-10 l: lllbqrllll +4-5 s: sjnlw +12-14 j: mjtmzfjjtsgvgtq +1-3 l: llrllml +12-13 d: dngddlqdtgdcd +3-5 l: cblhld +3-4 r: trrq +1-3 c: kcccc +9-10 g: bgbgjggpvgpgpggg +3-6 d: szwlfm +13-14 f: ffffffffffffzfff +6-7 d: ddddddddddnnddddr +7-16 h: xmbpwmhsznmldhnxflc +4-6 q: qqqnqqqg +2-7 t: ttwbpmnthmjr +8-16 x: xbcxxbwxxrpxnfxd +2-3 d: dngdd +9-10 n: qkxfdljnnl +4-5 f: ftfffff +12-15 n: nnnnnncnnnnnnnsnn +1-2 d: dkdd +2-5 v: vvvvgv +1-14 v: jvvvvvvvvvvvvmvvv +5-6 r: rrrrrr +2-3 b: bnvbbbtbjgxfchnkhcjb +1-14 g: wjggxgggggggxgmrvcg +1-6 x: bhvxhxxxx +1-2 r: rprr +6-7 c: cccccccqc +4-8 b: bbgplbbcdtbbdbgbbhbz +1-4 w: wjgw +1-3 h: zhzzt +2-11 j: sjjrtjkjhjj +6-7 m: mlmrrmm diff --git a/2020/resources/input03.txt b/2020/resources/input03.txt new file mode 100644 index 0000000000000000000000000000000000000000..e1bd0f655fb0729445f15cd68aeb4a8e8cd5887c --- /dev/null +++ b/2020/resources/input03.txt @@ -0,0 +1,323 @@ +.#.......#...........#......... +..##.......#.#.#.....##...#.... +.......#..#.....#...#.......... +...#..........###...#........## +#.#..#.#.##.#........#.#.....#. +#..#....#..#....#.............. +#..#........#.................. +..#.#...#.#...#....#.#.#..#.... +..............#..#............. +.##....#...................#... +........#..........#......#...# +.##..#..#...##..........#...#.. +.#...#....#.........#...#.....# +.#........##............#.#.... +...........#..............##... +.#..#......#..#..............#. +..#.#.#...........#........#... +..###..........#....#.#......#. +.......#...##..........#....... +........#...#.................. +....#....#..#.......#........#. +.......##.#......#.....#...##.. +..#.#........................#. +.#.....#.##..............#.#... +..#.#...#.#..#....#....#....... +.#....##.....#....#........#... +..#...........#.##....#...#.... +..#.##...#....#.#.....##...#... +.......#...####...#...#.......# +.#...#......................... +.......................#....... +.....#.#.........#..........#.# +#.........#............###..#.. +.....#.#.............###....... +...#..#........#.#.......#..... +...................#....#...... +...#..#...#............#..##... +...#.....#....#.......##......# +.....#....#...##..#..#...#...#. +..........#...........#.#.#.... +..#.......#...#.....#......#... +.........#.......##......#..#.# +..#.....#..#.###...#.#......#.. +#....#...#..#...#.....#........ +..#......#..#.......#.#.....#.. +#......#...#......#.....##.#... +........##.......#.......#..... +.#.#...............#........... +..............#...#.#....#..... +....#......#.#..#......#....... +...##....#....#...#............ +.#...............#...........#. +.#.#...#.#.....#.....#...#.#... +...##...........#.....#..#...#. +.#.#...##.#.#......#......#.... +.##.....#.......##....#.#.#.... +.......#...........#....#....#. +....#...........#......#.####.. +......#....#...#...##.......#.. +......................#.#####.. +..#...#.#...#..#..#......#..... +....#........##.......##....#.. +#.#......##.........##.#..#...# +.#.#....#...#..#...#...##....#. +.....##...#....#....#.#........ +......#..#....#.#...#.......... +.........#...................#. +............#.###....#.#....... +...#.#.....#......#....#.#..#.. +..............#..#.#.#.#....... +#..##...................##..... +..#.......#..#.........##..#... +.........##...#......#........# +..#.........#........##.###.#.. +...........#.#....#.....###.... +..#....##.#..#.##....#.....##.. +..#.....#.##..................# +#....#......................... +..............#..#...#.#....... +......#..#.#.##....#..........# +..#.........#.####.....#....... +......#..#.#..........#...#.... +......#.................#..#.#. +.....#..........#.............. +....#.....#............#....##. +.....#.....#........#.......... +............#.....#...#........ +........#....#.#............... +#.....#.........#......#..#.#.. +...#..#......#......#.......#.. +.....#......#.#....#..#...#...# +......................#..##.... +.............#.........###....# +#..............#.#..........##. +...#.#.................##...... +...........#.#.....#........... +.........#.................#.#. +........#........#...#..##...#. +........#......##.......###.... +..............#.#.#............ +.#.....###...##.#......#.....#. +.............#......#.#.#...#.# +..#.........#.......#.....#.... +......#........#...##......#... +.##..........##......#.#.....#. +..#.##....#....#............... +......#...#..#.....#.....#...#. +.......##..##..#............##. +..............#...##........#.. +#....#................#..#..... +........#.......#.#.#...#...... +......#.......#..............#. +#.#..#...#........#....#..####. +..#........#...........#.....#. +.##...........................# +.............#...........#..... +.#.....#.#...#.........#....... +..........#...#....#....#...... +.#..#........##....#........... +.......###......##...#......... +..........#.#.#..#.#....#...... +........##..#.........#....#... +........#.#......#.#...#.#..#.. +....#....................#.##.. +##....#..#...........#.....#.#. +...#..............##...##..#.#. +......#.##.#.......#..#...#.... +....#..#..##.....#.....#.#....# +.......#....##.##.............. +#..##....#.....#.#............. +..................#......#..#.. +..#......#...#..#.......#...#.. +...........#....#.#.....#...... +#..#...##.........###..#......# +.......#......................# +#.......#....................#. +..#..#..........#..#..#....#... +.##..#..#.....#.#..##.......... +#..###.......#..##..#...#..#.#. +.....##......###.....#.#.##...# +..............#...#....#.#..... +#...........#.................. +..............#....#..##..#..#. +.........#.............#....... +.#.#....#....#...............## +.##.##.#.....###.....#......... +....#..............##......#... +....#........##................ +....#.....#....#....##....##... +.#........#......#......#...... +....#..........#............... +##..........#......#.....#..... +........#.#..#.#..#.....##..... +..##......#.#.......#.#..#..... +.#.......#......#...........#.. +..#.#..#.#..................#.. +...#...#...#...##......#....... +.#...##....#...#...#...#....... +.......#.#.......#............. +.#.##.#.....#...........#.##.#. +.#.##.#........#...##.......... +.#.....#.....#....#..#......... +...##.............##........... +.#........##.....#.......#...#. +...........#..#..##........##.. +.....#..#...................... +..#.......#.................... +.....#......#....#....#.......# +........#..#.#.....#......#.... +..........#..#.....#......#.... +..........#####.....#........#. +........#..#...#.#....#......#. +.........#...#....#.#.......... +......#....##..........#...#... +#..............###.#.#......... +.#.#............##......#.#..#. +......#........................ +...#..#......#.......#....#...# +.......#....##.....#.#......##. +...........#..........#..#..... +...........#..#.....###......#. +.......#....#..##......#....... +.........#.#.#.......#..#...#.. +.......#.......##.....##...#... +..............#....#.....#..... +...#....#.....#.#..........##.. +###.........#.............#.... +...##......#.#........#....#..# +#....###.......#...#.#......##. +....#...##.......#......#.....# +.....#......#.................. +#........##....#....#.#........ +........#.......###...#........ +........#..#.......###......... +..............#......#..#...... +#......#.....#....#.#.......... +.#......##.#.#.....#...#.#....# +.##...........#..#.##.....#.... +.....#.....................#... +.#..#...#...##.#...#........... +.......#.......##..#.#..#...... +.......##.....#.....#.......... +.................#............. +#........#..#.......##......... +#...#..###.#..#....#.#.###..... +..#.......#.......#.......#.... +..............#............##.. +.#...#..#...##.........#....#.. +#...........#...#.............. +.......#.....#......#..#.....#. +..........#......#............. +##.........###..##.#....#..#.#. +..............###.............. +#..##.............##.....#..... +....##...................#..#.. +....#.....#..............#..#.# +........#........##...#.....##. +#...........#.##..........##... +#......##.....#...............# +..##..#....#.................#. +#.......##..................... +...............#.##..##......#. +..#.##..#.#....#.......##...... +......##....#............##.... +.#..#..##.....#.##....#........ +#.........#..........#...#....# +...#.......#.............#.#.#. +..##............#...##........# +.......#.#.#........#.......... +.....#.............#.....#..... +.........#.........#.........#. +#.....#....#.......#........... +.........#....#.............#.# +.##..#.......#...#......#...... +....#....#....#........#....#.. +............#.......#..#......# +.#............#.##........##... +..#...##...#....#...#.#...#..#. +#...#..........#..##.........#. +..#.........................#.# +...........#.........#..#.##... +.#..................#..#....... +......#......#...........#..#.. +...##.....#.....#..#.......#... +.........#.#.......#......#.... +...........#................#.. +.....#...#..#............##.... +.#.......#..#....#..........#.. +#.....#..#.....#..##.......##.. +...#.......#...#....#...#.#..## +...#...##......#....#....#..... +.......###.#..#.......#......#. +........#.#...#..#..#...#....#. +....#.........##.#.....#....... +....#.........#..##........#... +..#...........#......#....#.##. +.....................#......... +...................##......#..# +......#.#.....##..##..........# +..#.##........#.#.#..........#. +.#.......#...##.#....#....#.... +#.#......#..#..#.......#....... +.............#........#.......# +....#...#.....#........#...#... +..#..............##..#......... +..#.................#..#...##.. +....#..#...#................... +......#.........##.#..#..#...## +........#..#....#.......#.#.##. +.#...#...........#..........#.. +##.....#...#............##...#. +.##.....#...#.................. +.#.......####.#..##.##.#......# +.............#...#..#..#....... +...#.##.........#.#....#....... +...........##...##....#....##.. +........#......#...#........... +...........#..#...#....#.##.... +..##....#..........#....#...#.. +#....#.#.#.......#.#........... +......#............##.......... +#.#.###..#....#.......#...#.... +.#......##..#..#.#.........#..# +..#.........#........#....#.... +......##.#.......##....#..#..## +.............#...#............# +......#......#...#.#.#.##.#.... +#.#...#.##.....#..............# +..........#.............##.##.. +#......#....#...#.#.#.#..#....# +........#........#...#.#......# +.....#...........#............. +...........#....#..........#... +....####...#..##....#.#........ +.#......#...#..#...........#... +#......###..#.##.###........... +..#...........#.........#....#. +................#.#....#..#.##. +...................#......#.... +....#.#.....#.......#...###.##. +.#........#.#....#...#..#...#.. +....#..###.................#..# +.....#.#..#........#......#..#. +....#.....#...............#...# +............##.#.........#..#.. +.......#..#..##.#.#...##....... +..#..........##..#..#........#. +..............#..#...#......... +......#.#....#........##....... +.#.....##....#..#...#.......##. +..............#.##............. +#..#..#...##....##.#.....##.#.. +..#...###..#.........##........ +........##......#.....#..###... +.....#......##.###............. +....#.....#.#..#.#..#.......... +....#..#.......#...........#... +.#.............#..#......##.... +..#.#......#.#................. +.......#.#.#............#..#... +......###....##............#..# +.........#....#......#......... +..........#...............#..#. diff --git a/2020/resources/input04.txt b/2020/resources/input04.txt new file mode 100644 index 0000000000000000000000000000000000000000..cecabe26162287d74e0cfc706e175c7bc43bce1c --- /dev/null +++ b/2020/resources/input04.txt @@ -0,0 +1,1056 @@ +iyr:2013 hcl:#ceb3a1 +hgt:151cm eyr:2030 +byr:1943 ecl:grn + +eyr:1988 +iyr:2015 ecl:gry +hgt:153in pid:173cm +hcl:0c6261 byr:1966 + +hcl:#733820 +hgt:166cm eyr:2025 pid:79215921 byr:1952 iyr:2014 ecl:blu + +eyr:2022 +hgt:165cm hcl:#733820 +iyr:2013 pid:073015801 ecl:oth +cid:101 + +iyr:2013 +ecl:brn hcl:#623a2f +cid:246 byr:1948 pid:122719649 +hgt:160cm +eyr:2026 + +eyr:2028 +pid:229371724 hgt:154cm hcl:#ceb3a1 byr:2000 ecl:hzl iyr:2017 + +eyr:2029 ecl:amb +byr:1980 +hgt:177cm pid:914628384 hcl:#623a2f iyr:2013 + +iyr:2019 +eyr:2026 hcl:#efcc98 pid:475316185 byr:1945 +hgt:76in +ecl:amb + +pid:371759305 iyr:2018 hcl:#623a2f eyr:2026 byr:1984 hgt:174cm + +iyr:2010 pid:184800910 ecl:amb cid:108 eyr:2028 +hcl:#cfa07d + +iyr:2012 hcl:#b6652a hgt:160cm pid:223041037 +eyr:2029 byr:1920 ecl:oth cid:212 + +pid:775975903 +hgt:163cm byr:1966 +eyr:2023 ecl:amb iyr:2010 + +pid:465404256 hcl:#7a54af ecl:blu hgt:180cm iyr:2018 +eyr:2024 byr:1933 + +hcl:#18171d +iyr:2018 hgt:185cm +byr:1929 eyr:2024 +ecl:oth +pid:#b0990a + +byr:2017 +hcl:#cfa07d pid:184cm hgt:187in ecl:#e97c0d iyr:2022 eyr:2013 + +hgt:176cm iyr:2019 eyr:2024 ecl:brn byr:1943 +pid:532967054 hcl:007b47 + +pid:171225044 hcl:#888785 byr:1992 ecl:amb iyr:2012 eyr:2030 +hgt:180cm + +byr:1969 +pid:689216275 iyr:1934 eyr:2031 ecl:#e5bc14 hcl:#fffffd + +pid:166619054 cid:125 hcl:#cfa07d hgt:164cm byr:1946 +ecl:brn iyr:2014 eyr:2023 + +ecl:#c1ae72 pid:458692331 hcl:#b6652a eyr:1966 byr:1951 iyr:2023 + +cid:253 pid:9096156879 hcl:9911e5 +byr:2007 +iyr:2019 eyr:2033 hgt:181cm +ecl:blu + +ecl:oth pid:180428876 iyr:2019 byr:2001 eyr:2024 hgt:172cm hcl:#7d3b0c +cid:81 + +hgt:167cm +byr:2007 eyr:2030 +iyr:1961 ecl:lzr hcl:#cfa07d +pid:#e254d8 + +pid:377737133 hgt:160cm byr:1958 hcl:#866857 ecl:oth iyr:2015 eyr:2022 cid:350 + +hgt:188cm +eyr:2025 ecl:brn hcl:#efcc98 +iyr:2015 pid:321192707 +byr:1996 + +byr:1956 iyr:2018 hcl:#b6652a +eyr:2024 +ecl:blu cid:343 +hgt:152cm pid:192659885 + +hgt:163cm +iyr:2012 byr:1952 eyr:2022 hcl:#efcc98 ecl:grn pid:337866006 + +cid:134 +byr:1941 eyr:2027 ecl:oth +iyr:2012 pid:303690324 hcl:#7d3b0c + +ecl:grn byr:1945 eyr:2028 hcl:#cfa07d iyr:2012 cid:108 pid:388941584 hgt:171cm + +pid:962215061 ecl:brn iyr:2019 eyr:2025 cid:163 hcl:#cfa07d byr:1958 hgt:187in + +ecl:amb +byr:1989 pid:118257086 iyr:2019 cid:320 hgt:158cm eyr:2027 hcl:#733820 + +pid:813286578 +iyr:2019 eyr:2031 hcl:#341e13 hgt:161cm byr:1950 +ecl:oth + +byr:1976 ecl:blu +eyr:2024 +hcl:#fffffd +hgt:153cm pid:552154655 iyr:2019 + +eyr:2025 pid:109518209 iyr:2013 byr:1923 +hgt:162cm +ecl:oth + +hgt:178cm byr:2007 hcl:#7f431f pid:7365694093 eyr:2037 +ecl:blu iyr:2018 + +eyr:2021 +cid:105 iyr:2013 byr:1995 ecl:grn hgt:181cm +pid:733189859 hcl:#b6652a + +hcl:#6b5442 eyr:2028 iyr:2013 byr:1958 hgt:169cm +ecl:gry pid:651263830 +cid:51 + +iyr:2018 cid:59 eyr:2027 ecl:blu +hgt:174cm pid:269821917 byr:1971 + +byr:1936 eyr:2025 ecl:hzl hcl:#b6652a +iyr:2019 +pid:670202082 +hgt:186cm + +byr:1958 +ecl:gry hcl:#7d3b0c pid:000522430 eyr:2020 +hgt:168cm + +iyr:2015 eyr:2022 +pid:630105579 hcl:#7d3b0c byr:1935 +ecl:gry hgt:153cm + +ecl:gry hcl:#fffffd hgt:172cm byr:1944 +eyr:2021 +iyr:2013 cid:58 pid:554670072 + +byr:1983 +eyr:2022 +iyr:2012 hgt:176cm +ecl:brn pid:201965494 hcl:#dd8296 + +cid:124 byr:1935 eyr:2020 ecl:blu +hcl:#a97842 pid:666776663 iyr:2010 +hgt:68in + +byr:1943 pid:139343878 hgt:181cm hcl:#733820 cid:206 iyr:2018 ecl:brn +eyr:2029 + +pid:114742677 +ecl:amb hgt:160cm +byr:1975 eyr:2030 +hcl:#866857 + +iyr:2012 ecl:amb hgt:170cm pid:221200950 eyr:2028 +hcl:#733820 cid:274 + +eyr:2020 +pid:167438086 iyr:2020 hcl:#fffffd hgt:178cm byr:1996 +ecl:blu + +iyr:2015 hcl:#b6652a +pid:905439259 +byr:1962 cid:209 ecl:brn hgt:150cm eyr:2024 + +iyr:2016 ecl:amb +pid:855119486 +cid:77 +hgt:192cm byr:1947 eyr:2021 hcl:#888785 + +hcl:#341e13 +iyr:2011 hgt:157cm eyr:2030 +pid:103806645 cid:90 ecl:grn byr:1976 + +hcl:#fffffd byr:1957 +cid:284 eyr:2026 +pid:031705251 iyr:2019 +hgt:166cm + +eyr:2019 byr:2019 hgt:167in +iyr:2014 ecl:gmt + +hcl:#18171d cid:93 +eyr:2027 +iyr:2013 +pid:821161144 ecl:brn byr:2002 hgt:170cm + +hgt:181cm +byr:1972 iyr:2018 hcl:#fffffd +pid:745667222 eyr:2023 +ecl:hzl + +hcl:#602927 byr:1996 ecl:blu pid:503245375 +hgt:166cm eyr:2028 iyr:2018 + +hgt:59in byr:1966 +ecl:oth iyr:2016 eyr:2029 hcl:#866857 + +cid:179 iyr:2012 hgt:182cm eyr:2024 pid:451186596 hcl:#6b5442 ecl:blu + +eyr:2023 iyr:2016 +hcl:#18171d hgt:173cm cid:182 pid:979409688 ecl:brn byr:1972 + +iyr:2014 eyr:2027 byr:1977 ecl:brn hgt:171cm hcl:#b6652a pid:124307431 + +byr:1929 pid:048990845 ecl:hzl hgt:193cm cid:159 hcl:#b6652a eyr:2028 + +ecl:gry hgt:181cm iyr:1934 byr:1970 +eyr:2015 pid:5818817055 cid:98 + +hgt:179cm +iyr:2014 +eyr:2030 +pid:397317466 byr:1967 +hcl:#a97842 +ecl:grn + +pid:138485312 ecl:hzl +hgt:151cm +iyr:2010 hcl:#866857 byr:1936 cid:345 eyr:2021 + +ecl:oth +pid:687490850 eyr:2028 hcl:#9bd268 hgt:157cm iyr:2012 byr:1994 + +byr:1933 pid:575158994 hgt:192cm iyr:2017 eyr:2022 hcl:#602927 +ecl:gry + +iyr:2012 +hcl:#7d3b0c +ecl:oth +eyr:2023 pid:615952261 byr:1959 +hgt:152cm + +byr:2010 +iyr:2011 hcl:z ecl:grn hgt:152cm pid:6079261766 + +hcl:#18171d iyr:2012 +byr:1986 ecl:blu +pid:836367740 hgt:191cm eyr:2024 cid:200 + +ecl:blu pid:909247319 iyr:2019 eyr:2026 byr:1958 +hgt:170cm +hcl:#b6652a cid:256 + +eyr:2027 hcl:#efcc98 iyr:2010 hgt:191cm ecl:brn byr:1933 + +byr:1921 +pid:414637667 hcl:#8d840f cid:291 iyr:2013 ecl:amb eyr:2029 hgt:172cm + +byr:1961 iyr:2020 eyr:2025 pid:675731511 hgt:71in +ecl:blu hcl:#623a2f + +byr:1959 iyr:2002 +hcl:#ceb3a1 eyr:2027 ecl:#633ff4 +pid:815877728 + +ecl:gry pid:812104470 byr:1938 +hgt:70cm +eyr:2028 cid:285 iyr:2016 hcl:#b6652a + +cid:99 hgt:152cm byr:1971 +eyr:2020 hcl:#733820 +ecl:gry +iyr:2012 pid:020521112 + +pid:803066169 hgt:157cm iyr:2014 hcl:#b6652a eyr:2025 ecl:brn byr:1981 + +hcl:fafcd9 eyr:2021 +hgt:76in +pid:359286290 cid:207 iyr:2018 ecl:grt + +pid:179471060 byr:1966 ecl:amb hcl:#18171d eyr:2029 iyr:2015 hgt:190cm + +hcl:#efcc98 ecl:gry +byr:1942 +eyr:2026 iyr:2011 +hgt:158cm pid:721512314 + +ecl:oth eyr:2024 hcl:#8bc738 +hgt:167cm iyr:2014 pid:729168992 + +hcl:#b6652a +pid:179977662 +iyr:2018 +ecl:gry +byr:1973 +hgt:155cm +cid:126 eyr:2030 + +byr:2012 eyr:1955 hcl:z iyr:1981 pid:#66167e hgt:175in ecl:grt + +hgt:154cm cid:301 iyr:2010 hcl:#7d3b0c pid:573851812 ecl:grn eyr:2030 + +pid:601712917 ecl:hzl eyr:2001 cid:70 hgt:162cm hcl:#6b5442 iyr:2018 +byr:1959 + +hgt:183cm byr:1996 eyr:2023 hcl:#866857 iyr:2018 pid:259910953 ecl:brn + +pid:751991211 hcl:z iyr:2015 eyr:2024 byr:1939 ecl:oth hgt:161cm + +eyr:2026 byr:1947 +ecl:grn iyr:2018 cid:248 hcl:#ef5900 hgt:66in + +iyr:2028 eyr:1994 pid:9211015765 +ecl:amb +hcl:cd429d +byr:2013 +hgt:176cm + +hgt:193cm ecl:amb eyr:2023 +iyr:2020 byr:1933 +cid:50 +hcl:#efcc98 pid:482745318 + +byr:2014 pid:619629999 +ecl:oth hgt:159cm eyr:2027 iyr:2018 hcl:#b6652a + +hcl:#b6652a eyr:2028 byr:1921 +ecl:blu +pid:866536313 hgt:185cm iyr:2020 + +eyr:2027 pid:904225608 iyr:2010 cid:57 hgt:161cm hcl:#83ee3c ecl:gry byr:2001 + +byr:1968 pid:120450875 iyr:2018 hgt:165cm ecl:grn eyr:2022 hcl:#7d3b0c + +hcl:#a97842 byr:1964 +eyr:2027 ecl:oth hgt:186cm iyr:2010 +cid:226 pid:632344779 + +pid:135449714 +cid:348 iyr:2019 +hcl:#602927 +ecl:oth eyr:2029 +hgt:184cm byr:1992 + +eyr:2027 +byr:1929 hgt:181cm hcl:#fffffd iyr:2019 pid:369478657 +ecl:blu + +hgt:177cm eyr:2021 iyr:2016 ecl:gry byr:1938 hcl:#602927 pid:034365656 + +iyr:2020 hcl:#866857 +eyr:2028 +pid:183612456 ecl:#9e25d3 hgt:159cm byr:1934 + +pid:664990234 hcl:#efcc98 cid:185 iyr:2018 +ecl:brn +hgt:192cm +byr:1942 +eyr:2029 + +eyr:2027 +hgt:163cm pid:760854338 cid:228 +byr:1958 iyr:2014 +hcl:#efcc98 ecl:gry + +iyr:2014 +hcl:#18171d hgt:157cm ecl:amb eyr:2025 byr:1957 pid:347369874 + +pid:013801431 byr:1999 +hgt:181cm eyr:2029 +ecl:amb iyr:2010 +hcl:#b6652a + +hgt:153 eyr:2030 byr:2022 +hcl:z cid:84 ecl:hzl iyr:2020 + +cid:315 iyr:2011 +hgt:151cm hcl:#ffb5f9 +pid:427813663 byr:1999 ecl:brn eyr:2025 + +eyr:2024 +cid:205 byr:2000 iyr:2020 hgt:173cm ecl:gry + +eyr:2026 byr:1996 iyr:2018 ecl:grn hgt:158cm pid:026432567 hcl:#602927 + +iyr:2014 +ecl:hzl +byr:1964 eyr:2020 hgt:184cm pid:031793197 hcl:#fffffd + +ecl:oth hgt:165cm byr:1982 pid:172329608 hcl:#733820 +iyr:2019 +eyr:2020 cid:347 + +byr:2014 iyr:2011 hgt:179cm +hcl:z eyr:2020 ecl:grt +cid:134 + +ecl:gry +iyr:2011 hcl:#a97842 +byr:1942 pid:789953865 cid:172 hgt:180cm eyr:2027 + +hgt:179cm pid:975853536 +iyr:2018 byr:1989 hcl:#602927 +eyr:2021 ecl:amb + +byr:2011 +iyr:2015 +ecl:oth +hcl:85d233 cid:207 eyr:2020 hgt:138 pid:6169876 + +ecl:hzl eyr:2029 hcl:#efcc98 +hgt:188cm iyr:2018 cid:143 byr:1973 + +hcl:#ceb3a1 pid:762609805 +byr:1962 +hgt:150cm +iyr:2016 eyr:2024 ecl:oth + +iyr:2012 +pid:181821528 byr:1922 ecl:gry hcl:#a97842 hgt:169cm eyr:2028 + +eyr:2029 pid:776605704 byr:1964 hgt:175cm hcl:#623a2f ecl:grn +iyr:2011 + +byr:1989 iyr:2019 +ecl:gry pid:397990288 +hcl:#602927 hgt:67in eyr:2030 +cid:259 + +hcl:#866857 iyr:2018 ecl:blu byr:1938 cid:227 eyr:2028 hgt:171cm +pid:779192850 + +byr:1974 hcl:#cfa07d eyr:2026 hgt:59in cid:51 iyr:2019 +ecl:oth pid:091591737 + +byr:1952 cid:301 pid:804465935 hgt:152cm eyr:2025 hcl:#888785 +iyr:2013 ecl:hzl + +hcl:6a32f0 eyr:2027 +iyr:2014 +ecl:amb byr:1933 cid:185 +hgt:75cm + +byr:1945 hcl:#b6652a +hgt:163cm ecl:brn eyr:2025 iyr:2015 pid:829875350 + +byr:1940 hgt:174cm iyr:2014 pid:9989523268 ecl:gry eyr:2026 +hcl:#efcc98 + +iyr:2011 ecl:lzr +byr:1998 hgt:182cm +eyr:2029 hcl:z + +pid:091142801 +hcl:#c0946f byr:1983 ecl:blu iyr:2017 hgt:183cm eyr:2027 + +ecl:oth iyr:2011 hgt:158cm byr:1950 pid:902512428 hcl:#623a2f eyr:2028 + +eyr:2020 +iyr:2020 +ecl:oth byr:1938 hcl:#d5eb7e +pid:829945241 hgt:171cm + +byr:1971 +pid:998912876 eyr:2022 +iyr:2012 hcl:#cfa07d cid:338 ecl:brn +hgt:183cm + +ecl:amb hcl:#7d3b0c pid:331124964 iyr:2013 byr:1945 hgt:189cm eyr:2028 + +pid:012740434 iyr:2019 +byr:1998 +hgt:172cm eyr:2028 +cid:102 hcl:#866857 +ecl:amb + +hcl:#866857 +eyr:2027 hgt:181cm byr:1954 ecl:blu +iyr:2010 +pid:211721858 + +byr:1984 pid:876360762 hgt:72cm +eyr:2040 hcl:a60c15 iyr:1948 ecl:lzr + +hgt:167cm byr:1930 ecl:oth pid:740024142 eyr:2024 hcl:#341e13 +iyr:2018 + +byr:1968 hcl:#623a2f ecl:brn +cid:210 hgt:155cm +iyr:2017 pid:216618180 eyr:2024 + +byr:1966 pid:131332466 hgt:174cm ecl:amb +hcl:#733820 +iyr:2013 eyr:2023 + +eyr:1985 +pid:#fde6c1 +hcl:z byr:2017 iyr:2027 hgt:163cm + +iyr:2016 ecl:hzl hgt:171cm +hcl:#888785 pid:390140479 byr:1976 + +cid:327 eyr:2023 byr:1954 +hgt:192cm iyr:2012 +pid:413357852 ecl:blu + +iyr:2014 ecl:hzl hgt:154cm byr:1962 pid:904474869 hcl:#6b5442 eyr:2023 + +ecl:hzl iyr:2012 eyr:2027 pid:663644982 hgt:175cm cid:56 +byr:1980 hcl:#ceb3a1 + +eyr:2020 iyr:2012 hgt:190cm byr:1993 hcl:#a97842 +ecl:amb pid:418635216 + +pid:845398140 +byr:1933 iyr:2016 ecl:oth eyr:2024 hcl:#cfa07d hgt:169cm + +eyr:2040 hgt:161cm +byr:2018 ecl:blu +iyr:2022 hcl:#866857 cid:252 +pid:286344655 + +hcl:#6b5442 +eyr:2027 +hgt:191cm iyr:2012 +pid:642929864 ecl:amb byr:1934 + +iyr:2015 hcl:#cfa07d ecl:grn +eyr:2029 pid:163012663 hgt:150cm + +eyr:2030 byr:1938 hgt:188cm iyr:2018 +pid:652645847 hcl:#b6652a ecl:grn + +pid:157056211 iyr:2010 hcl:#cfa07d ecl:gry +eyr:2024 byr:1961 hgt:177cm + +eyr:2020 hcl:#60945e ecl:brn iyr:2011 pid:688090869 hgt:171cm +byr:1941 + +eyr:2023 hgt:188cm byr:1964 hcl:#7d3b0c ecl:gry iyr:2017 + +byr:1996 +hcl:#733820 pid:142902538 +eyr:2023 iyr:2012 ecl:oth +hgt:166cm + +hgt:62in cid:125 eyr:2022 hcl:#b6652a iyr:2011 +ecl:amb pid:220826562 + +ecl:grn hgt:72in byr:1991 eyr:2020 pid:281076310 hcl:#6b5442 + +iyr:2030 hgt:78 eyr:1966 byr:2008 cid:260 ecl:grt hcl:5d2e21 + +iyr:2017 pid:388674097 byr:1950 ecl:grn cid:338 +hgt:159cm +hcl:#6b5442 +eyr:2025 + +hgt:92 eyr:2031 cid:52 pid:169cm hcl:2695be +iyr:1987 +byr:2011 + +pid:396358436 hcl:#ceb3a1 +byr:1976 eyr:2025 +iyr:2012 ecl:brn +hgt:174cm + +pid:389292752 +eyr:2027 cid:335 hgt:65in byr:1974 hcl:#6b5442 ecl:oth iyr:2019 + +ecl:amb iyr:2010 hcl:#602927 hgt:164cm byr:1966 pid:749383114 eyr:2026 + +pid:656206688 +hgt:175cm +hcl:#6b5442 byr:1961 eyr:2028 +ecl:amb iyr:2010 + +hgt:179cm eyr:2028 byr:1958 +pid:095076581 ecl:gry +hcl:#733820 +iyr:2017 + +byr:1960 +cid:309 ecl:utc iyr:2012 +hgt:172cm pid:395100903 +eyr:2030 hcl:#cfa07d + +eyr:2021 cid:98 pid:387957353 byr:1941 +hgt:192cm +hcl:#efcc98 ecl:brn + +pid:143359781 +hcl:#a97842 +byr:1996 +hgt:184cm eyr:2020 cid:319 ecl:blu iyr:2020 + +eyr:2025 iyr:2013 hgt:154cm hcl:#b6652a ecl:oth byr:1979 pid:976151938 + +iyr:2017 +hgt:118 ecl:#f0f31e +eyr:2028 +hcl:z + +iyr:2016 hgt:153cm hcl:#6d55cd eyr:2026 ecl:hzl byr:1943 pid:257485710 cid:165 + +hcl:#ceb3a1 ecl:blu byr:1937 hgt:152cm iyr:2020 eyr:2026 pid:032844291 + +hcl:#fffffd byr:1937 pid:122104515 ecl:hzl +iyr:2018 +eyr:2027 hgt:163cm + +byr:1987 pid:052848077 hcl:#341e13 +iyr:2015 hgt:172cm eyr:2022 + +pid:897642631 iyr:2015 byr:1941 hcl:#733820 ecl:brn eyr:2020 hgt:179cm + +hcl:#7d3b0c ecl:grn eyr:2029 pid:232785519 cid:258 iyr:2013 byr:1999 + +hgt:152cm ecl:gry hcl:#18171d eyr:2020 byr:1971 iyr:2020 pid:211826434 + +hcl:#866857 +eyr:2022 pid:979633771 ecl:hzl iyr:2014 byr:1963 + +cid:124 +ecl:utc hgt:77 hcl:#866857 +byr:1979 iyr:2013 +pid:92518200 eyr:1968 + +hcl:#888785 eyr:2022 pid:233642738 byr:1959 hgt:191cm +ecl:blu iyr:2010 + +pid:#adbcd3 ecl:zzz eyr:2025 cid:129 byr:2028 hcl:z hgt:166cm iyr:2011 + +cid:131 hgt:169cm +iyr:2020 +byr:1994 +eyr:2021 +ecl:amb hcl:#c0946f +pid:243158461 + +hcl:#18171d byr:1980 ecl:oth hgt:153cm eyr:2028 iyr:2020 pid:629055498 + +hcl:#b6652a +hgt:152 ecl:blu pid:175cm iyr:2015 byr:1941 eyr:1961 + +eyr:2025 hcl:#7d6ede byr:1988 +hgt:150cm +ecl:hzl cid:267 +pid:794369607 +iyr:2012 + +pid:538963835 +ecl:oth byr:1958 +hgt:173cm +eyr:2027 cid:63 +iyr:2018 hcl:#602927 + +hcl:#866857 +hgt:163cm byr:1925 iyr:2011 +ecl:oth +eyr:2023 cid:163 + +ecl:grn pid:411555227 byr:1974 eyr:2020 hgt:153cm iyr:2015 hcl:#a97842 + +cid:111 pid:473064654 byr:1948 +ecl:brn iyr:2013 +hcl:#16fa7a +eyr:2024 hgt:184cm + +iyr:2016 hgt:170cm byr:1993 pid:487807940 hcl:#efcc98 eyr:2024 ecl:gry + +hcl:#a97842 pid:891517350 iyr:2012 +byr:1937 +ecl:amb +eyr:2030 +hgt:171cm + +cid:330 ecl:gry +hgt:163cm eyr:2021 +hcl:#733820 byr:1991 pid:109734880 + +ecl:brn iyr:1934 eyr:2021 +hgt:62 +hcl:z pid:720470429 + +ecl:blu +pid:669045673 iyr:2015 +hgt:164cm +hcl:#866857 + +hgt:158cm hcl:#623a2f byr:1950 +eyr:2020 ecl:gry pid:708073090 +iyr:2018 + +hgt:158cm iyr:2017 eyr:2027 +ecl:brn pid:840573419 hcl:#18171d byr:1968 + +ecl:oth cid:81 hcl:#ceb3a1 eyr:2021 +iyr:2020 byr:1959 +hgt:62in +pid:634019849 + +hgt:180cm pid:651174767 iyr:2013 byr:1948 eyr:2022 hcl:#efcc98 ecl:grn + +eyr:2021 ecl:grn +cid:95 hcl:#733820 iyr:2016 hgt:174cm byr:1931 + +hcl:90e96c eyr:1948 ecl:zzz +byr:1984 pid:8325286529 +hgt:59in +cid:180 + +cid:293 hgt:193cm ecl:oth hcl:#602927 +eyr:2021 byr:1959 iyr:2016 + +pid:425216058 +hcl:#7d3b0c hgt:67in ecl:blu eyr:2022 +iyr:2016 byr:1936 cid:182 + +ecl:#c93c79 byr:2021 iyr:2021 +hgt:69cm pid:#fa092e eyr:2040 + +hcl:#733820 iyr:1964 +hgt:190cm +pid:121828083 byr:2028 ecl:blu eyr:2030 + +byr:1986 +eyr:2023 ecl:hzl hcl:#c0946f hgt:152cm pid:750393977 cid:308 iyr:2015 + +hgt:152cm byr:2004 hcl:z eyr:2038 ecl:#e92725 iyr:2023 pid:55783937 + +ecl:grn eyr:2023 hcl:#7d3b0c byr:1940 iyr:2017 pid:312213917 hgt:166cm + +ecl:grn pid:293691668 +byr:1949 hgt:60in +eyr:2021 +hcl:#efcc98 iyr:2017 + +iyr:2018 hgt:156cm ecl:oth +hcl:#ceb3a1 +pid:622764582 eyr:2020 cid:124 + +eyr:2021 +pid:146888876 byr:1962 iyr:2010 cid:63 ecl:amb hgt:188cm hcl:#a97842 + +pid:861542171 hcl:#866857 +ecl:brn +iyr:2010 byr:1975 +eyr:2020 + +hgt:157cm hcl:#18171d eyr:2022 byr:1936 iyr:2014 pid:478341738 ecl:amb + +ecl:brn +eyr:2026 +pid:553753060 hgt:186cm +iyr:2019 +hcl:#623a2f +byr:1991 + +iyr:2018 ecl:blu hcl:#cfa07d hgt:162cm byr:1924 pid:721804049 eyr:2023 + +byr:1970 hgt:181cm eyr:2027 ecl:hzl pid:171cm iyr:2012 hcl:#5f4282 + +cid:52 +ecl:blu iyr:2011 +pid:027908077 hcl:#b6652a hgt:158cm +byr:1986 + +pid:160cm hcl:91324c eyr:2034 iyr:2015 +byr:2021 +hgt:175in ecl:brn + +cid:164 iyr:2014 byr:1948 hgt:163cm pid:701930596 ecl:gry +eyr:2020 hcl:#733820 + +byr:1951 hcl:#fffffd pid:456803587 hgt:157cm ecl:blu iyr:2010 eyr:2020 + +ecl:#663e48 +pid:9157891148 hgt:66cm iyr:1989 +byr:1932 + +byr:1993 +hgt:167cm +ecl:amb iyr:2010 hcl:#3da943 pid:340209998 eyr:2021 + +byr:1968 +eyr:2021 pid:915482982 hcl:#84a907 iyr:2020 hgt:176cm ecl:grn + +hgt:190 ecl:oth hcl:#6b5442 +byr:2023 +pid:5211866539 +iyr:2028 cid:276 + +hcl:#ceb3a1 hgt:177cm byr:1966 +pid:#9f5b93 +iyr:2002 eyr:1958 +ecl:oth + +hcl:#888785 eyr:2025 iyr:2017 +hgt:187cm pid:856993600 ecl:oth + +hgt:186 +hcl:z +eyr:2025 +byr:2013 pid:6869591443 ecl:oth + +iyr:2015 pid:317156655 cid:144 +hgt:151cm hcl:#623a2f ecl:brn +byr:1966 eyr:2021 + +ecl:hzl pid:161653223 eyr:2026 iyr:2017 byr:1980 +hcl:#18171d + +iyr:2009 +pid:618443261 +byr:1989 hcl:#23ef8c eyr:2026 hgt:167cm ecl:grn + +ecl:oth +hcl:#fffffd iyr:2018 eyr:2022 pid:953490888 + +eyr:2026 hcl:#c0946f hgt:165cm iyr:2016 byr:1921 +ecl:blu pid:490419824 + +hgt:150cm hcl:#b6652a ecl:brn byr:1937 iyr:2013 pid:824096447 eyr:2027 + +ecl:amb +hcl:#733820 byr:1997 iyr:2015 cid:269 hgt:96 eyr:2022 pid:475968048 + +byr:1985 hgt:186cm eyr:2022 ecl:gry +pid:050842095 iyr:2014 + +ecl:hzl byr:1942 cid:294 hgt:191cm pid:768437232 +eyr:2024 hcl:#623a2f + +byr:1974 eyr:2022 hcl:#afb1a8 ecl:oth +hgt:159cm +cid:252 +pid:619988658 iyr:2018 + +ecl:oth eyr:2029 hgt:175cm +pid:548668762 byr:1982 iyr:2020 hcl:#c0946f + +ecl:gry hcl:#18171d +hgt:166 pid:#3f6172 iyr:1978 +eyr:2031 byr:2021 + +byr:1933 hcl:#c0946f ecl:gry eyr:2028 +pid:594772420 +hgt:167cm +iyr:2020 + +cid:332 hcl:#623a2f iyr:2018 pid:706055429 byr:1971 eyr:2022 ecl:gry + +hgt:187cm hcl:#888785 +pid:224041851 eyr:2029 +ecl:blu iyr:2012 byr:1991 + +ecl:#9c38d0 +hgt:161in +hcl:099d45 byr:2015 eyr:1994 +pid:2730108307 +iyr:2024 cid:229 + +hgt:184cm ecl:grn byr:1938 pid:996091727 +cid:115 +hcl:#866857 iyr:2020 eyr:2020 + +pid:883396674 iyr:2019 +eyr:2023 ecl:blu +byr:1979 hcl:#733820 cid:125 +hgt:181cm + +hgt:190cm cid:325 hcl:#866857 eyr:2027 ecl:gry +iyr:2013 pid:317703100 byr:1968 + +hcl:#866857 +ecl:gry pid:652638412 +eyr:2025 iyr:2015 hgt:158cm byr:1953 + +byr:1956 +hcl:#cfa07d eyr:2025 +pid:728272575 hgt:162cm +cid:291 ecl:blu iyr:2020 + +hgt:189cm byr:1980 hcl:#97fd64 ecl:grn iyr:2013 +pid:181599378 eyr:2029 + +iyr:2018 +hcl:#007101 ecl:brn byr:1947 cid:265 hgt:159cm pid:288707610 eyr:2024 + +hgt:62cm pid:2407695078 +eyr:2039 byr:2014 +iyr:1930 hcl:z +ecl:grt + +hgt:65cm +ecl:hzl +byr:1994 eyr:2004 hcl:z cid:130 pid:863191800 + +pid:125685599 byr:1995 +ecl:blu cid:57 hgt:172cm +iyr:2020 +hcl:#b6652a +eyr:2024 + +ecl:gry byr:1961 +iyr:2010 eyr:2022 pid:591409441 +cid:314 +hcl:#341e13 + +iyr:2020 +ecl:hzl hcl:#efcc98 byr:1983 hgt:174cm +eyr:2028 + +eyr:2029 byr:1924 iyr:2013 pid:662719101 +ecl:amb cid:77 + +ecl:oth +iyr:2013 byr:1947 pid:532607157 hcl:#7d3b0c eyr:2030 hgt:191cm + +pid:528940525 hcl:#18171d +iyr:2014 eyr:2029 cid:181 +byr:1967 +ecl:gry hgt:64in + +hgt:71in iyr:2019 hcl:#cfa07d eyr:2029 +pid:785691813 +byr:1996 ecl:hzl cid:335 + +byr:2015 +pid:174cm hgt:79 hcl:z iyr:1970 cid:66 eyr:1993 ecl:lzr + +hgt:188cm +eyr:2025 cid:107 ecl:grn +pid:286480470 hcl:#623a2f byr:1967 +iyr:2015 + +eyr:2027 hcl:#7d3b0c cid:287 +pid:319840760 iyr:2017 hgt:179cm ecl:gry + +byr:1976 ecl:brn iyr:2020 eyr:2023 hgt:154cm pid:964286153 + +iyr:2015 eyr:2027 hgt:173cm byr:1983 pid:500176757 ecl:amb hcl:#7d3b0c + +cid:282 pid:697942299 hgt:185cm +eyr:2026 hcl:#7d3b0c iyr:2017 byr:2002 ecl:amb + +iyr:2014 hcl:#18171d pid:044482202 +ecl:oth +hgt:163cm eyr:2021 byr:1982 + +ecl:gry hcl:#7d3b0c +iyr:2019 eyr:2020 hgt:187cm +pid:617117265 + +eyr:2035 +ecl:#5525a9 cid:123 byr:2009 pid:15381071 iyr:2028 +hcl:#b6652a + +eyr:2021 hgt:165cm cid:207 +iyr:2010 ecl:gry +byr:1929 hcl:#733820 pid:442632632 + +pid:69132960 cid:84 hgt:107 eyr:2023 +ecl:gmt iyr:2016 +hcl:z +byr:2020 + +eyr:2027 pid:281765118 hcl:#ceb3a1 hgt:193cm +byr:1955 ecl:gry cid:321 iyr:2010 + +ecl:brn hgt:71in +cid:189 byr:1962 eyr:2023 iyr:2018 pid:780797141 hcl:#866857 + +pid:984503466 ecl:amb hgt:192cm byr:1942 hcl:#dcc50d iyr:2020 eyr:2030 cid:250 + +hcl:#7d3b0c eyr:2028 +hgt:178cm +ecl:gry +iyr:2011 +byr:1923 +pid:960277768 + +byr:2000 ecl:amb cid:199 eyr:2027 iyr:2020 pid:785585164 hcl:#888785 +hgt:164cm + +iyr:2015 pid:619005249 +ecl:brn byr:1955 eyr:2028 +hgt:183cm +hcl:#a97842 + +ecl:grn +byr:1970 cid:339 +iyr:2011 hcl:#a97842 pid:952307953 eyr:2027 hgt:159cm + +hcl:ff4451 iyr:2022 +byr:1972 ecl:#86cbc5 pid:29044223 eyr:1985 +hgt:62cm + +hcl:#623a2f iyr:2013 eyr:2023 hgt:164cm byr:1956 +ecl:oth + +eyr:2028 hcl:#733820 pid:767003752 byr:1935 hgt:167cm iyr:2016 +ecl:oth +cid:215 + +cid:125 ecl:amb +iyr:2019 hcl:#18171d eyr:2022 hgt:163cm +pid:239764055 +byr:1954 + +ecl:gry +iyr:2019 hcl:#cfa07d byr:1929 pid:221011852 +cid:274 eyr:2026 hgt:158cm + +hcl:#a97842 iyr:2016 hgt:159cm +byr:1998 ecl:hzl eyr:2020 cid:207 + +pid:051242790 +iyr:2024 +byr:1975 hcl:#602927 +ecl:grn hgt:160cm eyr:2014 + +ecl:#0b3ea5 hcl:z pid:#122ff0 +byr:2007 +hgt:178 iyr:2013 +eyr:1950 + +hgt:171cm hcl:#cfa07d pid:674448249 +ecl:hzl eyr:2026 +cid:297 byr:1928 + +ecl:hzl eyr:2021 hcl:#b6652a pid:856617617 +byr:1949 +hgt:153cm iyr:2015 + +hgt:164cm ecl:gry +eyr:2025 +pid:147932207 iyr:2011 byr:1984 hcl:#fffffd + +eyr:2027 hcl:#7d3b0c +pid:377701492 ecl:gry byr:1971 hgt:174cm +iyr:2023 + +byr:2001 hcl:#4784a2 hgt:161cm iyr:2014 eyr:2025 pid:955262336 +ecl:amb diff --git a/2020/resources/input05.txt b/2020/resources/input05.txt new file mode 100644 index 0000000000000000000000000000000000000000..17dfa0b17f1390a7319a15ec730cdc959fa9700b --- /dev/null +++ b/2020/resources/input05.txt @@ -0,0 +1,859 @@ +BBFFBFFRRR +FBBFFBBLRR +FFBFBFBRRR +FFFBFBFRRR +BBFFBBFLRR +BFFBFBFLRL +FBBBBBFRRR +FFFFBFFLLR +BFBFFBFLLR +FFBBFFFLRR +BFFFFFFLLL +FBFFBFFRLL +FFBFFBFRLR +FBBBFBFRRR +FBFFBBBRRL +FBFFBFFLRL +BFBBFFFLLL +FBBFBFBRRL +BFFBFFFLRR +FFFFBFFRLR +FFFBBBFRLR +FBFFFBFLLL +BFBFBBBLRR +FBBBFFBRLR +BBFFFFFLLL +BFFFFBFRRL +FBBBFBFRRL +FFBBBFBRLR +FFFFBBFLLL +FBFBFBBRLL +BFFFBFBRLL +FFBFBFBRLR +FBFFFBBRLR +BBFFFBBLRR +BFFBBFFRRL +BFBBBFFRRR +FFBFBFFRRL +FBFBBFBLLR +BFFBFBBRRR +BFFFFBFLLR +FFFBFFFRRR +FBFFFBFRLR +BFBFFBFRLR +FBBBFFFLLR +FBBFFBFLLL +BFBBFBFLLR +FFBFBBFLLL +BFFFBFBLRL +FBBFBBBLLL +FFFBFFBLLR +BFFFFFFRRR +BFBBBBFRRL +FFBFBBFRLL +FBBBFBBLRL +BFFBFBFLRR +BBFFFBFRRL +BFFBBFFLRR +BFBFFFFLLR +FBFBFFFLRR +BFBBFBBLRL +FBFBFFFRLR +FFBBBFFRLR +BBFBBFFRLR +BFFFFBBRLL +FFFBFBBLRR +FFFFBFBRRL +BFFBFBFRRL +FBFFBBBRRR +BFBBFFBLRL +FFBBFFFLLL +FBFBBFBRRR +FBBBFFFLRL +FBBFFBFLRR +FBBBBBFRRL +BFFFBBBLRL +FFFBBFBRLL +FFFFFBBLLR +FFBFBBBRLL +FFBBFBFLLR +FBFBBFFLLL +FFFBFFBRLL +BFBBFBFRLR +BFBFBBFRRL +FFFBFFFLRL +FBBFBBFRLR +BFFBFFBRRL +BBFFFBBRLR +FBBBBBFRLL +FFBBFFFRLL +BBFBFBBRLR +FFBBBFFLLR +BFBBBBBLLL +FFFBFBBLLL +FBFFBFFRRL +FBFBFFBLLL +BFFBBBFRRL +FBBBBBFLLL +FBFBBFBLRR +FFBBBBFLLR +BBFFBFFRRL +FBBBBBFLRR +FBFFFFFRLR +FBFFBBFLLR +FFBBBFBLRR +BFFFBBBRRL +FBFBFBFRRL +FFFBFBBRLL +FFBFBFBLRL +FBBBFBBLLL +FBBBFBFLRL +FBBBBFFLRL +FBFBBBBRLR +FBBFFBFLLR +FBFFBBFLRR +FBFFFBBLLL +BBFFBBFRRR +FBBFBBBRLL +BFFBBBFLLR +FBFFFFFLRR +FBFFBBFRRL +BFFBBFBLLL +FBBBFBBLLR +FBBBBFBLRL +FBBBFFFRRR +FFFFBBFRRR +BFBFFFFRRR +BFBFFBBLRL +BFFFFFBLLR +BFBBFFFRRR +FBFFFBFRRL +BFFBBFFLRL +FFFBFFBRRL +FFBFBFBLLL +FFBFBFFLLL +BBFFFBBRRR +FFFFFBFLRL +BFBFFFBLRL +BFBFBFFLRR +BFFBBBBRLL +BFFFBFFRRR +BBFBFFBRLL +FBFFFBBRRL +FFBBFBBRRL +FFBFFFFLLR +FFFBFFFLLL +FBBFFBBLRL +BFBFBBFLLR +FBFBFFFRRL +BBFFFFFLRR +BBFFFBFLRL +BBFFBBBLLL +BFBBFBFLLL +BFBFFBFRRL +FBFFFFBRRL +FBFFBBBRLR +BFBBFBBRLL +BFFBBFFLLR +FBBBFFBLRL +BFFFBFFRLR +FFFBFFBRLR +BFFBBBFLLL +FBBBBFFRLL +FFFFBBBRLR +FBFFBFFLRR +FBFBFBBRRL +FFFFFFBRRR +FFFBBBFLRL +FBFFBFBLLR +FFFBBBBLRL +BBFBFFBLLL +FBFFFFBLLR +BBFBFBBRRR +BFBFFFBRRR +FBBFBFFRLL +FBBBBFFRLR +FFBBFBBLRL +BBFBFFBLLR +FBBBBBBLRL +BFFFBBFLLL +BBFBBFFLLR +FBFFBFBLRL +BFFFBBBLRR +BBFFFFFRRR +BFBFBBBRLR +BBFFFBFLRR +FBBFBBFLLR +BBFBFFBLRR +BFBBBFFLRR +FBBFBFFRRL +FBFBFBBLRR +BFBBFFBRLL +FFFBBFBRLR +BFFBBBFRRR +FBFFBFFRLR +FFFBBBBRLL +FFFFFBBRLR +FBBFBFBLLR +FBBFBBFLRR +BBFFBBFLLR +FFFBFBBLLR +FFBFBFFLRR +BFBBFBFRLL +BFFFFBFRRR +BBFBFFFLRL +BFFFFBFLLL +FBFBFBFLRL +BFBBFBBLLR +BFFBFFFRLL +BBFBFFFRLR +BBFFBFFRLL +FFFBFBBRLR +FBFBBBFLRL +FFBFFBBRLR +BBFFFBBLRL +BFBBBBFLRR +FFBFFFBLRL +FFBBBFBRLL +BBFFBFFLRR +BBFFBFFRLR +FFFFFBFRRR +BBFBFBBLRL +BFFBBBBLLL +FBBBBFBRRR +FFBBBBBLRL +FBBFBBFRRR +FFBBFFBRLL +BFBFBFBLRR +BBFBFFFRRR +BFFFBBFRRR +FBFBFFFLLL +FBBFBFBRRR +BBFFBFBLLR +BBFBFBFLRR +BFFFFBBLRL +BFBBBFFLRL +BBFBFFBLRL +BFFBBFFRLL +FBFFBFFLLR +FBFBFBBLLL +BBFBFBFLRL +BBFFBBBLRL +FFFFFBBRLL +FFFBBBBRRR +FFBBFFFRLR +FFBFFFBRRR +FBFBFFBLRR +FFBFFBBLLL +FBBFBBFLRL +FBFFBBBLRL +FBBBBFFRRR +BFBBBBBLLR +FFBFBBBLRR +FFFFBFBLRR +BFFFFFFRLL +FBBFFFBLRR +BFBBBBBRLL +FFBBFFBLRL +BFBBBFFRLR +FFBFFBFLLL +FFBBFBFRLR +BFBFFBBLRR +FFFFBFFLRR +FFBFFBFLRL +BBFFBBFRRL +FFBFFFFLLL +BBFBFFBRLR +FBFBFBBRLR +BBFFBBBRRR +FBFFBBBRLL +BFBFFBBRRR +BBFFFBFRLL +FBBFBBBLRL +FBBFFFFLRR +BBFFFBBLLL +FFBFFFFLRL +FBBFFBFLRL +FBBBBFFLLR +BFBBFBFRRR +FBBFFFBLLL +FFBFBFFRLL +FFFBBBFLRR +FFFBFFFLRR +FBFFBFFRRR +BFFFBFFLLR +BFFFFFFRLR +BFFFBFFLLL +FBBBFBBRRL +BFBFFFBLLL +FBFBBBBRRR +BFBBBFBRLR +BBFFFFBRLR +FBFFFFFRLL +FBBFFBBRLR +BBFBBFFLRR +BBFFBFFLLR +BBFFBBFRLL +FBFFFFFRRL +FFBFBBFRRR +FFBFFFFRLL +BFFFFBBLRR +BFBFBFBLRL +FBBFFFFRRR +FFBBFBBRRR +BFBBBBBRLR +FBFFFBBLLR +BBFFFBFRLR +FBFFFBBRRR +FBBFFBFRLR +BFFFBFBRRR +FFBBBBBLLL +FFFFFBFLLR +FBBFBFBRLL +BFBFBFBRRL +BBFFFFBRRL +FFBFBBFLLR +FFBBBFFRRL +FBFFBFBRLR +FBBFFFFRLL +BFFBFFFLLR +FBFFFBBLRR +BFFBFFFLLL +BFBFBBBRRR +BFFFFBFLRL +FFFFBFBLLL +FFFBFFBLLL +BFFFBBFRRL +BFBFBBFRLL +FFFBBBBLLL +BFFBFBBRLR +BFBBBBBLRR +BFBBBFBRRL +FFBFFFBRLR +BFFBFFFLRL +FFBFBBBLLL +BFBFBBFRRR +BFBFFBFRRR +FFBFFFBRLL +FBFFFFFLRL +BBFFBBFLLL +BFBFBBBRLL +FFFBFFFRRL +FBBBBBBLLR +FFFBFBBLRL +FBBFBBFRLL +FFBFFFFRRR +FFFBBBFLLR +BFFBBFFRLR +FFFFFBFLRR +FFFBBBBLLR +FBFFBFBRRL +FBBFFFFLLL +FFFFFBFRRL +BFFBBBFRLL +FFFBBFFRLL +FFFBBFFLRR +FFFFBBFRLL +BFBBBBBRRR +BFFBFBFLLL +BBFBFBFLLR +FFBBBBFRLR +FFFBBBFRLL +BFBBBBFRRR +FBFBFFBRLR +FFBFBBFRRL +BBFFBBBRRL +FFBFBBFRLR +FFFFBFFRLL +FBFFFBBRLL +BBFFBFBRRL +BFBFBFBLLR +FBFBFBBLRL +FBBFFFFRRL +FFFBBFFRRR +FFBBBBBLRR +BBFBFBBLRR +FFFFBBBLRR +FFBBBBBRLL +FFBFFFBRRL +BFBBFFFRLL +FBBBFBFRLL +BBFFBFFLRL +BBFFBFBRLR +BFFBBBBRRR +FBBBBBBRRL +BBFBFFFRLL +BFFBBFFRRR +BFBBFFFRRL +FFBFFBFLRR +FBFBBFFRLL +FBBFBBFRRL +BBFBBFFRRR +FFBBFBFRRL +FFBBFBFLLL +FBBFFFFLLR +BFBFFBBRLR +BFBBFFFLLR +FBBBFFFLLL +FFFBFFBLRR +FFFBFBFRLR +BFFBBBBRLR +FBFFBBBLLR +FFFFBBBRRR +FFBBBBFLLL +FBBBBFBLLR +BFBFBFFRRL +BBFFBBBLRR +FBBFFBFRRL +FFFBBBFLLL +BFFFFBBLLL +BBFBFBFRRR +BFBBBFBLRR +FBBFBBBLLR +FFBBBBFLRL +FFFBFFBLRL +FBBBFFBRRL +BFFBBFBRLL +BFBFBFBRRR +BBFBFBBRLL +FBFFFBFRLL +BFFFBFBLRR +BFBFFFFLRL +BBFFFFBLRR +BFBBFFBRRL +BBFBFBBLLR +FFFBBBFRRL +BFBBBFFRRL +FFBFFBFLLR +FFBBBFBLLL +FBFBBBFLLL +FFBBBBBRLR +BBFFBBBRLL +BFBFBBBRRL +FFBBFBBRLL +FBFBBFBLRL +BBFFBFBLLL +FBFBFFFLRL +FFBFFBBLRL +FFBFBBFLRL +BBFBFBBLLL +FFBBFBFRLL +BBFBBFFLLL +FBFFFFBLRL +FBFBBBFRLR +FFBFFBFRLL +FBBFFFBRRR +FBFBFFBLRL +BFFFFBBLLR +FBFBFBBRRR +BBFFBBFLRL +BFBBFFFRLR +FBFFFFFLLR +FBBFFBBLLL +FFFFFBBRRL +FFFBBFBRRL +BFFBBBBRRL +FBFFFBFLRL +FFBBFFFLLR +FBBBBBBLRR +BFFFBBFRLL +FFBFFFBLLR +FBBBFFFRLL +FFFFBBBLRL +BBFFBFBLRR +FFFFBBFLRR +BFFBFBFRLR +FFBFBBBLRL +FBFBFBFLLR +FFBBFBBRLR +BFBFBFFRRR +BBFFFFBRLL +FFBFBFFRRR +FFBFBBFLRR +BFBBFBFLRR +FFFFBBBLLR +FFBBBBBRRL +FBBFFBBRRR +FFFBBBBRLR +BFFBBBFLRL +BFBBFFBRRR +BBFFBBFRLR +FBBBBBFLRL +FFFBBFFLLL +BFBBBFFRLL +FBFFFFFLLL +FBFBBFBLLL +FFFBFFBRRR +BFBFBFFLLL +BFBFBFBLLL +BFBBBFFLLL +FFFFBBFRLR +BFFBBFBRRL +BFBBFBBLLL +FBBFBFBRLR +BFFFBFFLRL +FBFBBFFLRL +FFFFFBFLLL +FBBFFBFRRR +FBFBBBBLLL +FBBBBBFRLR +FBFFBBFRLL +FFBFFBFRRR +FFBFFFFRRL +BFFBFBBLLR +BFBBFBBRRR +FFBBFBBLRR +FBFFFFBRLR +FFBBBBFRLL +BBFFFBFRRR +FFFBFBBRRR +BFFFBFFRLL +BFFBBBBLRR +FBBBBFBLLL +BFFFFFFLLR +BFBFFFFLRR +BFFBBBBLLR +FFBBBFBRRR +FBBFBFFRRR +FBBFFFBRLR +BFBFBBFRLR +BFFBFFBRLL +FBFBBFBRLR +BFFFFFBLRR +BFFBFFBRRR +BFBFFBFLRL +BBFFFBFLLL +BBFBFBFLLL +BFBFBFFLRL +FBBFBFFLLL +FBFFBFBLLL +BFFFBFBRLR +FFFBFFFRLL +BBFBFFFLLL +BFFFBBBRLR +FBFBFBFLRR +FFBBBBFRRR +FBFBFBFRLR +BBFFBFFLLL +FBBBBFBLRR +FBBBBBFLLR +BFBFFFFRLL +FBFFFBFLRR +FFBFFFBLLL +BFBFFBBLLR +FFBBBFBLLR +FBFFFBBLRL +FFBBBFFRRR +FBBBFBFLLR +FBBBBFFLRR +FBFFBBBLLL +FFBFBFFLLR +FFFFFBBLLL +BFFFFFBLRL +BBFFFFBRRR +BFBFFFBRRL +BBFFFFFRRL +BFBBBBBLRL +FBBBBFBRLL +FFBFFFFLRR +BFBBBFFLLR +BFFFFBBRLR +FFBBFFBRRL +BFBFBFFRLR +FFBBBBFLRR +BFBFFBFLLL +FBBFFBBRRL +FFFBBFFLLR +FFFFBFFRRR +BFFBBBFRLR +BFFFFFBRRR +FFBFBFBLLR +FFFBBBFRRR +BBFBFBFRLR +FFBBFFBLLR +FBFBBBBLRL +FFFBFBFLRL +FFFFBBBRLL +FBFFFFBRRR +FFBBBFFRLL +FBFBFFBRRL +BFFBFFBLLL +FFFFFBFRLL +BBFFFBBRLL +FBBFBFBLRL +BFBFBFFLLR +BFBBFBBRLR +FFBFFFBLRR +BBFBFFFLRR +FBBFBBBLRR +FBBBFFBLLR +BFBBBBBRRL +BFBBFFBLLR +FBBBFBFLRR +BFFBFBBLLL +BFFBFFBLRL +BFBFBFBRLR +FBFFBBBLRR +FBFBBBBRRL +BFBFBBFLLL +FBFBBBBLRR +BFFBBFBRLR +FFFBFBFRRL +BFFFFBBRRR +FBFFBBFRLR +BFBBFBFLRL +BFFFBBBLLL +BFFFFFBRLR +BBFFFFBLRL +BFFBFFFRRR +BFBBBBFRLL +FBFBBFBRLL +FBBFFFBLLR +FFFBBFBRRR +FBFBBBBLLR +FFFFBFFLLL +FFFFFBFRLR +BFFFFBFRLR +FBBFFFBLRL +BFBFFBFLRR +FFFFFFBRLL +FFBBFFFLRL +BBFFFFBLLL +FFFBBFFRRL +FBBFBBFLLL +FBFFBFBLRR +FFBBFBBLLL +BFFFBBBRRR +BFFFBBBLLR +BBFBFBFRLL +BFFFBBFRLR +FFBFBBBRRL +FBFBFFFRRR +FBBBBBBRRR +FFBBBFFLRL +BFFBFBBRRL +BFBFBFFRLL +BFFFBFFRRL +BBFFBBBRLR +BBFFFFFRLL +FFBBFFBRRR +FBBFBFFLLR +FBBBFBBRLR +FFBFFBBRRL +FBBBFFBLLL +FBBFFFBRRL +BFFBFFFRRL +FBBFBFFRLR +BFFBBBBLRL +FFBFFBBRRR +FBFBBBFLRR +BFBBBBFRLR +FFFBFBFLLL +FBBBBBBRLL +FFBFFBBLRR +BBFFFFFLLR +FFFFBBFRRL +BBFFFFFRLR +FBFBFFBRLL +BBFFBFBRRR +FBFFFBFLLR +FFBBFBBLLR +FBFBFFFRLL +BFBBBFBRLL +FFFFFFBRLR +FFBBFFFRRL +BBFBBFFRLL +FBBFFFFRLR +BBFBBFFLRL +FBBFFBBLLR +BFFFBBFLLR +BBFBFBBRRL +BFFBFFBLLR +FFBBFBFRRR +FBBBBFBRLR +FFFBFBFLLR +FFBBBFBRRL +FFBBBFFLLL +FFBFBBBRLR +FBFBBFFLRR +FFFBFBBRRL +FFFFBFBRRR +FFFFBBBLLL +FFFBFBFLRR +BFBBBFBLLR +BFBFFFFRRL +BFBBFFBLRR +FFBFFBFRRL +BFBBFBFRRL +BFFFFFBRRL +FBBBBFFLLL +FFBFBBBLLR +FBBBFBFRLR +FFFBBFFRLR +BBFFBFBRLL +BBFBFBFRRL +FFBBBBFRRL +FBBBFBBLRR +BFFBFFBRLR +FFBBFFBRLR +FFBFBFBLRR +BFBFFFBLLR +BFFFBBFLRL +FBBBFBBRLL +BBFFFBFLLR +BBFFFBBRRL +BFBFFFBRLL +BFBFFFBLRR +FFBFBFFRLR +BFFFFFFRRL +BFFFBFFLRR +BFBBBBFLRL +FFFBFFFLLR +BFFFFFFLRR +BBFBBFFRRL +BFFFFFFLRL +FFFFBFBRLL +BFFBBFBLRR +FFFFBFFLRL +BBFFFFFLRL +FBBFBFBLRR +FBFBBFFRLR +FFFFFBBRRR +BFFFBFBRRL +FBFFBFBRRR +BBFFFBBLLR +BFFBFBBLRR +FFFBFBFRLL +FBFBBFFRRR +FFBFBBBRRR +BFBFFFBRLR +FBBFFFBRLL +FFBFBFBRRL +FFBBBFBLRL +FBBFBBBRRL +FBFFBFBRLL +BFBFBBFLRL +FFFBBBBLRR +BFFBFBBRLL +FFFBFFFRLR +FBFBFFBLLR +FBFFBBFLLL +FBBBFBBRRR +FBBFBBBRRR +FBFBBBFRRL +BFBBFBBRRL +BFBFBBBLRL +FBBFBBBRLR +FFBBFFBLRR +FBBFBFFLRL +FBFBFFBRRR +FFBBBBBLLR +BFBBFFFLRR +FFBBFBFLRR +BFBBBBFLLR +BFBFFBBRRL +FBFBBFFRRL +BFFFFFBLLL +FBBBBFBRRL +FBBBFFBRLL +BBFBFFFLLR +FFFBBFBLLL +BFFFBBBRLL +BFBFFBBLLL +BFBFBBBLLR +FBFFBBFLRL +FFFFBBFLRL +FBBFFFFLRL +FBBBBFFRRL +BFBBFBBLRR +BFBFBFBRLL +FBBBFBFLLL +FBFBBBBRLL +FBBBFFBLRR +FFBBFBFLRL +FFFFBFBLRL +FFBBBFFLRR +FFBBFFFRRR +FFBFFBBRLL +FFFFBFFRRL +FBBFFBFRLL +BFFFBBFLRR +BFBFFBBRLL +BFFBBFFLLL +FBBBBBBLLL +BFFBFBFRRR +BFBFFFFRLR +BFFBFBBLRL +BFBBBFBLRL +FBFBFBFRLL +FBBFBFFLRR +BFBBBFBLLL +BFFBBBFLRR +BFBBBBFLLL +BFBBFFBRLR +FFFBBFBLRR +FFFFBBFLLR +FFBFFBBLLR +FBFBBBFLLR +BFBBBFBRRR +BFFFFFBRLL +BBFBFFBRRL +BFBBFFBLLL +FFFBBBBRRL +FBFBBBFRRR +BFFBBFBLRL +BFFBFFFRLR +FFFFFBBLRR +FBFBFFFLLR +FFBFFFFRLR +FBFFFBFRRR +FBFBFBFRRR +FFBFBFBRLL +FFFFFFBRRL +FFBBBBBRRR +FFFBBFFLRL +BFFFBFBLLL +FBFFFFBLRR +FBBBBBBRLR +FBFBBFBRRL +FFBBFFBLLL +FBFFBBFRRR +FBFFFFBLLL +BBFBFFFRRL +FFFFBFBLLR +BFFBFBFLLR +BBFBFFBRRR +FBFFFFFRRR +FFBFBFFLRL +BFFBBFBLLR +FBBBFFFRRL +BFFBBFBRRR +BFBFBBFLRR +FBBBFFFRLR +FBBFBFBLLL +FBFBFBFLLL +BFBBFFFLRL +BBFFBBBLLR +BFFFFBBRRL +FFFBBFBLLR +BFFFFBFRLL +FFFFFBBLRL +FBFBBBFRLL +BFBFFBFRLL +FBFFBFFLLL +FBFBFBBLLR +FFFFBFBRLR +BFFFBFBLLR +BFFBFFBLRR +BFFFFBFLRR +FBBFFBBRLL +FFFFBBBRRL +FBBBFFBRRR +BFFBFBFRLL +BBFFBFBLRL +FFFBBFBLRL +BBFFFFBLLR +FBFFFFBRLL +BFBFBBBLLL +FBFBBFFLLR +FBBBFFFLRR diff --git a/2020/resources/input06.txt b/2020/resources/input06.txt new file mode 100644 index 0000000000000000000000000000000000000000..066f613981adda1259e599fc6b6b1df87167e742 --- /dev/null +++ b/2020/resources/input06.txt @@ -0,0 +1,2042 @@ +ybcgtxznorvjel +brlyvoexnjtgcz +lnbgtxvoiyecjrz + +lcajnyxgzqwim +qznygxmlvwja +gmjzynxaqwls + +cmljinrupeykatzdsfox +ugwqhknvb + +gsdqbrnhotmfwivl +prozsgfwnthvmiq + +vsjpurgokf +dfxpqzabeulknwmjvcsr +pfuvstryihjk + +islxfdrtvzwkyoguh +ogylskzvuftqhirxbdw +fkrtgsxudhioylznvw + +c +c + +uvwigmrlpbqh +qvgriwlbmhpz +nhlsptgbvwimrq + +izhmeksc +zarebypguktc +fzxkveoc +hzcneqkl + +wsaklcyumfjgxpe +gjlueyimxawpkoscf +tgpaeywujxkslmf + +uzxkhngrtem +heumxtrkzgj +kzxtqvehmfyurdgi +xmhtzrukeg +tkhgujzmxenr + +veaxitpwqlkmfcdgu +tuylgfjb +ftuglh + +uqnklfemcd +fueknldq +eqkfdhnmtl +opyelgnqdfkxw +qzkslfden + +q +bu +k +q + +wqeaklcysthvrb +srhcatklwbqyev +ylrqbthswkceva +tsbryhlavcwekq +aketrswybhvlqc + +tyd +ymt +yvt + +hwvclzeby +vywecbhl +wecyqsohlvb +cvlwheyb +blyvewhgc + +wieapdrco +edicwpa +cpdwia +hdwgyvpica + +jvy +fjv +vj +vjf + +czdf +dfzc +dczf + +gpmrwtuoy +tymroagbipw +wombgpcyktr +dtrlongqypmwhsjvfxz +gmrwpyto + +ocnmpvjx +pvjxcm +bmyjrgvxpkc + +jeygorhmxiak +hxifjagoemr + +ncjziqtmpawdufxye +eubydnxpatfwjzkcm + +abmysdl +cpqbifaynmdsl +mjsbdyla +mrdbvjswyal +bvsladmy + +qafokiv +oqhaik +oqmkifa +qaligznro + +aiblwmouqx +mqwbaxolui +oxuibwlmaq + +zvefqkjusco +xuewoskj +kuzfqjsoe +puankilsjodbre +kutoqsjefh + +celsgxhzpjrodmitfukvn +ejkrmnpsgfxvoaihulcz +zuimrfyohspkjvcxelgn + +lbrxfchematouyniw +labiudxyoenh +ikelubxgaoynhz +jnahsdibeuxylov +xovbhaiunlsey + +ipsrknazqblw +dgxutyvejmfc + +sxizpwamjhn +imhnzxawsjp +ahnpswxmizj +wmisxanjzhp + +gtbhymj +zawfkbsiud + +gylpjarczexv +zyajpvoecrlgx +kzrlojeayxgvp +veztfaypxqrljg + +xfivwhodjknmzauqcletpygb +hypeczniafgkoqultxvbdwjm +qxfhjptgnlkvycoudwmizaeb +jizanpbfcyuetmqokhlwvxdg +gjwtexvdfpuamiconybzhlqk + +tvy +yv +yiv +yv +yv + +whueklivtpca +iplkuahwe +tlsekhiuwap +mizpgjwlbahuekr + +mdp +mdp +mpd +pdm + +xjnhkvoewc +osfjprwxhcieavkd +hqjxwkvonec +jlgxctoqhevwkn +kzvjhyxweco + +yk +yk + +hdnxtrvyeiwam +asrwvdhmxeycint +vwxptebdzyioagqmhr + +tfczy +ctyfn +tycf +cwytf +ytfc + +rmtbfezuojpa +utbjepomarzf +rbatejfumpzo +frtuoepamzbj +faejrztmbpuo + +afenbkzjyugowxcpvr +wouafcenbpjvkygzxr +gvneprcbujxzayokfw +vzyparnkxcgbfwouej +ubzxvkrcgnjeapfowy + +vwuqrecngfdlk +lkrnvqgufwdc +wrnldgkqvcfeu +cuwnbgvqfdrkl + +xbh +vacqro +snxumhe + +gxlf +fglx +gxfl +xlgf +lfxg + +uzlryvkmdbweqjocatxnhi +lzjedxqowyhmnabkiufvcrt +ntkrmlwcqdbzaxejyuhvoi + +fbns +nbf +nabylt + +arsif +qzorln +apb +gcvyuhxtkwe +jm + +svu +uvz +pvuf +ucv + +hpjfklnwizys +pzrcfhyslkiqwn +zskfylihnpow +wgfbdkszlypeihn + +vkmcijegnxar +bvknimxrejcga +vegkjcxniram +egkjvmxciran +akgixcjrnemv + +ewixgnuavo +unoeayxkgi +yeiaucxnm +ixaekznu +ajulsenirbqtfhxpd + +frqlmnxdbgewzo +rdtmqlzovkbuncj +qmzxrndoeiyflb + +ukpnyzjiohf +gjfpkinzuoy +ygjozinfupk +iyvjpeozkfnu +kiupfhoyjngzs + +hrpwvsugjafeoyd +djawruhovfezcb + +cepdjoqftlbanyzxgh +cgnayjbfxzeophtdq + +xqg +halqr +qub +qub + +po +ldjb + +zxnqu +zduxsbq +nzuqxgf +niqzxu +zquxl + +qn +ev +cz +bmwjfhlg + +kpfrostvwjqzd +ukbsrjpdzfcowq + +yjtl +jytl +ltyjz +yltj + +dwty +djsct +gtdj + +hoj +jyho +jhos +ojh + +eupzntdmk +pulhzta + +vdfuricnlkjq +cdufvkijqrn +fkdrpnjcuviq +qnfvjudcirk +drijcfkuqvn + +nvbldpqsx +wbdzhqp +iamjtyfg + +iwqexpmtoadjvryuzshk +twzoyhjukxmqsreaipvd +umryqtvxsdpziohaejkw +eruvdmyzapthwqixjkos + +wtgkdqunxroablp +uqmljdantokrpwxg +nkoupqzlgxwdat + +vepioalcghjydn +zutlfxvorkn +qbvnlo + +lmie +ebim +ykmhei +smie +msbeic + +segdzmcnijfpy +pmngjzisdcey +daumgeznqikljcyp + +hocwkeizbmvgnsd +jfirpydx +itqjdyl + +dbwtrzqo +bwdztr +pwbdtzr +wrtbdz + +tcl +ctl + +izfnvwsygkjp +nkfpvyzsgij +ygjvfipksnz +kvpgjysnfzi +jxiboavkfnzgpsy + +gxulavdzi +xeorucjdlym + +hfc +cfh + +oaixdvhwf +kuivdwfxzha + +jsxny +ynsxj +yjxsn +nxsyj +xysnj + +usnjaimqdl +dnuxgy +hdnpcugz + +ejofu +ufe +uef +feu + +defovtzlc +avocyzft +zxwcvftb + +cbga +vgb + +rac +a +jgzaxotn +av + +ugnotpd +ntugodpx +pudgomt +tdislogp + +filsprncvbdamgozwuh +fzqucamrswpihvdlgob + +keaqcjtmzwipdyonvufsl +voysnkmwlzqpfeguiacdtj +ndacvykmeozbsuwpiftlq +wodcqfputzknsyevilma + +aobpjhfwndq +wnbjofqdpah +fnwqdcgxphabj +wadfqbhinjp + +dfegup +pdgyu + +qmdthgnfsoacekpjr +zwqjois + +cuqwdn +cdnwi +cwyvd +tokwjdsxcr + +hlbrqytujx +fdcxlwjquyznksv +wyupmxqjfilsk + +hkrsp +yhwpsrk +krhsp +gorspkh + +kdnsfavte +snadektv +namkstved +etavlknds +esdatkvn + +zbvuponkx +zkjybcanxi +xbunzkv + +sixh +xbgha + +uxfay +urqibka +uao + +lsjkxqirzbcw +sqkbzwjclixr +qsclikrzhxwb + +ozldp +dlpz +dztglp + +rl +lr +lr + +xchdwlniyzjvfskqgu +jczdgywxisl +jxyspdclgizmw + +dblfawuprytvz +mceiqnsxkgltp +pmcxtohlg + +s +s +r +zdkl + +xsftzi +rhmvobe +gitkn +ucgzt + +zfboewhsdi +sfozwbdhie + +iulc +cilu +iluc +ucli + +orlegwpi +polwidg +pomlwiy + +wuzngeba +bnazuce +ubzane + +vywm +ym + +nfmsueclkpqgwai +utlevwmrcxosqkpd + +stkubmdgxnprayjvihocf +jdnhiurkyopfsbmagxtezcv +fokmgyscrpijnbhxtudav +caogfvytximuhrjdpbnsk + +rsabjcmtdwynx +bficzdrnlsjouhta + +mw +wm +mw + +iebmfugxoyqlrpcvjztkwdnh +pelfsdutxqcymaozjhnr + +pebjavucfqyrdzgml +cbzypflawgmjuvredq +yzrujflgcqebvdapm +gbfuqznldejsyvparmc +jcaqeuwvplbfgdmryz + +hkg +xelcms +f + +lihonytfdumjsewrzabpc +hlpcdubrwoazsfmiynetj +owuibptxmdhzyrecsfan + +riosndbpujgcwethz +hwfrzietbougpsdqjn +drntjpzeguiowshb +pwubneoztjsgdhri +rezkbtghcjwdoinspu + +njsa +u +fb + +sfx +s +s + +ucqsmn +istuq + +ingklxq +cnoekp + +jlygxaiwrpdfnheouvc +dvfaingtxwpkozjhylercu +pigfacjweynhuovxlrd + +vpxbtozuemlny +jkgymlvebinctudpxa +byzxemqvtulpn +ytvunxzwqblepm + +jfbkglhtpqudix +grnicbtpqzdxv + +bfokwpmzhtlgquaiejr +iawgbmqvzleoxrhtfpu +zwompxutlbhaifseqrg +xpbqhitclyzrunwodgfesma + +q +qg +q +vq +q + +ekipdozabfsxvugqltjwyrc +dztsokinlyrfxceqjwuavpbg + +eqnkifs +ifqknes + +laecqkp +pugqayce +elcxpraqoj +pecqvfwa +qcepljak + +arnb +qnab +nbaq +dnbaomv + +cbormguajxfiplwvts +dxifemjgwzrobtlpcqvua +aofmcpilxjvbguwtr + +umvdxnwzfqapk +pwuqfzadjmne +uzqpmfyacdw + +mhaeksjiqb +bfqjokusih +jgklnsivbywdc +sxpkfirjomqb + +nhzaplu +ahkipmvo +brtjwg + +mkjxlagycu +uckjxlgma +kjcuxmgal + +ve +ve + +jvkobmcq +gjmqkobc +qjbomcwk +cybojqmk +mjbqocfk + +ducqha +qdlhac + +wlfkid +hipcfkwdlryb +fwlkdi +kdifwvl + +ezs +sze +esz +zes +esz + +hz +utfzphv +ahzgk +shz + +jxclzr +rwfjmu +jro +ojrlny + +topn +wbcojtesg +yrdlqhfz + +wktxsnufbhygzraijlcoed +ciokuzgyrsenbaxhdwjft +nszoywipjhrfxgqbdaeutc +tcxzrysbfuieaovndhwj +bkyouicwtfzlxshjaednr + +aoylnseditpgum +ounmkyzedplaibqs + +fahocyurtgvbsq +byufcgohqvatr +guvoyqthcrbdfa +cbfhayvqrugto + +dgil +dig +idg +apdgi +dig + +rfzmeoyuq +remzyhbip +xtvrykdsancjzmw +pzryfugom +eryomgzlh + +ro +or +ro +doar +rpo + +tbomqznewpgu +zpwbegtquonm +gbunzwtqpmeo +pmnobqtewzgu + +tzkielrca +pwgouhfjvdybsnqm + +bqxr +om + +fkvlmqye +bnqlyda +yojczstxupq +qiye + +wcdl +wcld +lwcd +wdcl + +udx +suhx + +ypmrvaj +aphrjxowvyz +jarvpmq +vpcwarbj +tugveaprjsn + +cubgyqflopxnj +apnxvc + +c +c +c +c +c + +ykdeblvoijpqtns +sbnoigt +nbmitoxas +ibosnxt + +klbdfgmo +va +ylcu + +sgdrutfcbwxleyvmqjoz +hztjqbduiefkvxwcygmolr +eymudvjwlqcxrzfgtob + +jcghosr +jpagrmecsho + +xtlgomkfpciezyq +ylrgtxmchkq +dgtlkwymvxnqc +cgxalbkydwsjmqt + +lvg +vg +vjgka + +xulzdqyef +xuezfldyq +zduyfqexl +lqfezuydx + +afpboknehzmculswdyjqix +winjabfuyedmzoshxlcqpk +smnaybfjzkowdpleiuchqx +bqsuknafemzvpljihwycdox + +huvrzdawnce +irvodxzmnksq +tvrdneazfcu +nldygvuezr + +ifwousayrbjvxcpld +ugrnfjhvbcoatspxk +vsiobyrcpjdfzuaxq + +ubeisxaw +klqn +ok +rmf +n + +j +grpy +mnwf + +yrsnckxbuvhdtmgeqapj +asjkxuymdbrlechvqotngp +adrjpnbhmutgkxecyvqsi + +agtlryz +pywxhgqu +okyghqduj +mbycgvhjq + +aihswznpod +bdaezc + +grdiok +dtkoxqrnl + +vqjpfiembrcyohxlgdts +uhvgxiceoyafmtpqs +gqpcfextaviomwhys +voygtpxhmiqcfse + +alv +xohjegy + +k +z +h + +wdoc +dwco +domcw + +pencwlstgb +toapxnsye +taehsxpjn + +unhav +dbslritz +eucw +ekv +eag + +fewghvcj +hcejwfvg +jgxwfvclheu +ewjfzvghc +ehfcgjwv + +moaclkpxythqvesdgzuwib +nrvlkyaiuhwsxfjzeoqmdb + +hda +dah +dha +dha +dha + +kgu +efntky +liw +zyh + +zqtohusn +jmuhq +lxqvkruhciwey +mjqthzanbu + +ljtief +lijeft +jlteif +fiejlbt +fjtlie + +qdxygilu +tldagovk +npmdckoaltg + +i +i +i +i +i + +wk +dal +uzmbsen +k + +cqlxwzvetfakbidmgoujhs +afzghkswqibynljtoecvrx +swzkjhatgqvblxfneoci + +h +on +h +h + +fzvckrajbeso +ejrcfnsxv +tlupewdmcirygv +vjqrec + +hadxcqevfmr +hxdarvmfcqe +chdvexqmfr +vrhmxecq +ehoxqnrcumv + +wkdtuyegzqichna +uihqapcwdmteznykg +tnjrqcydihfgvwzbseuak +dagetcyqizhnuwk + +jie +bei +ei +eji + +td +t +t +t + +dbqvtxjeranwmofhigc +mtgcdevirwahnxjoqbf +cftanqvibjmhxgowyred + +iqgphzrawkevmjfds +jhifptdmra +jdxaobfypmnhirc +xtdamplhrfibj + +majypozns +pomjzusayn +zmspayjon +mjnzoaspy + +puvwane +avwpnue +ewvaun +dauqnevw + +jsvcumahzqktyp +obifedg +wnolrxg + +ewgot +odycnb +tjgwo + +di +id +id +di +idcw + +itovydpksgxmblqhun +ogxaiurvmhlsfwdbpzcy +gdemlsyaijofbpuvxhz + +kwdqozmvuegtsrxi +uyetkxigdwosq + +cw +cw +cw + +aoh +ano + +rnywdtil +dpvhtrf +tgblnpd +keactdx +tgrdzos + +mfip +impf +fmpi +impf +imfp + +kqpvbyjnewx +ywjxpknqzeb +nqeukpjbwxy +penxzqbjykw + +zpyjigfcuxdktarq +yapfiqrtdkcgjx +aepjcrbgyxftikdq +jptaiqdcykxrgf + +ftwedcvib +btcdfewl +ivdfwbtce +ftcdxeqbkwu +bvfeitwcd + +uiqj +qi + +oxghqnsd +udygoh +hdoxg +rpafchvogd + +hpbytijfwx +jywtpixhbsf +pwhyfjbxiqt +qtipwfjxbhy +xqhfbptywij + +dfslmxhie +smzwlfqehi + +kpr +stcve + +irt +rti +irt +rti + +bunl +nlb +lprhdby + +bo +ob +ob + +bowdlaegtqypmiz +wonjglmdyapqhike + +akwfdicyteo +kaoewyidtcf +wyafoeitckd +ctwaifokeyd + +usikpnl +plunkis +nliskuwp +upisnkl +alinspukr + +fmosyehatupnxcrbl +zmtfcoghsperajnbylxu +ltnfweypcbmarosxhu +fuabtspeojcrhknlmyx +pcmdlsoxrytevqfnbuahi + +tpjvhomdzurfsbqgxieynw +deopwshxkgtibylnzqmrfujv +bpxszafutyhgdenwvmqijro +ixtjfrpbozsngqwmduhyve +elfvxrhspguyinzjwtmbodq + +kvgqfjtzonx +lptjicfezk +tbxkfjmvz + +d +q +d +rg + +gvnmslbrqduhipyx +sygxvmblqrjhipau +ufirbqgpvhsklxmy +bhrpgqxmivyulzs + +mdfikeywgxsqlbn +ilqgnfbdkexymsw +mynqlfgeidbkxws +kndefxlymisbgqw +bmgfeiwxkndsqly + +firjqazycdmlpebwvkuh +nyopgcvhsxlujedkmfrq + +ctmupagrjydizes +hdqxglckzvabwi + +uogtnvfbwa +qkgxofaeictuvnj +ngfuolytshmvr + +bhgrcpltzvqjwfas +tchsrqzwbpgvafj +wgharjbsptqzfvc +qftchjazrgspbvw + +sbzjewryqhpxcivnk +expnzhsqykirbjcw +oyagjndwhkpxlqbmcrizefs + +sfhpqjndwvb +rjvbwnphsqfedm +ndbphlfwjvqs + +whrefxbvuma +hxmrubvfwea + +t +t +t + +favkeblzcnt +ymcz +xucgdszp +cjzrh +irpqwozc + +my +m +m + +alsknvxifqcpjymrz +fpjcrqzmlyxvsaikn + +yaj +ykanc +atx + +ilupyjozc +zcjbiolu +czjioulsg +cokzbjuil +auvmjzohqrwilc + +wsxunpgv +vgwsu +ugswvq +usafwhvg +gfwuqsv + +s +sw + +wvqdzfolabmirjc +ljwarzcmbfqodiv +aswzbmdjtnlfqovgxc + +znrmjsy +nsjrymz +ymrnzsj + +vpgac +dgjvpcua +vycgpfa +pvcga +rapvcg + +mb +mb +bmnt +bm + +gsnjzuby +wntqv +nhld + +onzrkyudwapxf +dkupywnraxof + +lmst +slmt +tldsmvp +tsmol +sltm + +s +n + +qsagxhkyeinrvb +kiyeqrnbgxvash +syerxqghivnkab +rqkasenivxghyb + +ncfrvqmgkahtpbozdjy +fvdzwkoam +lixodafekmzv +dokuazvfm +zdoakvfms + +vlhbq +ouqvrxhls +sfhqlvx + +qxorudp +peduq +qundp +qdpu + +rhpyabj +brycauhjp +apbhrxyj + +ygk +ktpy +kvyn +yvkn + +xkhagnmpdcv +hjoakl + +dxcjugqvpleairsytkh +rqndpilgchysvoeutxma + +njeikmhawblcdxoygufrpt +gnrxuicweofdtpkjhslamby +perifdanxhwtbzokgumyclj + +ghpdecujkxzltysfbv +xftkvhudgcplyjzesb +cbksuezftdjhwvxgipyl + +wxtz +wztx + +bcva +acvb +avcb + +oydfhxunzaijlpgeqb +qzeafxwrpiycndmogbj +finjbylagzdqxoep +pyqbjondvzgefixa +aonbixfejqdpgzy + +edzm +ejmz +mgliz + +q +qb +yn +glq +fwu + +whbkfvgpmjzdl +gzmvwpjdbltfh + +prkxeaoygt +zfrewaysbtx + +hoytqlezuxdmcnw +zqtyewudcfnomxh +hrxinwocqtdemzu +wzmjhquxdngcpoe + +pnwldbucofxq +nlwbcoqfxpud +icwpxnbodyqmluvf +ozfwdhclupxbqn +dcqonulbwpxf + +ywfjkqrgidnhbuea +aeyidkwghubrjqf +ihjrakdwbuefgqy +irdjgbwfeqaukyh +hyeujqrkiwdagfb + +jstapqk +wmeujqts +utzmwqjs +zxqbmstj +yrsthdignvqj + +yva +actvy + +okqvf +mfok +akfno +oakvf + +cdfugre +gedfucr +dfcerug + +ingczmjrfp +pmcfrgnijz +mepzjirfcgn +zsnmhpfguwircjq + +dpw +zlpwd +pwd +dpw + +wbzluvga +yiupsdj +yfu +ncfou +pfu + +fbxnrjdosah +rnfdasxjbhoz +nohdxufrjkabs + +dfgyeismzkr +nhukvdazrwgqisl +xbzkgsmderi +ksditprgzb +zkdsgir + +gjytlskbrhdcwfq +ljirabqwtygcosuhd + +bk +kbdi +yjk +ik + +ksquemnvtlxofj +xeqoflmadtunsvjkc +jtvnequxslfmok +qvnkmtxosljeuf + +zxqlnj +qzkjl +jqlz +jlqz +qjzl + +jniylks +jiyheksb +jydtiaks + +o +o +h + +e +e +e +e + +hrpgqasc +grpschqa +rzgcsjphq + +ecitkohxdb +okteihdcxb +xobijctedhk +ktboecaixhd + +paubelofzrwmsvhg +pagezysfb + +esgvqfzkijypan +zeivfdksgqapyrjn + +wi +i +inkm +i + +zcun +uc +uc +okcug + +trogu +oyrug +ozgrfuqn + +raj +oz +pbr + +iwhxjelgd +jiwhexldg +hlgjxdwei +jlwxhgeid +xhldjzgwtmief + +kclge +srlkec +kelc + +eofisurvqxh +ukvfrisqxoe +uexrqifsvo + +okdimecwvfuhrljtpxgyanbzqs +xacwijpeqlkbuvdsgofmtnzhyr + +amwgdsovpnryclfeit +rcwyfevgotlidanspm +vtneaoylpdifcrwgsm +tonlrdacsfigpyvewm +pisgdcmtovwfelnyra + +uetxnmzilhksb +kminofleutjwdpz +tmeculxqkzin +kqlimryetnavzu + +cmnjsbqvde +qmzdbnjsv +vngjtmpsbqd +dqnmspbvj +dmsqvjbn + +kgxdn +gxndf + +onpwxkus +sgnpkw +pwnrvks +sknbpwta +wopksn + +gfqylwtcvpjsk +cwvplskgfxty +lkgvywscptf +ogwspvfylktc + +dgbcvjfieurw +iknqeztowur + +fzsar +fno + +jiaxdfroq +rqhxjigaynd +iudjaqrx +qmxardfvji +qxjcdira + +ghfosy +yfgs +hfspb +fucaiq + +ynrbkleixc +sezybviarnl + +ywcanufmveh +vafuecjm + +qcrmvuihkboexdlftp +kufohcswxpearvbyqd +hrnzpkocxfdevqujbs +qoxuhjpfvbckdre +gkdfvpbheqocuxr + +wtk +ktw + +xcadnijfkvqystgluz +kznliathwoxsmvybrgeqf +klzsivxayqnfgut + +clo +lco +ocl +oacql +lco + +iyzkvsdhpngo +remlyvz + +uyzw +zuv +zu + +tq +t + +oeicrl +byxrsfdz +rcjog +cr +irck + +pgistdzl +y +xmq +m +afn + +g +dhg +g +vwg + +nfgtoy +ugyft +tygfo +futyegr +gstlwpkyf + +vn +nmv +vn +nv +nv + +ozivnfbaktuedlrcs +oramfqlcbuswtvdzjni + +jxp +xpj + +mc +wabq +lrgsuezypd +wiv + +eofl +snpkflyqmdzwb +jehlirf +cjflrh +fljc + +ltubcvkymoajwxzsrhndpgf +ogvibsazqtujrdewfxymph + +egdchpsvwjfaqybn +zndqagubwpkscyjh + +wlbjgnopeayszicrmf +nosbgiezpjaywqfmrlc +jgilbrmwosyzcafnep +agycorlqmzweibpjfsn +zjlrpnfbeasidmcgyowt + +vijh +ndsfcamyxz +woujvp + +uhealmbgtyix +zilxmb +pvxlfqmwsidb + +fjmdnvrbg +gdlvuqhkpb +kbczdvgp + +lqkt +tkjqi + +wcrmtpf +bkqws + +ngzltjq +nlkut +iwlrytn +xltsmnu +ztlnacfj + +exfviczl +iczhelxv +zelivxc +vfilzexcp +xlzvfice + +ytgac +tacyk +qacy +candymh + +yrqczhgfovwnisbu +vhlgknps + +sbwugclexy +wbzuhlgsc +umvwiknljcdotbfgs +rluhbcqgsaw + +vymaruskjc +akvrsmjuyc +vrcyuasmbjk +pursajkvycm +czpmyusvajrk + +ofwvqmlr +vmq +vmq + +ysnwieoauzq +nuyqesaowz +yoesanuwqz +kuzgoswayqnle + +eomivztrgn +ivmretong +invkmrge +vnmzegcri +vyrmflsjgiuen + +eqrmyzpvkwfbgtjlxshdoin +gzolfstrvybjeqnmxpikhd +nroxitkevgzmypjdqbsfhl +ofgmtrjilnbekxhsqyzdpv +dhlqnvgsjiyzbkpotxrefm + +hozruskcedfwiaq +coptzfyuvxldrm + +l +l +l + +dyslqoiw +ymjqdi + +syxnhbi +dpkvjr +eukgwozaf +ekjz + +yvwbgqcrotjlnpeha +lhpoetrgabvnqjwy +blgszmfkhyntepwoaixqrvj +byrpjoenhagwtuvql + +z +v +tgy + +d +d +d +d +d + +dc +dca +dc +cd +dcz + +locsfetpwknxbzgvja +jxgnvfzphceiskaotwl +fotrsavxmjyhnwpgzelck +sfvpqhxgyjeonazclmwkt +choefxapjniztgwlvskq + +kbyxoztlp +ilptzojgvnexw +atxmzkolcp +uqkszlopdxt + +zj +ojpz + +khjzinxbsvytagfwrdpclm +gkfnjmrsaxublcov +nxlacsrmgkvbfju +uagsxkrfmbvcjnl +kexajvcfrnlsmgb + +jwstzrmqyg +qiolxndue + +aljc +onxjpaltygwvucz +qacrjls +ajcfhl +ijqralc + +hinlgsoyjrwux +onlujsyxgirwh + +l +l +l +l +l + +eoqhmwpjxdkib +dpewgjm +epjmdw +edpnmjw +pjdewm + +wvhaks +vrgoah + +dvqanm +ladgcypwnmhjz +xsidnmae +fidranekum +datnmb + +vkashdfylrcigpz +fzpsydgrvwcl +kdpglscryfz +sgzqcytfoplebudmxr +ldzsywpjfrgc + +gtme +mgfptwe +tmge + +ameogqc +ogqcema +meocqag +ecmaoqg +oeamicgq + +jg +hgij +fjg + +dgypvjbrik +zriqkvgpdbjaxy + +ezfbiwhrtgl +ozfxebispgdtnv +btegzjafui + +jiabmdnuftcsgqw +kazroxypl + +mqoaxjcuzhngk +jgswxaykfmehvuiqzon +lbuakqzjhdmnxgo + +bacszqyketnvpguofhrwmx +ptszqxamuewikbngyfhvdroc +heqrcosaxtwgbplfnzuvykmj + +knxabluhoyviedjfpsmrqcw +scqixedwvumkoanjbrfyhl +tisjfuywcqnremhobldkaxv +shvojgwydialxekbmcufnrq + +nyxmrhszik +mapcikqstjfrzx + +gdlctrjzek +hjsgkeyr + +qepm +eqlpm +eqmp +mqxepn +pqem + +bvgkrl +vboc +wcbvziu +vqfpdabh + +gpn +ngmpc + +twpvxflgjqoumydkbc +uprelhcmqwdksixynzta + +h +h + +jhnxwesqrpc +vpsgmitbaoyfudjz + +yuwbhtsmjlcqefdv +ebmutvlfcqdsjhy +utswqzjlbvycpadefmh +sejvrxgqdlmbtouyhnfc +zijctvqmlyuahfbsdep + +dflwcg +mrflgw +wfduygl + +ytnlzrju +uvztnjly +zljbryutn +zyjlnut +tljuozyn + +hskjpotzxndciuveygqbf +tovpizqhkfjyxucsgdbne +zchinjfgpxuvqodbtseky +ewpzdvhbgqnkcfujixsoyt + +hwogmrjsanyfkxcuzlqip +zgefdbcrvawhsknxlup + +vpnoqlyctz +lazbrndtc +cbzlduthn +ztnslmcwkegjx + +g +g +g +mg + +scdpkxnwevjzuliaot +ieltzxk +etkilxz +ekrxizlmt +lztxefikb + +fojsglve + +mpdxfg +kfdxma +dkfxavtm +wnbxdmcof + +lsoytwjgnxfpu +jxnluyisgp +jygpxslnmur +npsjlguyx + +rdh +rdh + +apbutxfrwydzin +xrgnqelbdtoczafhjm +drkuztfnxba + +bdmstxhqnrzeyj +fubwrmohipenjclkgya + +usrxcktp +srxotup +rulpxit +euxptrn + +pryjxzemofknaqwh +owzqrhmknsjaedxyfb +ahkijzwfrmqnxolscvey +uqnxfkrwmatcsgeyohjz + +gq +q +q +q + +hbkieng +behdikgm +dkbeygh +ebgshk + +xcdliskjvqhazmgp +zdilgjchpavusmxk +jwxavzlkchdobmgyspi +vijgcxakdhlpqszm + +qkoxgd +zkuxdmbyqcglf + +hjxscnryl +nsmahy +snmhy +ovthdys + +vbwhoizkgsncaqr +waobkhsivcrznjqg +wzsrcgnabkhoqiv +oanbsyrhicgwvzkxq +hurqnbcgovfkawzis + +zxvbs +bdpn +qb +bv + +hdkixlmqovte +ihtrouqdnxlk +ltioudhqkx +bxidhtklufoqw + +s +scvai +s +sb +ws + +uaxeycr +aubsiqxrv +aohrdkxu +reaux + +trcfn +txbgc +tcp + +udrgmasezv +zotwyimlkq + +o +o +tdo +o + +ambertifpjuzvwk +dcyhwogqfiaxnlzps + +smzcqpikr +szmqcpkri +cqokmsrpzi + +tzkopc +pkcz +pckz + +avioqkyrntbesulwzp +oylhrtfzvainkuxbw + +hqieuv +hiqcu +ihwuq + +itfe +wcied +uvnigke +ltieq + +jrbmngvx +wousyqdiehcgk +ztfplg + +zdhewmyr +wjgqt +ynwdcef +kmvnwhfep +wyco + +x +x +x +x + +phkfsnxwce +dztiaygqu +jvrmltid + +ayhkqv +havyqk +vyhkaq +vyajenhgqk +vakhyq + +dxlepoksgznvuyjcihwqtf +lyqaihgexkcozwdsjnbtmfu +ysecldonhztfkruwxgjqi + +epo +azoeq +mfg +tbujywxr +eod + +myek +kmey +meky + +iwyngr +vishbag +kinsq +lzxoeticmudfp +nhjswiv + +fbtscavdzrkxeqyuhiw +orafstylxkgphmed +fehrsanktydx + +covl +ypkqdc +xzc +ejwsgafcbh +vcutm + +mlsfecori +ehpsya + +dpvgtqzocn +ngdvoqptzc +toqcdgvnpz +vdqptznocg +ncgzqdotvp + +adsqywe +msdeawq +edwaqs +vedwasnq +qdaswe + +bqmpnhvtoakiyr +roufkiapnqeym + +fydeiohqas +sqoycfhad +safyqhod +ghadsxfyqomv + +qdxmrofjwb +qwkidye +lgqyziawd + +erqsduihwmjcz +umericogzyjsqhn + +hsct +hsct +thcs +ctsh + +vtnbqai +qtianb + +tdwhrmbvyalqfojzicpxe +cltemhoxwbpqyrijvzad +wxjmpyzdqoeabichtrlv +ogzwhbdmtqxecvryjipla + +wnkjevsuqrtbfygih +jzagctiudpbqyfvhomkr +qtfkshvgryibujn + +qowgkyzsfetprnd +sgrdfepwnyzqtok +pgnrwdkzofyesqjt +wfcpkntezoyshgdlqr +dfrongetpszqwyk + +fdmxzviro +odcszimujfqaknx +xmoivfhdwz +yoidfzmvxbg + +nxmtopbehydczsrj +hrtspxjyiwczdngfb +uzjranxksdbltpyhv + +zoia +zioa +cazoi + +kwfnrcbjushlme +wsnmelhrjcubk + +lhf +hl +hl + +qvtia +vqal +ovqa +qva +valqy + +jxfkt +evhj +kgjo +puyasnjliz +xkmj + +cbhxvorjpgzd +dcbxgjhporzv +pjdbxhrogzvc +ogbrpjdvxzch + +ks +skh +sk diff --git a/2020/resources/input07.txt b/2020/resources/input07.txt new file mode 100644 index 0000000000000000000000000000000000000000..1390fba3afd7a0e2d60044dd00340162bbda4356 --- /dev/null +++ b/2020/resources/input07.txt @@ -0,0 +1,594 @@ +mirrored gold bags contain 3 light teal bags. +clear gold bags contain 5 light maroon bags, 4 pale tomato bags, 5 clear blue bags. +dark olive bags contain 5 plaid black bags, 2 dim plum bags, 2 light cyan bags. +bright white bags contain 2 pale violet bags, 5 mirrored orange bags, 3 faded beige bags. +posh green bags contain 4 shiny gray bags. +posh lime bags contain 3 muted lavender bags, 1 clear magenta bag, 5 muted orange bags, 3 mirrored cyan bags. +striped turquoise bags contain 3 pale red bags, 4 wavy lime bags, 4 wavy aqua bags. +pale fuchsia bags contain 1 striped purple bag. +dark magenta bags contain 4 light indigo bags, 1 wavy lavender bag, 1 clear teal bag. +drab teal bags contain 5 pale bronze bags. +muted aqua bags contain 4 wavy bronze bags, 1 pale plum bag. +vibrant brown bags contain 4 dull turquoise bags. +vibrant green bags contain 5 dim violet bags, 2 dotted red bags, 2 dull indigo bags. +wavy black bags contain 3 posh yellow bags, 5 wavy coral bags. +light fuchsia bags contain 1 dull violet bag, 5 dim indigo bags, 4 plaid red bags, 5 dotted bronze bags. +drab bronze bags contain 5 dim tan bags, 4 mirrored yellow bags, 5 dim indigo bags. +plaid silver bags contain 4 pale orange bags. +wavy red bags contain 3 muted chartreuse bags, 4 light silver bags. +light aqua bags contain 4 dark cyan bags, 3 shiny aqua bags, 1 light olive bag, 3 wavy purple bags. +wavy salmon bags contain 1 shiny blue bag, 2 bright green bags, 5 dark beige bags. +vibrant indigo bags contain 4 drab lime bags, 5 plaid turquoise bags. +striped violet bags contain 3 dim violet bags, 3 striped purple bags. +dull salmon bags contain 5 vibrant turquoise bags, 5 muted black bags. +dark lavender bags contain 5 pale gold bags, 5 pale silver bags. +clear lavender bags contain 1 faded turquoise bag. +striped crimson bags contain 2 dull turquoise bags, 1 dotted red bag, 5 striped yellow bags. +posh chartreuse bags contain 2 wavy lavender bags, 2 striped black bags, 5 dim blue bags, 5 bright fuchsia bags. +clear tomato bags contain 1 mirrored violet bag, 4 pale gold bags, 5 bright bronze bags. +clear brown bags contain 3 plaid fuchsia bags. +pale aqua bags contain 3 pale indigo bags, 1 dark lime bag, 4 dim magenta bags. +bright maroon bags contain 4 wavy yellow bags, 4 bright tan bags, 2 posh indigo bags, 4 shiny white bags. +wavy purple bags contain 1 faded beige bag, 2 drab salmon bags, 3 mirrored yellow bags. +muted salmon bags contain 5 bright olive bags, 2 striped white bags, 3 dotted coral bags. +dotted maroon bags contain 4 striped brown bags. +wavy turquoise bags contain 1 dim indigo bag, 3 clear lavender bags. +muted tomato bags contain 2 wavy turquoise bags, 4 pale crimson bags. +faded teal bags contain 2 dotted yellow bags, 4 dull olive bags. +dotted blue bags contain 4 striped plum bags, 4 striped cyan bags, 2 drab bronze bags. +posh teal bags contain 2 vibrant purple bags, 4 plaid fuchsia bags, 2 light green bags, 3 light chartreuse bags. +muted gold bags contain 1 muted green bag, 1 vibrant brown bag, 5 pale crimson bags. +clear olive bags contain no other bags. +dotted beige bags contain 4 posh beige bags, 2 pale silver bags. +vibrant lavender bags contain 4 dark tomato bags, 5 dim black bags, 3 dim aqua bags. +wavy maroon bags contain 1 drab turquoise bag, 1 shiny indigo bag. +muted magenta bags contain 4 posh indigo bags, 4 faded brown bags. +dull tomato bags contain 1 pale green bag, 1 plaid gold bag, 5 plaid yellow bags, 5 mirrored blue bags. +mirrored black bags contain 5 drab crimson bags. +dull green bags contain 4 shiny orange bags. +dark cyan bags contain 3 pale gold bags. +faded black bags contain 2 clear beige bags, 4 bright red bags, 1 striped black bag. +wavy indigo bags contain 2 pale brown bags. +dim white bags contain 3 clear violet bags, 3 vibrant indigo bags. +muted green bags contain 1 bright white bag. +posh coral bags contain 3 shiny purple bags, 2 light brown bags, 3 pale gray bags, 1 dull turquoise bag. +dull white bags contain 5 bright plum bags, 5 light green bags, 3 plaid purple bags, 1 faded white bag. +bright salmon bags contain 3 dull indigo bags, 3 muted plum bags, 3 muted bronze bags. +dotted green bags contain 1 posh purple bag. +posh salmon bags contain 1 shiny brown bag, 2 dark red bags, 3 drab gold bags. +pale olive bags contain 4 shiny maroon bags, 3 shiny white bags, 2 dim lavender bags. +dotted lime bags contain 4 mirrored plum bags, 2 dotted blue bags, 3 light salmon bags. +dim blue bags contain 5 shiny lime bags, 5 wavy cyan bags, 3 dotted cyan bags, 5 vibrant turquoise bags. +dim gold bags contain 3 wavy lavender bags, 4 dark silver bags, 4 striped green bags, 4 posh plum bags. +drab lime bags contain 3 clear black bags. +dim red bags contain 1 mirrored olive bag, 1 plaid violet bag. +posh white bags contain 3 pale indigo bags, 1 pale black bag, 5 light green bags, 2 light maroon bags. +dim brown bags contain 5 dotted black bags, 5 dotted red bags. +drab gold bags contain 4 mirrored orange bags, 5 drab beige bags, 4 pale gold bags. +shiny green bags contain 5 mirrored gray bags, 4 pale maroon bags, 1 striped coral bag. +clear teal bags contain 3 vibrant crimson bags, 4 posh teal bags, 5 striped lime bags, 3 plaid green bags. +wavy coral bags contain 3 drab beige bags, 2 drab magenta bags. +plaid tan bags contain 4 faded yellow bags, 4 dull gray bags, 2 shiny lime bags. +shiny blue bags contain 1 faded white bag, 5 dull turquoise bags. +striped green bags contain 4 dull blue bags, 1 muted tan bag, 1 wavy lavender bag, 1 muted gray bag. +wavy tan bags contain 4 wavy bronze bags, 2 pale plum bags, 2 plaid indigo bags, 2 light lavender bags. +faded violet bags contain 5 dull turquoise bags, 4 bright orange bags, 5 drab lavender bags. +striped magenta bags contain 5 dotted orange bags, 5 wavy red bags. +drab beige bags contain 4 pale gold bags. +shiny coral bags contain 3 mirrored bronze bags. +faded indigo bags contain 5 clear violet bags, 5 vibrant fuchsia bags, 5 posh violet bags. +muted maroon bags contain 4 wavy coral bags. +pale violet bags contain 1 clear olive bag, 1 wavy fuchsia bag, 1 dull lime bag. +wavy chartreuse bags contain 2 faded blue bags. +faded purple bags contain 5 clear olive bags, 1 wavy orange bag, 2 posh beige bags, 1 mirrored salmon bag. +dull fuchsia bags contain 2 dark tan bags. +light gold bags contain 1 pale blue bag, 4 wavy cyan bags, 1 shiny chartreuse bag. +bright tan bags contain 2 shiny brown bags, 4 drab gold bags. +plaid fuchsia bags contain 4 shiny gold bags, 1 mirrored orange bag, 4 dark chartreuse bags, 1 faded tomato bag. +striped indigo bags contain 4 clear brown bags, 3 wavy silver bags, 1 plaid teal bag, 3 pale maroon bags. +drab salmon bags contain 1 wavy bronze bag, 2 pale violet bags, 5 plaid indigo bags. +muted teal bags contain 1 wavy maroon bag, 2 pale purple bags, 4 clear blue bags, 2 bright salmon bags. +clear violet bags contain 2 light chartreuse bags, 1 light silver bag, 4 dark brown bags. +posh red bags contain 4 light lavender bags, 4 plaid brown bags. +muted gray bags contain 1 pale olive bag. +posh black bags contain 1 muted maroon bag. +dotted silver bags contain 3 dull turquoise bags, 4 dotted black bags, 3 mirrored black bags. +wavy olive bags contain 3 dotted coral bags, 5 dim silver bags. +plaid olive bags contain 3 muted plum bags. +dim lavender bags contain 2 pale gold bags, 5 mirrored turquoise bags, 1 dull lime bag, 1 dull beige bag. +dark silver bags contain 4 light silver bags, 1 plaid fuchsia bag. +shiny tomato bags contain 2 pale coral bags, 4 dim lavender bags, 1 dim purple bag, 3 wavy magenta bags. +dull purple bags contain 1 shiny maroon bag. +wavy orange bags contain 2 dim black bags, 1 wavy aqua bag, 4 dull turquoise bags, 3 wavy bronze bags. +dim gray bags contain 2 faded bronze bags, 3 dull beige bags, 3 pale purple bags, 5 drab gold bags. +muted yellow bags contain 4 wavy aqua bags. +striped maroon bags contain 1 plaid plum bag, 5 dotted chartreuse bags, 3 dotted cyan bags, 2 bright plum bags. +muted white bags contain 2 dark blue bags, 4 posh aqua bags, 5 mirrored violet bags, 5 posh lavender bags. +wavy cyan bags contain 3 dim black bags, 2 striped lime bags. +striped teal bags contain 2 bright blue bags, 1 vibrant black bag. +posh olive bags contain 2 dim plum bags, 5 shiny turquoise bags, 1 vibrant tomato bag, 5 bright magenta bags. +dotted crimson bags contain 2 clear gray bags. +clear plum bags contain 4 vibrant teal bags. +vibrant chartreuse bags contain 4 posh bronze bags, 5 light purple bags. +vibrant teal bags contain 3 clear blue bags, 4 muted tan bags, 2 wavy fuchsia bags. +striped beige bags contain 4 faded tomato bags. +muted bronze bags contain 1 clear lavender bag, 4 mirrored gray bags. +light lavender bags contain 2 plaid turquoise bags. +dotted white bags contain 1 light yellow bag, 5 dull maroon bags, 5 posh brown bags, 2 clear olive bags. +pale teal bags contain 4 dark aqua bags, 5 dull violet bags. +wavy lime bags contain 2 drab red bags, 1 clear olive bag. +vibrant black bags contain 3 dim tan bags. +pale coral bags contain 5 dull gold bags. +plaid maroon bags contain 2 light fuchsia bags. +wavy aqua bags contain 5 dark coral bags, 5 mirrored orange bags, 3 muted aqua bags. +bright blue bags contain 3 faded bronze bags, 1 bright red bag, 5 mirrored coral bags. +wavy silver bags contain 1 posh olive bag, 1 shiny lime bag, 3 shiny beige bags. +faded maroon bags contain 1 dull tan bag. +light yellow bags contain 5 light lavender bags, 5 pale black bags, 1 plaid brown bag, 3 pale violet bags. +wavy fuchsia bags contain no other bags. +pale plum bags contain 4 light teal bags, 2 pale black bags, 1 pale green bag, 4 wavy bronze bags. +drab white bags contain 3 dark tan bags, 5 muted orange bags, 5 dull violet bags, 1 mirrored fuchsia bag. +pale salmon bags contain 5 faded violet bags, 1 clear cyan bag. +clear crimson bags contain 4 pale lavender bags, 1 dull turquoise bag, 2 mirrored blue bags. +posh gray bags contain 4 muted brown bags, 3 shiny teal bags. +dark aqua bags contain 1 shiny maroon bag, 5 dim brown bags, 4 striped maroon bags, 5 dim blue bags. +muted red bags contain 3 muted chartreuse bags, 4 wavy red bags, 1 drab tomato bag, 3 shiny yellow bags. +mirrored purple bags contain 2 clear blue bags, 2 mirrored lavender bags, 1 pale gold bag, 3 bright silver bags. +striped yellow bags contain 4 light silver bags, 2 dotted red bags, 3 mirrored black bags, 2 faded tomato bags. +dotted teal bags contain 1 drab bronze bag, 3 muted red bags, 5 mirrored gray bags, 4 bright olive bags. +clear turquoise bags contain 5 dim bronze bags, 3 faded silver bags, 1 dotted olive bag. +dull lavender bags contain 5 clear olive bags, 1 mirrored orange bag. +mirrored indigo bags contain 3 bright fuchsia bags, 3 dotted salmon bags. +shiny salmon bags contain 2 bright turquoise bags, 1 light plum bag. +plaid red bags contain 3 clear brown bags, 4 drab tomato bags, 2 plaid indigo bags. +drab black bags contain 5 dull maroon bags, 2 dark silver bags, 5 bright red bags, 5 bright cyan bags. +pale purple bags contain 5 light blue bags, 1 dull maroon bag. +plaid crimson bags contain 2 dark turquoise bags, 5 mirrored bronze bags, 5 dull gold bags, 2 posh yellow bags. +striped lime bags contain 2 wavy lime bags, 2 shiny teal bags. +plaid yellow bags contain 5 muted chartreuse bags. +dark violet bags contain 2 plaid fuchsia bags, 2 muted bronze bags, 3 posh green bags. +bright red bags contain 4 faded plum bags, 3 dim lavender bags. +striped purple bags contain 3 mirrored turquoise bags, 1 shiny yellow bag. +shiny red bags contain 4 wavy coral bags, 3 vibrant salmon bags. +striped cyan bags contain 2 dark yellow bags. +posh magenta bags contain 3 vibrant indigo bags, 2 pale violet bags, 3 bright fuchsia bags, 1 shiny teal bag. +drab cyan bags contain 3 plaid gold bags, 3 clear black bags, 5 striped green bags. +dim chartreuse bags contain 2 wavy coral bags, 2 striped black bags, 4 dotted tomato bags, 1 muted maroon bag. +faded beige bags contain 5 dim tomato bags, 3 plaid turquoise bags. +mirrored teal bags contain 4 posh silver bags, 3 dotted brown bags. +light turquoise bags contain 2 bright gray bags. +drab fuchsia bags contain 4 shiny brown bags, 1 muted olive bag. +mirrored bronze bags contain 3 dull turquoise bags, 3 mirrored turquoise bags, 2 drab red bags. +shiny fuchsia bags contain 3 striped gray bags, 3 faded blue bags. +dim beige bags contain 4 dark blue bags, 1 vibrant aqua bag, 2 shiny brown bags, 5 dull violet bags. +drab gray bags contain 1 wavy maroon bag. +drab orange bags contain 5 plaid brown bags, 1 vibrant yellow bag, 1 mirrored beige bag, 4 pale white bags. +dull magenta bags contain 4 light purple bags, 3 dark brown bags. +vibrant magenta bags contain 4 clear gray bags, 2 shiny aqua bags, 4 striped yellow bags, 3 shiny magenta bags. +drab tomato bags contain 5 drab crimson bags, 2 dull gold bags, 4 light silver bags. +wavy violet bags contain 3 faded plum bags. +mirrored fuchsia bags contain 1 mirrored black bag. +shiny white bags contain 4 light silver bags, 3 dotted fuchsia bags, 2 faded brown bags, 1 bright bronze bag. +clear chartreuse bags contain 4 plaid cyan bags, 1 striped gold bag. +muted turquoise bags contain 3 drab crimson bags, 3 drab olive bags. +faded aqua bags contain 1 dotted teal bag. +vibrant gold bags contain 2 light green bags, 1 dotted gold bag. +drab plum bags contain 5 dim salmon bags, 3 dotted teal bags. +dotted chartreuse bags contain 2 dull turquoise bags, 1 bright chartreuse bag, 4 faded tan bags, 1 mirrored lavender bag. +dull silver bags contain 1 mirrored indigo bag. +pale yellow bags contain 4 drab coral bags. +clear black bags contain 3 dim coral bags. +faded gold bags contain 3 faded chartreuse bags, 1 posh gray bag, 3 drab tomato bags. +muted chartreuse bags contain 1 clear olive bag. +shiny indigo bags contain 3 vibrant yellow bags, 2 plaid orange bags. +dull indigo bags contain 5 bright fuchsia bags, 2 shiny yellow bags, 2 plaid indigo bags, 4 bright olive bags. +faded silver bags contain 2 vibrant olive bags, 4 muted tomato bags. +pale green bags contain 1 pale red bag, 5 dull lavender bags, 4 clear olive bags. +dull violet bags contain 1 shiny black bag, 1 shiny fuchsia bag, 3 plaid indigo bags, 2 posh crimson bags. +dotted lavender bags contain 2 striped lavender bags. +clear orange bags contain 1 dotted cyan bag, 4 clear tomato bags. +bright crimson bags contain 1 dull black bag, 2 dim tomato bags, 1 drab bronze bag, 4 wavy orange bags. +dark orange bags contain 1 vibrant teal bag, 3 dull maroon bags, 4 light purple bags. +bright teal bags contain 5 mirrored tomato bags, 4 dull lime bags, 4 shiny olive bags. +vibrant beige bags contain 2 dark turquoise bags. +dark yellow bags contain 5 dark orange bags, 4 pale red bags, 2 striped fuchsia bags, 5 faded turquoise bags. +bright fuchsia bags contain 5 striped gray bags, 3 light teal bags, 5 mirrored orange bags. +clear maroon bags contain 2 dotted yellow bags, 1 mirrored green bag, 4 dotted coral bags, 3 dull indigo bags. +dim lime bags contain 3 dull fuchsia bags. +striped olive bags contain 5 wavy fuchsia bags, 2 light purple bags. +dull gray bags contain 4 dark beige bags, 1 mirrored white bag. +dim orange bags contain 5 mirrored white bags. +faded salmon bags contain 2 muted cyan bags. +clear red bags contain 2 dim violet bags, 1 shiny purple bag, 3 faded salmon bags, 2 mirrored brown bags. +plaid white bags contain 1 shiny aqua bag, 1 vibrant teal bag. +shiny violet bags contain 3 striped lime bags, 5 mirrored chartreuse bags, 3 pale red bags, 1 muted orange bag. +wavy green bags contain 2 dark tomato bags. +pale lavender bags contain 3 pale orange bags. +dark fuchsia bags contain 4 pale turquoise bags, 4 pale plum bags, 5 light purple bags, 3 dark beige bags. +posh indigo bags contain 2 pale violet bags, 5 shiny coral bags, 1 faded chartreuse bag, 2 plaid indigo bags. +light brown bags contain 1 posh black bag, 4 clear cyan bags. +faded red bags contain 1 drab maroon bag. +dark bronze bags contain 1 pale green bag, 4 shiny blue bags, 1 mirrored lime bag. +pale orange bags contain 4 plaid violet bags, 5 dim silver bags, 1 dim cyan bag, 3 clear blue bags. +dull brown bags contain 1 light tomato bag, 4 pale tomato bags. +mirrored plum bags contain 1 shiny tan bag, 5 wavy brown bags. +dull lime bags contain 4 mirrored orange bags. +drab yellow bags contain 3 clear teal bags, 3 posh aqua bags, 4 posh fuchsia bags, 3 posh turquoise bags. +bright cyan bags contain 5 muted lavender bags, 1 wavy purple bag. +drab chartreuse bags contain 1 wavy tan bag. +drab tan bags contain 5 drab bronze bags, 5 pale green bags, 1 wavy fuchsia bag. +shiny tan bags contain 1 pale red bag, 5 clear aqua bags. +dotted black bags contain 2 dim black bags. +dull blue bags contain 3 clear blue bags, 5 bright gold bags, 4 pale tomato bags, 4 drab beige bags. +light olive bags contain 2 mirrored salmon bags, 2 drab violet bags, 2 bright beige bags. +mirrored magenta bags contain 4 drab tomato bags, 5 clear teal bags, 3 dark coral bags, 5 shiny white bags. +bright silver bags contain 1 posh brown bag. +vibrant blue bags contain 3 clear tan bags. +dark indigo bags contain 3 dim aqua bags, 5 bright aqua bags. +bright brown bags contain 3 muted purple bags, 1 muted blue bag, 1 light green bag, 1 dark red bag. +dark salmon bags contain 3 dotted fuchsia bags, 2 dim tan bags. +mirrored maroon bags contain 2 posh purple bags. +faded crimson bags contain 1 posh white bag, 2 muted blue bags, 3 dark fuchsia bags, 3 light red bags. +bright lavender bags contain 4 bright chartreuse bags, 5 muted purple bags, 4 dull aqua bags, 1 shiny blue bag. +mirrored orange bags contain no other bags. +wavy bronze bags contain no other bags. +wavy yellow bags contain 2 mirrored yellow bags, 1 muted maroon bag, 2 striped purple bags, 4 pale silver bags. +drab magenta bags contain 3 dim indigo bags, 2 wavy bronze bags, 5 shiny yellow bags. +wavy blue bags contain 3 mirrored gold bags, 3 shiny lavender bags, 1 dim teal bag, 4 clear crimson bags. +clear purple bags contain 2 dark beige bags. +light cyan bags contain 1 dotted white bag, 5 muted yellow bags, 1 wavy lime bag. +clear yellow bags contain 2 plaid olive bags, 1 muted red bag, 1 mirrored bronze bag, 5 striped violet bags. +light plum bags contain 5 dotted fuchsia bags, 4 vibrant white bags, 5 muted red bags, 5 drab red bags. +vibrant fuchsia bags contain 1 posh green bag. +pale maroon bags contain 5 light purple bags, 5 shiny aqua bags, 3 clear teal bags, 2 clear green bags. +dark teal bags contain 2 dark lavender bags, 4 striped black bags, 1 drab lime bag, 2 dim teal bags. +clear fuchsia bags contain 2 shiny violet bags, 4 posh aqua bags, 4 bright red bags. +dotted magenta bags contain 2 dull olive bags, 1 clear magenta bag, 5 light beige bags, 1 dark brown bag. +muted black bags contain 2 clear blue bags, 2 muted red bags. +dim magenta bags contain 4 plaid silver bags, 4 plaid olive bags. +striped lavender bags contain 4 clear blue bags. +dull beige bags contain no other bags. +wavy lavender bags contain 2 shiny blue bags, 3 faded tomato bags, 5 dotted tan bags, 5 dull maroon bags. +light maroon bags contain 5 dim violet bags, 3 wavy turquoise bags, 3 mirrored salmon bags. +plaid green bags contain 1 dim teal bag, 5 pale brown bags, 2 striped chartreuse bags. +shiny plum bags contain 1 posh lavender bag, 3 vibrant red bags, 5 dark maroon bags, 1 dotted bronze bag. +plaid turquoise bags contain 4 light silver bags. +dim cyan bags contain 1 shiny coral bag, 4 bright lime bags. +shiny lime bags contain 3 wavy green bags, 5 posh white bags, 1 striped purple bag. +dim maroon bags contain 1 muted crimson bag. +dim aqua bags contain 1 dotted silver bag, 3 faded blue bags, 4 striped purple bags. +muted blue bags contain 2 posh yellow bags, 3 bright tan bags, 1 vibrant salmon bag. +vibrant olive bags contain 5 clear aqua bags. +plaid black bags contain 3 striped orange bags. +vibrant violet bags contain 2 pale gold bags. +light bronze bags contain 1 shiny maroon bag, 3 light blue bags. +pale magenta bags contain 5 pale tomato bags. +vibrant yellow bags contain 4 striped gray bags, 4 dotted yellow bags, 1 wavy fuchsia bag, 3 wavy purple bags. +shiny black bags contain 5 shiny yellow bags, 3 light purple bags, 1 pale olive bag, 1 clear blue bag. +dim crimson bags contain 5 posh gray bags, 1 bright chartreuse bag. +plaid salmon bags contain 2 wavy fuchsia bags, 1 posh olive bag, 2 dim tan bags. +shiny cyan bags contain 5 light green bags, 1 clear olive bag, 5 pale olive bags. +pale silver bags contain 3 mirrored orange bags, 1 light lavender bag, 2 faded tomato bags, 1 muted chartreuse bag. +light red bags contain 4 shiny gray bags, 4 wavy salmon bags, 4 clear lime bags. +dark turquoise bags contain 4 mirrored orange bags, 4 vibrant brown bags, 4 striped brown bags, 4 mirrored purple bags. +dark gray bags contain 1 pale violet bag, 5 striped turquoise bags, 2 wavy red bags, 2 light bronze bags. +pale gray bags contain 5 drab tan bags, 3 clear gray bags. +striped gold bags contain 2 dotted beige bags. +muted cyan bags contain 2 light bronze bags, 3 clear green bags. +faded white bags contain 3 striped tomato bags, 4 shiny black bags, 2 drab tomato bags. +clear lime bags contain 3 dotted fuchsia bags, 3 vibrant purple bags, 1 shiny bronze bag, 3 muted green bags. +dull bronze bags contain 5 plaid turquoise bags, 4 dark crimson bags, 3 pale yellow bags, 3 posh chartreuse bags. +mirrored cyan bags contain 4 clear olive bags, 2 vibrant purple bags, 4 dull olive bags. +pale bronze bags contain 3 vibrant purple bags, 4 dotted silver bags, 2 mirrored black bags. +pale blue bags contain 1 dark brown bag, 2 light brown bags, 2 drab lime bags. +clear bronze bags contain 4 clear blue bags, 2 light chartreuse bags, 1 pale violet bag. +clear aqua bags contain 2 clear cyan bags. +plaid plum bags contain 3 faded plum bags. +mirrored lime bags contain 4 posh brown bags. +plaid lavender bags contain 1 bright beige bag, 5 bright lime bags, 4 faded aqua bags. +drab crimson bags contain 2 shiny yellow bags, 1 posh brown bag. +shiny beige bags contain 2 muted aqua bags, 1 vibrant purple bag, 4 pale black bags, 3 dark chartreuse bags. +dim green bags contain 4 bright yellow bags, 1 shiny fuchsia bag, 1 wavy tomato bag, 4 shiny black bags. +drab coral bags contain 5 dark coral bags. +posh turquoise bags contain 1 dim violet bag, 2 faded turquoise bags. +dotted plum bags contain 2 dull salmon bags, 5 light green bags, 3 pale red bags, 2 posh yellow bags. +posh yellow bags contain 1 mirrored salmon bag, 1 drab tomato bag, 3 dark tomato bags, 2 dark chartreuse bags. +faded orange bags contain 1 drab yellow bag. +dull teal bags contain 2 plaid crimson bags, 5 shiny violet bags, 1 dull coral bag. +faded brown bags contain 5 muted red bags. +bright chartreuse bags contain 5 clear lime bags. +mirrored tan bags contain 4 striped lavender bags, 4 light plum bags. +clear indigo bags contain 5 plaid fuchsia bags, 2 plaid brown bags, 5 striped gray bags. +light teal bags contain 1 dull beige bag, 1 mirrored turquoise bag, 1 mirrored orange bag, 5 wavy bronze bags. +shiny gold bags contain 2 dark coral bags, 1 mirrored orange bag. +striped white bags contain 5 dull fuchsia bags. +wavy white bags contain 5 dull chartreuse bags, 5 wavy green bags. +mirrored beige bags contain 4 bright white bags, 5 plaid magenta bags, 3 plaid crimson bags, 1 shiny teal bag. +muted purple bags contain 5 pale black bags, 5 wavy aqua bags. +vibrant crimson bags contain 5 dim bronze bags, 2 vibrant plum bags. +striped aqua bags contain 3 plaid cyan bags, 3 light beige bags, 2 drab cyan bags. +dull crimson bags contain 1 light white bag, 3 drab indigo bags, 1 clear fuchsia bag. +clear magenta bags contain 4 light brown bags. +posh maroon bags contain 1 faded plum bag, 3 light olive bags. +bright violet bags contain 2 dotted bronze bags, 4 clear teal bags, 3 striped magenta bags, 3 muted indigo bags. +faded coral bags contain 5 dark violet bags, 3 plaid teal bags. +faded bronze bags contain 5 dotted fuchsia bags, 5 wavy bronze bags, 2 dotted purple bags, 5 dim black bags. +light beige bags contain 2 shiny olive bags. +mirrored white bags contain 1 dark indigo bag, 1 drab maroon bag, 3 shiny beige bags, 5 light blue bags. +muted silver bags contain 4 wavy lime bags, 1 dark tomato bag, 1 bright fuchsia bag, 4 dotted olive bags. +wavy gray bags contain 2 mirrored turquoise bags, 5 light lavender bags, 3 muted chartreuse bags. +clear salmon bags contain 5 bright tomato bags, 2 wavy aqua bags. +dull turquoise bags contain 1 pale tomato bag. +shiny yellow bags contain 4 dull lime bags, 3 shiny maroon bags, 3 light silver bags. +mirrored aqua bags contain 3 posh magenta bags, 4 drab tomato bags. +dull orange bags contain 5 dim teal bags, 3 light olive bags, 2 light magenta bags, 2 plaid orange bags. +plaid blue bags contain 3 pale purple bags, 1 shiny turquoise bag. +dim olive bags contain 3 shiny tomato bags, 4 dim black bags, 1 light plum bag. +dim fuchsia bags contain 1 dark chartreuse bag, 1 mirrored cyan bag, 3 plaid red bags. +dark plum bags contain 1 light yellow bag, 1 mirrored lime bag, 2 bright salmon bags. +faded tomato bags contain 2 muted chartreuse bags, 4 dark chartreuse bags. +dotted aqua bags contain 2 dull lavender bags, 4 pale tomato bags. +plaid lime bags contain 3 vibrant indigo bags, 1 muted red bag, 1 posh silver bag, 1 dim indigo bag. +vibrant lime bags contain 5 drab turquoise bags, 2 vibrant chartreuse bags, 4 clear blue bags. +posh brown bags contain 2 wavy red bags, 2 drab beige bags. +bright beige bags contain 3 faded blue bags, 4 muted red bags, 5 mirrored lavender bags, 2 pale red bags. +dotted yellow bags contain 5 striped gray bags, 3 pale gold bags, 2 clear olive bags, 5 mirrored yellow bags. +dull gold bags contain 5 clear tomato bags, 5 drab beige bags, 4 bright silver bags, 4 drab crimson bags. +dark maroon bags contain 2 wavy turquoise bags, 4 dark chartreuse bags. +drab olive bags contain 4 faded bronze bags. +posh plum bags contain 2 dull tan bags. +light indigo bags contain 2 wavy yellow bags. +vibrant tan bags contain 5 shiny teal bags. +dim purple bags contain 5 light olive bags, 5 mirrored violet bags. +vibrant gray bags contain 3 bright turquoise bags, 4 dim maroon bags, 4 vibrant chartreuse bags, 2 faded turquoise bags. +pale tan bags contain 2 light salmon bags, 3 dotted silver bags, 5 clear lime bags, 1 shiny teal bag. +dark tan bags contain 5 dim indigo bags, 3 shiny beige bags, 5 dim tan bags, 2 pale black bags. +dotted tomato bags contain 3 shiny black bags, 3 pale crimson bags, 2 dim tan bags. +posh violet bags contain 4 posh crimson bags, 1 muted fuchsia bag, 4 pale cyan bags, 3 mirrored gold bags. +clear tan bags contain 2 bright tan bags, 5 faded beige bags. +bright bronze bags contain no other bags. +dotted brown bags contain 2 dotted black bags, 3 wavy coral bags. +muted violet bags contain 3 faded magenta bags, 3 bright magenta bags. +faded plum bags contain 2 dull lime bags, 4 dim coral bags, 5 shiny maroon bags, 3 pale red bags. +dark lime bags contain 4 dim tomato bags. +dull aqua bags contain 4 drab beige bags, 4 drab maroon bags. +posh purple bags contain 2 vibrant purple bags, 5 shiny gold bags, 2 plaid turquoise bags. +dull plum bags contain 5 dark brown bags, 4 muted black bags, 1 striped lavender bag. +faded turquoise bags contain 3 shiny yellow bags, 4 faded plum bags, 5 pale violet bags, 4 dim lavender bags. +striped bronze bags contain 1 muted bronze bag, 4 clear green bags, 4 shiny fuchsia bags, 5 pale red bags. +mirrored blue bags contain 4 clear tomato bags, 5 shiny orange bags, 1 dull beige bag, 1 striped silver bag. +shiny orange bags contain 2 light bronze bags, 4 dark tomato bags, 2 drab gold bags. +shiny gray bags contain 1 dark maroon bag. +drab red bags contain 5 wavy purple bags. +posh fuchsia bags contain 3 mirrored chartreuse bags, 3 vibrant teal bags. +light crimson bags contain 2 shiny aqua bags, 2 plaid chartreuse bags, 1 shiny gold bag, 1 wavy maroon bag. +vibrant white bags contain 1 shiny brown bag, 5 light purple bags, 4 dull olive bags, 5 clear cyan bags. +dark green bags contain 5 drab indigo bags, 1 striped coral bag. +striped fuchsia bags contain 5 vibrant plum bags. +bright turquoise bags contain 1 striped fuchsia bag, 3 posh purple bags, 5 dim aqua bags. +striped tan bags contain 1 dotted cyan bag. +shiny magenta bags contain 2 dark yellow bags, 1 faded silver bag, 4 muted orange bags, 3 bright fuchsia bags. +dim violet bags contain 4 wavy bronze bags, 1 bright bronze bag. +vibrant orange bags contain 2 faded chartreuse bags, 2 vibrant turquoise bags, 2 dull white bags. +pale gold bags contain 5 light lavender bags, 4 mirrored orange bags, 4 muted chartreuse bags. +pale red bags contain no other bags. +plaid brown bags contain 3 mirrored orange bags. +posh aqua bags contain 5 light blue bags, 1 dark indigo bag, 1 pale red bag, 2 vibrant turquoise bags. +muted lime bags contain 1 dim chartreuse bag, 1 dotted olive bag, 4 pale violet bags, 3 muted fuchsia bags. +dotted fuchsia bags contain 4 light teal bags, 1 muted chartreuse bag, 3 dark chartreuse bags, 4 dim lavender bags. +dim turquoise bags contain 4 clear beige bags, 1 posh magenta bag, 3 faded brown bags. +muted coral bags contain 4 dark salmon bags, 1 pale tomato bag, 2 shiny brown bags. +dull chartreuse bags contain 3 shiny white bags, 4 shiny blue bags, 1 pale crimson bag. +muted indigo bags contain 4 posh silver bags, 1 pale maroon bag, 1 dotted red bag, 1 drab coral bag. +dim salmon bags contain 5 pale black bags, 3 dark salmon bags, 3 pale red bags, 5 dotted purple bags. +dotted bronze bags contain 1 dim aqua bag, 2 mirrored maroon bags, 4 muted olive bags, 3 dull fuchsia bags. +drab silver bags contain 2 dim coral bags, 3 dim salmon bags. +striped salmon bags contain 2 dotted purple bags, 2 posh green bags, 3 plaid beige bags. +mirrored tomato bags contain 5 faded tomato bags, 4 wavy red bags. +dotted cyan bags contain 1 posh white bag, 3 striped lime bags, 4 dotted purple bags, 2 muted red bags. +striped blue bags contain 4 dark silver bags, 4 pale silver bags. +faded green bags contain 3 dotted violet bags, 3 pale turquoise bags. +striped gray bags contain 2 pale tomato bags, 2 dark chartreuse bags, 5 muted red bags, 3 pale violet bags. +pale lime bags contain 4 posh maroon bags, 2 drab plum bags, 3 drab coral bags. +posh beige bags contain 4 wavy purple bags, 2 shiny gold bags, 1 dark tan bag. +dotted tan bags contain 2 bright silver bags, 1 posh bronze bag, 2 dim coral bags, 2 dim tomato bags. +shiny brown bags contain 4 dim violet bags, 5 bright silver bags. +mirrored silver bags contain 1 striped blue bag, 2 shiny teal bags, 2 light coral bags, 1 dim beige bag. +clear silver bags contain 4 mirrored fuchsia bags, 5 dull olive bags, 1 plaid crimson bag. +dotted orange bags contain 1 mirrored turquoise bag, 3 wavy lime bags, 3 dotted yellow bags, 5 muted lavender bags. +shiny purple bags contain 1 shiny beige bag, 3 plaid chartreuse bags. +drab brown bags contain 2 dull indigo bags, 3 mirrored cyan bags, 1 dim crimson bag. +vibrant tomato bags contain 5 faded plum bags. +light tan bags contain 1 dark gold bag, 3 light salmon bags. +vibrant cyan bags contain 4 shiny aqua bags. +dotted purple bags contain 4 wavy coral bags. +vibrant red bags contain 4 faded tan bags, 1 drab aqua bag, 4 striped black bags. +faded lime bags contain 3 light olive bags, 3 striped yellow bags. +posh gold bags contain 1 dull indigo bag, 1 mirrored chartreuse bag. +shiny aqua bags contain 2 vibrant turquoise bags. +light orange bags contain 3 vibrant violet bags, 2 dotted yellow bags, 1 dark gray bag, 5 striped chartreuse bags. +pale black bags contain 1 plaid brown bag, 2 muted chartreuse bags. +drab violet bags contain 5 clear cyan bags, 1 pale gold bag, 4 drab salmon bags, 2 posh orange bags. +dim silver bags contain 5 clear cyan bags. +muted beige bags contain 1 dim tomato bag, 3 light olive bags. +drab turquoise bags contain 3 plaid orange bags, 1 light purple bag. +dark red bags contain 2 vibrant yellow bags, 4 mirrored fuchsia bags, 5 posh bronze bags, 2 dark gold bags. +vibrant maroon bags contain 5 drab beige bags, 1 dark beige bag, 1 dark brown bag, 4 pale maroon bags. +wavy magenta bags contain 3 light tomato bags, 5 muted gold bags, 3 muted cyan bags. +shiny chartreuse bags contain 5 pale yellow bags. +dull cyan bags contain 4 bright maroon bags, 4 faded bronze bags. +light black bags contain 4 shiny teal bags, 5 faded beige bags, 1 muted gold bag, 4 plaid silver bags. +bright green bags contain 5 striped lime bags, 4 muted yellow bags, 4 light beige bags, 4 plaid violet bags. +striped orange bags contain 1 mirrored orange bag, 2 bright salmon bags. +muted plum bags contain 3 mirrored orange bags, 1 muted chartreuse bag, 2 dull olive bags, 4 dull brown bags. +pale white bags contain 5 light silver bags. +mirrored gray bags contain 1 mirrored violet bag, 5 striped gray bags, 5 dim aqua bags, 4 wavy fuchsia bags. +wavy beige bags contain 2 shiny beige bags. +dotted red bags contain 4 dotted purple bags, 3 muted aqua bags, 2 pale tomato bags, 4 pale bronze bags. +posh lavender bags contain 2 dotted tomato bags, 3 dim lavender bags, 2 muted gray bags, 3 light plum bags. +mirrored yellow bags contain 4 wavy gold bags. +wavy brown bags contain 3 dim fuchsia bags, 4 dull turquoise bags. +plaid chartreuse bags contain 5 plaid red bags. +shiny turquoise bags contain 2 faded turquoise bags, 3 muted tan bags. +mirrored brown bags contain 4 dotted fuchsia bags, 4 dim red bags, 2 dotted plum bags. +dim tan bags contain 1 drab tomato bag, 3 wavy red bags, 1 plaid turquoise bag, 2 clear lavender bags. +faded yellow bags contain 1 clear bronze bag, 3 clear olive bags. +bright orange bags contain 5 mirrored blue bags, 3 shiny blue bags. +striped red bags contain 5 bright green bags, 3 wavy yellow bags. +bright indigo bags contain 2 light maroon bags, 5 shiny bronze bags, 2 bright white bags. +light gray bags contain 2 dotted maroon bags. +light silver bags contain no other bags. +bright gold bags contain 2 striped fuchsia bags. +drab purple bags contain 5 light silver bags, 2 dull yellow bags, 2 shiny teal bags. +mirrored coral bags contain 4 dim plum bags. +light coral bags contain 3 dim lavender bags, 5 wavy green bags, 2 light bronze bags. +plaid indigo bags contain 3 mirrored orange bags, 5 pale gold bags. +dark crimson bags contain 4 dark turquoise bags, 4 plaid green bags, 4 clear fuchsia bags. +wavy teal bags contain 1 pale silver bag, 4 mirrored chartreuse bags, 4 shiny black bags. +dull tan bags contain 4 muted magenta bags. +light violet bags contain 4 faded yellow bags, 5 light maroon bags, 3 clear teal bags, 2 pale crimson bags. +striped silver bags contain 3 plaid fuchsia bags. +shiny crimson bags contain 5 muted yellow bags. +mirrored salmon bags contain 1 dim tan bag. +dotted coral bags contain 5 dark tan bags. +wavy gold bags contain 2 wavy turquoise bags, 4 dim indigo bags, 3 wavy bronze bags. +vibrant bronze bags contain 1 pale purple bag. +posh silver bags contain 4 posh chartreuse bags, 3 bright salmon bags, 1 dotted bronze bag, 3 shiny coral bags. +bright purple bags contain 5 clear beige bags, 3 pale yellow bags, 1 wavy tomato bag, 5 pale lavender bags. +muted tan bags contain 4 bright white bags, 5 dotted silver bags, 2 clear blue bags, 4 mirrored turquoise bags. +light white bags contain 2 shiny purple bags, 1 dull aqua bag, 2 vibrant blue bags. +faded fuchsia bags contain 2 dark green bags, 3 shiny violet bags, 4 drab plum bags, 3 vibrant olive bags. +clear gray bags contain 2 muted red bags. +dark tomato bags contain 4 dotted purple bags, 3 faded turquoise bags. +light magenta bags contain 1 dull fuchsia bag. +light purple bags contain 3 drab magenta bags, 4 dark coral bags, 3 light silver bags. +vibrant turquoise bags contain 4 dotted black bags. +dim indigo bags contain 4 muted chartreuse bags. +dim bronze bags contain 3 drab gold bags, 4 clear brown bags, 2 muted tan bags. +clear green bags contain 2 plaid fuchsia bags, 1 wavy bronze bag. +dull maroon bags contain 2 wavy yellow bags, 1 dotted fuchsia bag, 4 mirrored yellow bags. +dotted gray bags contain 5 dotted white bags, 2 pale tomato bags, 5 bright tan bags, 3 plaid turquoise bags. +plaid gray bags contain 5 wavy lime bags, 4 dull aqua bags. +mirrored crimson bags contain 1 shiny lavender bag, 4 plaid purple bags. +shiny silver bags contain 5 vibrant lavender bags, 3 light coral bags, 5 dark aqua bags. +dotted salmon bags contain 3 pale tomato bags. +muted crimson bags contain 4 clear olive bags, 3 dull plum bags, 1 dark gray bag, 1 wavy lime bag. +muted lavender bags contain 1 bright chartreuse bag, 3 pale yellow bags, 3 pale crimson bags. +posh tan bags contain 4 faded tomato bags, 3 dotted olive bags, 4 striped maroon bags. +vibrant salmon bags contain 4 vibrant indigo bags, 1 plaid orange bag. +faded chartreuse bags contain 2 mirrored orange bags, 1 pale crimson bag. +striped tomato bags contain 3 dim tan bags, 2 wavy gold bags. +dim yellow bags contain 1 clear purple bag, 1 wavy red bag, 1 drab bronze bag. +wavy tomato bags contain 5 dotted tomato bags, 3 dim salmon bags, 5 light tan bags, 3 dull brown bags. +bright lime bags contain 3 mirrored turquoise bags, 3 dotted tan bags, 3 posh black bags, 5 wavy gold bags. +muted brown bags contain 4 shiny indigo bags, 4 muted tan bags, 3 wavy tan bags. +pale cyan bags contain 1 dotted black bag. +drab green bags contain 1 muted cyan bag. +dim teal bags contain 4 faded lavender bags, 2 pale violet bags. +drab lavender bags contain 1 pale gold bag, 5 vibrant brown bags, 4 posh indigo bags, 1 plaid olive bag. +dotted turquoise bags contain 2 muted lime bags, 4 striped indigo bags. +clear white bags contain 2 bright lime bags, 1 mirrored coral bag. +dark purple bags contain 5 wavy crimson bags, 5 light olive bags. +light tomato bags contain 4 posh black bags, 1 faded blue bag, 5 dim black bags, 3 dull lime bags. +bright aqua bags contain 3 clear tomato bags. +bright tomato bags contain 1 clear green bag, 3 bright gray bags, 3 mirrored cyan bags, 5 posh chartreuse bags. +dull yellow bags contain 5 wavy purple bags, 3 light purple bags, 5 clear cyan bags, 2 wavy coral bags. +striped coral bags contain 3 mirrored black bags, 5 wavy coral bags, 2 posh white bags. +shiny bronze bags contain 2 dim tomato bags, 3 dull lime bags. +vibrant aqua bags contain 4 dull olive bags, 4 mirrored turquoise bags, 1 vibrant teal bag. +faded magenta bags contain 3 plaid chartreuse bags, 5 plaid white bags, 1 drab lime bag, 3 mirrored fuchsia bags. +pale beige bags contain 3 wavy gray bags, 5 mirrored tomato bags, 1 bright beige bag. +pale crimson bags contain 1 pale violet bag, 4 pale black bags, 5 dim tomato bags, 1 mirrored turquoise bag. +dark blue bags contain 4 dark maroon bags, 1 faded brown bag, 2 wavy red bags. +posh tomato bags contain 2 posh beige bags, 4 dark maroon bags. +dim plum bags contain 2 muted crimson bags, 1 striped coral bag, 2 plaid yellow bags, 5 striped violet bags. +dull black bags contain 3 posh tomato bags, 1 vibrant yellow bag, 4 mirrored salmon bags, 2 light green bags. +wavy plum bags contain 4 wavy blue bags. +bright coral bags contain 4 posh gold bags, 2 plaid lime bags, 3 shiny black bags, 5 dim magenta bags. +posh blue bags contain 2 dotted turquoise bags, 2 bright olive bags, 2 plaid gold bags. +vibrant purple bags contain 2 mirrored orange bags, 4 dull lavender bags, 2 pale red bags. +dark white bags contain 4 drab lime bags. +wavy crimson bags contain 2 dark salmon bags, 5 wavy yellow bags, 2 bright bronze bags, 2 drab crimson bags. +clear coral bags contain 4 vibrant blue bags. +muted olive bags contain 3 plaid brown bags, 1 dim fuchsia bag, 2 posh yellow bags. +plaid violet bags contain 4 muted aqua bags. +plaid teal bags contain 4 bright tan bags, 2 dark tomato bags. +plaid purple bags contain 3 posh teal bags. +pale turquoise bags contain 2 faded purple bags, 4 mirrored maroon bags, 1 mirrored salmon bag. +muted fuchsia bags contain 5 bright bronze bags, 4 muted gold bags. +bright olive bags contain 2 faded blue bags, 3 faded turquoise bags, 5 light bronze bags, 3 dim tan bags. +bright gray bags contain 1 bright white bag, 2 muted orange bags. +light blue bags contain 1 dotted purple bag, 3 dim black bags, 3 posh purple bags, 2 mirrored violet bags. +posh bronze bags contain 3 plaid fuchsia bags, 1 drab gold bag, 4 mirrored orange bags, 4 light teal bags. +faded olive bags contain 3 striped blue bags, 3 dim salmon bags, 4 pale red bags, 2 dull maroon bags. +dull coral bags contain 2 wavy gold bags, 1 dark magenta bag. +dull olive bags contain 3 plaid turquoise bags, 3 plaid fuchsia bags, 4 wavy lime bags, 1 dotted black bag. +plaid orange bags contain 1 dark salmon bag, 1 striped turquoise bag. +clear blue bags contain 3 dim tan bags, 3 muted red bags, 3 faded tomato bags. +dark chartreuse bags contain 4 bright bronze bags, 1 dim indigo bag. +plaid tomato bags contain 5 shiny turquoise bags, 4 clear tan bags, 2 dotted bronze bags, 5 muted magenta bags. +mirrored green bags contain 2 light silver bags, 3 light brown bags, 4 vibrant purple bags, 2 posh green bags. +drab blue bags contain 4 drab indigo bags. +vibrant silver bags contain 3 striped violet bags, 1 striped white bag, 2 bright blue bags. +shiny olive bags contain 3 drab tomato bags. +dull red bags contain 4 dim cyan bags, 3 wavy lime bags. +vibrant plum bags contain 3 wavy coral bags, 2 light lavender bags. +faded cyan bags contain 1 dim brown bag, 5 posh indigo bags. +dotted violet bags contain 1 pale tomato bag, 5 dim plum bags. +striped brown bags contain 5 dim coral bags, 4 clear blue bags. +dotted indigo bags contain 5 clear salmon bags, 4 dim bronze bags. +posh cyan bags contain 2 vibrant magenta bags. +clear beige bags contain 1 bright olive bag. +dark black bags contain 4 dull crimson bags, 3 plaid green bags. +mirrored lavender bags contain 5 dark silver bags. +bright black bags contain 4 shiny brown bags, 1 vibrant crimson bag, 2 posh white bags, 3 wavy gold bags. +pale indigo bags contain 5 shiny gold bags, 3 light bronze bags, 3 striped turquoise bags. +plaid cyan bags contain 1 shiny tan bag, 4 dark tan bags, 1 dull yellow bag. +bright plum bags contain 1 pale chartreuse bag, 3 plaid red bags, 1 faded beige bag, 1 posh gray bag. +drab maroon bags contain 3 dull olive bags, 1 pale green bag, 2 mirrored turquoise bags. +pale chartreuse bags contain 4 dim tomato bags. +striped black bags contain 4 vibrant turquoise bags, 3 faded white bags, 4 light plum bags, 1 pale black bag. +dotted gold bags contain 5 posh teal bags, 5 striped violet bags. +posh orange bags contain 1 clear green bag. +light green bags contain 5 wavy turquoise bags, 2 pale red bags, 3 dark tomato bags, 3 dull turquoise bags. +plaid beige bags contain 4 light silver bags, 4 plaid turquoise bags, 5 drab purple bags, 4 clear lime bags. +mirrored violet bags contain 2 wavy fuchsia bags, 5 bright bronze bags. +striped plum bags contain 2 plaid indigo bags, 5 bright yellow bags, 1 wavy magenta bag. +bright yellow bags contain 3 wavy yellow bags. +drab aqua bags contain 5 dark red bags, 2 light gold bags. +plaid bronze bags contain 1 drab magenta bag. +faded tan bags contain 4 shiny aqua bags, 2 light chartreuse bags. +drab indigo bags contain 5 dotted beige bags, 3 dull lime bags, 1 striped violet bag, 4 vibrant tan bags. +dark gold bags contain 4 mirrored lime bags, 3 dark salmon bags. +muted orange bags contain 1 dull yellow bag, 2 shiny brown bags. +plaid gold bags contain 4 drab coral bags, 5 shiny cyan bags. +posh crimson bags contain 3 light brown bags, 3 bright bronze bags, 3 shiny yellow bags. +bright magenta bags contain 5 dim lavender bags. +light chartreuse bags contain 2 drab bronze bags, 3 dim coral bags. +dim tomato bags contain no other bags. +dark beige bags contain 3 mirrored yellow bags, 2 dull olive bags, 5 striped brown bags. +clear cyan bags contain 5 drab beige bags, 1 shiny yellow bag, 5 wavy purple bags, 5 dark chartreuse bags. +dark coral bags contain 3 dim lavender bags, 3 pale green bags, 4 mirrored orange bags, 1 dim coral bag. +light lime bags contain 5 mirrored brown bags. +shiny lavender bags contain 5 drab tan bags. +faded lavender bags contain 1 light salmon bag, 2 dotted purple bags, 5 pale gold bags, 3 muted gold bags. +pale tomato bags contain 5 dim coral bags. +plaid coral bags contain 3 dull blue bags, 1 posh white bag, 3 light orange bags. +dim coral bags contain no other bags. +dotted olive bags contain 5 mirrored green bags, 3 drab aqua bags, 2 dull beige bags, 3 dim indigo bags. +dark brown bags contain 1 muted tan bag, 5 wavy lime bags. +mirrored red bags contain 5 vibrant aqua bags, 3 bright gray bags, 4 striped gray bags, 2 light lavender bags. +mirrored olive bags contain 5 dark chartreuse bags, 1 dim lavender bag, 5 faded plum bags. +dim black bags contain 1 shiny yellow bag, 4 plaid indigo bags. +shiny maroon bags contain 1 mirrored orange bag, 1 muted chartreuse bag, 5 wavy bronze bags, 1 dull lavender bag. +pale brown bags contain 4 light teal bags, 1 light plum bag, 3 bright aqua bags. +striped chartreuse bags contain 2 shiny maroon bags. +mirrored chartreuse bags contain 4 dotted tan bags, 4 bright bronze bags. +plaid magenta bags contain 1 vibrant yellow bag, 5 wavy aqua bags, 5 dull turquoise bags, 2 wavy fuchsia bags. +light salmon bags contain 3 muted tan bags, 3 faded turquoise bags, 4 drab bronze bags, 3 bright bronze bags. +faded blue bags contain 1 wavy red bag, 5 wavy fuchsia bags, 4 bright bronze bags, 3 faded turquoise bags. +plaid aqua bags contain 1 pale tan bag, 3 light white bags. +mirrored turquoise bags contain 5 drab beige bags, 1 faded plum bag, 4 mirrored orange bags. +shiny teal bags contain 2 pale black bags, 4 dull indigo bags, 4 vibrant teal bags. +vibrant coral bags contain 3 drab turquoise bags, 4 striped beige bags, 1 wavy turquoise bag, 4 light crimson bags. +faded gray bags contain 3 striped purple bags. diff --git a/2020/resources/input08.txt b/2020/resources/input08.txt new file mode 100644 index 0000000000000000000000000000000000000000..2aacf1d97e45e6bedf087c8d108304b404723bb1 --- /dev/null +++ b/2020/resources/input08.txt @@ -0,0 +1,636 @@ +jmp +1 +acc -15 +acc +14 +acc +18 +jmp +443 +jmp +286 +acc +27 +jmp +522 +jmp +1 +acc -19 +acc +22 +acc +37 +jmp +111 +acc +28 +acc +43 +acc +18 +nop +597 +jmp +479 +jmp +604 +jmp +499 +acc +0 +acc +22 +acc +13 +jmp +566 +acc -12 +acc +0 +nop +153 +jmp +173 +jmp +192 +jmp +292 +acc +36 +acc +7 +jmp +440 +acc -17 +acc +40 +acc +24 +acc -7 +jmp +519 +nop +16 +acc +15 +acc +42 +jmp +445 +jmp +350 +acc +42 +acc +12 +acc +2 +jmp +133 +acc +12 +acc +3 +acc +27 +jmp +186 +acc +25 +acc +46 +jmp +285 +acc +32 +acc -11 +acc -6 +jmp +565 +nop +215 +acc +1 +acc +35 +jmp +1 +jmp +502 +acc +27 +acc +19 +acc -8 +acc -8 +jmp +531 +jmp -21 +nop +292 +acc +8 +acc -13 +jmp +26 +acc +1 +acc +45 +nop -42 +jmp +323 +jmp +39 +jmp +336 +acc +19 +jmp -51 +acc +45 +acc +26 +jmp +278 +jmp +6 +acc +40 +nop +271 +acc -10 +nop -4 +jmp +272 +nop -61 +acc +4 +acc -14 +acc +27 +jmp -70 +acc -9 +acc +29 +jmp +416 +acc +25 +acc +45 +jmp +19 +jmp +39 +acc -19 +acc +7 +jmp +248 +acc +11 +acc +36 +jmp +515 +acc +45 +acc +49 +jmp +329 +acc +30 +acc +31 +acc +28 +acc +26 +jmp +8 +jmp +283 +acc +32 +jmp +127 +acc +4 +acc +20 +jmp +92 +jmp +50 +jmp +133 +acc +5 +acc +8 +jmp +313 +acc +38 +acc +34 +jmp +395 +acc +14 +acc +29 +jmp +392 +nop +246 +jmp +374 +nop +429 +nop +388 +acc +3 +acc +0 +jmp +432 +acc -1 +acc +35 +acc +35 +jmp +148 +acc +8 +acc +11 +acc +12 +acc -10 +jmp +434 +acc -19 +jmp +330 +nop +329 +acc +30 +jmp +239 +acc -6 +jmp -136 +jmp +418 +nop +385 +jmp +1 +acc +34 +acc +9 +jmp +410 +nop -13 +acc +31 +acc +15 +acc +37 +jmp -142 +jmp +109 +acc -16 +nop +405 +nop +343 +jmp +8 +acc +44 +acc -15 +acc +7 +acc +9 +jmp +185 +acc +6 +jmp +35 +nop -25 +jmp +93 +acc +22 +acc -17 +acc +15 +acc +39 +jmp +41 +nop -123 +acc +15 +acc +6 +jmp -35 +acc +48 +jmp +422 +acc -7 +nop +67 +nop +66 +acc +48 +jmp -29 +acc -11 +acc +16 +jmp +92 +acc +45 +jmp +92 +jmp +212 +acc -3 +acc -18 +nop -186 +nop +7 +jmp -28 +nop +292 +acc +7 +nop -120 +acc +46 +jmp +48 +acc -3 +acc -16 +acc +50 +jmp -44 +acc -2 +acc -11 +jmp +236 +jmp +344 +acc +33 +acc +44 +acc +39 +nop -45 +jmp -53 +acc -11 +nop +380 +acc +35 +jmp +113 +nop +203 +acc +40 +jmp +167 +acc +44 +jmp +394 +jmp +229 +jmp -167 +jmp -204 +acc +21 +acc +49 +jmp +25 +acc -19 +acc -17 +acc +44 +jmp -11 +acc +40 +acc +12 +jmp +253 +acc +21 +jmp +349 +jmp +285 +acc +0 +nop +261 +acc +15 +acc +38 +jmp +10 +acc +27 +jmp +1 +jmp +373 +jmp -151 +acc +6 +jmp -48 +acc +14 +acc -8 +jmp -61 +acc +8 +acc +20 +jmp +1 +jmp +1 +jmp +208 +acc -18 +acc +32 +jmp +94 +jmp +262 +acc +0 +jmp -156 +nop +188 +nop +312 +acc +21 +acc +6 +jmp -123 +acc +47 +jmp +316 +acc +25 +nop +290 +jmp +62 +acc -7 +acc +36 +nop +212 +acc +14 +jmp +332 +jmp +291 +jmp +226 +acc +30 +jmp -161 +acc +39 +acc +38 +jmp +203 +nop +63 +nop -6 +acc -15 +nop -56 +jmp +72 +acc +1 +acc +34 +acc +22 +acc +19 +jmp -135 +acc +27 +jmp -303 +acc +1 +acc +48 +acc -19 +jmp +142 +acc +50 +jmp +298 +acc +43 +acc +0 +acc +50 +acc +12 +jmp +137 +acc +41 +nop +252 +jmp -310 +acc +13 +acc +34 +acc -15 +acc +43 +jmp +236 +acc +5 +acc -8 +acc +25 +acc +45 +jmp +153 +acc -12 +acc +31 +acc -1 +jmp +120 +jmp +236 +acc +38 +nop -238 +jmp -328 +jmp +81 +acc +48 +acc +15 +acc -9 +jmp -73 +nop -49 +jmp -271 +acc -17 +acc -17 +jmp +106 +nop +212 +jmp -290 +acc +36 +nop +109 +jmp +186 +jmp -310 +acc +4 +acc +16 +jmp +117 +jmp +1 +acc +10 +jmp +20 +acc +12 +jmp -311 +acc +12 +acc +30 +nop +182 +jmp -315 +acc +25 +acc +12 +acc +30 +jmp +50 +acc -19 +jmp -333 +acc +30 +nop +87 +jmp -199 +acc +8 +jmp +112 +acc -8 +jmp -313 +acc +7 +acc +32 +jmp +1 +jmp +230 +acc +25 +acc +45 +acc +20 +acc +0 +jmp -307 +acc +30 +nop -253 +acc +7 +acc +39 +jmp -113 +acc -12 +jmp +209 +acc +42 +acc +17 +acc -19 +acc +24 +jmp -170 +acc +30 +acc +9 +acc -1 +jmp -328 +acc +19 +acc +45 +jmp +132 +nop -244 +nop +35 +jmp +34 +acc -10 +acc +26 +acc +35 +nop -238 +jmp +54 +acc +15 +nop -378 +acc +42 +jmp -43 +acc -9 +acc -5 +acc -11 +nop -307 +jmp -129 +nop -202 +acc -9 +nop -376 +acc +11 +jmp -75 +jmp +14 +acc -1 +acc +32 +acc -14 +acc +16 +jmp +39 +acc +42 +acc +32 +jmp -133 +acc +1 +acc +17 +nop +85 +acc +35 +jmp +83 +acc +27 +acc +0 +acc -12 +jmp -93 +acc +48 +acc +35 +nop +154 +jmp -287 +jmp -347 +jmp -348 +acc +18 +jmp -374 +acc -15 +jmp +36 +jmp -123 +acc -11 +jmp +55 +acc +19 +acc +23 +jmp -339 +nop +5 +acc +44 +acc +2 +jmp +1 +jmp -417 +acc +23 +jmp -253 +acc -9 +acc -3 +jmp -138 +jmp -227 +acc +12 +jmp -437 +acc +47 +acc +19 +acc -6 +jmp -245 +acc +2 +jmp -328 +acc -14 +acc +25 +acc +4 +acc -2 +jmp -411 +jmp -351 +jmp -459 +acc +3 +acc +48 +jmp -134 +nop +54 +acc -14 +jmp -298 +jmp -401 +acc -14 +acc +25 +nop -55 +acc -10 +jmp -312 +acc -7 +acc +45 +jmp -74 +acc +30 +jmp -462 +acc +5 +acc -8 +jmp -355 +acc +9 +acc +44 +acc +44 +jmp -150 +jmp -484 +acc +14 +acc +19 +acc -6 +jmp -474 +acc -18 +jmp -166 +jmp -264 +acc -15 +acc +17 +acc +29 +jmp -149 +nop -273 +acc +31 +acc +0 +acc -2 +jmp -410 +jmp -411 +acc +47 +acc -6 +nop -287 +jmp -436 +acc +4 +nop +88 +jmp -158 +acc +32 +jmp +1 +acc -15 +jmp -319 +acc -6 +acc -18 +acc +49 +jmp -256 +acc -18 +acc +31 +acc +27 +acc +27 +jmp -351 +jmp +58 +acc +12 +jmp +1 +acc +32 +nop -151 +jmp -411 +acc +19 +acc +7 +jmp -287 +acc +30 +jmp -496 +acc -11 +acc +5 +acc +42 +acc +25 +jmp -249 +acc -1 +jmp -243 +jmp -190 +acc +32 +acc +32 +acc +14 +jmp +12 +acc +5 +acc +30 +acc +34 +jmp -46 +acc -13 +acc +5 +acc +45 +jmp -271 +acc +29 +acc +37 +jmp -323 +nop -18 +acc -2 +acc +21 +acc -12 +jmp -453 +acc -14 +acc +19 +nop -173 +jmp -411 +acc +24 +acc -7 +nop -136 +acc +6 +jmp -357 +acc -1 +acc -1 +acc +32 +jmp -264 +acc +26 +jmp -175 +acc +10 +acc +35 +nop -361 +jmp -493 +acc +14 +jmp -206 +jmp -138 +acc -1 +jmp -156 +acc +3 +acc +11 +acc -2 +jmp -213 +acc +35 +acc -13 +acc +47 +acc +45 +jmp -376 +jmp -543 +jmp -479 +acc +29 +jmp -532 +acc +28 +acc +47 +acc -11 +acc -14 +jmp +1 diff --git a/2020/resources/input09.txt b/2020/resources/input09.txt new file mode 100644 index 0000000000000000000000000000000000000000..3102d884ecfd78e795cfe802218b37de5885672e --- /dev/null +++ b/2020/resources/input09.txt @@ -0,0 +1,1000 @@ +24 +27 +31 +3 +26 +29 +14 +16 +25 +15 +32 +6 +41 +22 +2 +1 +12 +8 +7 +4 +48 +13 +47 +34 +5 +18 +33 +11 +45 +3 +9 +10 +14 +21 +16 +15 +17 +20 +19 +6 +22 +23 +12 +8 +7 +26 +24 +13 +25 +27 +29 +18 +28 +35 +42 +30 +31 +32 +14 +33 +21 +46 +36 +37 +15 +19 +40 +63 +20 +22 +38 +67 +34 +39 +43 +41 +53 +29 +44 +45 +76 +84 +50 +35 +55 +42 +56 +74 +48 +73 +49 +58 +88 +51 +63 +64 +69 +68 +70 +71 +77 +78 +86 +85 +95 +90 +114 +138 +83 +91 +136 +206 +153 +97 +121 +119 +109 +115 +120 +131 +139 +137 +141 +207 +181 +155 +163 +173 +176 +174 +210 +180 +305 +192 +212 +369 +303 +228 +206 +224 +234 +229 +317 +251 +280 +350 +278 +296 +318 +379 +328 +336 +382 +497 +354 +372 +386 +440 +398 +418 +524 +587 +479 +430 +453 +707 +696 +812 +697 +664 +596 +574 +771 +722 +682 +1175 +690 +758 +1140 +726 +826 +784 +816 +897 +992 +883 +1066 +909 +1112 +1179 +1170 +1296 +1318 +2088 +1238 +1380 +1300 +1995 +1372 +1466 +1416 +1448 +1896 +1510 +1542 +2112 +1986 +1725 +1780 +3008 +1949 +1975 +3412 +2282 +2721 +2408 +2734 +2828 +2864 +3018 +3459 +2672 +2788 +2820 +2882 +2958 +3228 +3322 +4231 +3267 +4670 +3505 +3674 +4957 +4257 +4683 +4383 +5522 +4690 +5129 +5080 +5406 +5460 +5492 +5554 +6247 +8175 +5608 +10162 +8195 +9663 +6495 +6589 +6772 +7888 +10278 +8803 +9763 +8640 +13803 +9073 +10928 +10182 +9770 +10540 +10486 +10866 +10952 +11046 +14411 +14422 +12103 +17541 +16981 +18573 +13084 +18918 +24897 +14660 +16528 +17876 +17443 +17713 +18843 +19255 +19559 +19952 +24908 +20310 +35824 +21352 +25363 +24036 +23149 +31188 +25187 +26763 +27744 +29612 +39565 +38870 +40023 +32103 +57441 +38795 +38814 +35156 +36968 +38098 +39207 +39511 +44501 +41662 +43459 +64233 +91977 +47185 +65558 +48336 +51950 +54799 +66614 +90745 +82970 +71310 +76912 +67259 +69071 +74667 +79760 +72124 +73254 +86696 +134559 +86163 +120357 +85121 +115595 +109017 +95521 +146374 +99135 +100286 +103135 +106749 +121413 +140513 +136330 +138569 +139383 +141195 +172859 +142325 +145378 +151884 +157245 +171817 +186982 +198656 +171284 +237704 +180642 +202270 +194656 +195807 +243648 +240330 +305405 +209884 +276843 +274899 +310386 +275713 +279764 +302623 +483245 +287703 +393312 +297262 +309129 +367091 +471520 +412154 +375298 +455541 +376449 +382912 +668211 +470706 +493069 +450214 +484783 +585285 +486727 +977852 +550612 +555477 +578336 +590326 +584965 +596832 +606391 +673711 +664353 +1135059 +957433 +788603 +942268 +973281 +1005691 +759361 +1021318 +920920 +934997 +1378929 +1476397 +971510 +1037339 +1042204 +1796700 +1963894 +1133813 +1163301 +1175291 +1344326 +1385435 +1280102 +1338064 +1423714 +1934652 +2482088 +1760113 +1730871 +2285793 +1680281 +1972336 +2306355 +2421133 +1906507 +2008849 +2013714 +3844847 +2171152 +2761778 +3586788 +2501365 +2297114 +2338592 +3330221 +2618166 +2665537 +3010973 +5061092 +3103995 +3411152 +3440394 +3490984 +4269450 +4310828 +3652617 +3878843 +4807720 +3915356 +3920221 +4022563 +6889816 +4468266 +8460337 +6088153 +6806858 +4635706 +4915280 +4956758 +6931378 +6270783 +8936320 +6114968 +6515147 +6544389 +6851546 +7093011 +7143601 +7675180 +7531460 +7572838 +7794199 +8383622 +7835577 +7942784 +8490829 +11275124 +9103972 +11150853 +9550986 +9592464 +9872038 +11227541 +11071726 +12385751 +12630115 +14768191 +13658748 +13944557 +13395935 +13995147 +15248018 +14818781 +15104298 +19658746 +20778527 +18696436 +16219199 +15778361 +23309610 +23546133 +18654958 +18976010 +20622712 +22502153 +26625262 +20943764 +31323497 +36048062 +25015866 +28477529 +27054683 +27340492 +27391082 +28214716 +29923079 +39319148 +30882659 +31997560 +39640200 +34433319 +34474797 +61865879 +37630968 +39277670 +45995450 +39598722 +39919774 +45959630 +43445917 +64397876 +47998447 +54445765 +53230582 +59097375 +62648035 +68134490 +60805738 +76950116 +58137795 +69563279 +62880219 +77550742 +73710989 +68908116 +106136242 +72105765 +76908638 +121018014 +79197444 +106093952 +79518496 +83365691 +145084606 +96676499 +115878617 +120785830 +107676347 +111368377 +151624261 +118943533 +136591208 +127045911 +134985984 +127701074 +154459380 +131788335 +141013881 +142619105 +148426612 +156427134 +149014403 +281505291 +158715940 +180042190 +189459643 +239295604 +191042038 +228464834 +236664447 +300828020 +219044724 +226619880 +298985723 +255534741 +245989444 +373035355 +290504275 +259489409 +268714955 +272802216 +280802738 +283632986 +291045717 +394416056 +305441537 +307730343 +371084228 +338758130 +599549062 +380501681 +573630236 +410086762 +501267050 +527168722 +519872744 +528204364 +517665597 +373803594 +586244275 +574156492 +532291625 +540292147 +578243753 +1028435772 +685943218 +856423727 +574678703 +596487254 +613171880 +644199667 +646488473 +709842358 +986975474 +1101325214 +906095219 +1106448117 +937255484 +914095741 +891469191 +1145463505 +1049957222 +947960086 +948482297 +1152400245 +1072583772 +1106970328 +1118535900 +1299115098 +1600147354 +1510582995 +1828724675 +1221167176 +1209659134 +1323014238 +2220425353 +1594970770 +2066495986 +1820190960 +1797564410 +1805564932 +1998439519 +1851351225 +1839429277 +2355122639 +2169649473 +3405079861 +2542930856 +2021066069 +2662983240 +2179554100 +2225506228 +2328195034 +3219606695 +2821314530 +2430826310 +2532673372 +3060596453 +2804629904 +4702322845 +3392535180 +3415161730 +3617755370 +3603129342 +6150428742 +3644994209 +4167624311 +3860495346 +4009078750 +4190715542 +4200620169 +5337303276 +5865226357 +5593269825 +7921464859 +4405060328 +7032917100 +5845988040 +5252140840 +4963499682 +5491422763 +6135802714 +9136416972 +6219791634 +9692042932 +7770753653 +7018291072 +7220884712 +7248123551 +7505489555 +7654072959 +11223632642 +7869574096 +8199794292 +8391335711 +8605680497 +10556769507 +12509713835 +13364023478 +10454922445 +9368560010 +11337410803 +10215640522 +10743563603 +11099302396 +11711214397 +12355594348 +13238082706 +13440676346 +14672364031 +26678759052 +14469008263 +14726374267 +18613137699 +15159562514 +19911008689 +16069368388 +22571234870 +21724154358 +16997016208 +17974240507 +19584200532 +19823482455 +20112123613 +21314942918 +20467862406 +27406779191 +23656316868 +21842865999 +22810516793 +28113040377 +25593677054 +27909684609 +28167050613 +36515230030 +29195382530 +35653568920 +34310574799 +41753874688 +31228930902 +48279174226 +48580902783 +44534671151 +65410191556 +48377547015 +37558441039 +40052062938 +77474556756 +40579986019 +50977567406 +42310728405 +44653382792 +70220413014 +47436543053 +67744160932 +53503361663 +54789059584 +56076735222 +84732292565 +60424313432 +63505957329 +65539505701 +93030929807 +68787371941 +71280993840 +77610503977 +78138427058 +79869169444 +80632048957 +82211823831 +82890714424 +155612983814 +162342796542 +117656956067 +175242753638 +105077696224 +92089925845 +107860856485 +242986914570 +108292421247 +119042867364 +150999195772 +154171708264 +330855737452 +143677932759 +129045463030 +136820499541 +140068365781 +238503698238 +148891497817 +165102538255 +162080993275 +160501218401 +162843872788 +270203653027 +201933581788 +225949377314 +197167622069 +199950782330 +224120563588 +200382347092 +211132793209 +285711997358 +227335288611 +291889335818 +616567734810 +265865962571 +283217171294 +269113828811 +272723395789 +276888865322 +493822917606 +472137234815 +324924866063 +309392716218 +432284646302 +322582211676 +323345091189 +360011494857 +397118404399 +467799544359 +400333129422 +397549969161 +411083575539 +424502910680 +411515140301 +546002694133 +493201251182 +496449117422 +608142037357 +669404211075 +595305607465 +541837224600 +549612261111 +582116112007 +600233956511 +632737807407 +648269957252 +682593706533 +631974927894 +720132180837 +645927302865 +893999086583 +1019657177658 +1093907121755 +868132673781 +1328274218194 +809065109462 +822598715840 +836018050981 +904716391483 +1078565229429 +1315437788302 +1038286342022 +1131728373118 +1091449485711 +1123953336607 +1214853919414 +1149846217622 +1264709818540 +1232208884405 +1264712735301 +1454573643734 +1536691319377 +1940793482580 +1529197290299 +1454992412327 +2151385550776 +2353724130324 +2397329964080 +1631663825302 +3808297774058 +1645083160443 +3851903607814 +2116851571451 +1943002733505 +2578945748934 +2129735827733 +2215402822318 +2223177858829 +2877292044848 +2273799554229 +2364700137036 +2719705147628 +2793910025600 +2496921619706 +3996363962338 +2984189702626 +2991683731704 +6843587339518 +3086656237629 +3606377963103 +3276746985745 +3761399653035 +3574666558807 +3588085893948 +3761934731894 +3774818988176 +4708681576667 +4836556719079 +4072738561238 +5855692734679 +5374213664554 +4438580681147 +4496977413058 +5550546539974 +4638499691265 +5481111322332 +5216626767334 +5290831645306 +6661322796436 +5975873434330 +6070845940255 +6363403223374 +6674742131577 +6693034200732 +8103355376161 +6851413544552 +7162752452755 +11601333133902 +8483500564843 +9243046054226 +7847557549414 +11266705079636 +9077080372412 +8569715974296 +11406239274653 +8935558094205 +9135477104323 +10614373125595 +9855126458599 +9929331336571 +14352103871657 +11654234868680 +17307407326327 +13526155676129 +12046719374585 +14174201316416 +13038145354951 +17646796346708 +13544447745284 +19098172512825 +14014165997307 +15010310002169 +25440906396052 +16331058114257 +16417273523710 +20731315241092 +17505274068501 +17705193078619 +18071035198528 +18790684552804 +18864889430776 +18990603562922 +38038722567419 +19784457795170 +23455487012700 +25084864729536 +23700954243265 +28554757747453 +25572875050714 +31109180553479 +31828829907755 +31191244091992 +39455072393359 +31719359075926 +29024475999476 +32515584070670 +31341368116426 +34036251192876 +32748331637967 +33922547592211 +35210467147120 +35576309267029 +63939575729959 +36861719751332 diff --git a/2020/resources/input10.txt b/2020/resources/input10.txt new file mode 100644 index 0000000000000000000000000000000000000000..f0028b97b8543c4ebe00aa075668ea6f93769d18 --- /dev/null +++ b/2020/resources/input10.txt @@ -0,0 +1,97 @@ +8 +40 +45 +93 +147 +64 +90 +125 +149 +145 +111 +126 +9 +146 +38 +97 +103 +6 +122 +34 +18 +35 +96 +86 +116 +29 +59 +118 +102 +26 +66 +17 +74 +94 +5 +114 +128 +1 +75 +47 +141 +58 +65 +100 +63 +12 +53 +25 +106 +136 +15 +82 +22 +117 +2 +80 +79 +139 +7 +81 +129 +19 +52 +87 +115 +132 +140 +88 +109 +62 +73 +46 +24 +69 +101 +110 +16 +95 +148 +76 +135 +142 +89 +50 +72 +41 +39 +42 +56 +51 +57 +127 +83 +121 +33 +32 +23 diff --git a/2020/resources/input11.txt b/2020/resources/input11.txt new file mode 100644 index 0000000000000000000000000000000000000000..85142c6dfa1d49b11cd3b35a2c3794e04fb2e248 --- /dev/null +++ b/2020/resources/input11.txt @@ -0,0 +1,99 @@ +LLLLLLLLLLLLLLLLLLLLLLL.LLLLLLL.L.LLLLL.LLLL.LLLLLLLLL..LLL.LLLLLLLLLLLLLL.LLLLLLLLL.LLL.LLLLLL +LLLLLLLLLL.L.LLLLLLL.LL.LLLLLLL.LLLLLLLL.LLLLLLLLLLLLL.LLLLLLLLLLL.LLLLLLLL.LLLLLLLLLLLL.LLLLLL +LLLLLLLL.L.LLLLLLLLLLLL.LLLLLLL.LLLLLL.LLLLL.LLLLLLLLL.LLLLLLLLLLL.LLLLLLLLLLLLLLLL.LLLL.LLLLLL +.LLLLLLLLLLLLLLLLL.LLLL.LLLLLLL.LLLLLL.LLLLL.LLL.LLLLLLLLLL.LLLLLL.LLLLLLLL.LLLLLL.LLLLL.LLLLLL +LLLLLLLLLLLLLLLLLLLLLLL.LLLLLLL.LLL.LLLLL.LL.LLLLLLLLL.LLLL.LLLLLL.LLLLLLLL.LLLLLLL.LLLL.LLLLLL +LLL.LL..L..L.LL.L.L........L.............LLL....LL...L..L.L.....L..L.L.......L..L......LLLL.L.L +LLLLLLLLLLLLLLLLL..LLLL.LLLLLLL.LLLLLL.LLLLL.LLLLLLLLL.LLLL.LLLLLLLLLLLLLLL.LLLLLLL.LLLLL.LLLLL +LLLLLLLLLL.LLLL.LL.LLLL.LLLLLLLLLLLLLLLLLL.L.LLLLLLLLL.LLLL.L.L.LL.LLLLLLLLLLLLL.LL.LLLLLLLLLLL +LLLLLLLLLLLLLLLLL.LLLLL.LLLLLLL.LLLLLLLLLLLL.LLLLLLLLL.LLLL.LLLLLLLLLLLLLLL.LL.LLLLLLLLL.LLLLL. +LLLLLLLLLLLLLLLLL..LLL.LLLLLLLLLLLLLLL.LLLLL.LLLLLLLLL.LLLL.LLLLLL.LLLLLLLL.LLLLLLLLLLLL.LLLLLL +LLLLLLLLLL.LLLLLLLLLLLL.LLLLLLLLLLLLLLLLLLLL.LLLLLLLLLLLLLL.LLLL.LLLLLLLLLLLLL.LLLL.LLLLLLLLLLL +LLLLLLLLLL.LLLLLLL.LLLLLLLLLLLL.LLLLLL.LLL.L..LLLLLLLL.LLLL.LLLLLL..LLLLLLLLLLLLLLL.LLLL.LLLLLL +L.LLLLLLLL..LLLLLL.LLLL.LLLLLLLLLLLLLL.LLLLL.LLLLLLLLLLLLLL.LLLLLLLLL.LLLLL.LLLLLLL.LLLL.LLLLLL +.LLLLLLLLL.LLLLLLLLLLLL.LLLLLLLLLLLLLLLLLLLLLLLLLLLLLL.LLLLLLLLLLLLLLLLLLLL.LLLLLLL.LLLLLLLLLLL +LL.L..LL...LL..L..L.L.L.....L..LL...L.LLL......L.L...L.LL...L.L.L.........L.LL....L.LL.LL...LL. +LLLLLLLLLLLLLLLLLLLLLLL.LLLLLLL.LLLLLLLLLLLLLLLLLLLLLL.LLLL.LLLLLL.L.LLLLLLLLLLLLLL.LLL..LLLLLL +LLLLL.LLLL.LLLL.LLLLLLLLLLLLLLL.LLLLLL.L.LLL.LLLLLLLLL.LLLLLLLLLLLLLLLLLLLLLLLLLLLL.LLL.LLLLLLL +LLL.LLLLLL.LLLLLLL.LLLL.LLL.LLL.LLLL.L.LL.LLLLLLLLLLLL.LLLL.LLL.LL.LLLLLLLLLLLLLLLLLLLLL.LL.LLL +LLLLLLLLLL.LLL.LLLLLLLL.LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL.LLLLLL.LLLLLLLLLLLLLLLL.LLLL.LLLLLL +...L...L..L.L...L..L......L.......L.L...L...L...L.....L...L...L....L...LL..L..L.............LL. +LLL..LLLLL.LLLLLLLLLLLL.LLLLLLL.LLLLLL.LLLLLLLLLLL.LLL.LLLL.LLLLLL.LLLLLLLLLLLLLLLL.LLLLL.LLLLL +LLLLLLLLLL.LLL..LLLLLLL.L.LLLLL.LLLLLLLLLLLL.LLLLLLLLL.LLLLLLLLLLL.LLL.LLLLLLLLLLLLLLLLLLLLLLLL +LLLLLL.L.L.L.LLLLLLLLLL.LLLLLLL.LLLLLL.LLLLL.LLLLLLLLLLLLLL.LLLLLL.LLLLLLLL.LLLLLLL.LLLL.LLLLL. +LLLLLL.LLL.LLLLLLLLLLLL.LLLLLLL.L.LLLLLLLLLL.LLLLLLLLL.LLLL.LLLLLL.LLL.LLLL.LLLLLLL.LLLL.LLLLL. +LLLLLLLLLL.LLLLLLL.LLLL.LLLLLLL.LLLLLL.LLLLL.LLL.LLLLL.L.LL.LLLLLL.LLLLLLLL..LLLLLLLLLLL.LLLLLL +LLLLLL.LLL.LLLLLLL.LLLL.LLLLLLL.LLLLLLLLLLLLLLLLLLLLLL.LLLLLLLLLLL.LLLLLLLL.LLLLLLL.LLLLLLLLLLL +LLLLLLLLLL.LLLLLLL.LLLL.LLLLLLLLLLLLLLLLLLLL.LLLLLLLLL.LLLL.LLLLLL.LLLLLLL..LLLLLLLLL.LL.LLLLLL +LLLLLLLLLLLLLLLLLLLLLL..LLLLLLL.LLLLLL.LLLLL.LL.LLLLLL.LLLLLLLLLLL.LLLLL.L.LLLLLLLLLLLLL.LLLLLL +LLLLLLLLLL.LLLLLLLLLLLL.LLLLLLL.LLLLLLL.LLLL.LLLLLLLLLLLLLL.LLLLLLLLLLLLLLL.LL.LLLL.LLLL.LLLLLL +.L......L..L........LL..LLL...LL.L.....L..L.L..LLL..LLL..LL.LL...LLL.......L...LL...........LLL +LLLLLLLLLL.LL.LLLL.LLLL.LLLLLLL.LLLLL.LLLLLL.LLLLLLLLL.LLLLLLLLLLL.LLLLLLLL.LLLLLLLLLLLL.LLLLLL +LLLLLLLLLLLLLLLLLL.LLLLLLLLLLLLLLLLLLLLLLLLL.LLLLL.LLL.LLLLLLLLLLL.LLLLLLLLLLLLLLLL.LLLL.LLLLLL +LLLLLLLLLL.LLLLLLL.LLLL.LLLLLL..LLLLLL.LLLLLLLLLLLLLLL.LL.L.L.LLLLLLLLLLLLL.LLLLLLL.LLL..LLLLLL +LLLLLL.LLL.LLLLLLL.LLLLLLLLL.LL.LLLLLL.LLLLLLLLLLLLLLL.LLLL.LLLLLL.LLL.LLLL.LLLLLLL.LLLL.LLLLLL +LLLLLLLLLLLLLLLL.L.LLLL.LLLLLL..LLLLLLLLLLLL.LLLLLLL.L.LLLLLLLLLLL.LLLLLLLL.LLLLLLL.LLLL..LLLLL +LLLLLLLLLL.LLLLLLL.LLLL.LLLLLLL.LLLLLLLLLLLL.LLLLLLLLLLLLLL.LLLLLL.LL.LLLLL.LL.L.LL.LLLLLLLLLLL +LLLLLL.LLL.LLLLLLL.LLLLLLL.LLLL.LLLLLLLLLLLL.LLLLLLLLL.LLL.LLLLLLL.LLLLLLLLLLLLLLL..LLLL.LLLLLL +LL.LLLLLLL.LLLLLLL.LLLLLLLLLLLL.LLLLLLLLLLLLL.LLLLLLLLLLLLLLLL.LLL.LLLLLLLL.LLLLLLLLLLLLLL.LLLL +LLLLLLLLLL.LLLLLLL.LLLL.LLL.LLL.LLLLLL.LLLL..LLLLLLLLLLLLLL.LLLLLLLLLLLLLLL.LLLLLLL.LLLL.LLLLLL +........LL.L..LLLL..L..LLLL..LLL.........L.L......LL.LL..L........L...L..LL..LLLL.L.L.....L.LL. +LL.LLLLLLL.LLLLLLL.LLLL.LLLL.LL.LLLLLLLLLLLLLLLLLLLLLL.LLLL.LLLLL..LLLLLLLLLLLLLLLL.LLLLL.L..LL +LLLLLLLLL.LLLLLLLL.LLL..LLLLLLL.LLLLLL.LLLLL.LLLLLLLLL.LLLL.LLLLLLLLLL.LLLL.LLLL.LLLLLLLLLLLLLL +LL.LLLLLLL.LLLLLLL.LLLL.LLLLLLLLLLLLLL.LLLLLLLL.LLLLLLLLLLL.LLLLLL.LLLLLLL..LLL.LLLLLLLLLL.LLLL +LLLLLLLLLLLLLLLLLLLLLLL.LLLLLLL.LLLLLLLLLLLL.LLLLLLLLL.LLLL.LLLLLL.LLL.LLL..LLLLLLL.LLLL.LLLLLL +LLL.LLLLLL.LLLLLLLLLLLLLLLLLLLL.LLLLLL..LLL.LLLLLLLLLL.LLLL.LLLLLL.LLLLLLLLLLLLLLLL.LLLL.LLLL.L +LLLLLLLLLL.LLLLLLL.LLLLLLLLLLLL.LLLLLL.LLLLLLLL.LLLLLLLLLLL.LLLLLL.LL.LLLL..LLLLLLLLLLLLLLLLLLL +..LL..LLL.....LL......L..L.L.LLL........LL......LLL...L......L.LL..L.LL.LL.L.......LL....LL...L +.LL.LLLLLLLLLLLLLL.L.LL.LLLLLLL.LLL.LL...L.L.LLLLLLLLL.LLLLLLLLLLLLL.LLLLLL.LLLLLLL.LLLL.LLLLLL +L.LLLLLLLLLLLL.LLL.LLLL.LLLLLLL.LLLLLLLLLLLL.LLLLLLLLLLLL.LLLLLLLL.LLL.LLLL.LLL.LLL.LLLL.LLLLLL +LLLLLLLLLL.LLLLLLL.LLLL.LLLLLLL.LLLLLLLLLLLL.LLLLLLLLL.LLL..L.LLLL.LLLLLLLL..LLL.LLLLLLL.LLLLLL +.LLLLLLLLL.LLL.LLL.LLLL.LLL..LLLLLLLLLLLLLLLLLLLLLLLLLL.LLL.LLLLLL.LLLLLLLL.LLLLLLL.LLLL.LLLLLL +L..L...LL...L.LL....L.LL.L..LL.L.........L.........LLLL..L.L..LL...L.L.L....LLL.....L..L.L...LL +.LLLLLLLLL.LLLL.LL.LLLL.LLLLLLLLL.LLLL.LLLLL.LLL.LLLLL.LLLLLLLLLLL.LLLLLLLLLLLLLLLLLLLLL.LLLLLL +LLLLLLLLLL.L..LLLL.LLLL.LLLLLLL..LLLLLLLLLLL.LLLLLLLLL.LLLL.LLLLLLLLLLLLLLL.LLLLLLLLLLLL.LLLLLL +LLLLLLLLLL.LLLLLLL.LLLL.LLLLLLL.LLLLLL.LLLLLLLL.LLLLL.LLLLLLLLLLLL.LLLLLLLL.LLLLLLL.LL.LLLLL.LL +LLLLLLLLLL.LLLLLLL.LLLL.LLLLLLL.LLLLLL.LLLLLLLLLLLLLLLLLLLLLLLLLLL.LLLLLLLL.LLLLLLL.LLLLLLLLLLL +L.LLLLLLLL.LLLLLLLLLLLL.LLLL.LL..LLLLL.LLLL.LLLLLL.LLLLLLLL.LLL.LLLLLLLLLLLLLLLLL.L.LLLL.LLLLLL +LLLLLLLLLL..LLLLLL.LLLLLLLLLLLL.L.LLLL.LLLLLLLLLLLLLLL.LLLL.LLLLLL..LL.LLLL.LLLLLLL.LLLL.LLLLLL +LLL.LLLLLLLLLLLLLL.LLLLLLLLLLLL.LL.LLL.LLLLL.LLLLL.LLL.LLLL.LLLLLL.LL.LLLL..LLLLLLL.LLLLLLLLLLL +LLLLLLLLLL.LLLLLLLLLLLL.LLLLLLL.LLLLLL.LLLLL.LLLLLLLL..LLLL.LLLLLLLLLLLLLLL.LLLLL.LLLLLL.LLLLLL +L.L...L...L..L..L....L...L..LLL..L....L..LL...LLL.LL.L...L.L..L.LLL..L....L.L...LL..L..L.L..L.L +LLLLLLLLLLLLLLLLLLLLLLLLLLLL.LLLLLLLLLLLLLLL.LLLLLLLLL.LLLL.LLLLLL.LLLLLLLL.LLLLLLL.LLLL.LLLLLL +LLLLLLLLLLLLLLLLLL.LLLLLLLLLLLLLLLLLLLLLLLLL.LLLLLLLLL.LLLL.LLLLLLLLLLLLLLLLLLLLLLL.LLLLL.LLL.L +LLLLLLLLLL.LLLLL.L.LLLL.LLLLLLL.LLLLLLLLLLLL.LLLLLLLLL.LLLL.LLLLLL.LLLLLLLLLLLLL.LLLL.LLLLLLLLL +L..LLLLLLLLL.LLLLL.L.LLLLLL.LLL.LLLLLL.LLLLLLLLLLLLLLL.LLLL.LLLLLL.LL.LLLLLLLLLLLLL.LLLLLLLLLLL +LLLLL.LLLL.LLLL.LL.LLLL.LLLLLLLLLLLLLLLLLLLL.LLLLLLLLL.LLLLLL.LL.L.LLL.LLLLLLLLL.LL.LLLL.LLLLLL +....L....L..L.....L....L..LL....L.L..L..LL.LLL...L.....L.LLL.L.LL.....L....L.L........L.LLL.... +L.L.LL.LLL.LLLLL.L.LLLL.LLLLLLL.LLLLLL.LLLLL.LLLLLLLLL.LLLL.LLLLLLLL.LLLLLLLLLLL.LL.LLLL.LLLLLL +LLLLLLLLL.LLLLLLLL.LLLL.LLLLLLL.LLLLLL.LLLLL.LL.LLLLLL.LLLL.LLLLLL.LLLLLLL.LLLLLLLL.LLLL.LLLLLL +LLLLLLLLL.LL.LLLLLLLLLL.LLLL.LLLL.LLLLLLLLLLLLLLLLLLLL..LLL.L..LLL.LLL.L.LL.LLLLLL..LLLL.LLLLLL +LLLLLLLLLL.LLLLLLL.LLLL.LLLLLLL.LLLLLL.LLLLLLLLLLLLLLLLLLLLLLLLLLL.LLLLLLLLLLLLLLLL.LLLLLLLLLLL +LLLLLLLLLLLLLLLLLLLLLLL.LLLLLLL.LLLLLLLLLLLL.LLLLLLLLL.LLLL.LLLLLLLLLLLL.LL.LLLLLLL.LLLL.LLLLLL +.....LL.LL.L.....LL.LL..L...L...LLLLL......L.L....LL...LLL...LLLLL..LL..L....L......L.......L.L +LLLLLLLLLL.LLLL.LL.LLLL.L.LLLLL.LLLLLL.LL.LL.LLLLLLLLL.LLLL.LLLLLLLLLLLLLLL.LLLLLLLLLLLLLLLLLLL +LLLLLLLLLL.LLLLLLL.LLLL.LLLLLLL.LLL.LL.LLLLL.LLLLLLLLLLLLLLLLLLLLL.LLLLLLLLLLLLLLLL.LLLLLLLLL.L +LLLL.LLLLL.LLLLLLL.LLLL.LLLLLLL.LLLLLL.LLLLLLL.LLLLLLLLLLLLLLLLLLL.LLLLLLLL.LLLLLLLLLLLL.LLLLLL +LLLLLLLLL..LLLLLLL.L.LL..LLLLLLLLLLLLL.LLLLL.LLLLLLLLLLLLLL.LLL.LL.LLLLLLLL.LLLL.LLLLLLLLLLLLLL +LLLLLLLLLLLLL.LLLLLLLLL.LLLLLL..LLLLLL.LLLLL.LLLLLLLLLLL.LLLLLLLLLL.LLLLLLL.LLLLLLL.LLLLLLLLLLL +..LLL..L..L...L..L..L.L.....L............L.....L..L....L.LL......L.....L..LLL..L.L..L.......... +LLL.LLLLLL.LLLLLLLLLLLL.LL.LLLLLLLLLLL.LLLLLL.LLLLLLL..LLLL.LLLL.L.L.LLLL.LLLLLLLLLLLLLLLLLLLLL +LLLLLLLLLL.LLLLLLL.LLLL.LLLLLLL.LLLLLL.LL.LL.LLLLLLLLLL.LLL.LL.LLLLLLLLLLLL.LLLLLLLLLLLL.LLLLLL +.LLLLLLLLL.LLLL.LLLLLLLLLLLLL...LL.L.LLLLLLL.LLLLLLLLLLLLLLLLLLLLL.LLLLLLLL.LLLLLLLLLL.L.LLLLLL +LLLL.LLLLLLLLLLLLL.LLLL.LLLLLLLLLLLLLL.LLLLL.LLLLL.LLL.LLLL.LLLLLLLLLLLL.LLLLL.LLLLLLLLLLLLLLLL +LLLLLLLLLL.LLLLLLL.LLLLLLLLLLLL.LLLLLL.LLLLL.LLLLLLLLL.LLLLL.LLL.L.LLLLLLLL.LLLLLL..LLLLLLLLLLL +.LLLLLLLLL.LLLLLLL.LLLL.LLLLLL..LLLLLL.LLLLL.LLLLLLLLLLLLLLLLLLLLL.LLLLLLLL.LLLLLLL.LLLL.LLLLLL +.L.....LL......L........L.L....LLL......L...L.LL...L...L..LL................L...L..L........... +LLLLLLLLLL.LLLLLLL.LLLL.LLLL.LL.LLLLLL.LLLL..LLLLLLLLLLLLLLLLLLLLL.LLLLLLLL.LLLL.LL.LLL.LLLLLLL +LLLLLL.LLL.LLLLLL..LLL..LLLLLL..LLLLLL.LLLL..LLLLLLLLLLLLLLLLLLLLL.LLLLLLLL.LLLLLLL..LLLLLLLLLL +LLLLLL..LL.LLLLLLL.LLLL.LLLL.LL.LLL.LL.LLLLLLLLLLLLLLLLLLLL.LLLLLL.LLLLLLLLLLLLLLLL.LLLLLLLLLLL +LLLLLLLLLL.LLLLLLL.LLLLLLLLLLLL.LLLLLL.LLLLLLLLLLLLLLL.LL.L.LLLLLL.L.LLLLLL.LLLLLLLLLLLLLLLL.LL +LLLLLLLLLL.LLLLLL.LLLLLLL.LLLLL.LLLLL.LLLLLL.L.LLLLLLL.LL.LLLLLLLLLLL.LLLLLLLLLLLLL.LLLLLLLLLLL +LLLLLLLLLL.LLLLLLL.LLLL.LLLLLLLLLLLLLL.LLLL..LLLLLLLLL.LLLLLLLLLLLLL.LLLLLL.LLLLLLL.LL.L.LLLLLL +LLLLL.LLLL.LLLLLLL..LLLLLLLLLLL.LLLLLL.LLL.L.L.LLLLLLLLLLLL.LLLL.L.LLLLLLLL.LLLLLLL.LLLLLLLLLLL +....LLL...LLL.....L.L...LL...L..L....LL...L.L.LLLLL....L......LLLL......L..LLLLL.L.LL...LL..LLL +LLLLLLLLLLLLLLLLLLLLLLL.LLLLLLL.LL.LLL.LLLLL.LLLLLLLLL.LLLL.LLLLLL.LLLLLLLL.LLLLLLLLLLLL.LLLLLL +LLLLLLLLLLLLLLLLLL.LLLLLLLLLLLL.LLLLLL.LLLLL.LLLLLLLLL.LLLL.LLLLLL.LLLLLLLLLLLLLLLL.LLLLLLLLLLL +.LLLLLLLLL.L..LLLLLLLLLLLLLLLLL.LLLLLL.LLLL..LLLLLLLLL.LLLLLLLLLLL.LLLLLLLLLLLLLLLL.LLLLLLLLLLL +LLLLLLLLLL.LLLLLLL.LLLL.L.L.LLLLLLLLLL.LLLLLLLLLLLLLLLLLLLL.LLLLLL.LLLLLLLL.LLL.LLLL.LLL.LLLLLL +LLLLLLLLLLLLLLLLLL.LLLL.LLLLLLLLLLLLLLLLLLLLLLLLLLLLLL.LLLL.LLLLLL.LLLLLLLL..LLLLLL.LLLL.L.LLLL diff --git a/2020/resources/input12.txt b/2020/resources/input12.txt new file mode 100644 index 0000000000000000000000000000000000000000..85892eab86ba12ad042e0b4cd9af1b93c915b941 --- /dev/null +++ b/2020/resources/input12.txt @@ -0,0 +1,764 @@ +R90 +W4 +L90 +N2 +E5 +N1 +N5 +R90 +E2 +L90 +F11 +L180 +W4 +L90 +S5 +L90 +F66 +W4 +F2 +E1 +S5 +W5 +F86 +E3 +R90 +N2 +F91 +F94 +R180 +W5 +F18 +R180 +F100 +W5 +F40 +W2 +R180 +F2 +E3 +N4 +W1 +L180 +N3 +E3 +S1 +L180 +W3 +R180 +E2 +F84 +L90 +W1 +N1 +F10 +N4 +R90 +E4 +F55 +S1 +W4 +S5 +W2 +R90 +S5 +E5 +F41 +S1 +W5 +F84 +E3 +F48 +F12 +L90 +F79 +N5 +E2 +F34 +E5 +N2 +F76 +S3 +F73 +W3 +S1 +R180 +W4 +L90 +F9 +E2 +F76 +N3 +F46 +N5 +F41 +S5 +L90 +N3 +L180 +F95 +E3 +R90 +F3 +E4 +F15 +S2 +W5 +R90 +N1 +F26 +F99 +S1 +F13 +F88 +W2 +L90 +W5 +R90 +F2 +E4 +R180 +N2 +F5 +N2 +R90 +S4 +E2 +L90 +F21 +N3 +R90 +E2 +E4 +S1 +W3 +F42 +N3 +E3 +N2 +E1 +L90 +S1 +L90 +F50 +S4 +F24 +S3 +F50 +L90 +F70 +L180 +F19 +N3 +L90 +F18 +L90 +F5 +F70 +R180 +N1 +L90 +E4 +S2 +W3 +N3 +F16 +W5 +F15 +S1 +L180 +S3 +F60 +R180 +F7 +R180 +W4 +R180 +S2 +N5 +W1 +F59 +R90 +S5 +W5 +F80 +L90 +R90 +F62 +R180 +S3 +R180 +W3 +L90 +N2 +F64 +E4 +R180 +S4 +R90 +E3 +F27 +W4 +R90 +F45 +L90 +N1 +E3 +F12 +L180 +F83 +S1 +W5 +L270 +E5 +F97 +F45 +N1 +F16 +F85 +E4 +S2 +N1 +E3 +F41 +N2 +R90 +S2 +R180 +E5 +L270 +F22 +W2 +R180 +N3 +R270 +E5 +L90 +S2 +W5 +F57 +L90 +L90 +F96 +E1 +S4 +W1 +L90 +W1 +F20 +N5 +E4 +R90 +W3 +S5 +R90 +W4 +R270 +F91 +E5 +L90 +F19 +L90 +S4 +R90 +S4 +F58 +R180 +F78 +R180 +F16 +W4 +R90 +F13 +S3 +E3 +F14 +N4 +E4 +R90 +W3 +S4 +W5 +F53 +R90 +S5 +F67 +L90 +W5 +F97 +R90 +W3 +F82 +N5 +F92 +E3 +R90 +F55 +W1 +F100 +E3 +F88 +S2 +E3 +N4 +E1 +F75 +F2 +L180 +E5 +L90 +F40 +N2 +R90 +F25 +N2 +L90 +E4 +F15 +L90 +S3 +W2 +R90 +E2 +R90 +S5 +L90 +F14 +W1 +L180 +F19 +R180 +W4 +S1 +L90 +F14 +N5 +N3 +L90 +N2 +F78 +L90 +N5 +E3 +N2 +F73 +S2 +F88 +N3 +F42 +S5 +F38 +S4 +F73 +R90 +F45 +R90 +F98 +L90 +W5 +S4 +L90 +E3 +L90 +F32 +N2 +F32 +W5 +S1 +R180 +F76 +W1 +L180 +W2 +S1 +R180 +S2 +F1 +S1 +E2 +R90 +N3 +E4 +L90 +S5 +L270 +N2 +F83 +L90 +F53 +L90 +F100 +W1 +L90 +E4 +R90 +S4 +F41 +W2 +R270 +E4 +F65 +R90 +F39 +E5 +R180 +F1 +W2 +R180 +E5 +L270 +E3 +R90 +W3 +R90 +W5 +F17 +E4 +F18 +S2 +N5 +E5 +L90 +W4 +F1 +S4 +E4 +L90 +S3 +E4 +F62 +R180 +F52 +S3 +F10 +S5 +L90 +F28 +R90 +F49 +W3 +F9 +N3 +W2 +N1 +L90 +L90 +E2 +S2 +W2 +F47 +R180 +E1 +R90 +F39 +E3 +N2 +W2 +F86 +F94 +R90 +S2 +R90 +E3 +F88 +N3 +E4 +L90 +S5 +F63 +W5 +L180 +N5 +N2 +F34 +R90 +F19 +N1 +F95 +L90 +E5 +L90 +F3 +R180 +S4 +L90 +F1 +N4 +R90 +E5 +N5 +R90 +E3 +F21 +R180 +S2 +R90 +N2 +L90 +N2 +W2 +E4 +S2 +E1 +N3 +R90 +W1 +L90 +F42 +W4 +F98 +W4 +L90 +F84 +S4 +F67 +W2 +S2 +L90 +S4 +E5 +L90 +F58 +E1 +S1 +W4 +N3 +W3 +R90 +E3 +F19 +S4 +L180 +N3 +R90 +N5 +F77 +N5 +W2 +S1 +L180 +F78 +W5 +S5 +E3 +N2 +F64 +L180 +F21 +R90 +W2 +F44 +N2 +L90 +F91 +S4 +R180 +N2 +W2 +F77 +S5 +F50 +R90 +F21 +W5 +L180 +S4 +F71 +E1 +N4 +R90 +F93 +W1 +N2 +F23 +E4 +L180 +F11 +E4 +F17 +R180 +N3 +R90 +F92 +R180 +F97 +S1 +E1 +F67 +E4 +R90 +F5 +F8 +L180 +L180 +L90 +N3 +N3 +R180 +E2 +F21 +L180 +N1 +S3 +L90 +W1 +L90 +E4 +R90 +F75 +R90 +W3 +F93 +L90 +S4 +F35 +F72 +S5 +E3 +F7 +S3 +R90 +W2 +R90 +F21 +W3 +N5 +F70 +W5 +N2 +L270 +F69 +L90 +S2 +F88 +W5 +S4 +R180 +E2 +F52 +N1 +F93 +N2 +E5 +S4 +L90 +N4 +R90 +F65 +S4 +L180 +S3 +F8 +E4 +R90 +F76 +E3 +F33 +R90 +N2 +F25 +N4 +E1 +S2 +L90 +N1 +L90 +N5 +R90 +E5 +F81 +N5 +F3 +W4 +S1 +F45 +W1 +F43 +E4 +N1 +F45 +E4 +S4 +E4 +N2 +E2 +F15 +W1 +L270 +F84 +R90 +N1 +F21 +N2 +F26 +W1 +N1 +W4 +S4 +F25 +R90 +N5 +R90 +S2 +R90 +E2 +L180 +N4 +R270 +S3 +F46 +S4 +S2 +L90 +N2 +F7 +W1 +S1 +L270 +E2 +R180 +S1 +W4 +N1 +F65 +L90 +E1 +N1 +R90 +N3 +W1 +F47 +R90 +F95 +S4 +L270 +F21 +W4 +S3 +F55 +E2 +N2 +F85 +N2 +R90 +E2 +F8 +S2 +W2 +R90 +W4 +F54 +E4 +F76 +N2 +F5 +F50 +N3 +R180 +W3 +S4 +E1 +L90 +S4 +W1 +F8 diff --git a/2020/resources/input13.txt b/2020/resources/input13.txt new file mode 100644 index 0000000000000000000000000000000000000000..78137a2f0556423c156c823ef0328e3bd353a303 --- /dev/null +++ b/2020/resources/input13.txt @@ -0,0 +1,2 @@ +1005162 +19,x,x,x,x,x,x,x,x,41,x,x,x,x,x,x,x,x,x,823,x,x,x,x,x,x,x,23,x,x,x,x,x,x,x,x,17,x,x,x,x,x,x,x,x,x,x,x,29,x,443,x,x,x,x,x,37,x,x,x,x,x,x,13 diff --git a/2020/src/aoc/core.clj b/2020/src/aoc/core.clj new file mode 100644 index 0000000000000000000000000000000000000000..5ddabcb526200731ceb11d493d20e53c6dbc951d --- /dev/null +++ b/2020/src/aoc/core.clj @@ -0,0 +1,7 @@ +(ns aoc.core + (:gen-class) + (:require [aoc.day13 :as day13])) + +(defn -main + [& args] + (day13/main)) diff --git a/2020/src/aoc/day01.clj b/2020/src/aoc/day01.clj new file mode 100644 index 0000000000000000000000000000000000000000..19290da98555f562ee0272f29c8aa9f01a45bc56 --- /dev/null +++ b/2020/src/aoc/day01.clj @@ -0,0 +1,46 @@ +(ns aoc.day01 + (:require [clojure.java.io :as io])) + +(defn lines [s] + (clojure.string/split s #"\n")) + +;; ------------ + +(defn read-input [] + (->> "input01.txt" + io/resource + slurp + lines + (map read-string))) + +(defn produce-matches-1 [input] + (for [x input] + (for [y input] + (when (= 2020 (+ x y)) + [x y])))) + +(defn compute-1 [input] + (->> (produce-matches-1 input) + flatten + (remove nil?) + (take 2) + (apply *))) + +(defn produce-matches-2 [input] + (for [x input] + (for [y input] + (for [z input] + (when (= 2020 (+ x y z)) + [x y z]))))) + +(defn compute-2 [input] + (->> (produce-matches-2 input) + flatten + (remove nil?) + (take 3) + (apply *))) + +(defn main [] + (let [input (read-input)] + (println (compute-1 input)) + (println (compute-2 input)))) diff --git a/2020/src/aoc/day02.clj b/2020/src/aoc/day02.clj new file mode 100644 index 0000000000000000000000000000000000000000..578f6b5312cffbfe71335bda1d55f8565860d913 --- /dev/null +++ b/2020/src/aoc/day02.clj @@ -0,0 +1,79 @@ +(ns aoc.day02 + (:require [clojure.java.io :as io])) + +(def example "1-3 a: abcde +1-3 b: cdefg +2-9 c: ccccccccc") + +;; https://gist.github.com/edbond/665401 +(defmacro xor + "Evaluates exprs one at a time, from left to right. If only one form returns + a logical true value (neither nil nor false), returns true. If more than one + value returns logical true or no value returns logical true, retuns a logical + false value. As soon as two logically true forms are encountered, no + remaining expression is evaluated. (xor) returns nil." + ([] nil) + ([f & r] + `(loop [t# false f# '[~f ~@r]] + (if-not (seq f#) t# + (let [fv# (eval (first f#))] + (cond + (and t# fv#) false + (and (not t#) fv#) (recur true (rest f#)) + :else (recur t# (rest f#)))))))) + +(defn parse-line [line] + (zipmap [:min :max :letter :password] + (rest + (re-find #"(\d+)-(\d+) (\w): (\w+)" line)))) + +(defn string-to-char [s] + (first (char-array s))) + +(defn password-valid? [p] + (let [min (read-string (:min p)) + max (read-string (:max p)) + freqs (frequencies (:password p)) + letter (string-to-char (:letter p)) + letter-count (get freqs letter 0)] + (and + (>= letter-count min) + (<= letter-count max)))) + +(defn password-valid-2? [p] + (let [pass (:password p) + idx-1 (get pass (dec (read-string (:min p)))) + idx-2 (get pass (dec (read-string (:max p)))) + letter (string-to-char (:letter p))] + (xor + (= idx-1 letter) + (= idx-2 letter)))) + +(defn check-passwords [acc val] + (if (password-valid? val) + (inc acc) + acc)) + +(defn check-passwords-2 [acc val] + (if (password-valid-2? val) + (inc acc) + acc)) + +;; ---- + +(defn read-input [] + (->> (io/resource "input02.txt") + slurp + clojure.string/split-lines + (map parse-line))) + +(defn compute-1 [input] + (reduce check-passwords 0 input)) + +(defn compute-2 [input] + (reduce check-passwords-2 0 input)) + +(defn main [] + (let [input (read-input)] + (println (compute-1 input)) + (println (compute-2 input)))) diff --git a/2020/src/aoc/day03.clj b/2020/src/aoc/day03.clj new file mode 100644 index 0000000000000000000000000000000000000000..9b3ee50ca76655faec3e48d657bfabffb1bd3ab3 --- /dev/null +++ b/2020/src/aoc/day03.clj @@ -0,0 +1,73 @@ +(ns aoc.day03 + (:require [clojure.java.io :as io])) + +(def example + "..##....... +#...#...#.. +.#....#..#. +..#.#...#.# +.#...##..#. +..#.##..... +.#.#.#....# +.#........# +#.##...#... +#...##....# +.#..#...#.#") + +(def paths + [[1 1] + [3 1] + [5 1] + [7 1] + [1 2]]) + +(defn read-input [] + (->> (slurp (io/resource "input03.txt")) + clojure.string/split-lines)) + +(defn all-coordinates [[x y]] + (iterate (fn [[xx yy]] + [(+ x xx) + (+ y yy)]) + [0 0])) + +(defn tree? [s] + (= s \#)) + +(defn count-trees [lines] + (fn [acc [x y]] + (let [line (nth lines y) + spot (nth line x)] + (if (tree? spot) + (inc acc) + acc)))) + +(defn compute [input coords] + (let [infinite-lines (map cycle input) + needed-coords (take-while #(< (second %) + (count input)) + coords)] + (reduce (count-trees infinite-lines) 0 needed-coords))) + +;; ---------------------------------------------------------------------------- + +(defn compute-1 [input] + (let [infinite-lines (map cycle input) + infinite-coords (all-coordinates [3 1]) + needed-coords (take-while #(< (second %) + (count input)) infinite-coords)] + (reduce (count-trees infinite-lines) 0 needed-coords))) + +(defn compute-2 [input] + (let [c (partial compute input) + coords (map all-coordinates paths)] + (->> coords + (map c) + (apply *)))) + +(defn main [] + (let [input (read-input)] + (println (compute-1 input)) + (println (compute-2 input)))) + +(main) diff --git a/2020/src/aoc/day04.clj b/2020/src/aoc/day04.clj new file mode 100644 index 0000000000000000000000000000000000000000..d22a5faf793c23ae539143623b798b4679c29211 --- /dev/null +++ b/2020/src/aoc/day04.clj @@ -0,0 +1,89 @@ +(ns aoc.day04 + (:require [clojure.java.io :as io] + [clojure.set])) + +(def fields #{:byr :iyr :eyr :hgt :hcl :ecl :pid :cid}) + +(def height-pattern #"(\d+)(cm|in)") + +(def hcolor-pattern #"#[a-f0-9]{6}") + +(def eye-color-set #{"amb" "blu" "brn" "gry" "grn" "hzl" "oth"}) + +(def pid-pattern #"\d{9}") + +(def validation + {:byr (fn [v] + (when (= 4 (count v)) + (let [n (read-string v)] + (<= 1920 n 2002)))) + :iyr (fn [v] + (when (= 4 (count v)) + (let [n (read-string v)] + (<= 2010 n 2020)))) + :eyr (fn [v] + (when (= 4 (count v)) + (let [n (read-string v)] + (<= 2020 n 2030)))) + :hgt (fn [v] + (when-let [[_ digits u] (re-find height-pattern v)] + (let [n (read-string digits)] + (case u + "cm" (<= 150 n 193) + "in" (<= 59 n 76))))) + :hcl (fn [v] + (re-matches hcolor-pattern v)) + :ecl (fn [v] + (contains? eye-color-set v)) + :pid (fn [v] + (re-matches pid-pattern v)) + :cid (fn [v] true)}) + +(def optional-fields (set [:cid])) + +(def required-fields + (clojure.set/difference fields optional-fields)) + +(defn collect-pair [acc p] + (let [[k v] (clojure.string/split p #":")] + (assoc acc (keyword k )v))) + +(defn parse-passport [s] + (let [lines (clojure.string/split-lines s) + joined (clojure.string/join " " lines) + pairs (clojure.string/split joined #" ")] + (reduce collect-pair {} pairs))) + +(defn valid? [p] + (let [pfields (set (keys p))] + (= + (clojure.set/intersection required-fields pfields) + required-fields))) + +(defn valid-2? [p] + (when (valid? p) + (let [ok (map (fn [field] + (let [f (get validation field (constantly true)) + v (get p field)] + (f v))) + required-fields)] + (every? identity ok)))) + +;; ----------------------------------------------------------------------------- + +(defn read-input [] + (->> (clojure.string/split (slurp (io/resource "input04.txt")) #"\n\n") + (map parse-passport))) + +(defn compute-1 [input] + (count + (filter valid? input))) + +(defn compute-2 [input] + (count + (filter valid-2? input))) + +(defn main [] + (let [input (read-input)] + (println (compute-1 input)) + (println (compute-2 input)))) diff --git a/2020/src/aoc/day05.clj b/2020/src/aoc/day05.clj new file mode 100644 index 0000000000000000000000000000000000000000..3e80f6789d380702945f82d149e973770e2782d5 --- /dev/null +++ b/2020/src/aoc/day05.clj @@ -0,0 +1,65 @@ +(ns aoc.day05 + (:require [clojure.java.io :as io])) + +(def example "FBFBBFFRLR") ;; 44 5 + +(defn reduce-range [lower upper] + (fn [coll direction] + (let [size (/ (count coll) 2)] + (condp = direction + lower (take size coll) + upper (drop size coll))))) + +(defn find-row [directions] + (first + (reduce + (reduce-range \F \B) + (range 0 128) + directions))) + +(defn find-column [directions] + (first + (reduce + (reduce-range \L \R) + (range 0 8) + directions))) + +(defn find-seat [boarding-pass] + {:row (find-row (take 7 boarding-pass)) + :column (find-column (drop 7 boarding-pass))}) + +(defn seat-id [{:keys [row column]}] + (+ (* row 8) + column)) + +(defn read-input [] + (->> (slurp (io/resource "input05.txt")) + (clojure.string/split-lines))) + +(defn compute-1 [input] + (->> input + (map find-seat) + (map seat-id) + sort + reverse + first)) + +(defn all-seat-ids [input] + (->> input + (map find-seat) + (map seat-id) + sort)) + +(defn compute-2 [input] + (let [seat-ids (all-seat-ids input) + coll (range (first seat-ids) (inc (last seat-ids)))] + (clojure.set/difference + (set coll) + (set seat-ids)))) + +(defn main [] + (let [input (read-input)] + (println (compute-1 input)) + (println (compute-2 input)))) + +(main) diff --git a/2020/src/aoc/day06.clj b/2020/src/aoc/day06.clj new file mode 100644 index 0000000000000000000000000000000000000000..2b5fa69763a0bb472325cc7c86fb03467a275cde --- /dev/null +++ b/2020/src/aoc/day06.clj @@ -0,0 +1,52 @@ +(ns aoc.day06 + (:require [clojure.java.io :as io])) + +(def example "abc + +a +b +c + +ab +ac + +a +a +a +a + +b") + +(defn group-said-yes [group] + (apply clojure.set/union + (map set group))) + +(defn group-all-said-yes [group] + (apply clojure.set/intersection + (map set group))) + +;; ---- + +(defn read-input [] + (->> (clojure.string/split (slurp (io/resource "input06.txt")) #"\n\n") + (map clojure.string/split-lines))) + +(defn compute-1 [input] + (->> input + (map group-said-yes) + (map count) + (apply +)) + ) + +(defn compute-2 [input] + (->> input + (map group-all-said-yes) + (map count) + (apply +))) + +(defn main [] + (let [input (read-input)] + (println (compute-1 input)) + (println (compute-2 input)))) + +(main) diff --git a/2020/src/aoc/day07.clj b/2020/src/aoc/day07.clj new file mode 100644 index 0000000000000000000000000000000000000000..798e0a6e50fa7cbb062db0ea1c1b8d457732d961 --- /dev/null +++ b/2020/src/aoc/day07.clj @@ -0,0 +1,98 @@ +(ns aoc.day07 + (:require [clojure.java.io :as io])) + +(def example + "light red bags contain 1 bright white bag, 2 muted yellow bags. +dark orange bags contain 3 bright white bags, 4 muted yellow bags. +bright white bags contain 1 shiny gold bag. +muted yellow bags contain 2 shiny gold bags, 9 faded blue bags. +shiny gold bags contain 1 dark olive bag, 2 vibrant plum bags. +dark olive bags contain 3 faded blue bags, 4 dotted black bags. +vibrant plum bags contain 5 faded blue bags, 6 dotted black bags. +faded blue bags contain no other bags. +dotted black bags contain no other bags.") + +(def rule-pattern #"(\d+) (\w+ \w+)") +(def mine "shiny gold") + +(defn parse-sub [s] + (let [[_ number color] (re-find rule-pattern s)] + {:color color + :number (read-string number)})) + +(defn parse-contents [s] + (when-not (clojure.string/starts-with? s "no") + (let [rules (clojure.string/split s #", ")] + (map parse-sub rules)))) + +(defn parse-rule [s] + (let [[bag contents] (clojure.string/split s #" contain ") + [shade color _] (clojure.string/split bag #" ") + contents (parse-contents contents)] + {:color (str shade " " color) + :contents contents})) + +(defn graph [rules] + (reduce (fn [acc {:keys [color contents]}] + (reduce (fn [acc content] + (update acc (:color content) conj {:color color + :number (:number content)})) + acc contents)) + {} rules)) + +(defn graph2 [rules] + (reduce (fn [acc {:keys [color contents]}] + (reduce (fn [acc2 content] + (update acc2 color conj content)) + acc contents)) + {} rules)) + +(defn get-parents [graph color] + (get graph color)) + +(defn fold [g] + (loop [r (into #{} (->> (get-parents g mine) + (map :color)))] + (let [r2 (reduce (fn [acc color] + (into acc + (->> + (get-parents g color) + (map :color)))) + r r)] + (if (= r r2) + r + (recur r2))))) + +(defn count-contents [g c] + (let [contents (get-parents g c)] + (if (seq contents) + (reduce + (fn [acc {:keys [color number]}] + (+ acc (* number (count-contents g color)))) + 1 + contents) + 1))) + +;; --- + +(defn read-input [] + (->> (slurp (io/resource "input07.txt")) + (clojure.string/split-lines))) + +(defn compute-1 [input] + (let [rules (map parse-rule input) + g (graph rules)] + (count (fold g)))) + +(defn compute-2 [input] + (let [rules (map parse-rule input) + g (graph2 rules)] + (dec + (count-contents g mine)))) + +(defn main [] + (let [input (read-input)] + (println (compute-1 input)) + (println (compute-2 input)))) + +(main) diff --git a/2020/src/aoc/day08.clj b/2020/src/aoc/day08.clj new file mode 100644 index 0000000000000000000000000000000000000000..a969f09d5caf70362723efedd8a951a63e8986b2 --- /dev/null +++ b/2020/src/aoc/day08.clj @@ -0,0 +1,96 @@ +(ns aoc.day08 + (:require [clojure.java.io :as io]) + +(def example "nop +0 +acc +1 +jmp +4 +acc +3 +jmp -3 +acc -99 +acc +1 +jmp -4 +acc +6") + +(def example-terminating "nop +0 +acc +1 +jmp +4 +acc +3 +jmp -3 +acc -99 +acc +1 +nop -4 +acc +6") + +(defn parse-instruction [s] + (let [[op n] (clojure.string/split s #" ")] + (assoc {} + :op (keyword op) + :value (read-string n)))) + +(defn accumulate [acc value] + (if (>= value 0) + (+ acc value) + (- acc value))) + +(defn step [acc index {:keys [op value]}] + (case op + :acc [(+ acc value) (inc index)] + :jmp [acc (+ index value)] + :nop [acc (inc index)])) + +(defn run-computer [coll] + (loop [index 0 + acc 0 + log #{}] + (if (contains? log index) + acc + (let [[new-acc new-index] (step acc index (nth coll index))] + (recur new-index new-acc (conj log index)))))) + +(defn run-computer-2 [coll] + (loop [index 0 + acc 0 + log #{}] + (cond + (contains? log index) :infinite-loop + (= index (count coll)) acc + :else (let [[new-acc new-index] (step acc index (nth coll index))] + (recur new-index new-acc (conj log index)))))) + + +;; ----------------------------------------------------------------------------- + +(defn read-input [] + (->> (slurp (io/resource "input08.txt")) + clojure.string/split-lines + (map parse-instruction))) + +(defn compute-1 [input] + (run-computer input)) + +(defn reverse-it [op] + ;; LOL + (get {:jmp :nop + :nop :jmp} + op)) + +(defn compute-2 [input] + (let [input (vec input) + indexes (range (count input)) + possibilities (map (fn [i] + (let [{:keys [op]} (nth input i)] + (if (contains? #{:jmp :nop} op) + (assoc-in input [i :op] (reverse-it op)) + input))) + indexes)] + (->> possibilities + (map run-computer-2) + (remove #(= :infinite-loop %)) + first))) + +(defn main [] + (let [input (read-input)] + (println (compute-1 input)) + (println (compute-2 input)))) + +(main) diff --git a/2020/src/aoc/day09.clj b/2020/src/aoc/day09.clj new file mode 100644 index 0000000000000000000000000000000000000000..ee3f16be045660e1b7da38f1c6ccc2e57a8ec4e0 --- /dev/null +++ b/2020/src/aoc/day09.clj @@ -0,0 +1,82 @@ +(ns aoc.day09 + (:require [clojure.java.io :as io])) + +(def example + "35 +20 +15 +25 +47 +40 +62 +55 +65 +95 +102 +117 +150 +182 +127 +219 +299 +277 +309 +576") + +(defn valid? [n coll] + (seq (for [x coll + y coll + :when (not= x y) + :when (= n (+ x y))] + [x y]))) + +(defn read-input [] + (->> (io/resource "input09.txt") + io/reader + line-seq + (map read-string))) + +(defn read-example-input [] + (->> example + clojure.string/split-lines + (map read-string))) + +(defn compute-1 [input size] + (loop [step 0] + (let [without-old (drop step input) + pool (take size without-old) + candidate (nth without-old size)] + (if-not (valid? candidate pool) + candidate + (recur (inc step)))))) + +(defn adds-up? [coll n] + (loop [nums [] + index 0] + (cond + (= (apply + nums) n) nums + (> (apply + nums) n) nil + :else (recur (conj nums (nth coll index)) + (inc index))))) + +(defn find-range [input n] + (loop [coll input] + (let [r (adds-up? coll n)] + (if-not (nil? r) + r + (recur (rest coll)))))) + +(defn compute-2 [input n] + (let [result (find-range input n)] + (+ (apply min result) + (apply max result)))) + + +(defn main [] + (let [input (read-input) + size 25 + n (compute-1 input size)] + (println n) + (println (compute-2 input n)))) + +(main) diff --git a/2020/src/aoc/day10.clj b/2020/src/aoc/day10.clj new file mode 100644 index 0000000000000000000000000000000000000000..1fc7c1445bf345c02ee7480e937e6e293e616781 --- /dev/null +++ b/2020/src/aoc/day10.clj @@ -0,0 +1,136 @@ +(ns aoc.day10 + (:require [clojure.java.io :as io]) + (:gen-class)) + +;; (defn read-input [] +;; (line-seq +;; (io/reader +;; (io/resource "input10.txt")))) + +(def example "16 +10 +15 +5 +1 +11 +7 +19 +6 +12 +4") + +(def example2 "28 +33 +18 +42 +31 +14 +46 +20 +48 +47 +24 +23 +49 +45 +19 +38 +39 +11 +1 +32 +25 +35 +8 +17 +7 +9 +4 +2 +34 +10 +3") + +(defn read-input [] + (->> + (io/resource "input10.txt") + io/reader + line-seq + + ;; example2 + ;; clojure.string/split-lines + + (map read-string))) + +(defn builtin [ratings] + (->> (apply max ratings) + (+ 3))) + +(defn jolts [input] + (let [device (builtin input) + input (conj input device) + input (sort input)] + (reduce (fn [acc adap] + (let [prev (:i acc) + diff (- adap prev)] + (if (= 3 diff) + (assoc acc :i adap :j3 (inc (:j3 acc))) + (assoc acc :i adap :j1 (inc (:j1 acc)))))) + {:i 0 :j1 0 :j3 0} + input))) + +(defn next-coll [[n & coll]] + (filter #(and + (> % n) + (<= 1 (- % n) 3)) + coll)) + +(declare jp) + +(defn jolt-possibilities [coll] + (let [nexts (next-coll coll)] + (if-not (seq nexts) + coll + (mapcat (fn [next] + (jp + (filter #(>= % next) coll))) nexts)))) + +(def jp (memoize jolt-possibilities)) + +(defn jolt-possibilities-2 [coll] + (loop [acc #{} + current 0] + (let [nexts (next-coll coll)] + ))) + +;; the recursive solution didn't work on the puzzle input because memory :( +;; the `part-2` fn is someone else's + +(defn part-2 [adapters] + (let [device (+ (apply max adapters) 3) + ;; The number of routes to each adapter is the sum of the number of + ;; routes to each of the possible previous adapters (it's like a messy + ;; Pascal's triangle) so we can get the solution in one pass. + routes (reduce + (fn [r a] + (assoc r a + (apply + (map #(get r % 0) (range (- a 3) a))))) + {0 1} + (sort (conj adapters device)))] + (get routes device))) + +(defn compute-1 [input] + (let [{:keys [j1 j3]} (jolts input)] + (* j1 j3))) + +(defn compute-2 [input] + (let [input (cons 0 input) + device (builtin input) + input (conj input device) + input (sort input)] + (count (jp input)))) + +(defn main [] + (let [input (read-input)] + (println (compute-1 input)) + (println (part-2 input)))) diff --git a/2020/src/aoc/day11.clj b/2020/src/aoc/day11.clj new file mode 100644 index 0000000000000000000000000000000000000000..b382b3d13e0de31966ea5d029fbf936b40d451cd --- /dev/null +++ b/2020/src/aoc/day11.clj @@ -0,0 +1,118 @@ +(ns aoc.day11 + (:require [clojure.java.io :as io])) + +(def example "L.LL.LL.LL +LLLLLLL.LL +L.L.L..L.. +LLLL.LL.LL +L.LL.LL.LL +L.LLLLL.LL +..L.L..... +LLLLLLLLLL +L.LLLLLL.L +L.LLLLL.LL") + +(declare parse-floor) + +(defn read-input [] + (->> + (io/resource "input11.txt") + slurp + + ;; example + clojure.string/split-lines + parse-floor)) + +(defn adjacent [m [sx sy]] + (for [x [-1 0 1] + y [-1 0 1] + :when (not= [x y] [0 0])] + (let [fx (+ x sx) + fy (+ y sy)] + [[fx fy] (get m [fx fy] :empty)]))) + +(defn visible [m [sx sy]] + (for [x [-1 0 1] + y [-1 0 1] + :when (not= [x y] [0 0])] + (let [fx (+ x sx) + fy (+ y sy)] + (some (fn [[[x y] spot]] + (#{:taken :empty} spot)) + (map (fn [[a b]] + [[a b] (get m [a b] :empty)]) + (rest (iterate + (fn [[xx yy]] [(+ xx x) (+ yy y)]) + [sx sy]))))))) + +(defn taken-adjacent [m [sx sy]] + (filter #(= :taken (second %)) + (adjacent m [sx sy]))) + +(defn taken-visible [m [sx sy]] + (filter #(= :taken %) + (visible m [sx sy]))) + +(defn parse-floor [input] + (into {} + (for [y (range (count input)) + x (range (count (first input)))] + (let [spot (get-in input [y x]) + tile (case spot + \L :empty + \# :taken + \. :floor)] + [[x y] tile])))) + +(defn run [input] + (into {} (map (fn [[[x y] seat]] + (let [taken-count (count (taken-adjacent input [x y]))] + (case seat + :empty [[x y] (if (zero? taken-count) :taken :empty)] + :taken [[x y] (if (>= taken-count 4) :empty :taken)] + [[x y] seat]))) + input))) + +(defn run-2 [input] + (into {} (map (fn [[[x y] seat]] + (let [taken-count (count (taken-visible input [x y]))] + (case seat + :empty [[x y] (if (zero? taken-count) :taken :empty)] + :taken [[x y] (if (>= taken-count 5) :empty :taken)] + [[x y] seat]))) + input))) + +(defn reduce-1 [input] + (loop [input input] + (let [res (run input)] + (if (= input res) + res + (recur res))))) + +(defn reduce-2 [input] + (loop [input input] + (let [res (run-2 input)] + (if (= input res) + res + (recur res))))) + +(defn compute-1 [input] + (->> input + reduce-1 + vals + frequencies + :taken)) + +(defn compute-2 [input] + (->> input + reduce-2 + vals + frequencies + :taken)) + +(defn main [] + (let [input (read-input)] + (println (compute-1 input)) + (println (compute-2 input)))) + +(main) diff --git a/2020/src/aoc/day12.clj b/2020/src/aoc/day12.clj new file mode 100644 index 0000000000000000000000000000000000000000..ebfcc64fc577217da6a45e57b6d8dac4a7834d51 --- /dev/null +++ b/2020/src/aoc/day12.clj @@ -0,0 +1,155 @@ +(ns aoc.day12 + (:require [clojure.java.io :as io])) + +(def example "F10 +N3 +F7 +R90 +F11") + +(def start-pos {:facing :east + :north 0 + :east 0}) + +(def start-pos-2 {:wp {:north 1 + :east 10} + :ship {:north 0 + :east 0}}) + +(defn translate [direction [x y]] + (case direction + :right [y (- x)] + :left [(- y) x])) + +(defn translate-wp [pos direction] + (update-in pos [:wp] (fn [{:keys [north east]}] + (let [[x y] (translate direction [east north])] + {:north y :east x})))) + +(defn parse-inst [[h & body]] + {:direction (case h + \N :north + \E :east + \S :south + \W :west + \F :forward + \L :left + \R :right) + :value (read-string (clojure.string/join body))}) + +(defn read-input [] + (->> + (io/resource "input12.txt") + slurp + ;; example + clojure.string/split-lines + (map parse-inst) + )) + +(defn move [direction value] + (fn [old] + (let [op (case direction + :north + + :south - + :east + + :west -)] + (if (nil? op) + old + (op old value))))) + +(def right-turns (cycle [:east :south :west :north])) +(def left-turns (cycle [:east :north :west :south])) + +(defn turn-count [n] + (case n + 90 1 + 180 2 + 270 3 + 0 0)) + +(defn turn [pos {:keys [value direction]}] + (let [current-direction (:facing pos) + tc (turn-count value) + turns (case direction + :left left-turns + :right right-turns + []) + next-turns (drop-while #(not= current-direction %) turns)] + (nth next-turns tc))) + +(defn move-forward [pos {:keys [value direction]}] + (let [facing (:facing pos) + op (case facing + :north + + :east + + :south - + :west -)] + (if (contains? #{:north :south} facing) + (assoc pos :north (op (:north pos) value)) + (assoc pos :east (op (:east pos) value))))) + +(defn navigate [pos {:keys [value direction]}] + (case direction + :north (update pos :north (move direction value)) + :south (update pos :north (move direction value)) + :east (update pos :north (move direction value)) + :west (update pos :north (move direction value)) + :left (assoc pos :facing (turn pos {:direction direction :value value})) + :right (assoc pos :facing (turn pos {:direction direction :value value})) + :forward (move-forward pos {:direction direction :value value}) + pos)) + +(defn should-move-wp? [direction] + (not= direction :forward)) + +(defn should-move-ship? [direction] + (= direction :forward)) + +(defn move-ship [pos {:keys [value]}] + (let [wx (get-in pos [:wp :east]) + wy (get-in pos [:wp :north]) + pos (update-in pos [:ship :east] #(+ % (* wx value))) + pos (update-in pos [:ship :north] #(+ % (* wy value)))] + pos)) + +;; (move-ship {:wp {:east -1 :north -2} :ship {:east 1 :north 1}} +;; {:value 0}) + +(defn rotate-wp [pos {:keys [value direction]}] + (let [tc (turn-count value)] + (reduce (fn [acc _] + (translate-wp acc direction)) + pos + (range tc)))) + +(defn move-wp [pos {:keys [value direction] :as i}] + (case direction + :north (update-in pos [:wp :north] #(+ % value)) + :south (update-in pos [:wp :north] #(- % value)) + :east (update-in pos [:wp :east ] #(+ % value)) + :west (update-in pos [:wp :east ] #(- % value)) + :right (rotate-wp pos i) + :left (rotate-wp pos i))) + +(defn navigate-2 [pos {:keys [value direction] :as i}] + (cond + (should-move-wp? direction) (move-wp pos i) + (should-move-ship? direction) (move-ship pos i) + :else pos)) + +(defn compute-1 [input] + (let [final (reduce navigate start-pos input)] + (+ (Math/abs (:north final)) + (Math/abs (:east final))))) + +(defn compute-2 [input] + (let [final (reduce navigate-2 start-pos-2 input)] + (+ (Math/abs (get-in final [:ship :north])) + (Math/abs (get-in final [:ship :east]))))) + +(defn main [] + (let [input (read-input)] + (println (compute-1 input)) + (println (compute-2 input)))) + +(main) diff --git a/2020/src/aoc/day13.clj b/2020/src/aoc/day13.clj new file mode 100644 index 0000000000000000000000000000000000000000..0a69a9e96aef542fc05b26aeb6ba34d6e0d04e3c --- /dev/null +++ b/2020/src/aoc/day13.clj @@ -0,0 +1,121 @@ +(ns aoc.day13 + (:require [clojure.java.io :as io])) + +(def example "939 +7,13,x,x,59,x,31,19") + +(defn parse-input [[earliest timetable]] + {:earliest (read-string earliest) + :timetable (->> (clojure.string/split timetable #",") + (remove #{"x"}) + (map read-string))}) + +(defn parse-input-2 [[_ timetable]] + (->> (clojure.string/split timetable #",") + (map read-string))) + +(defn read-input [] + (->> + ;; (io/resource "input13.txt") + ;; slurp + + example + clojure.string/split-lines + parse-input + )) + +(defn short-example [s] + (->> (clojure.string/split s #",") + (map read-string))) + +(defn read-input-2 [] + (->> + ;; (io/resource "input13.txt") + ;; slurp + + example + clojure.string/split-lines + parse-input-2 + )) + +(defn tt [earliest t] + (->> (iterate #(+ t %) 0) + (drop-while #(< % earliest)) + first + (conj [t]) + reverse + vec)) + +(defn infinite-timetables-by-id [timetable] + (->> timetable + (remove symbol?) + (map (fn [t] [t (iterate #(+ t %) 0)])) + (into {}))) + +(defn compute-1 [{:keys [earliest timetable]}] + (let [ + tts (map (partial tt earliest) timetable) + tts (into {} tts) + departure (apply min (keys tts)) + minutes (- departure earliest) + bus-id (tts departure)] + (* minutes bus-id))) + +(defn bus-valid [m t bus] + (cond + (nil? bus) :end + (= bus "x") true + (symbol? bus) true + (zero? t) true + :else + (let [i (get m bus)] + (->> (drop-while #(< % t) i) + first + (= t))))) + +(let [tts (infinite-timetables-by-id [6]) + t 5] + (bus-valid tts t nil) + ) + + +(defn run-2 [tts timetable start-t] + (loop [t start-t + buses timetable] + (let [bus (first buses) + res (bus-valid tts t bus)] + (if (contains? #{:end false} res) + start-t + (recur (inc t) (rest buses)))))) + +(defn compute-2 [timetable] + (let [tts (infinite-timetables-by-id timetable)] + (loop [t 100000000000000] + (println "computing" t) + (let [res (run-2 tts timetable t)] + (if (contains? #{:end} res) + t + (recur (inc t))))))) + + +(defn compute-example [timetable t] + (= (run-2 (infinite-timetables-by-id timetable) + timetable + t) + t)) + +(comment +(compute-example (short-example "67,7,59,61") 754018) +(compute-example (short-example "17,x,13,19") 3417) +(compute-example (short-example "67,x,7,59,61") 779210) +(compute-example (short-example "67,7,x,59,61") 1261476) +(compute-example (short-example "1789,37,47,1889") 1202161486) + ) + +(defn main [] + (let [input (read-input) + input2 (read-input-2)] + (println (compute-1 input)) + (println (compute-2 input2)))) + +;; (main) diff --git a/2020/template.clj b/2020/template.clj new file mode 100644 index 0000000000000000000000000000000000000000..8a08ac6011f4a4875f5e2f4d8deb8bddcfceedbe --- /dev/null +++ b/2020/template.clj @@ -0,0 +1,25 @@ +(ns aoc.dayxx + (:require [clojure.java.io :as io])) + +(defn read-input [] + (->> + (io/resource "inputxx.txt") + io/reader + line-seq + + ;; example + ;; clojure.string/split-lines + )) + +(defn compute-1 [input] + input) + +(defn compute-2 [input] + input) + +(defn main [] + (let [input (read-input)] + (println (compute-1 input)) + (println (compute-2 input)))) + +(main) diff --git a/project.clj b/project.clj deleted file mode 100644 index c023e04fe03b711ea568eaa7564dd8239e51840d..0000000000000000000000000000000000000000 --- a/project.clj +++ /dev/null @@ -1,8 +0,0 @@ -(defproject aoc "0.1.0-SNAPSHOT" - :description "FIXME: write description" - :url "http://example.com/FIXME" - :dependencies [[org.clojure/clojure "1.10.1"]] - :main ^:skip-aot aoc.core - :target-path "target/%s" - :profiles {:uberjar {:aot :all - :jvm-opts ["-Dclojure.compiler.direct-linking=true"]}}) diff --git a/resources/input01.txt b/resources/input01.txt deleted file mode 100644 index 3c039b7ba24e88f68dce34a38df090ffe61bbba8..0000000000000000000000000000000000000000 --- a/resources/input01.txt +++ /dev/null @@ -1,200 +0,0 @@ -1895 -1732 -1660 -1658 -1878 -367 -2010 -1989 -431 -1946 -1614 -2003 -945 -1856 -1934 -1937 -1781 -1947 -1991 -1917 -1604 -1707 -1966 -1959 -1182 -1828 -1880 -1908 -1942 -1687 -1611 -1922 -1913 -1803 -1976 -1718 -1885 -1971 -2000 -1912 -1981 -1776 -1901 -1941 -1935 -1977 -1907 -1893 -1898 -1975 -2001 -1833 -1951 -1939 -1988 -1870 -1985 -1932 -1930 -1938 -1926 -1931 -1982 -76 -1979 -657 -1872 -1933 -1961 -1987 -1998 -1994 -418 -1914 -1929 -1810 -2009 -1712 -830 -1990 -1900 -1876 -1753 -1859 -1965 -1963 -1905 -1921 -1685 -1694 -697 -1899 -1997 -1964 -1927 -1952 -1894 -1960 -1986 -1883 -1616 -1993 -1892 -1943 -2005 -1995 -1915 -1663 -1954 -1902 -1191 -1948 -1875 -1850 -1955 -1962 -1984 -1957 -1969 -1887 -1953 -1786 -1638 -1909 -1881 -603 -1973 -1784 -1869 -1925 -1968 -1737 -1807 -1950 -1992 -1936 -1918 -1891 -1897 -1940 -1919 -1910 -1862 -1958 -1832 -1904 -1791 -1920 -1874 -1729 -1643 -2007 -1871 -1999 -1584 -1890 -1924 -1974 -1701 -1906 -143 -1725 -1945 -1783 -1873 -1903 -167 -1855 -1633 -1956 -1996 -1808 -1884 -1916 -829 -2002 -1852 -1835 -1889 -1983 -1949 -1970 -1774 -1764 -1609 -1882 -1857 -2004 -1911 -1896 -1980 -2006 -1967 -2008 -1972 -1648 -1923 -1978 -1675 -1831 diff --git a/resources/input02.txt b/resources/input02.txt deleted file mode 100644 index f4997c30891eed45500c538ec98feed1af7d4301..0000000000000000000000000000000000000000 --- a/resources/input02.txt +++ /dev/null @@ -1,1000 +0,0 @@ -6-10 s: snkscgszxsssscss -6-7 b: bbbbbxkb -2-4 n: nnnjn -1-2 j: jjjj -5-9 z: jgzzzqhbj -4-11 m: mfmmmpmjmkdr -12-15 t: twqrxttwttthtkxbz -8-9 z: ftzjzzzzr -17-18 h: cpkhssvpphzvprfnft -7-8 b: bjbbbbbb -4-5 p: pppppppppgppps -16-18 r: rrrrrrrrrrrrrrrrrr -9-16 v: vvvrpvbvvvvvvvvvwvvh -11-15 d: ddddddddddddddjd -9-14 g: ggbggghggggggggw -1-5 d: ddddbd -1-4 x: xxxwxxx -1-2 l: bdjjddlqg -1-4 b: lbbxb -15-16 f: ffffffffffffffmz -10-16 m: mmlmmmvmmmbhmmmq -4-15 v: vlfvvqphhjfvlgt -5-12 m: mmmmjmwmmmmcmmm -7-8 q: qqqqqqxkq -4-9 h: hhzhhhhhhhhhsh -3-7 t: thltdtjtstzrtwtt -6-7 k: kkkkkkk -1-5 q: jqwqd -4-13 x: xxxxxxxxxxxxxxxxxx -1-4 l: llfl -6-12 n: nnffnfnnmnffnx -4-6 m: xmvxnmpmm -5-7 m: mmmmbmmmmmmmmm -9-17 f: ffffflffbfffffcffff -4-10 k: kkklkkkkkhktkkbkzq -8-15 z: kdxxzzlhpzgbzjzz -2-5 q: qrqqbqqqqqqqkqq -3-5 t: zrttht -9-12 t: ttxgntjmvntctpfrt -2-3 k: kkkk -8-10 j: jjjjjjjjjj -2-9 k: vkwkhcqnk -9-10 t: ttttttthtt -4-6 b: bbbbbbbb -9-12 n: xnvnnvldhthlsn -2-4 w: wwwwwwj -6-10 t: tttttwttttvtt -3-10 j: jqjjjxjdjnjjjj -15-18 q: kqlncdqwclqpjzrbnq -7-8 p: gpwbjppp -3-13 m: mmmmlsmfvmhmmmm -7-10 s: wdshsrsgsl -8-16 f: fffffffxfffffffcf -16-18 s: ssskswhsvslwsssrsq -12-14 j: gjjjjkjgjkjhjvj -13-14 t: gtttvftwtgvhlt -6-7 v: vvvvvgbv -2-8 l: ssldslmvl -3-9 l: bflzllqkqlkll -8-9 n: rrnnnnnnsn -7-14 p: bqsrxgplkpdvbpkn -2-5 z: wzbclnsxt -2-4 k: knkxk -6-8 d: drddjddjdd -15-16 p: ztgptpfpcwppqrzppps -1-3 k: nmsqksv -7-10 n: pwhbcwnlznfnvrlnds -13-15 t: tttttttttttttttttt -10-12 b: bbbbbbdbbgfxbbbf -3-5 w: rwwwj -18-19 x: xxxxmxxxxwpxxxfxgln -1-4 g: lfsjtgggg -13-15 x: mxzgtxhrxjhxtnf -13-14 d: ddddddddddddlx -3-5 r: rrrtrrtmlr -1-7 t: thttttttttt -2-5 g: sngggj -8-9 n: tnnnnnnnn -6-10 w: wkwwjfwltk -12-18 n: nnnnnnnnnnnnnnsnnh -14-18 m: mmmmmmmmmmmmmmmmmmmm -5-15 v: fvvfrcqkvkggnpl -13-19 f: ffffffftfffdnffffpsf -13-15 k: kgkkkmkkkgftklb -4-6 h: hhhchvh -7-14 l: qmbdhdjbrglxql -13-17 w: kwwwwwwwwwwwdpwww -1-5 q: pqqqdqqqq -8-9 p: vhwphvpfp -2-4 h: hljmh -1-2 c: tmcc -3-5 f: dpnvwffhlp -3-5 m: mmmmmm -10-12 c: ngjnczmcscxc -2-4 x: mxxj -4-6 m: xbmkmm -1-6 l: kllllsblqhngl -11-18 x: xprkjcrxkgxxgwtbmx -4-6 k: vwxshkkkkbtfbhl -11-15 z: dzzkzjjzzzzzzzlmzbn -5-6 f: ffffnfffflfjff -3-6 d: ddddddbd -6-9 r: wrrrvrrrr -8-9 n: nnnnjnnnt -2-7 b: bxptdkctbrxfllpvj -3-4 x: hxxv -5-14 n: nrnnnlsnznnzrqnjxnp -1-3 w: wwww -9-12 x: xxmxxxxxxxxxtxx -10-14 j: jjnjjjjlvjkcsjjdllvj -4-6 w: wgwbwwww -10-12 t: ttqttttttttl -10-11 t: ttwtttttttv -9-15 t: ttttttttftttttttt -2-3 p: pfgp -2-4 z: brrksnvqjzwqjvjs -8-9 n: knnnftzjbqj -6-7 w: swjwwdwwwwwwwww -1-2 j: xjlrkjjztrjfpss -13-14 l: llllllllllllvlllllr -7-12 l: lllllllllllblllll -7-8 j: gqdcmjqh -3-9 g: gchkbvgvgw -15-17 b: bbbbcbbbgbbbbbmbg -1-7 h: qlmhhcdhhhhhhhhhh -2-15 c: ccccccccccccccscccc -1-2 q: xvch -3-9 w: wwwwwwxwww -2-4 x: jskx -3-7 t: btwsnvts -9-11 g: gkhgwctggbm -2-7 g: xvgwwltdvnzscbtqwb -1-11 k: kkqkpkkdkkkkkkkhkk -4-12 h: nbqlhjbqhxtnxlzlr -3-4 d: dwdd -8-9 k: kkkzbckklqqkhfkqkk -7-8 c: pcxmqdwc -2-4 v: qbvwvvnvvp -3-9 c: pfqcblwxcrmx -1-9 t: fwgtcrftktt -7-8 p: pppppppp -6-13 w: dnwfhwkjffpdwgzdf -10-14 k: kkkkkkhkkwkkkkkk -2-4 s: zscssddtpmqblmd -11-13 b: dbvzwthlcmbkb -1-4 k: kqlxwvbkckwzmqxvtcc -2-10 s: sxssssgsssxsssnss -3-9 w: nxrmwlpgw -10-13 w: wwsgwwwwwwwkw -9-13 v: vhvvwjvcvbvvg -5-7 n: fbvnjpt -3-4 x: xxxx -9-10 l: rlllmlllll -7-9 d: ddddddddhd -4-8 z: zzzhzzzf -11-12 m: mmmmmmmmmmkf -4-8 m: bmfzppcqttct -2-4 m: mfmcmmmcx -2-9 p: rppzgvshn -7-8 r: rrrrrrrrrrvr -6-7 p: hkltppp -7-10 m: mmmmmfmmtmmmpbmm -6-14 p: pppppppppppppxp -4-6 p: wbspppnlmc -2-4 n: xnfnl -2-5 q: nqkcqmvwp -2-3 d: ddkbkdjd -5-9 b: qxjbblbrb -14-16 b: bbbbbbbbbbbbbqbbb -5-6 p: dppppp -5-8 j: kxztnjjn -14-18 k: krkkkkckkkkmktkkkkd -7-8 n: nnngxnfpnn -16-17 c: ccmccccccccccccfcccc -1-3 g: wggg -1-2 c: cqcckc -2-8 g: gjwdkbds -10-17 s: hswqssmttskspdlkkss -14-16 b: bbbbbbbbbbbbpbbrbbbb -12-16 r: srrmcbrrcrzrdwzng -2-3 h: fcws -9-13 p: gkgpqpghpjbpz -9-10 m: mmmmmmmmmmm -3-4 b: brbb -2-3 p: gncvqdhp -2-7 g: gdggggggggggggg -2-7 j: jjjjjjrjqjjj -3-5 v: ltptjlntf -1-7 w: gwwwwwfww -7-10 z: zzzzzzmzzzz -10-12 x: xxhxxxxxxgxsxxxx -11-12 b: bbbbbbbbbbbbd -16-17 v: vvvvvvvvvvvvvvjht -1-4 x: bxxx -16-19 g: gggggggwggggggjgggg -5-10 q: qjpqqvlnkqxmlv -4-6 p: qrpffplvpp -7-9 r: rrrrrrgrb -2-3 g: bgjg -10-12 t: ttjttttnttdtt -2-4 g: dgng -11-12 r: rrmrrrlrtrrj -1-5 v: qvvvvvvvvvvvvvv -3-18 p: ftnfnpmjprmrzmhbnxj -10-12 w: dqnsjjxsqrwq -2-4 z: lzgkzsb -8-9 n: dwclxdtnndtpcgqmx -10-11 w: zjwdsphbbwlhp -2-9 d: zzprkgzczbs -14-19 c: gpjfrvsrcnbxbclctxc -1-9 f: fmhfvfffrfws -12-14 d: ddrddbddddddddhmdg -14-15 s: sslsssmsnssdxsj -2-10 v: ljppzjfvfnfp -1-2 z: qbwbzknrzzs -18-19 l: llllllllfllllllllll -2-3 p: ppgp -13-15 k: knkkkkkckkkkhkxk -3-6 v: vbjvmv -4-8 h: hmhcxfhg -12-14 v: vvngcvvvvkvgvs -2-3 j: xdjjrk -5-13 s: sssssrqsssssq -1-7 s: sssssssss -6-14 b: ptlvmbbrbxnvqbrmp -16-18 w: wwwswwnwwmwwwwwwwf -1-4 k: kkknkkkkk -1-4 g: ggrbk -9-11 r: rrrhrrrrrrrrr -11-13 x: xxxxxxxxxxxxnx -3-8 x: nsxvlvdfbkpxsgscn -12-15 h: hghhchvjhhhhlvhhhhh -11-12 n: nnnnnnnnnnjqn -10-13 r: jrzfzrzrqblmks -7-8 w: wwwwwwwh -3-4 k: kkbft -1-9 c: cccccjccccccn -2-7 r: rrvnrxrvrzsrbrs -3-10 l: llgdldmlplqlhdlll -4-8 m: mmzmbmgm -5-6 q: sfxqnftnbnqwq -5-6 v: vvvvgvvqv -9-14 h: dhmwrhzqqvhhhfhfhhht -4-7 p: jwwppvpklc -9-13 z: zzzzzzzzzpzzzx -13-14 l: fllklltlllllcphllll -12-15 m: htmbmqgljcmvmclgnm -9-10 b: bbbbbbbnbb -6-12 x: nxjbxxhxxxxgdxx -6-7 t: tttbwlk -8-11 q: fqqjtlswqgkqdqc -16-20 t: xplwqxbwtsfptbvtvcxt -3-4 k: kklkkkkkkxkkkk -3-9 m: kmmsvmpmxmgmb -6-12 j: jjtjjjjjjjjpjjwj -3-4 m: kkmbmzkx -7-8 f: gmfxlgfjtfst -1-3 w: wwwn -1-7 k: knkktkkn -13-16 v: vvvvvvvvvvvvvvvmvv -10-11 h: rhvdhnfhvtchlfhh -10-12 x: xgxwbqxkxxcwsfd -10-14 m: mmmrdxpcmcmmmkmmmmm -2-5 x: vvxpx -8-9 h: hhhhhhhmfh -16-19 j: jmwjjjjjjjjjjjjjjjz -2-3 r: sqrnr -14-19 p: ppppppppppppppppppk -2-5 w: wwwww -15-16 q: dppxtnhmxrhmncrqq -4-5 v: drhpp -1-4 p: pkhn -3-6 q: gwmrfwh -6-10 v: dlvvfhvvkb -1-8 q: qqqqqqqqqdqqqqqqqq -17-18 n: nnnnnnnnnxnnznnpnng -3-7 m: gmxzffwmbdm -12-14 m: dmzmcmmhjmqltm -3-16 w: drcbwtvqgbppbwzvm -8-10 d: ddbddddzdddddkpd -8-9 m: mmmmmmmmmmmm -1-3 l: glll -7-11 x: fxrxxdxxxqxnxx -6-7 d: ddddxgdd -7-8 g: hgggbggg -2-3 w: pwwtww -7-10 h: lhwbhjhzhx -3-14 b: bbbrvrbsfbnxrgqbbq -4-7 l: jzqkxlnpxlglfsll -6-7 b: hbpbbbb -2-4 w: pskwwxzpjvmwcnfr -13-15 m: mmmmmmmmxmpmxmmm -4-9 k: krxkzqzkkhrpqth -4-7 f: xfffkvfqzwhcfwkhq -4-10 q: qqqqqcqbqqq -14-15 s: lgszsdststlpgjbs -7-12 s: sspbsssskfns -7-8 d: cdddqpnd -13-15 p: ppppppppppppxppp -10-11 r: rrrfxrrrrrrrrr -10-12 z: zzzzzzzzzvzvzz -3-4 l: lllwll -7-9 p: ppppkpppqpppppsvx -3-4 k: kkkrk -4-5 v: zxmmvmhvr -14-15 r: rrrrrrrrrrrrrfjr -6-10 b: vwbgbbbbdbqsbb -5-7 j: jsjjjkv -3-4 m: tzmhr -11-13 r: rrrrrrrrrrqrhrr -1-4 s: psqmcssnk -5-6 z: zdkzzzz -3-5 p: cnpmbtknqdppmcjpzvcn -13-14 g: ggggkggggmtggd -14-17 c: nxmzcczccnvdcxpcmb -6-10 w: wlwwbdwwwwwwww -9-17 l: llllllllllllllllll -2-12 j: jpjdjjjzmjxj -1-3 n: szjntnnl -7-8 l: dpxlmhlbts -5-16 s: sssssssssssssssrs -1-6 m: pmqvlc -7-15 f: ffffffffqfkfffdxff -10-11 w: wwwwwwwwwwswwww -7-12 p: tkppvfpwksrp -4-7 f: fdjdgdvsksbfbnjkspc -4-11 b: bjmvfrmlmlbndl -1-3 r: rrrnxhgbwr -5-10 h: xhhmhhhlhbh -10-11 h: hghhhhhhdlhhh -5-6 g: gptglg -9-11 t: wtgtxtttqtmttt -5-11 f: jxqffhfsfmz -4-7 f: frjffbf -1-15 m: mmmmmmmmxmmmmmmmm -1-12 d: drwlbpdbzdgdjpnzmj -9-14 n: nfnmktjnncnnnln -1-2 h: pshhjhhhhf -2-4 t: tgttttttfb -2-4 w: dwpwhnxbf -7-11 b: vbcbzhbwhpb -4-5 k: hknck -5-12 m: mmmmtdmmmmmmmm -5-7 w: qwflwxq -2-5 g: jdnxdlclplvb -5-7 t: ttrtttttkr -8-18 l: lwscjwlmdlzlllnsllpw -2-8 c: cccxtccchbrkr -1-3 q: qqtqqqqq -3-13 d: dddddddbddddddd -1-7 r: jkpzrpfnrgpkc -9-10 t: ttttttttttt -11-12 w: wjwplwwwwwmw -9-12 r: rpsvrhrbnrwqch -6-11 p: zpzbpkpmtnptsnpbswc -4-6 t: jhzstt -3-4 t: ddpkcgpzhd -4-6 s: cvzshjfrsslxnslqddwt -1-3 c: cgsczhl -1-4 d: lddqdqd -6-7 v: vvvvvvb -5-8 w: wwwwwwwwww -5-11 p: ddswpbpppsqpp -5-6 x: dfzxxxhhqjvj -3-7 m: mmmmmmmmmm -4-8 g: ggggggggg -5-6 j: jjcjjn -5-6 n: nndtns -4-5 t: ltxkdpst -2-8 b: ldwkbzbxgpbbbb -11-12 w: wwqwdqwwwqhvwww -15-17 k: klkcxqbwrktxcmqlnb -5-6 k: tkqhkkkkrkjfd -12-13 x: nxxxrjxxxdjlxxbt -9-12 m: mmzmmmrmmfmgmmmmb -2-5 v: tkbhvlvp -12-14 v: dvbvvvvhrcvvvxxvvvvv -14-16 x: xxxxxxxxxxxxxrxxxx -6-7 v: xvswnvvm -6-9 c: vcpcksxwbdlc -5-11 s: sssssjssssrsdjsssq -6-16 j: jjjjjmjjjjjjjjjnj -8-12 g: ggggwggggggnggg -4-5 c: ccczk -14-15 l: lllllllllllllkm -10-11 r: rrrrrrrrrrrrr -3-5 n: dwnvnlj -2-4 x: xdxxxx -5-6 j: jjjjjjj -3-9 k: kkkkkhlrkktt -3-7 t: stqtgfdprtqjsgznrtjh -11-16 n: hsnnnnnnnnfnvnpqnnn -13-16 v: kdvbvxvvtvhvvvvq -1-3 v: vwpvkvdpxgc -14-17 v: vvvvvvvvvvvvvnvvhv -14-15 m: mmmmmmmmmmmmmtm -6-10 m: mmmmmhmmmm -5-8 t: tttjrttdsttfttwstf -6-7 c: ccqcvcc -2-5 v: vvvvvv -8-16 c: cccccccccwcpcccmcccc -4-5 t: ztvttktttttt -10-11 n: rnmnnnnnnnnnnnnpt -5-6 g: lgsggggg -15-18 s: lcsmgkjqzdpcgvsrng -2-6 p: wwpppp -9-10 v: vvvvsvvvmvv -6-11 c: qrmdjxzsmxcmcccgrr -17-18 b: bbbbbbbbbbbbbbbbbbbb -6-10 t: thtxgtpxwt -2-8 f: xkgbrpqfsrhhbnfpdg -3-8 c: gqkkvgkcqfwdc -5-6 c: jjcsjf -8-16 q: fbwdmlwljqqcrqsq -3-10 m: mjmmsmmmmmmcmm -5-15 x: xmrvcsjwxxdpsrxzcrzj -3-7 x: rxngzxxg -17-19 z: mmvfgzpmbvzsrmkgmmmb -3-4 z: zdzz -4-5 v: vzcvb -3-11 z: tzllpgzzmwxznh -8-11 x: ptgvnbxzsxwdb -2-3 r: rrrrr -6-10 b: bbmbbbbbbb -6-11 q: wvmqrzrllhxfzmpkp -13-17 v: vvrgvvsvvcqkvvvvbvvw -16-18 p: ppppppppnppgppppclp -13-15 g: gglggggggngggggggggg -15-17 b: bbbbbbbbbbbbbbbbb -3-6 t: tpwzktlzkdt -2-3 m: lmvtnfjzmm -1-7 j: jzjjfjx -15-17 r: rtfdnhrrhrrdcswrl -1-3 d: gdfdmddddwdddlsd -3-4 r: qrtr -10-11 m: mmmmmmmmmkc -2-5 n: gntnnnncc -9-14 b: bbbbbbbbbbbbbb -10-13 f: fxfffznffffzwffflz -5-12 j: vjjrjjjjngjjjjm -6-8 k: kkkrkklkkkkkkk -5-7 r: rrhzsxrjjw -17-18 g: gggggggggggggggggf -2-3 h: ghhvrh -1-3 j: hjjxjjjj -3-5 q: gbqnqkprckxqglkhw -17-18 n: ngnnnnnqnnnnnnnnnnnn -2-3 m: xlhmmq -6-7 p: kvvphgj -9-12 k: kpkzkkzkkkkkbwk -9-10 k: kkrkkkkkmt -5-10 t: tttttttttttttttt -10-11 l: ztdvlllzfltlwlglkhcj -7-12 t: bttttqtqttttttttg -3-4 z: xzvb -5-10 h: lhcdhkhhhhb -1-6 z: jqzzqzzzzzzzzzzzzz -6-7 x: qxxxxtxz -13-14 g: gggngggggggrgsgg -1-2 t: tttt -11-15 w: hpwhwmwlkbwtwmwlj -8-10 r: rnrhrrmprnrrr -5-12 z: rshzhwgzhfjb -15-16 s: sssqssssssssmsss -9-12 z: zdzzzzzzkzmz -10-12 c: mfgpskncfcfctjmt -5-10 p: sppwnpdpptppwdppppp -3-14 q: mnzfgfmvmsdlqg -1-13 s: sssssssfssssbsss -6-8 d: ddddddddd -2-5 j: vsbbjh -14-16 m: nmklmsrpjxwpdbmj -3-8 v: rfvvvjqv -18-20 p: pppppppppqhpflppbppp -7-11 x: xxxxxxwxxxx -3-4 l: llmvlll -8-9 w: grmvwtwbz -2-11 m: mmmmmmqmmmsmmmmmmmmm -6-13 h: hhhhhrshshhhlhhhh -3-12 t: tnttblttttcvrtttx -5-18 f: cfffcffvgffffrmlfx -1-3 n: rnjnnnnnnnnnnnnnnn -1-2 w: smmdq -1-5 v: vvvvvv -5-15 s: tssssscssffhsswssss -3-11 b: bbbbbbbbsbkbbbr -13-15 j: xjjpjjcjjjjjjcj -5-10 g: bvjvgpzgdgkmmzwnwrxz -2-7 q: qqqqqrq -10-12 d: fddddbdddxdqpd -5-7 c: hsccjccrlm -11-15 r: nrrrlrrvrdlrprw -13-14 r: drrtbrrrrrrrrcrrr -8-10 c: ccccxcchfjcccccxpc -8-9 s: sssssssss -1-10 r: rvlgkrrrrm -8-13 w: jwbwcwmwwvwwwwww -7-12 k: fxkkcnkkbvkxbkphx -7-8 l: llllmlvll -11-15 q: qdjpqwgfqjdqnnq -8-9 m: mmmmmmmvmmm -6-7 k: kkkksmkb -4-6 h: hhhlhhhhfhhhhhh -2-5 k: xzjlwb -3-12 j: sjwqrjzjgqrj -5-18 p: ppppppppppppppppphpp -1-3 g: gggrggggg -14-15 n: nnnnnnnnnnxnnhnnn -19-20 d: jkpzsxwsddzccjdkcptj -2-4 v: wpdz -1-8 w: dwjtngwwwrwhp -13-15 t: tttttctttttxvfrt -6-11 h: ksvshqhhdth -8-9 k: khfkdkppl -11-12 d: whlmcdmfgfddd -11-12 p: htvxpkfngthz -6-9 v: vqvmvvbbv -5-8 m: lghmmmrmmw -14-16 q: dtmqqrqqqqqgpgqtqr -2-11 f: bfjskxzlgvfml -10-19 p: kpppppppphppppppppp -5-7 j: rfbpzmjtjj -9-10 p: kpppppppqpp -3-15 k: hgkgrqblnjmsbvrghzdk -6-7 r: rrtwrwlfrswwr -3-4 k: fkkdv -12-20 g: ggggggggkggggggggkgh -3-5 x: xxxxpxxxxxxxxxb -8-10 k: kkkkkkkzkh -4-10 q: qqqmqqqqqcqq -4-12 t: ttgtqblzqzpttcxdtfn -18-20 s: sssbbsscsjvslsvsssss -3-6 x: xxxxxxx -4-5 t: tttttt -5-7 q: xqqqqqqqxkqqqqqqqtqq -2-4 s: zsvq -6-7 b: mmbcklx -1-13 z: zzfzkshpslwcn -1-14 d: ddpddtdddddmmf -8-13 j: jjjjjjjjjjjjjjjjjz -5-6 c: cjjlxb -10-12 v: vvvvvvtvvmvv -2-3 b: wfbbg -1-10 l: llllllllllllllllll -5-10 d: hdbhdgxcjd -10-13 t: ttttttttttttnt -5-6 h: vhmhhh -16-17 x: xxxxxxxxxxxxxxxsqx -6-14 g: gzggggzhggggzgg -15-20 f: ffbfxffffvfffffffhfd -2-3 d: xdvw -5-7 g: zgggjgq -2-12 g: ggggggggmgggggg -6-8 h: hhhhhhphhhlhjhhxfh -3-10 j: knjklstqxwcsjf -2-3 h: hvnwjxhpsc -7-8 w: wwwlwwgw -14-16 s: chgtpswssxsqtwzrsqt -5-6 d: zdbdkl -3-4 p: lwkpbrbp -8-14 c: cbhtccjmrccrcp -2-3 s: tctflmgdtsjjfxpl -3-4 g: gggjkctwdsgl -2-4 h: ghbh -4-13 h: fczphhvflghhhd -3-10 x: jkzhgljwsblcrmbwfx -12-13 p: npfgppprzpppc -7-12 l: sqbplmqnlmwph -1-8 p: hpppvpprppp -12-18 n: nhbznznxncnkcchscl -9-10 g: grjxmgzpgk -6-7 g: rcmkggggggg -1-7 b: bbbbbbbb -2-3 t: ttftzqt -8-10 l: twbjlnblhck -1-2 c: cvbc -4-9 d: mfpdddsnd -5-8 f: flpvbdrfl -7-12 s: rhspsxlbpsmsclzrdsfc -2-4 h: vhhh -1-10 k: bhkkkkkkxkkkzk -5-15 q: qqqqqqqqqqqqdqdqql -12-15 c: ljvcklwjvngfgfgrjsv -8-10 w: pwwtpbwwvwwrwww -5-13 b: tbjmbfmknjhbb -1-2 v: cssd -2-5 s: ssssss -3-4 h: bhhxxhfh -3-5 p: pfppp -13-20 l: lcxxllcfjmllclljllfl -2-4 p: sqpzk -2-4 l: xlllb -1-7 t: ttttttrttttrttttttxt -10-12 m: bwmmghzmqmmpmj -5-8 l: jtlljpql -5-6 d: lddddd -6-8 c: nljczccdwvnmrlqvlsc -8-9 d: dzdddcddt -10-11 z: zzzzzzzzmqj -3-4 s: msssss -3-5 z: xzvdzbzt -2-18 v: bvcbpwkbdmclbnbmsv -9-12 b: jrcccsndstzbxprkvtq -3-11 n: vlntglzvvcnngn -3-8 v: rpgckwptlvdqsrqqt -6-11 q: qdqdkqvkvhdrdqm -9-12 b: khbmbgbbvbqb -9-10 g: gtggggggczgg -3-5 c: zqctcs -15-18 z: kbzsdhbbzxfzzqdjzc -7-8 g: ggggggzx -9-10 s: sswssrssqms -14-17 g: ggggcggggggggpggcgg -10-15 g: qgzmbkjlggrhgkg -9-11 j: jjjjjjjjqqjjjjjj -5-6 c: cgcdcchcccbcc -2-4 g: gggg -5-13 h: plkhhrmxhxhmh -11-16 v: vkkqrvbvbcvvnvvvvv -6-7 c: rlfmqphqrhqkhch -3-5 z: hzspz -8-9 d: kddmdddpdvddln -5-11 k: wkqkcfkpvnkvh -4-7 r: fnzzwxrxr -15-16 r: rrrrrrrrrrrrrrwr -2-19 f: fvffffffffffffffffwf -9-11 v: hbvbvvgcvvvj -2-4 m: mrxpv -13-14 z: zztzgzzpzzzzzg -4-10 t: qtvtcrfmlkrgtwsvwtw -3-7 g: ggggggfgggggggg -5-8 c: ccccfcccnmccc -6-12 z: bzfcjzdznzwzrzbzzqrn -14-15 c: ccccccccccccczkccccc -3-4 j: jjjjjjf -1-2 x: kxxxx -3-4 s: sksj -17-19 c: hvchccvccdxgccnxdcc -3-6 r: trrrrrrr -10-11 c: ckcjzcrzcbc -1-7 p: pmqplfpvgq -3-4 h: hhmx -5-6 n: nnwndln -5-10 v: bkkvfgvqwdt -7-14 h: hkjlwvhdnhxhwcnhs -4-12 f: xxwfjfcwslrfzrxfkxj -2-3 c: ccccc -4-13 k: kkkdkkkkkkkkkkk -8-10 b: mqlljkpbbbxbrbfx -1-4 p: pppp -14-17 n: nnnnnnnnnnnnnnnngnn -5-6 d: dddddddvw -9-10 r: rjtrrrmqrrrzrrrrjrrm -7-11 x: bxxxxxrwxpmn -13-14 w: gwmwwwlwwjwjwx -2-4 d: dddddvddd -7-9 p: pjmdppgpspcslh -13-16 l: tllllzllpvllvlzd -9-11 q: qzmwqqzqtqqq -4-5 d: dvdngdd -9-11 j: xxxvjrmgjpk -3-4 c: rvvcn -15-16 r: rxvmlslkpmqdqtdd -2-5 b: sbflb -4-5 w: wntpw -8-16 n: nnnnnnnhnqnnnnnnn -5-6 n: nnnnnnn -2-5 q: bsjfhq -6-18 r: prrrqkmrrrvbrrrrdfrv -3-5 g: xnxlp -4-11 s: jsstsssjssfssss -14-16 d: dddddddddsdddddd -18-19 n: vgngvbhdjfrbnznhhjzn -11-13 f: ffffffffffgfgf -5-11 n: dbgvngchnkngt -3-4 f: gsff -2-4 r: rfdrlznkzg -10-18 z: zzgzwzzzzzzdzzmzhzzn -4-5 s: qscmbssss -11-15 x: xbxxxxgxxxbxxzw -2-10 h: dkrnxknmthcv -12-13 b: bbbbvbsbbbbgcbnb -4-5 m: mmlmmsmmh -3-6 j: njrjjkcr -10-12 x: xxxxwdnxxxxx -14-16 g: hggggggggngggggg -8-9 x: gjqfxxxtxxxb -16-17 f: ffffffffjffkffffmffb -2-8 z: tsktkzfxntrv -2-6 v: hvvswd -1-2 w: xddl -2-6 k: svwvvkqmzwjkx -9-12 p: ppppppppbppspppb -12-19 m: mdjmlhsmxmwcmmmmmmm -3-5 x: rxjxb -17-18 r: rrrrrrrrrrrrrrrrwk -2-9 b: cbfbqcfwbmwd -1-11 h: hhhhhbhhhhmvhhhh -2-3 j: jkjjgjhxj -5-6 f: fffffffffhf -17-18 j: jprvtszvgsbtxlrhljsz -1-4 m: mmhmmmp -2-6 p: xvfkpkc -1-2 f: xqtfcf -1-5 r: brrrrrr -7-10 w: wwhwwwdwwj -1-4 w: vwwdh -1-3 f: hnpvgfwth -10-12 k: kkkkkkkkkdkq -5-13 r: rrpqrrvrqrswzr -9-17 x: xjxxvxvbtxxxtpxpx -12-13 j: njrjkcjgbjjnj -2-4 l: lvll -12-17 p: dpppprpbppnvpppprp -4-18 b: zftbmbxgzfzdvdnvhb -12-16 r: lcqgqjthprlxrzrrx -2-7 m: msclccmxhsmf -3-4 b: bfkb -2-6 k: skfgrk -4-5 q: qqqhhx -6-8 c: cccmvcch -16-17 l: bxnlvbvwzvfvbcmxl -7-12 c: cccccccccccc -6-7 b: bbbbjsjbbbs -2-7 q: phxnfxqrqv -4-5 h: hhhhhh -9-15 n: nqnnglsjnnghxrn -3-4 h: hkkh -5-11 r: rlsjvrrrrrl -5-7 b: bbbbzbwbbbb -2-3 f: qczff -8-14 c: fccqccccccclccccck -1-8 r: rrbfmjsr -4-5 p: dpphz -11-13 d: wdmwkcqddrdvdz -8-15 h: hhhhhhhhhhhhhhhhh -6-10 l: dhgdclhlkltnc -14-15 t: tttntttnthtttzw -4-6 p: pppppdp -13-14 l: dvlnvlgtbpnhll -11-12 s: brsqgfsnpmwskhdnm -6-7 j: httjvjj -2-14 w: wwwfwjzwrzfwnwjwwm -8-9 w: wwrwwwwgt -2-5 r: dvrwb -7-9 b: wwvqbsbjb -1-12 l: lljxlbslwlgn -11-12 m: mmmmmmhmmmwbmkmmt -10-11 l: lblllmllldl -3-9 w: wwpwwwwbfwwwm -9-10 q: pcrqfqlskz -7-9 l: llvlllblklllx -6-7 g: qgggjmwg -5-10 v: vvvvvxbrvvp -9-10 d: hqddgkkdrpdd -17-18 q: qqqqqqqlqqqqqqqqdt -6-10 h: hspnhhzldxphdh -8-13 l: vvvscdnlblllml -6-12 p: ppkrprpxwpppwx -4-5 k: tkslb -7-8 d: hdjdhnzdd -9-10 x: wkxtblgxxjxxlqnfxxlx -8-9 g: rggggggdk -10-20 d: kcgdtbbswwdtvgdgxfwd -3-4 g: gggggg -16-17 l: llnzlqllllzllllmllll -4-10 r: nsrrrbzrfzcrrzrrdqk -4-6 k: kkkkkpkk -4-8 n: nnnmntnnrnnn -12-14 l: lllllllllwlqllll -3-6 r: rrrrrrr -1-6 s: ssskcshsxtd -7-15 d: ndrbdnntdmkddxd -9-10 j: pjjjjgjsjhjj -7-10 k: pkbkkkkkgkq -4-8 m: mmxmmmdmmmmm -9-13 c: ngjcrcccvbcvqdjmph -3-5 q: qqqqqq -7-10 s: fcssnsssssslxspr -3-5 k: kkkkvv -5-10 f: tlbcvgwfzlf -5-9 x: xxxxqxxxx -2-10 q: qrprhbrhjhb -3-4 g: gggmgg -8-10 j: jjjjjjjgjpjjj -2-4 v: dvzvvtfm -7-12 q: zvzqprjhqdcqfzr -12-13 f: ffffffffffffqf -2-3 f: fffsdwq -10-11 z: ztzzjzjzzzlzzz -5-7 k: kkkkqtkkkkk -6-9 z: dfbzhgsrzsp -2-4 b: wpqb -9-15 c: cwchcdhxlqzccxbb -8-11 q: qqxptqqvqrgqg -5-7 t: ttttztcvtjtkts -2-6 n: nnbmdnjxclwkffrnxff -3-7 p: pppppph -9-12 d: xhmfndzcddfddvgddf -1-5 h: hthmhvlthhhhh -6-7 m: mmmmmmm -6-7 j: jjjvjjjrj -1-5 q: mqnqwqqqqqjq -10-11 b: bmbbbdbpbbbbzbb -1-4 k: gvccvdltkwcdd -12-16 s: sssssssssssjssshs -4-10 k: wzvlkmdhcklhdp -10-13 z: zzzzzzzzzfzzj -6-12 g: bmzmvvggpgtm -3-11 m: nvcpfgvnsqmwxmmz -1-5 n: dnwnnnnnnnbndnnn -4-5 h: lhhhh -4-5 g: gggdg -2-5 h: xthqhfj -2-4 f: lfkf -4-6 k: rqbhrtzktmvmrxck -4-5 q: jqdsc -10-11 h: hhhhhhhhhvjh -2-17 r: rrrrrrrprwrrrfjrr -16-17 b: bbbbbbbbbbbbbbbbhbbb -3-5 z: pkvzzfrljrjctw -13-14 w: wwwwwwwjwwwwww -8-10 d: dddddddldzpq -1-4 b: sbbgb -2-10 d: vnhpzmvpcddhs -8-15 t: zftpwtrtqjqtfntp -11-12 j: djjjjjjjcjjcj -4-7 r: jrrtrrrvmzzrrvsl -2-4 r: rpkp -3-4 b: qbxc -10-11 w: wwwwwwfzkdmnwwv -6-14 z: mztxzzztmzwzzqvm -12-14 w: wwwwwwmsgwdwsqwjwww -6-10 f: zfhqjfhnjfdvwsfftf -2-11 q: mwbbqdncdfq -8-11 v: zvtvvwvfvvq -6-8 n: xnwhzmdskwhn -8-15 q: qqqqkqqqqqqqqqst -1-4 n: nnnnn -5-18 c: sqczchcwcccclccccccc -3-4 j: klgr -11-12 m: mmmmmmmmmmmm -2-3 d: qdxfmqwbmdnvj -1-5 m: cmmmm -6-7 l: llllllll -1-9 m: zmmmmmmmlmmmmmmm -9-11 m: dwspwrmjsxpc -5-6 p: qpppfz -10-19 t: fvtphwzsptqzntbkxqt -7-9 m: mpcmpmmmvptmm -3-9 h: hhhpqqwhhtm -11-16 p: pppppppppppppppvp -1-9 k: ktkklkkkkkkk -10-17 q: rthtqvgspqkvfkgkqfhj -11-14 g: ggxgggggxggzggcnggg -3-4 t: tttt -9-10 t: sqtbdttthtttm -1-4 t: ttkbgdzztbxd -3-8 f: gxfcrrsfntftvffnfqff -9-11 q: qqqqqqqjlqqq -12-13 v: vvvvvvvvvvvvk -7-11 b: nbxbbbsmbtkb -7-8 k: kkkkkknn -4-6 j: jjjjlv -13-16 m: mmcmmmmmmmmmmmmvs -7-9 k: kdkkkkrkgkk -1-4 c: crcdlrdbzc -1-16 k: kkkkkkkkkkgmkkktkkk -2-12 l: llllrlllllllll -4-9 g: gggbkgpgz -6-7 q: qqqqqqjq -6-7 v: hvvvvpm -10-14 t: ttfxmqtgtttttbtct -5-7 h: hwhhfrnch -4-13 w: zdlrqvxwwzsfrfq -4-5 h: hhhshhhh -2-4 n: vhjfnz -5-6 s: sssssss -11-13 n: nnwrnnnlnngnn -3-4 s: wbss -3-4 s: wnss -16-17 p: ppfprptkpmzkbjppp -2-4 v: pvxv -8-9 w: swwwwwwhwwnwwwxj -4-6 s: pzhkvss -4-5 x: wnxpx -4-5 f: fsfwp -4-5 z: zzdjz -3-6 v: vnvvvvvvvvvvv -5-6 f: wfxfff -4-7 z: zzzqfzz -3-5 q: qqjqsqqqf -3-7 w: kwwkmww -6-7 h: hhhhhhgh -2-5 v: vvbzvvkn -8-15 r: svrqpqrgrrhmzbms -9-17 n: jnnnncnnnnnxnnnnnp -5-6 n: dgnhsc -5-7 l: lplltbv -4-6 n: mmrnsbcqr -7-8 w: wwjwwwwww -1-16 c: bccccccfcccccccdcc -6-9 l: sjnlmxwllg -3-9 q: cqvhkwhtstwrl -5-9 h: khvxhhhgfchhknhhhz -8-9 c: ccccccccdc -2-19 n: jjxbmbwmnqbblfbgzsz -3-4 p: pppp -1-3 b: jzxbbb -3-6 h: hhhgjhhw -2-8 f: vfxftzkmlzk -11-19 h: mmdptdzhwdbjhvkccrhk -4-14 s: sssvsdpsssssspns -11-12 f: fffffffflfbk -2-13 h: nhbgtbjvbpmrnhf -1-3 t: ttttttttttttttttttm -3-4 t: tsttr -2-9 n: fnkknptqn -1-8 j: qjpjjjjjjtpxjqjw -2-12 c: clccccccccckccc -18-19 f: dpftffzcfhqffddfpff -1-4 j: trjj -9-11 z: zwzmzzczsdd -5-8 g: vrpbggfn -2-5 k: qksvzkj -2-4 f: wfdfjlfwmjrdmxx -4-12 l: bnplnlgqcwql -13-14 n: nqlfdnnnnnnnvbnwnlh -4-8 l: dgxhsrql -10-11 k: qvwcrkxtkjxlq -5-6 g: ckgggg -6-14 h: xbhhvzvxbhhhhhbhkzhh -6-9 w: whwdwrxgc -7-9 b: bbrbnjbfb -7-8 w: brwwkfvwwwww -2-11 g: gmggghngggg -12-17 l: bgslljzntbmvtkbgllgg -12-18 g: gggggggggggkggggggg -1-3 l: gllllllll -14-16 k: jkkqkkgkrkvxkkkkskgb -2-3 v: vljvgnvm -7-8 r: jrjvrprr -7-8 f: xxffrnff -2-18 j: jhjjjjjjjjjtjjfjjpjr -8-9 q: rfllhmnqtrkv -2-3 n: lnndv -2-15 s: hzzsrprnnjlwdfs -1-5 q: vqqqq -9-18 b: gxbpbbppbrbbnlkmbb -2-13 b: bbbbbbbbbbbbpb -6-7 t: mtrftthtttftttztttst -1-7 z: nfzzzzvzzczzzzzzzz -4-12 m: mmmcmmmmmmmmmm -9-11 p: jpswppqbmpfpzpg -10-11 c: ccccccpcccc -2-6 t: ztscdrkxxctdft -3-13 q: mqfqqqqjqqfqdqqq -16-20 z: zzjcxdmzgzzzppbtztzz -5-15 w: wwwpwhwqcwwwwwgw -2-4 p: pczp -5-7 d: ddddmdfd -2-3 f: fftc -1-3 v: vvmv -11-15 k: tjkcvkkkkgkzkkxqv -4-6 b: vdkvbn -7-8 c: wbcjhswc -9-10 l: lllbqrllll -4-5 s: sjnlw -12-14 j: mjtmzfjjtsgvgtq -1-3 l: llrllml -12-13 d: dngddlqdtgdcd -3-5 l: cblhld -3-4 r: trrq -1-3 c: kcccc -9-10 g: bgbgjggpvgpgpggg -3-6 d: szwlfm -13-14 f: ffffffffffffzfff -6-7 d: ddddddddddnnddddr -7-16 h: xmbpwmhsznmldhnxflc -4-6 q: qqqnqqqg -2-7 t: ttwbpmnthmjr -8-16 x: xbcxxbwxxrpxnfxd -2-3 d: dngdd -9-10 n: qkxfdljnnl -4-5 f: ftfffff -12-15 n: nnnnnncnnnnnnnsnn -1-2 d: dkdd -2-5 v: vvvvgv -1-14 v: jvvvvvvvvvvvvmvvv -5-6 r: rrrrrr -2-3 b: bnvbbbtbjgxfchnkhcjb -1-14 g: wjggxgggggggxgmrvcg -1-6 x: bhvxhxxxx -1-2 r: rprr -6-7 c: cccccccqc -4-8 b: bbgplbbcdtbbdbgbbhbz -1-4 w: wjgw -1-3 h: zhzzt -2-11 j: sjjrtjkjhjj -6-7 m: mlmrrmm diff --git a/resources/input03.txt b/resources/input03.txt deleted file mode 100644 index e1bd0f655fb0729445f15cd68aeb4a8e8cd5887c..0000000000000000000000000000000000000000 --- a/resources/input03.txt +++ /dev/null @@ -1,323 +0,0 @@ -.#.......#...........#......... -..##.......#.#.#.....##...#.... -.......#..#.....#...#.......... -...#..........###...#........## -#.#..#.#.##.#........#.#.....#. -#..#....#..#....#.............. -#..#........#.................. -..#.#...#.#...#....#.#.#..#.... -..............#..#............. -.##....#...................#... -........#..........#......#...# -.##..#..#...##..........#...#.. -.#...#....#.........#...#.....# -.#........##............#.#.... -...........#..............##... -.#..#......#..#..............#. -..#.#.#...........#........#... -..###..........#....#.#......#. -.......#...##..........#....... -........#...#.................. -....#....#..#.......#........#. -.......##.#......#.....#...##.. -..#.#........................#. -.#.....#.##..............#.#... -..#.#...#.#..#....#....#....... -.#....##.....#....#........#... -..#...........#.##....#...#.... -..#.##...#....#.#.....##...#... -.......#...####...#...#.......# -.#...#......................... -.......................#....... -.....#.#.........#..........#.# -#.........#............###..#.. -.....#.#.............###....... -...#..#........#.#.......#..... -...................#....#...... -...#..#...#............#..##... -...#.....#....#.......##......# -.....#....#...##..#..#...#...#. -..........#...........#.#.#.... -..#.......#...#.....#......#... -.........#.......##......#..#.# -..#.....#..#.###...#.#......#.. -#....#...#..#...#.....#........ -..#......#..#.......#.#.....#.. -#......#...#......#.....##.#... -........##.......#.......#..... -.#.#...............#........... -..............#...#.#....#..... -....#......#.#..#......#....... -...##....#....#...#............ -.#...............#...........#. -.#.#...#.#.....#.....#...#.#... -...##...........#.....#..#...#. -.#.#...##.#.#......#......#.... -.##.....#.......##....#.#.#.... -.......#...........#....#....#. -....#...........#......#.####.. -......#....#...#...##.......#.. -......................#.#####.. -..#...#.#...#..#..#......#..... -....#........##.......##....#.. -#.#......##.........##.#..#...# -.#.#....#...#..#...#...##....#. -.....##...#....#....#.#........ -......#..#....#.#...#.......... -.........#...................#. -............#.###....#.#....... -...#.#.....#......#....#.#..#.. -..............#..#.#.#.#....... -#..##...................##..... -..#.......#..#.........##..#... -.........##...#......#........# -..#.........#........##.###.#.. -...........#.#....#.....###.... -..#....##.#..#.##....#.....##.. -..#.....#.##..................# -#....#......................... -..............#..#...#.#....... -......#..#.#.##....#..........# -..#.........#.####.....#....... -......#..#.#..........#...#.... -......#.................#..#.#. -.....#..........#.............. -....#.....#............#....##. -.....#.....#........#.......... -............#.....#...#........ -........#....#.#............... -#.....#.........#......#..#.#.. -...#..#......#......#.......#.. -.....#......#.#....#..#...#...# -......................#..##.... -.............#.........###....# -#..............#.#..........##. -...#.#.................##...... -...........#.#.....#........... -.........#.................#.#. -........#........#...#..##...#. -........#......##.......###.... -..............#.#.#............ -.#.....###...##.#......#.....#. -.............#......#.#.#...#.# -..#.........#.......#.....#.... -......#........#...##......#... -.##..........##......#.#.....#. -..#.##....#....#............... -......#...#..#.....#.....#...#. -.......##..##..#............##. -..............#...##........#.. -#....#................#..#..... -........#.......#.#.#...#...... -......#.......#..............#. -#.#..#...#........#....#..####. -..#........#...........#.....#. -.##...........................# -.............#...........#..... -.#.....#.#...#.........#....... -..........#...#....#....#...... -.#..#........##....#........... -.......###......##...#......... -..........#.#.#..#.#....#...... -........##..#.........#....#... -........#.#......#.#...#.#..#.. -....#....................#.##.. -##....#..#...........#.....#.#. -...#..............##...##..#.#. -......#.##.#.......#..#...#.... -....#..#..##.....#.....#.#....# -.......#....##.##.............. -#..##....#.....#.#............. -..................#......#..#.. -..#......#...#..#.......#...#.. -...........#....#.#.....#...... -#..#...##.........###..#......# -.......#......................# -#.......#....................#. -..#..#..........#..#..#....#... -.##..#..#.....#.#..##.......... -#..###.......#..##..#...#..#.#. -.....##......###.....#.#.##...# -..............#...#....#.#..... -#...........#.................. -..............#....#..##..#..#. -.........#.............#....... -.#.#....#....#...............## -.##.##.#.....###.....#......... -....#..............##......#... -....#........##................ -....#.....#....#....##....##... -.#........#......#......#...... -....#..........#............... -##..........#......#.....#..... -........#.#..#.#..#.....##..... -..##......#.#.......#.#..#..... -.#.......#......#...........#.. -..#.#..#.#..................#.. -...#...#...#...##......#....... -.#...##....#...#...#...#....... -.......#.#.......#............. -.#.##.#.....#...........#.##.#. -.#.##.#........#...##.......... -.#.....#.....#....#..#......... -...##.............##........... -.#........##.....#.......#...#. -...........#..#..##........##.. -.....#..#...................... -..#.......#.................... -.....#......#....#....#.......# -........#..#.#.....#......#.... -..........#..#.....#......#.... -..........#####.....#........#. -........#..#...#.#....#......#. -.........#...#....#.#.......... -......#....##..........#...#... -#..............###.#.#......... -.#.#............##......#.#..#. -......#........................ -...#..#......#.......#....#...# -.......#....##.....#.#......##. -...........#..........#..#..... -...........#..#.....###......#. -.......#....#..##......#....... -.........#.#.#.......#..#...#.. -.......#.......##.....##...#... -..............#....#.....#..... -...#....#.....#.#..........##.. -###.........#.............#.... -...##......#.#........#....#..# -#....###.......#...#.#......##. -....#...##.......#......#.....# -.....#......#.................. -#........##....#....#.#........ -........#.......###...#........ -........#..#.......###......... -..............#......#..#...... -#......#.....#....#.#.......... -.#......##.#.#.....#...#.#....# -.##...........#..#.##.....#.... -.....#.....................#... -.#..#...#...##.#...#........... -.......#.......##..#.#..#...... -.......##.....#.....#.......... -.................#............. -#........#..#.......##......... -#...#..###.#..#....#.#.###..... -..#.......#.......#.......#.... -..............#............##.. -.#...#..#...##.........#....#.. -#...........#...#.............. -.......#.....#......#..#.....#. -..........#......#............. -##.........###..##.#....#..#.#. -..............###.............. -#..##.............##.....#..... -....##...................#..#.. -....#.....#..............#..#.# -........#........##...#.....##. -#...........#.##..........##... -#......##.....#...............# -..##..#....#.................#. -#.......##..................... -...............#.##..##......#. -..#.##..#.#....#.......##...... -......##....#............##.... -.#..#..##.....#.##....#........ -#.........#..........#...#....# -...#.......#.............#.#.#. -..##............#...##........# -.......#.#.#........#.......... -.....#.............#.....#..... -.........#.........#.........#. -#.....#....#.......#........... -.........#....#.............#.# -.##..#.......#...#......#...... -....#....#....#........#....#.. -............#.......#..#......# -.#............#.##........##... -..#...##...#....#...#.#...#..#. -#...#..........#..##.........#. -..#.........................#.# -...........#.........#..#.##... -.#..................#..#....... -......#......#...........#..#.. -...##.....#.....#..#.......#... -.........#.#.......#......#.... -...........#................#.. -.....#...#..#............##.... -.#.......#..#....#..........#.. -#.....#..#.....#..##.......##.. -...#.......#...#....#...#.#..## -...#...##......#....#....#..... -.......###.#..#.......#......#. -........#.#...#..#..#...#....#. -....#.........##.#.....#....... -....#.........#..##........#... -..#...........#......#....#.##. -.....................#......... -...................##......#..# -......#.#.....##..##..........# -..#.##........#.#.#..........#. -.#.......#...##.#....#....#.... -#.#......#..#..#.......#....... -.............#........#.......# -....#...#.....#........#...#... -..#..............##..#......... -..#.................#..#...##.. -....#..#...#................... -......#.........##.#..#..#...## -........#..#....#.......#.#.##. -.#...#...........#..........#.. -##.....#...#............##...#. -.##.....#...#.................. -.#.......####.#..##.##.#......# -.............#...#..#..#....... -...#.##.........#.#....#....... -...........##...##....#....##.. -........#......#...#........... -...........#..#...#....#.##.... -..##....#..........#....#...#.. -#....#.#.#.......#.#........... -......#............##.......... -#.#.###..#....#.......#...#.... -.#......##..#..#.#.........#..# -..#.........#........#....#.... -......##.#.......##....#..#..## -.............#...#............# -......#......#...#.#.#.##.#.... -#.#...#.##.....#..............# -..........#.............##.##.. -#......#....#...#.#.#.#..#....# -........#........#...#.#......# -.....#...........#............. -...........#....#..........#... -....####...#..##....#.#........ -.#......#...#..#...........#... -#......###..#.##.###........... -..#...........#.........#....#. -................#.#....#..#.##. -...................#......#.... -....#.#.....#.......#...###.##. -.#........#.#....#...#..#...#.. -....#..###.................#..# -.....#.#..#........#......#..#. -....#.....#...............#...# -............##.#.........#..#.. -.......#..#..##.#.#...##....... -..#..........##..#..#........#. -..............#..#...#......... -......#.#....#........##....... -.#.....##....#..#...#.......##. -..............#.##............. -#..#..#...##....##.#.....##.#.. -..#...###..#.........##........ -........##......#.....#..###... -.....#......##.###............. -....#.....#.#..#.#..#.......... -....#..#.......#...........#... -.#.............#..#......##.... -..#.#......#.#................. -.......#.#.#............#..#... -......###....##............#..# -.........#....#......#......... -..........#...............#..#. diff --git a/resources/input04.txt b/resources/input04.txt deleted file mode 100644 index cecabe26162287d74e0cfc706e175c7bc43bce1c..0000000000000000000000000000000000000000 --- a/resources/input04.txt +++ /dev/null @@ -1,1056 +0,0 @@ -iyr:2013 hcl:#ceb3a1 -hgt:151cm eyr:2030 -byr:1943 ecl:grn - -eyr:1988 -iyr:2015 ecl:gry -hgt:153in pid:173cm -hcl:0c6261 byr:1966 - -hcl:#733820 -hgt:166cm eyr:2025 pid:79215921 byr:1952 iyr:2014 ecl:blu - -eyr:2022 -hgt:165cm hcl:#733820 -iyr:2013 pid:073015801 ecl:oth -cid:101 - -iyr:2013 -ecl:brn hcl:#623a2f -cid:246 byr:1948 pid:122719649 -hgt:160cm -eyr:2026 - -eyr:2028 -pid:229371724 hgt:154cm hcl:#ceb3a1 byr:2000 ecl:hzl iyr:2017 - -eyr:2029 ecl:amb -byr:1980 -hgt:177cm pid:914628384 hcl:#623a2f iyr:2013 - -iyr:2019 -eyr:2026 hcl:#efcc98 pid:475316185 byr:1945 -hgt:76in -ecl:amb - -pid:371759305 iyr:2018 hcl:#623a2f eyr:2026 byr:1984 hgt:174cm - -iyr:2010 pid:184800910 ecl:amb cid:108 eyr:2028 -hcl:#cfa07d - -iyr:2012 hcl:#b6652a hgt:160cm pid:223041037 -eyr:2029 byr:1920 ecl:oth cid:212 - -pid:775975903 -hgt:163cm byr:1966 -eyr:2023 ecl:amb iyr:2010 - -pid:465404256 hcl:#7a54af ecl:blu hgt:180cm iyr:2018 -eyr:2024 byr:1933 - -hcl:#18171d -iyr:2018 hgt:185cm -byr:1929 eyr:2024 -ecl:oth -pid:#b0990a - -byr:2017 -hcl:#cfa07d pid:184cm hgt:187in ecl:#e97c0d iyr:2022 eyr:2013 - -hgt:176cm iyr:2019 eyr:2024 ecl:brn byr:1943 -pid:532967054 hcl:007b47 - -pid:171225044 hcl:#888785 byr:1992 ecl:amb iyr:2012 eyr:2030 -hgt:180cm - -byr:1969 -pid:689216275 iyr:1934 eyr:2031 ecl:#e5bc14 hcl:#fffffd - -pid:166619054 cid:125 hcl:#cfa07d hgt:164cm byr:1946 -ecl:brn iyr:2014 eyr:2023 - -ecl:#c1ae72 pid:458692331 hcl:#b6652a eyr:1966 byr:1951 iyr:2023 - -cid:253 pid:9096156879 hcl:9911e5 -byr:2007 -iyr:2019 eyr:2033 hgt:181cm -ecl:blu - -ecl:oth pid:180428876 iyr:2019 byr:2001 eyr:2024 hgt:172cm hcl:#7d3b0c -cid:81 - -hgt:167cm -byr:2007 eyr:2030 -iyr:1961 ecl:lzr hcl:#cfa07d -pid:#e254d8 - -pid:377737133 hgt:160cm byr:1958 hcl:#866857 ecl:oth iyr:2015 eyr:2022 cid:350 - -hgt:188cm -eyr:2025 ecl:brn hcl:#efcc98 -iyr:2015 pid:321192707 -byr:1996 - -byr:1956 iyr:2018 hcl:#b6652a -eyr:2024 -ecl:blu cid:343 -hgt:152cm pid:192659885 - -hgt:163cm -iyr:2012 byr:1952 eyr:2022 hcl:#efcc98 ecl:grn pid:337866006 - -cid:134 -byr:1941 eyr:2027 ecl:oth -iyr:2012 pid:303690324 hcl:#7d3b0c - -ecl:grn byr:1945 eyr:2028 hcl:#cfa07d iyr:2012 cid:108 pid:388941584 hgt:171cm - -pid:962215061 ecl:brn iyr:2019 eyr:2025 cid:163 hcl:#cfa07d byr:1958 hgt:187in - -ecl:amb -byr:1989 pid:118257086 iyr:2019 cid:320 hgt:158cm eyr:2027 hcl:#733820 - -pid:813286578 -iyr:2019 eyr:2031 hcl:#341e13 hgt:161cm byr:1950 -ecl:oth - -byr:1976 ecl:blu -eyr:2024 -hcl:#fffffd -hgt:153cm pid:552154655 iyr:2019 - -eyr:2025 pid:109518209 iyr:2013 byr:1923 -hgt:162cm -ecl:oth - -hgt:178cm byr:2007 hcl:#7f431f pid:7365694093 eyr:2037 -ecl:blu iyr:2018 - -eyr:2021 -cid:105 iyr:2013 byr:1995 ecl:grn hgt:181cm -pid:733189859 hcl:#b6652a - -hcl:#6b5442 eyr:2028 iyr:2013 byr:1958 hgt:169cm -ecl:gry pid:651263830 -cid:51 - -iyr:2018 cid:59 eyr:2027 ecl:blu -hgt:174cm pid:269821917 byr:1971 - -byr:1936 eyr:2025 ecl:hzl hcl:#b6652a -iyr:2019 -pid:670202082 -hgt:186cm - -byr:1958 -ecl:gry hcl:#7d3b0c pid:000522430 eyr:2020 -hgt:168cm - -iyr:2015 eyr:2022 -pid:630105579 hcl:#7d3b0c byr:1935 -ecl:gry hgt:153cm - -ecl:gry hcl:#fffffd hgt:172cm byr:1944 -eyr:2021 -iyr:2013 cid:58 pid:554670072 - -byr:1983 -eyr:2022 -iyr:2012 hgt:176cm -ecl:brn pid:201965494 hcl:#dd8296 - -cid:124 byr:1935 eyr:2020 ecl:blu -hcl:#a97842 pid:666776663 iyr:2010 -hgt:68in - -byr:1943 pid:139343878 hgt:181cm hcl:#733820 cid:206 iyr:2018 ecl:brn -eyr:2029 - -pid:114742677 -ecl:amb hgt:160cm -byr:1975 eyr:2030 -hcl:#866857 - -iyr:2012 ecl:amb hgt:170cm pid:221200950 eyr:2028 -hcl:#733820 cid:274 - -eyr:2020 -pid:167438086 iyr:2020 hcl:#fffffd hgt:178cm byr:1996 -ecl:blu - -iyr:2015 hcl:#b6652a -pid:905439259 -byr:1962 cid:209 ecl:brn hgt:150cm eyr:2024 - -iyr:2016 ecl:amb -pid:855119486 -cid:77 -hgt:192cm byr:1947 eyr:2021 hcl:#888785 - -hcl:#341e13 -iyr:2011 hgt:157cm eyr:2030 -pid:103806645 cid:90 ecl:grn byr:1976 - -hcl:#fffffd byr:1957 -cid:284 eyr:2026 -pid:031705251 iyr:2019 -hgt:166cm - -eyr:2019 byr:2019 hgt:167in -iyr:2014 ecl:gmt - -hcl:#18171d cid:93 -eyr:2027 -iyr:2013 -pid:821161144 ecl:brn byr:2002 hgt:170cm - -hgt:181cm -byr:1972 iyr:2018 hcl:#fffffd -pid:745667222 eyr:2023 -ecl:hzl - -hcl:#602927 byr:1996 ecl:blu pid:503245375 -hgt:166cm eyr:2028 iyr:2018 - -hgt:59in byr:1966 -ecl:oth iyr:2016 eyr:2029 hcl:#866857 - -cid:179 iyr:2012 hgt:182cm eyr:2024 pid:451186596 hcl:#6b5442 ecl:blu - -eyr:2023 iyr:2016 -hcl:#18171d hgt:173cm cid:182 pid:979409688 ecl:brn byr:1972 - -iyr:2014 eyr:2027 byr:1977 ecl:brn hgt:171cm hcl:#b6652a pid:124307431 - -byr:1929 pid:048990845 ecl:hzl hgt:193cm cid:159 hcl:#b6652a eyr:2028 - -ecl:gry hgt:181cm iyr:1934 byr:1970 -eyr:2015 pid:5818817055 cid:98 - -hgt:179cm -iyr:2014 -eyr:2030 -pid:397317466 byr:1967 -hcl:#a97842 -ecl:grn - -pid:138485312 ecl:hzl -hgt:151cm -iyr:2010 hcl:#866857 byr:1936 cid:345 eyr:2021 - -ecl:oth -pid:687490850 eyr:2028 hcl:#9bd268 hgt:157cm iyr:2012 byr:1994 - -byr:1933 pid:575158994 hgt:192cm iyr:2017 eyr:2022 hcl:#602927 -ecl:gry - -iyr:2012 -hcl:#7d3b0c -ecl:oth -eyr:2023 pid:615952261 byr:1959 -hgt:152cm - -byr:2010 -iyr:2011 hcl:z ecl:grn hgt:152cm pid:6079261766 - -hcl:#18171d iyr:2012 -byr:1986 ecl:blu -pid:836367740 hgt:191cm eyr:2024 cid:200 - -ecl:blu pid:909247319 iyr:2019 eyr:2026 byr:1958 -hgt:170cm -hcl:#b6652a cid:256 - -eyr:2027 hcl:#efcc98 iyr:2010 hgt:191cm ecl:brn byr:1933 - -byr:1921 -pid:414637667 hcl:#8d840f cid:291 iyr:2013 ecl:amb eyr:2029 hgt:172cm - -byr:1961 iyr:2020 eyr:2025 pid:675731511 hgt:71in -ecl:blu hcl:#623a2f - -byr:1959 iyr:2002 -hcl:#ceb3a1 eyr:2027 ecl:#633ff4 -pid:815877728 - -ecl:gry pid:812104470 byr:1938 -hgt:70cm -eyr:2028 cid:285 iyr:2016 hcl:#b6652a - -cid:99 hgt:152cm byr:1971 -eyr:2020 hcl:#733820 -ecl:gry -iyr:2012 pid:020521112 - -pid:803066169 hgt:157cm iyr:2014 hcl:#b6652a eyr:2025 ecl:brn byr:1981 - -hcl:fafcd9 eyr:2021 -hgt:76in -pid:359286290 cid:207 iyr:2018 ecl:grt - -pid:179471060 byr:1966 ecl:amb hcl:#18171d eyr:2029 iyr:2015 hgt:190cm - -hcl:#efcc98 ecl:gry -byr:1942 -eyr:2026 iyr:2011 -hgt:158cm pid:721512314 - -ecl:oth eyr:2024 hcl:#8bc738 -hgt:167cm iyr:2014 pid:729168992 - -hcl:#b6652a -pid:179977662 -iyr:2018 -ecl:gry -byr:1973 -hgt:155cm -cid:126 eyr:2030 - -byr:2012 eyr:1955 hcl:z iyr:1981 pid:#66167e hgt:175in ecl:grt - -hgt:154cm cid:301 iyr:2010 hcl:#7d3b0c pid:573851812 ecl:grn eyr:2030 - -pid:601712917 ecl:hzl eyr:2001 cid:70 hgt:162cm hcl:#6b5442 iyr:2018 -byr:1959 - -hgt:183cm byr:1996 eyr:2023 hcl:#866857 iyr:2018 pid:259910953 ecl:brn - -pid:751991211 hcl:z iyr:2015 eyr:2024 byr:1939 ecl:oth hgt:161cm - -eyr:2026 byr:1947 -ecl:grn iyr:2018 cid:248 hcl:#ef5900 hgt:66in - -iyr:2028 eyr:1994 pid:9211015765 -ecl:amb -hcl:cd429d -byr:2013 -hgt:176cm - -hgt:193cm ecl:amb eyr:2023 -iyr:2020 byr:1933 -cid:50 -hcl:#efcc98 pid:482745318 - -byr:2014 pid:619629999 -ecl:oth hgt:159cm eyr:2027 iyr:2018 hcl:#b6652a - -hcl:#b6652a eyr:2028 byr:1921 -ecl:blu -pid:866536313 hgt:185cm iyr:2020 - -eyr:2027 pid:904225608 iyr:2010 cid:57 hgt:161cm hcl:#83ee3c ecl:gry byr:2001 - -byr:1968 pid:120450875 iyr:2018 hgt:165cm ecl:grn eyr:2022 hcl:#7d3b0c - -hcl:#a97842 byr:1964 -eyr:2027 ecl:oth hgt:186cm iyr:2010 -cid:226 pid:632344779 - -pid:135449714 -cid:348 iyr:2019 -hcl:#602927 -ecl:oth eyr:2029 -hgt:184cm byr:1992 - -eyr:2027 -byr:1929 hgt:181cm hcl:#fffffd iyr:2019 pid:369478657 -ecl:blu - -hgt:177cm eyr:2021 iyr:2016 ecl:gry byr:1938 hcl:#602927 pid:034365656 - -iyr:2020 hcl:#866857 -eyr:2028 -pid:183612456 ecl:#9e25d3 hgt:159cm byr:1934 - -pid:664990234 hcl:#efcc98 cid:185 iyr:2018 -ecl:brn -hgt:192cm -byr:1942 -eyr:2029 - -eyr:2027 -hgt:163cm pid:760854338 cid:228 -byr:1958 iyr:2014 -hcl:#efcc98 ecl:gry - -iyr:2014 -hcl:#18171d hgt:157cm ecl:amb eyr:2025 byr:1957 pid:347369874 - -pid:013801431 byr:1999 -hgt:181cm eyr:2029 -ecl:amb iyr:2010 -hcl:#b6652a - -hgt:153 eyr:2030 byr:2022 -hcl:z cid:84 ecl:hzl iyr:2020 - -cid:315 iyr:2011 -hgt:151cm hcl:#ffb5f9 -pid:427813663 byr:1999 ecl:brn eyr:2025 - -eyr:2024 -cid:205 byr:2000 iyr:2020 hgt:173cm ecl:gry - -eyr:2026 byr:1996 iyr:2018 ecl:grn hgt:158cm pid:026432567 hcl:#602927 - -iyr:2014 -ecl:hzl -byr:1964 eyr:2020 hgt:184cm pid:031793197 hcl:#fffffd - -ecl:oth hgt:165cm byr:1982 pid:172329608 hcl:#733820 -iyr:2019 -eyr:2020 cid:347 - -byr:2014 iyr:2011 hgt:179cm -hcl:z eyr:2020 ecl:grt -cid:134 - -ecl:gry -iyr:2011 hcl:#a97842 -byr:1942 pid:789953865 cid:172 hgt:180cm eyr:2027 - -hgt:179cm pid:975853536 -iyr:2018 byr:1989 hcl:#602927 -eyr:2021 ecl:amb - -byr:2011 -iyr:2015 -ecl:oth -hcl:85d233 cid:207 eyr:2020 hgt:138 pid:6169876 - -ecl:hzl eyr:2029 hcl:#efcc98 -hgt:188cm iyr:2018 cid:143 byr:1973 - -hcl:#ceb3a1 pid:762609805 -byr:1962 -hgt:150cm -iyr:2016 eyr:2024 ecl:oth - -iyr:2012 -pid:181821528 byr:1922 ecl:gry hcl:#a97842 hgt:169cm eyr:2028 - -eyr:2029 pid:776605704 byr:1964 hgt:175cm hcl:#623a2f ecl:grn -iyr:2011 - -byr:1989 iyr:2019 -ecl:gry pid:397990288 -hcl:#602927 hgt:67in eyr:2030 -cid:259 - -hcl:#866857 iyr:2018 ecl:blu byr:1938 cid:227 eyr:2028 hgt:171cm -pid:779192850 - -byr:1974 hcl:#cfa07d eyr:2026 hgt:59in cid:51 iyr:2019 -ecl:oth pid:091591737 - -byr:1952 cid:301 pid:804465935 hgt:152cm eyr:2025 hcl:#888785 -iyr:2013 ecl:hzl - -hcl:6a32f0 eyr:2027 -iyr:2014 -ecl:amb byr:1933 cid:185 -hgt:75cm - -byr:1945 hcl:#b6652a -hgt:163cm ecl:brn eyr:2025 iyr:2015 pid:829875350 - -byr:1940 hgt:174cm iyr:2014 pid:9989523268 ecl:gry eyr:2026 -hcl:#efcc98 - -iyr:2011 ecl:lzr -byr:1998 hgt:182cm -eyr:2029 hcl:z - -pid:091142801 -hcl:#c0946f byr:1983 ecl:blu iyr:2017 hgt:183cm eyr:2027 - -ecl:oth iyr:2011 hgt:158cm byr:1950 pid:902512428 hcl:#623a2f eyr:2028 - -eyr:2020 -iyr:2020 -ecl:oth byr:1938 hcl:#d5eb7e -pid:829945241 hgt:171cm - -byr:1971 -pid:998912876 eyr:2022 -iyr:2012 hcl:#cfa07d cid:338 ecl:brn -hgt:183cm - -ecl:amb hcl:#7d3b0c pid:331124964 iyr:2013 byr:1945 hgt:189cm eyr:2028 - -pid:012740434 iyr:2019 -byr:1998 -hgt:172cm eyr:2028 -cid:102 hcl:#866857 -ecl:amb - -hcl:#866857 -eyr:2027 hgt:181cm byr:1954 ecl:blu -iyr:2010 -pid:211721858 - -byr:1984 pid:876360762 hgt:72cm -eyr:2040 hcl:a60c15 iyr:1948 ecl:lzr - -hgt:167cm byr:1930 ecl:oth pid:740024142 eyr:2024 hcl:#341e13 -iyr:2018 - -byr:1968 hcl:#623a2f ecl:brn -cid:210 hgt:155cm -iyr:2017 pid:216618180 eyr:2024 - -byr:1966 pid:131332466 hgt:174cm ecl:amb -hcl:#733820 -iyr:2013 eyr:2023 - -eyr:1985 -pid:#fde6c1 -hcl:z byr:2017 iyr:2027 hgt:163cm - -iyr:2016 ecl:hzl hgt:171cm -hcl:#888785 pid:390140479 byr:1976 - -cid:327 eyr:2023 byr:1954 -hgt:192cm iyr:2012 -pid:413357852 ecl:blu - -iyr:2014 ecl:hzl hgt:154cm byr:1962 pid:904474869 hcl:#6b5442 eyr:2023 - -ecl:hzl iyr:2012 eyr:2027 pid:663644982 hgt:175cm cid:56 -byr:1980 hcl:#ceb3a1 - -eyr:2020 iyr:2012 hgt:190cm byr:1993 hcl:#a97842 -ecl:amb pid:418635216 - -pid:845398140 -byr:1933 iyr:2016 ecl:oth eyr:2024 hcl:#cfa07d hgt:169cm - -eyr:2040 hgt:161cm -byr:2018 ecl:blu -iyr:2022 hcl:#866857 cid:252 -pid:286344655 - -hcl:#6b5442 -eyr:2027 -hgt:191cm iyr:2012 -pid:642929864 ecl:amb byr:1934 - -iyr:2015 hcl:#cfa07d ecl:grn -eyr:2029 pid:163012663 hgt:150cm - -eyr:2030 byr:1938 hgt:188cm iyr:2018 -pid:652645847 hcl:#b6652a ecl:grn - -pid:157056211 iyr:2010 hcl:#cfa07d ecl:gry -eyr:2024 byr:1961 hgt:177cm - -eyr:2020 hcl:#60945e ecl:brn iyr:2011 pid:688090869 hgt:171cm -byr:1941 - -eyr:2023 hgt:188cm byr:1964 hcl:#7d3b0c ecl:gry iyr:2017 - -byr:1996 -hcl:#733820 pid:142902538 -eyr:2023 iyr:2012 ecl:oth -hgt:166cm - -hgt:62in cid:125 eyr:2022 hcl:#b6652a iyr:2011 -ecl:amb pid:220826562 - -ecl:grn hgt:72in byr:1991 eyr:2020 pid:281076310 hcl:#6b5442 - -iyr:2030 hgt:78 eyr:1966 byr:2008 cid:260 ecl:grt hcl:5d2e21 - -iyr:2017 pid:388674097 byr:1950 ecl:grn cid:338 -hgt:159cm -hcl:#6b5442 -eyr:2025 - -hgt:92 eyr:2031 cid:52 pid:169cm hcl:2695be -iyr:1987 -byr:2011 - -pid:396358436 hcl:#ceb3a1 -byr:1976 eyr:2025 -iyr:2012 ecl:brn -hgt:174cm - -pid:389292752 -eyr:2027 cid:335 hgt:65in byr:1974 hcl:#6b5442 ecl:oth iyr:2019 - -ecl:amb iyr:2010 hcl:#602927 hgt:164cm byr:1966 pid:749383114 eyr:2026 - -pid:656206688 -hgt:175cm -hcl:#6b5442 byr:1961 eyr:2028 -ecl:amb iyr:2010 - -hgt:179cm eyr:2028 byr:1958 -pid:095076581 ecl:gry -hcl:#733820 -iyr:2017 - -byr:1960 -cid:309 ecl:utc iyr:2012 -hgt:172cm pid:395100903 -eyr:2030 hcl:#cfa07d - -eyr:2021 cid:98 pid:387957353 byr:1941 -hgt:192cm -hcl:#efcc98 ecl:brn - -pid:143359781 -hcl:#a97842 -byr:1996 -hgt:184cm eyr:2020 cid:319 ecl:blu iyr:2020 - -eyr:2025 iyr:2013 hgt:154cm hcl:#b6652a ecl:oth byr:1979 pid:976151938 - -iyr:2017 -hgt:118 ecl:#f0f31e -eyr:2028 -hcl:z - -iyr:2016 hgt:153cm hcl:#6d55cd eyr:2026 ecl:hzl byr:1943 pid:257485710 cid:165 - -hcl:#ceb3a1 ecl:blu byr:1937 hgt:152cm iyr:2020 eyr:2026 pid:032844291 - -hcl:#fffffd byr:1937 pid:122104515 ecl:hzl -iyr:2018 -eyr:2027 hgt:163cm - -byr:1987 pid:052848077 hcl:#341e13 -iyr:2015 hgt:172cm eyr:2022 - -pid:897642631 iyr:2015 byr:1941 hcl:#733820 ecl:brn eyr:2020 hgt:179cm - -hcl:#7d3b0c ecl:grn eyr:2029 pid:232785519 cid:258 iyr:2013 byr:1999 - -hgt:152cm ecl:gry hcl:#18171d eyr:2020 byr:1971 iyr:2020 pid:211826434 - -hcl:#866857 -eyr:2022 pid:979633771 ecl:hzl iyr:2014 byr:1963 - -cid:124 -ecl:utc hgt:77 hcl:#866857 -byr:1979 iyr:2013 -pid:92518200 eyr:1968 - -hcl:#888785 eyr:2022 pid:233642738 byr:1959 hgt:191cm -ecl:blu iyr:2010 - -pid:#adbcd3 ecl:zzz eyr:2025 cid:129 byr:2028 hcl:z hgt:166cm iyr:2011 - -cid:131 hgt:169cm -iyr:2020 -byr:1994 -eyr:2021 -ecl:amb hcl:#c0946f -pid:243158461 - -hcl:#18171d byr:1980 ecl:oth hgt:153cm eyr:2028 iyr:2020 pid:629055498 - -hcl:#b6652a -hgt:152 ecl:blu pid:175cm iyr:2015 byr:1941 eyr:1961 - -eyr:2025 hcl:#7d6ede byr:1988 -hgt:150cm -ecl:hzl cid:267 -pid:794369607 -iyr:2012 - -pid:538963835 -ecl:oth byr:1958 -hgt:173cm -eyr:2027 cid:63 -iyr:2018 hcl:#602927 - -hcl:#866857 -hgt:163cm byr:1925 iyr:2011 -ecl:oth -eyr:2023 cid:163 - -ecl:grn pid:411555227 byr:1974 eyr:2020 hgt:153cm iyr:2015 hcl:#a97842 - -cid:111 pid:473064654 byr:1948 -ecl:brn iyr:2013 -hcl:#16fa7a -eyr:2024 hgt:184cm - -iyr:2016 hgt:170cm byr:1993 pid:487807940 hcl:#efcc98 eyr:2024 ecl:gry - -hcl:#a97842 pid:891517350 iyr:2012 -byr:1937 -ecl:amb -eyr:2030 -hgt:171cm - -cid:330 ecl:gry -hgt:163cm eyr:2021 -hcl:#733820 byr:1991 pid:109734880 - -ecl:brn iyr:1934 eyr:2021 -hgt:62 -hcl:z pid:720470429 - -ecl:blu -pid:669045673 iyr:2015 -hgt:164cm -hcl:#866857 - -hgt:158cm hcl:#623a2f byr:1950 -eyr:2020 ecl:gry pid:708073090 -iyr:2018 - -hgt:158cm iyr:2017 eyr:2027 -ecl:brn pid:840573419 hcl:#18171d byr:1968 - -ecl:oth cid:81 hcl:#ceb3a1 eyr:2021 -iyr:2020 byr:1959 -hgt:62in -pid:634019849 - -hgt:180cm pid:651174767 iyr:2013 byr:1948 eyr:2022 hcl:#efcc98 ecl:grn - -eyr:2021 ecl:grn -cid:95 hcl:#733820 iyr:2016 hgt:174cm byr:1931 - -hcl:90e96c eyr:1948 ecl:zzz -byr:1984 pid:8325286529 -hgt:59in -cid:180 - -cid:293 hgt:193cm ecl:oth hcl:#602927 -eyr:2021 byr:1959 iyr:2016 - -pid:425216058 -hcl:#7d3b0c hgt:67in ecl:blu eyr:2022 -iyr:2016 byr:1936 cid:182 - -ecl:#c93c79 byr:2021 iyr:2021 -hgt:69cm pid:#fa092e eyr:2040 - -hcl:#733820 iyr:1964 -hgt:190cm -pid:121828083 byr:2028 ecl:blu eyr:2030 - -byr:1986 -eyr:2023 ecl:hzl hcl:#c0946f hgt:152cm pid:750393977 cid:308 iyr:2015 - -hgt:152cm byr:2004 hcl:z eyr:2038 ecl:#e92725 iyr:2023 pid:55783937 - -ecl:grn eyr:2023 hcl:#7d3b0c byr:1940 iyr:2017 pid:312213917 hgt:166cm - -ecl:grn pid:293691668 -byr:1949 hgt:60in -eyr:2021 -hcl:#efcc98 iyr:2017 - -iyr:2018 hgt:156cm ecl:oth -hcl:#ceb3a1 -pid:622764582 eyr:2020 cid:124 - -eyr:2021 -pid:146888876 byr:1962 iyr:2010 cid:63 ecl:amb hgt:188cm hcl:#a97842 - -pid:861542171 hcl:#866857 -ecl:brn -iyr:2010 byr:1975 -eyr:2020 - -hgt:157cm hcl:#18171d eyr:2022 byr:1936 iyr:2014 pid:478341738 ecl:amb - -ecl:brn -eyr:2026 -pid:553753060 hgt:186cm -iyr:2019 -hcl:#623a2f -byr:1991 - -iyr:2018 ecl:blu hcl:#cfa07d hgt:162cm byr:1924 pid:721804049 eyr:2023 - -byr:1970 hgt:181cm eyr:2027 ecl:hzl pid:171cm iyr:2012 hcl:#5f4282 - -cid:52 -ecl:blu iyr:2011 -pid:027908077 hcl:#b6652a hgt:158cm -byr:1986 - -pid:160cm hcl:91324c eyr:2034 iyr:2015 -byr:2021 -hgt:175in ecl:brn - -cid:164 iyr:2014 byr:1948 hgt:163cm pid:701930596 ecl:gry -eyr:2020 hcl:#733820 - -byr:1951 hcl:#fffffd pid:456803587 hgt:157cm ecl:blu iyr:2010 eyr:2020 - -ecl:#663e48 -pid:9157891148 hgt:66cm iyr:1989 -byr:1932 - -byr:1993 -hgt:167cm -ecl:amb iyr:2010 hcl:#3da943 pid:340209998 eyr:2021 - -byr:1968 -eyr:2021 pid:915482982 hcl:#84a907 iyr:2020 hgt:176cm ecl:grn - -hgt:190 ecl:oth hcl:#6b5442 -byr:2023 -pid:5211866539 -iyr:2028 cid:276 - -hcl:#ceb3a1 hgt:177cm byr:1966 -pid:#9f5b93 -iyr:2002 eyr:1958 -ecl:oth - -hcl:#888785 eyr:2025 iyr:2017 -hgt:187cm pid:856993600 ecl:oth - -hgt:186 -hcl:z -eyr:2025 -byr:2013 pid:6869591443 ecl:oth - -iyr:2015 pid:317156655 cid:144 -hgt:151cm hcl:#623a2f ecl:brn -byr:1966 eyr:2021 - -ecl:hzl pid:161653223 eyr:2026 iyr:2017 byr:1980 -hcl:#18171d - -iyr:2009 -pid:618443261 -byr:1989 hcl:#23ef8c eyr:2026 hgt:167cm ecl:grn - -ecl:oth -hcl:#fffffd iyr:2018 eyr:2022 pid:953490888 - -eyr:2026 hcl:#c0946f hgt:165cm iyr:2016 byr:1921 -ecl:blu pid:490419824 - -hgt:150cm hcl:#b6652a ecl:brn byr:1937 iyr:2013 pid:824096447 eyr:2027 - -ecl:amb -hcl:#733820 byr:1997 iyr:2015 cid:269 hgt:96 eyr:2022 pid:475968048 - -byr:1985 hgt:186cm eyr:2022 ecl:gry -pid:050842095 iyr:2014 - -ecl:hzl byr:1942 cid:294 hgt:191cm pid:768437232 -eyr:2024 hcl:#623a2f - -byr:1974 eyr:2022 hcl:#afb1a8 ecl:oth -hgt:159cm -cid:252 -pid:619988658 iyr:2018 - -ecl:oth eyr:2029 hgt:175cm -pid:548668762 byr:1982 iyr:2020 hcl:#c0946f - -ecl:gry hcl:#18171d -hgt:166 pid:#3f6172 iyr:1978 -eyr:2031 byr:2021 - -byr:1933 hcl:#c0946f ecl:gry eyr:2028 -pid:594772420 -hgt:167cm -iyr:2020 - -cid:332 hcl:#623a2f iyr:2018 pid:706055429 byr:1971 eyr:2022 ecl:gry - -hgt:187cm hcl:#888785 -pid:224041851 eyr:2029 -ecl:blu iyr:2012 byr:1991 - -ecl:#9c38d0 -hgt:161in -hcl:099d45 byr:2015 eyr:1994 -pid:2730108307 -iyr:2024 cid:229 - -hgt:184cm ecl:grn byr:1938 pid:996091727 -cid:115 -hcl:#866857 iyr:2020 eyr:2020 - -pid:883396674 iyr:2019 -eyr:2023 ecl:blu -byr:1979 hcl:#733820 cid:125 -hgt:181cm - -hgt:190cm cid:325 hcl:#866857 eyr:2027 ecl:gry -iyr:2013 pid:317703100 byr:1968 - -hcl:#866857 -ecl:gry pid:652638412 -eyr:2025 iyr:2015 hgt:158cm byr:1953 - -byr:1956 -hcl:#cfa07d eyr:2025 -pid:728272575 hgt:162cm -cid:291 ecl:blu iyr:2020 - -hgt:189cm byr:1980 hcl:#97fd64 ecl:grn iyr:2013 -pid:181599378 eyr:2029 - -iyr:2018 -hcl:#007101 ecl:brn byr:1947 cid:265 hgt:159cm pid:288707610 eyr:2024 - -hgt:62cm pid:2407695078 -eyr:2039 byr:2014 -iyr:1930 hcl:z -ecl:grt - -hgt:65cm -ecl:hzl -byr:1994 eyr:2004 hcl:z cid:130 pid:863191800 - -pid:125685599 byr:1995 -ecl:blu cid:57 hgt:172cm -iyr:2020 -hcl:#b6652a -eyr:2024 - -ecl:gry byr:1961 -iyr:2010 eyr:2022 pid:591409441 -cid:314 -hcl:#341e13 - -iyr:2020 -ecl:hzl hcl:#efcc98 byr:1983 hgt:174cm -eyr:2028 - -eyr:2029 byr:1924 iyr:2013 pid:662719101 -ecl:amb cid:77 - -ecl:oth -iyr:2013 byr:1947 pid:532607157 hcl:#7d3b0c eyr:2030 hgt:191cm - -pid:528940525 hcl:#18171d -iyr:2014 eyr:2029 cid:181 -byr:1967 -ecl:gry hgt:64in - -hgt:71in iyr:2019 hcl:#cfa07d eyr:2029 -pid:785691813 -byr:1996 ecl:hzl cid:335 - -byr:2015 -pid:174cm hgt:79 hcl:z iyr:1970 cid:66 eyr:1993 ecl:lzr - -hgt:188cm -eyr:2025 cid:107 ecl:grn -pid:286480470 hcl:#623a2f byr:1967 -iyr:2015 - -eyr:2027 hcl:#7d3b0c cid:287 -pid:319840760 iyr:2017 hgt:179cm ecl:gry - -byr:1976 ecl:brn iyr:2020 eyr:2023 hgt:154cm pid:964286153 - -iyr:2015 eyr:2027 hgt:173cm byr:1983 pid:500176757 ecl:amb hcl:#7d3b0c - -cid:282 pid:697942299 hgt:185cm -eyr:2026 hcl:#7d3b0c iyr:2017 byr:2002 ecl:amb - -iyr:2014 hcl:#18171d pid:044482202 -ecl:oth -hgt:163cm eyr:2021 byr:1982 - -ecl:gry hcl:#7d3b0c -iyr:2019 eyr:2020 hgt:187cm -pid:617117265 - -eyr:2035 -ecl:#5525a9 cid:123 byr:2009 pid:15381071 iyr:2028 -hcl:#b6652a - -eyr:2021 hgt:165cm cid:207 -iyr:2010 ecl:gry -byr:1929 hcl:#733820 pid:442632632 - -pid:69132960 cid:84 hgt:107 eyr:2023 -ecl:gmt iyr:2016 -hcl:z -byr:2020 - -eyr:2027 pid:281765118 hcl:#ceb3a1 hgt:193cm -byr:1955 ecl:gry cid:321 iyr:2010 - -ecl:brn hgt:71in -cid:189 byr:1962 eyr:2023 iyr:2018 pid:780797141 hcl:#866857 - -pid:984503466 ecl:amb hgt:192cm byr:1942 hcl:#dcc50d iyr:2020 eyr:2030 cid:250 - -hcl:#7d3b0c eyr:2028 -hgt:178cm -ecl:gry -iyr:2011 -byr:1923 -pid:960277768 - -byr:2000 ecl:amb cid:199 eyr:2027 iyr:2020 pid:785585164 hcl:#888785 -hgt:164cm - -iyr:2015 pid:619005249 -ecl:brn byr:1955 eyr:2028 -hgt:183cm -hcl:#a97842 - -ecl:grn -byr:1970 cid:339 -iyr:2011 hcl:#a97842 pid:952307953 eyr:2027 hgt:159cm - -hcl:ff4451 iyr:2022 -byr:1972 ecl:#86cbc5 pid:29044223 eyr:1985 -hgt:62cm - -hcl:#623a2f iyr:2013 eyr:2023 hgt:164cm byr:1956 -ecl:oth - -eyr:2028 hcl:#733820 pid:767003752 byr:1935 hgt:167cm iyr:2016 -ecl:oth -cid:215 - -cid:125 ecl:amb -iyr:2019 hcl:#18171d eyr:2022 hgt:163cm -pid:239764055 -byr:1954 - -ecl:gry -iyr:2019 hcl:#cfa07d byr:1929 pid:221011852 -cid:274 eyr:2026 hgt:158cm - -hcl:#a97842 iyr:2016 hgt:159cm -byr:1998 ecl:hzl eyr:2020 cid:207 - -pid:051242790 -iyr:2024 -byr:1975 hcl:#602927 -ecl:grn hgt:160cm eyr:2014 - -ecl:#0b3ea5 hcl:z pid:#122ff0 -byr:2007 -hgt:178 iyr:2013 -eyr:1950 - -hgt:171cm hcl:#cfa07d pid:674448249 -ecl:hzl eyr:2026 -cid:297 byr:1928 - -ecl:hzl eyr:2021 hcl:#b6652a pid:856617617 -byr:1949 -hgt:153cm iyr:2015 - -hgt:164cm ecl:gry -eyr:2025 -pid:147932207 iyr:2011 byr:1984 hcl:#fffffd - -eyr:2027 hcl:#7d3b0c -pid:377701492 ecl:gry byr:1971 hgt:174cm -iyr:2023 - -byr:2001 hcl:#4784a2 hgt:161cm iyr:2014 eyr:2025 pid:955262336 -ecl:amb diff --git a/resources/input05.txt b/resources/input05.txt deleted file mode 100644 index 17dfa0b17f1390a7319a15ec730cdc959fa9700b..0000000000000000000000000000000000000000 --- a/resources/input05.txt +++ /dev/null @@ -1,859 +0,0 @@ -BBFFBFFRRR -FBBFFBBLRR -FFBFBFBRRR -FFFBFBFRRR -BBFFBBFLRR -BFFBFBFLRL -FBBBBBFRRR -FFFFBFFLLR -BFBFFBFLLR -FFBBFFFLRR -BFFFFFFLLL -FBFFBFFRLL -FFBFFBFRLR -FBBBFBFRRR -FBFFBBBRRL -FBFFBFFLRL -BFBBFFFLLL -FBBFBFBRRL -BFFBFFFLRR -FFFFBFFRLR -FFFBBBFRLR -FBFFFBFLLL -BFBFBBBLRR -FBBBFFBRLR -BBFFFFFLLL -BFFFFBFRRL -FBBBFBFRRL -FFBBBFBRLR -FFFFBBFLLL -FBFBFBBRLL -BFFFBFBRLL -FFBFBFBRLR -FBFFFBBRLR -BBFFFBBLRR -BFFBBFFRRL -BFBBBFFRRR -FFBFBFFRRL -FBFBBFBLLR -BFFBFBBRRR -BFFFFBFLLR -FFFBFFFRRR -FBFFFBFRLR -BFBFFBFRLR -FBBBFFFLLR -FBBFFBFLLL -BFBBFBFLLR -FFBFBBFLLL -BFFFBFBLRL -FBBFBBBLLL -FFFBFFBLLR -BFFFFFFRRR -BFBBBBFRRL -FFBFBBFRLL -FBBBFBBLRL -BFFBFBFLRR -BBFFFBFRRL -BFFBBFFLRR -BFBFFFFLLR -FBFBFFFLRR -BFBBFBBLRL -FBFBFFFRLR -FFBBBFFRLR -BBFBBFFRLR -BFFFFBBRLL -FFFBFBBLRR -FFFFBFBRRL -BFFBFBFRRL -FBFFBBBRRR -BFBBFFBLRL -FFBBFFFLLL -FBFBBFBRRR -FBBBFFFLRL -FBBFFBFLRR -FBBBBBFRRL -BFFFBBBLRL -FFFBBFBRLL -FFFFFBBLLR -FFBFBBBRLL -FFBBFBFLLR -FBFBBFFLLL -FFFBFFBRLL -BFBBFBFRLR -BFBFBBFRRL -FFFBFFFLRL -FBBFBBFRLR -BFFBFFBRRL -BBFFFBBRLR -FBBBBBFRLL -FFBBFFFRLL -BBFBFBBRLR -FFBBBFFLLR -BFBBBBBLLL -FFFBFBBLLL -FBFFBFFRRL -FBFBFFBLLL -BFFBBBFRRL -FBBBBBFLLL -FBFBBFBLRR -FFBBBBFLLR -BBFFBFFRRL -FBBBBBFLRR -FBFFFFFRLR -FBFFBBFLLR -FFBBBFBLRR -BFFFBBBRRL -FBFBFBFRRL -FFFBFBBRLL -FFBFBFBLRL -FBBBFBBLLL -FBBBFBFLRL -FBBBBFFLRL -FBFBBBBRLR -FBBFFBFLLR -FBFFBBFLRR -FBFFFBBLLL -BBFFBBFRRR -FBBFBBBRLL -BFFBBBFLLR -FBFFFFFLRR -FBFFBBFRRL -BFFBBFBLLL -FBBBFBBLLR -FBBBBFBLRL -FBBBFFFRRR -FFFFBBFRRR -BFBFFFFRRR -BFBFFBBLRL -BFFFFFBLLR -BFBBFFFRRR -FBFFFBFRRL -BFFBBFFLRL -FFFBFFBRRL -FFBFBFBLLL -FFBFBFFLLL -BBFFFBBRRR -FFFFFBFLRL -BFBFFFBLRL -BFBFBFFLRR -BFFBBBBRLL -BFFFBFFRRR -BBFBFFBRLL -FBFFFBBRRL -FFBBFBBRRL -FFBFFFFLLR -FFFBFFFLLL -FBBFFBBLRL -BFBFBBFLLR -FBFBFFFRRL -BBFFFFFLRR -BBFFFBFLRL -BBFFBBBLLL -BFBBFBFLLL -BFBFFBFRRL -FBFFFFBRRL -FBFFBBBRLR -BFBBFBBRLL -BFFBBFFLLR -FBBBFFBLRL -BFFFBFFRLR -FFFBFFBRLR -BFFBBBFLLL -FBBBBFFRLL -FFFFBBBRLR -FBFFBFFLRR -FBFBFBBRRL -FFFFFFBRRR -FFFBBBFLRL -FBFFBFBLLR -FFFBBBBLRL -BBFBFFBLLL -FBFFFFBLLR -BBFBFBBRRR -BFBFFFBRRR -FBBFBFFRLL -FBBBBFFRLR -FFBBFBBLRL -BBFBFFBLLR -FBBBBBBLRL -BFFFBBFLLL -BBFBBFFLLR -FBFFBFBLRL -BFFFBBBLRR -BBFFFFFRRR -BFBFBBBRLR -BBFFFBFLRR -FBBFBBFLLR -BBFBFFBLRR -BFBBBFFLRR -FBBFBFFRRL -FBFBFBBLRR -BFBBFFBRLL -FFFBBFBRLR -BFFBBBFRRR -FBFFBFFRLR -FFFBBBBRLL -FFFFFBBRLR -FBBFBFBLLR -FBBFBBFLRR -BBFFBBFLLR -FFFBFBBLLR -FFBFBFFLRR -BFBBFBFRLL -BFFFFBFRRR -BBFBFFFLRL -BFFFFBFLLL -FBFBFBFLRL -BFBBFBBLLR -BFFBFFFRLL -BBFBFFFRLR -BBFFBFFRLL -FFFBFBBRLR -FBFBBBFLRL -FFBFFBBRLR -BBFFFBBLRL -BFBBBBFLRR -FFBFFFBLRL -FFBBBFBRLL -BBFFBFFLRR -BBFFBFFRLR -FFFFFBFRRR -BBFBFBBLRL -BFFBBBBLLL -FBBBBFBRRR -FFBBBBBLRL -FBBFBBFRRR -FFBBFFBRLL -BFBFBFBLRR -BBFBFFFRRR -BFFFBBFRRR -FBFBFFFLLL -FBBFBFBRRR -BBFFBFBLLR -BBFBFBFLRR -BFFFFBBLRL -BFBBBFFLRL -BBFBFFBLRL -BFFBBFFRLL -FBFFBFFLLR -FBFBFBBLLL -BBFBFBFLRL -BBFFBBBLRL -FFFFFBBRLL -FFFBBBBRRR -FFBBFFFRLR -FFBFFFBRRR -FBFBFFBLRR -FFBFFBBLLL -FBBFBBFLRL -FBFFBBBLRL -FBBBBFFRRR -BFBBBBBLLR -FFBFBBBLRR -FFFFBFBLRR -BFFFFFFRLL -FBBFFFBLRR -BFBBBBBRLL -FFBBFFBLRL -BFBBBFFRLR -FFBFFBFLLL -FFBBFBFRLR -BFBFFBBLRR -FFFFBFFLRR -FFBFFBFLRL -BBFFBBFRRL -FFBFFFFLLL -BBFBFFBRLR -FBFBFBBRLR -BBFFBBBRRR -FBFFBBBRLL -BFBFFBBRRR -BBFFFBFRLL -FBBFBBBLRL -FBBFFFFLRR -BBFFFBBLLL -FFBFFFFLRL -FBBFFBFLRL -FBBBBFFLLR -BFBBFBFRRR -FBBFFFBLLL -FFBFBFFRLL -FFFBBBFLRR -FFFBFFFLRR -FBFFBFFRRR -BFFFBFFLLR -BFFFFFFRLR -BFFFBFFLLL -FBBBFBBRRL -BFBFFFBLLL -FBFBBBBRRR -BFBBBFBRLR -BBFFFFBRLR -FBFFFFFRLL -FBBFFBBRLR -BBFBBFFLRR -BBFFBFFLLR -BBFFBBFRLL -FBFFFFFRRL -FFBFBBFRRR -FFBFFFFRLL -BFFFFBBLRR -BFBFBFBLRL -FBBFFFFRRR -FFBBFBBRRR -BFBBBBBRLR -FBFFFBBLLR -BBFFFBFRLR -FBFFFBBRRR -FBBFFBFRLR -BFFFBFBRRR -FFBBBBBLLL -FFFFFBFLLR -FBBFBFBRLL -BFBFBFBRRL -BBFFFFBRRL -FFBFBBFLLR -FFBBBFFRRL -FBFFBFBRLR -FBBFFFFRLL -BFFBFFFLLR -FBFFFBBLRR -BFFBFFFLLL -BFBFBBBRRR -BFFFFBFLRL -FFFFBFBLLL -FFFBFFBLLL -BFFFBBFRRL -BFBFBBFRLL -FFFBBBBLLL -BFFBFBBRLR -BFBBBBBLRR -BFBBBFBRRL -FFBFFFBRLR -BFFBFFFLRL -FFBFBBBLLL -BFBFBBFRRR -BFBFFBFRRR -FFBFFFBRLL -FBFFFFFLRL -BBFFBBFLLL -BFBFBBBRLL -FFFBFFFRRL -FBBBBBBLLR -FFFBFBBLRL -FBBFBBFRLL -FFBFFFFRRR -FFFBBBFLLR -BFFBBFFRLR -FFFFFBFLRR -FFFBBBBLLR -FBFFBFBRRL -FBBFFFFLLL -FFFFFBFRRL -BFFBBBFRLL -FFFBBFFRLL -FFFBBFFLRR -FFFFBBFRLL -BFBBBBBRRR -BFFBFBFLLL -BBFBFBFLLR -FFBBBBFRLR -FFFBBBFRLL -BFBBBBFRRR -FBFBFFBRLR -FFBFBBFRRL -BBFFBBBRRL -FFBFBBFRLR -FFFFBFFRLL -FBFFFBBRLL -BBFFBFBRRL -BFBFBFBLLR -FBFBFBBLRL -FBBFFFFRRL -FFFBBFFRRR -FFBBBBBLRR -BBFBFBBLRR -FFFFBBBLRR -FFBBBBBRLL -FFBFFFBRRL -BFBBFFFRLL -FBBBFBFRLL -BBFFBFFLRL -BBFFBFBRLR -BFFBBBBRRR -FBBBBBBRRL -BBFBFFFRLL -BFFBBFFRRR -BFBBFFFRRL -FFBFFBFLRR -FBFBBFFRLL -FBBFBBFRRL -BBFBBFFRRR -FFBBFBFRRL -FFBBFBFLLL -FBBFFFFLLR -BFBFFBBRLR -BFBBFFFLLR -FBBBFFFLLL -FFFBFFBLRR -FFFBFBFRLR -BFFBBBBRLR -FBFFBBBLLR -FFFFBBBRRR -FFBBBBFLLL -FBBBBFBLLR -BFBFBFFRRL -BBFFBBBLRR -FBBFFBFRRL -FFFBBBFLLL -BFFFFBBLLL -BBFBFBFRRR -BFBBBFBLRR -FBBFBBBLLR -FFBBBBFLRL -FFFBFFBLRL -FBBBFFBRRL -BFFBBFBRLL -BFBFBFBRRR -BBFBFBBRLL -FBFFFBFRLL -BFFFBFBLRR -BFBFFFFLRL -BBFFFFBLRR -BFBBFFBRRL -BBFBFBBLLR -FFFBBBFRRL -BFBBBFFRRL -FFBFFBFLLR -FFBBBFBLLL -FBFBBBFLLL -FFBBBBBRLR -BBFFBBBRLL -BFBFBBBRRL -FFBBFBBRLL -FBFBBFBLRL -BBFFBFBLLL -FBFBFFFLRL -FFBFFBBLRL -FFBFBBFLRL -BBFBFBBLLL -FFBBFBFRLL -BBFBBFFLLL -FBFFFFBLRL -FBFBBBFRLR -FFBFFBFRLL -FBBFFFBRRR -FBFBFFBLRL -BFFFFBBLLR -FBFBFBBRRR -BBFFBBFLRL -BFBBFFFRLR -FBFFFFFLLR -FBBFFBBLLL -FFFFFBBRRL -FFFBBFBRRL -BFFBBBBRRL -FBFFFBFLRL -FFBBFFFLLR -FBBBBBBLRR -BFFFBBFRLL -FFBFFFBLLR -FBBBFFFRLL -FFFFBBBLRL -BBFFBFBLRR -FFFFBBFLRR -BFFBFBFRLR -FFBFBBBLRL -FBFBFBFLLR -FFBBFBBRLR -BFBFBFFRRR -BBFFFFBRLL -FFBFBFFRRR -FFBFBBFLRR -BFBBFBFLRR -FFFFBBBLLR -FFBBBBBRRL -FBBFFBBRRR -FFFBBBBRLR -BFFBBBFLRL -BFBBFFBRRR -BBFFBBFRLR -FBBBBBFLRL -FFFBBFFLLL -BFBBBFFRLL -FBFFFFFLLL -FBFBBFBLLL -FFFBFFBRRR -BFBFBFFLLL -BFBFBFBLLL -BFBBBFFLLL -FFFFBBFRLR -BFFBBFBRRL -BFBBFBBLLL -FBBFBFBRLR -BFFFBFFLRL -FBFBBFFLRL -FFFFFBFLLL -FBBFFBFRRR -FBFBBBBLLL -FBBBBBFRLR -FBFFBBFRLL -FFBFFBFRRR -FFBFFFFRRL -BFFBFBBLLR -BFBBFBBRRR -FFBBFBBLRR -FBFFFFBRLR -FFBBBBFRLL -BBFFFBFRRR -FFFBFBBRRR -BFFFBFFRLL -BFFBBBBLRR -FBBBBFBLLL -BFFFFFFLLR -BFBFFFFLRR -BFFBBBBLLR -FFBBBFBRRR -FBBFBFFRRR -FBBFFFBRLR -BFBFBBFRLR -BFFBFFBRLL -FBFBBFBRLR -BFFFFFBLRR -BFFBFFBRRR -BFBFFBFLRL -BBFFFBFLLL -BBFBFBFLLL -BFBFBFFLRL -FBBFBFFLLL -FBFFBFBLLL -BFFFBFBRLR -FFFBFFFRLL -BBFBFFFLLL -BFFFBBBRLR -FBFBFBFLRR -FFBBBBFRRR -FBFBFBFRLR -BBFFBFFLLL -FBBBBFBLRR -FBBBBBFLLR -BFBFFFFRLL -FBFFFBFLRR -FFBFFFBLLL -BFBFFBBLLR -FFBBBFBLLR -FBFFFBBLRL -FFBBBFFRRR -FBBBFBFLLR -FBBBBFFLRR -FBFFBBBLLL -FFBFBFFLLR -FFFFFBBLLL -BFFFFFBLRL -BBFFFFBRRR -BFBFFFBRRL -BBFFFFFRRL -BFBBBBBLRL -FBBBBFBRLL -FFBFFFFLRR -BFBBBFFLLR -BFFFFBBRLR -FFBBFFBRRL -BFBFBFFRLR -FFBBBBFLRR -BFBFFBFLLL -FBBFFBBRRL -FFFBBFFLLR -FFFFBFFRRR -BFFBBBFRLR -BFFFFFBRRR -FFBFBFBLLR -FFFBBBFRRR -BBFBFBFRLR -FFBBFFBLLR -FBFBBBBLRL -FFFBFBFLRL -FFFFBBBRLL -FBFFFFBRRR -FFBBBFFRLL -FBFBFFBRRL -BFFBFFBLLL -FFFFFBFRLL -BBFFFBBRLL -FBBFBFBLRL -BFBFBFFLLR -BFBBFBBRLR -FFBFFFBLRR -BBFBFFFLRR -FBBFBBBLRR -FBBBFFBLLR -BFBBBBBRRL -BFBBFFBLLR -FBBBFBFLRR -BFFBFBBLLL -BFFBFFBLRL -BFBFBFBRLR -FBFFBBBLRR -FBFBBBBRRL -BFBFBBFLLL -FBFBBBBLRR -BFFBBFBRLR -FFFBFBFRRL -BFFFFBBRRR -FBFFBBFRLR -BFBBFBFLRL -BFFFBBBLLL -BFFFFFBRLR -BBFFFFBLRL -BFFBFFFRRR -BFBBBBFRLL -FBFBBFBRLL -FBBFFFBLLR -FFFBBFBRRR -FBFBBBBLLR -FFFFBFFLLL -FFFFFBFRLR -BFFFFBFRLR -FBBFFFBLRL -BFBFFBFLRR -FFFFFFBRLL -FFBBFFFLRL -BBFFFFBLLL -FFFBBFFRRL -FBBFBBFLLL -FBFFBFBLRR -FFBBFBBLLL -BFFFBBBRRR -BFFFBBBLLR -BBFBFBFRLL -BFFFBBFRLR -FFBFBBBRRL -FBFBFFFRRR -FBBBBBBRRR -FFBBBFFLRL -BFFBFBBRRL -BFBFBFFRLL -BFFFBFFRRL -BBFFBBBRLR -BBFFFFFRLL -FFBBFFBRRR -FBBFBFFLLR -FBBBFBBRLR -FFBFFBBRRL -FBBBFFBLLL -FBBFFFBRRL -BFFBFFFRRL -FBBFBFFRLR -BFFBBBBLRL -FFBFFBBRRR -FBFBBBFLRR -BFBBBBFRLR -FFFBFBFLLL -FBBBBBBRLL -FFBFFBBLRR -BBFFFFFLLR -FFFFBBFRRL -BBFFFFFRLR -FBFBFFBRLL -BBFFBFBRRR -FBFFFBFLLR -FFBBFBBLLR -FBFBFFFRLL -BFBBBFBRLL -FFFFFFBRLR -FFBBFFFRRL -BBFBBFFRLL -FBBFFFFRLR -BBFBBFFLRL -FBBFFBBLLR -BFFFBBFLLR -BBFBFBBRRL -BFFBFFBLLR -FFBBFBFRRR -FBBBBFBRLR -FFFBFBFLLR -FFBBBFBRRL -FFBBBFFLLL -FFBFBBBRLR -FBFBBFFLRR -FFFBFBBRRL -FFFFBFBRRR -FFFFBBBLLL -FFFBFBFLRR -BFBBBFBLLR -BFBFFFFRRL -BFBBFFBLRR -FFBFFBFRRL -BFBBFBFRRL -BFFFFFBRRL -FBBBBFFLLL -FFBFBBBLLR -FBBBFBFRLR -FFFBBFFRLR -BBFFBFBRLL -BBFBFBFRRL -FFBBBBFRRL -FBBBFBBLRR -BFFBFFBRLR -FFBBFFBRLR -FFBFBFBLRR -BFBFFFBLLR -BFFFBBFLRL -FBBBFBBRLL -BBFFFBFLLR -BBFFFBBRRL -BFBFFFBRLL -BFBFFFBLRR -FFBFBFFRLR -BFFFFFFRRL -BFFFBFFLRR -BFBBBBFLRL -FFFBFFFLLR -BFFFFFFLRR -BBFBBFFRRL -BFFFFFFLRL -FFFFBFBRLL -BFFBBFBLRR -FFFFBFFLRL -BBFFFFFLRL -FBBFBFBLRR -FBFBBFFRLR -FFFFFBBRRR -BFFFBFBRRL -FBFFBFBRRR -BBFFFBBLLR -BFFBFBBLRR -FFFBFBFRLL -FBFBBFFRRR -FFBFBBBRRR -BFBFFFBRLR -FBBFFFBRLL -FFBFBFBRRL -FFBBBFBLRL -FBBFBBBRRL -FBFFBFBRLL -BFBFBBFLRL -FFFBBBBLRR -BFFBFBBRLL -FFFBFFFRLR -FBFBFFBLLR -FBFFBBFLLL -FBBBFBBRRR -FBBFBBBRRR -FBFBBBFRRL -BFBBFBBRRL -BFBFBBBLRL -FBBFBBBRLR -FFBBFFBLRR -FBBFBFFLRL -FBFBFFBRRR -FFBBBBBLLR -BFBBFFFLRR -FFBBFBFLRR -BFBBBBFLLR -BFBFFBBRRL -FBFBBFFRRL -BFFFFFBLLL -FBBBBFBRRL -FBBBFFBRLL -BBFBFFFLLR -FFFBBFBLLL -BFFFBBBRLL -BFBFFBBLLL -BFBFBBBLLR -FBFFBBFLRL -FFFFBBFLRL -FBBFFFFLRL -FBBBBFFRRL -BFBBFBBLRR -BFBFBFBRLL -FBBBFBFLLL -FBFBBBBRLL -FBBBFFBLRR -FFBBFBFLRL -FFFFBFBLRL -FFBBBFFLRR -FFBBFFFRRR -FFBFFBBRLL -FFFFBFFRRL -FBBFFBFRLL -BFFFBBFLRR -BFBFFBBRLL -BFFBBFFLLL -FBBBBBBLLL -BFFBFBFRRR -BFBFFFFRLR -BFFBFBBLRL -BFBBBFBLRL -FBFBFBFRLL -FBBFBFFLRR -BFBBBFBLLL -BFFBBBFLRR -BFBBBBFLLL -BFBBFFBRLR -FFFBBFBLRR -FFFFBBFLLR -FFBFFBBLLR -FBFBBBFLLR -BFBBBFBRRR -BFFFFFBRLL -BBFBFFBRRL -BFBBFFBLLL -FFFBBBBRRL -FBFBBBFRRR -BFFBBFBLRL -BFFBFFFRLR -FFFFFBBLRR -FBFBFFFLLR -FFBFFFFRLR -FBFFFBFRRR -FBFBFBFRRR -FFBFBFBRLL -FFFFFFBRRL -FFBBBBBRRR -FFFBBFFLRL -BFFFBFBLLL -FBFFFFBLRR -FBBBBBBRLR -FBFBBFBRRL -FFBBFFBLLL -FBFFBBFRRR -FBFFFFBLLL -BBFBFFFRRL -FFFFBFBLLR -BFFBFBFLLR -BBFBFFBRRR -FBFFFFFRRR -FFBFBFFLRL -BFFBBFBLLR -FBBBFFFRRL -BFFBBFBRRR -BFBFBBFLRR -FBBBFFFRLR -FBBFBFBLLL -FBFBFBFLLL -BFBBFFFLRL -BBFFBBBLLR -BFFFFBBRRL -FFFBBFBLLR -BFFFFBFRLL -FFFFFBBLRL -FBFBBBFRLL -BFBFFBFRLL -FBFFBFFLLL -FBFBFBBLLR -FFFFBFBRLR -BFFFBFBLLR -BFFBFFBLRR -BFFFFBFLRR -FBBFFBBRLL -FFFFBBBRRL -FBBBFFBRRR -BFFBFBFRLL -BBFFBFBLRL -FFFBBFBLRL -BBFFFFBLLR -FBFFFFBRLL -BFBFBBBLLL -FBFBBFFLLR -FBBBFFFLRR diff --git a/resources/input06.txt b/resources/input06.txt deleted file mode 100644 index 066f613981adda1259e599fc6b6b1df87167e742..0000000000000000000000000000000000000000 --- a/resources/input06.txt +++ /dev/null @@ -1,2042 +0,0 @@ -ybcgtxznorvjel -brlyvoexnjtgcz -lnbgtxvoiyecjrz - -lcajnyxgzqwim -qznygxmlvwja -gmjzynxaqwls - -cmljinrupeykatzdsfox -ugwqhknvb - -gsdqbrnhotmfwivl -prozsgfwnthvmiq - -vsjpurgokf -dfxpqzabeulknwmjvcsr -pfuvstryihjk - -islxfdrtvzwkyoguh -ogylskzvuftqhirxbdw -fkrtgsxudhioylznvw - -c -c - -uvwigmrlpbqh -qvgriwlbmhpz -nhlsptgbvwimrq - -izhmeksc -zarebypguktc -fzxkveoc -hzcneqkl - -wsaklcyumfjgxpe -gjlueyimxawpkoscf -tgpaeywujxkslmf - -uzxkhngrtem -heumxtrkzgj -kzxtqvehmfyurdgi -xmhtzrukeg -tkhgujzmxenr - -veaxitpwqlkmfcdgu -tuylgfjb -ftuglh - -uqnklfemcd -fueknldq -eqkfdhnmtl -opyelgnqdfkxw -qzkslfden - -q -bu -k -q - -wqeaklcysthvrb -srhcatklwbqyev -ylrqbthswkceva -tsbryhlavcwekq -aketrswybhvlqc - -tyd -ymt -yvt - -hwvclzeby -vywecbhl -wecyqsohlvb -cvlwheyb -blyvewhgc - -wieapdrco -edicwpa -cpdwia -hdwgyvpica - -jvy -fjv -vj -vjf - -czdf -dfzc -dczf - -gpmrwtuoy -tymroagbipw -wombgpcyktr -dtrlongqypmwhsjvfxz -gmrwpyto - -ocnmpvjx -pvjxcm -bmyjrgvxpkc - -jeygorhmxiak -hxifjagoemr - -ncjziqtmpawdufxye -eubydnxpatfwjzkcm - -abmysdl -cpqbifaynmdsl -mjsbdyla -mrdbvjswyal -bvsladmy - -qafokiv -oqhaik -oqmkifa -qaligznro - -aiblwmouqx -mqwbaxolui -oxuibwlmaq - -zvefqkjusco -xuewoskj -kuzfqjsoe -puankilsjodbre -kutoqsjefh - -celsgxhzpjrodmitfukvn -ejkrmnpsgfxvoaihulcz -zuimrfyohspkjvcxelgn - -lbrxfchematouyniw -labiudxyoenh -ikelubxgaoynhz -jnahsdibeuxylov -xovbhaiunlsey - -ipsrknazqblw -dgxutyvejmfc - -sxizpwamjhn -imhnzxawsjp -ahnpswxmizj -wmisxanjzhp - -gtbhymj -zawfkbsiud - -gylpjarczexv -zyajpvoecrlgx -kzrlojeayxgvp -veztfaypxqrljg - -xfivwhodjknmzauqcletpygb -hypeczniafgkoqultxvbdwjm -qxfhjptgnlkvycoudwmizaeb -jizanpbfcyuetmqokhlwvxdg -gjwtexvdfpuamiconybzhlqk - -tvy -yv -yiv -yv -yv - -whueklivtpca -iplkuahwe -tlsekhiuwap -mizpgjwlbahuekr - -mdp -mdp -mpd -pdm - -xjnhkvoewc -osfjprwxhcieavkd -hqjxwkvonec -jlgxctoqhevwkn -kzvjhyxweco - -yk -yk - -hdnxtrvyeiwam -asrwvdhmxeycint -vwxptebdzyioagqmhr - -tfczy -ctyfn -tycf -cwytf -ytfc - -rmtbfezuojpa -utbjepomarzf -rbatejfumpzo -frtuoepamzbj -faejrztmbpuo - -afenbkzjyugowxcpvr -wouafcenbpjvkygzxr -gvneprcbujxzayokfw -vzyparnkxcgbfwouej -ubzxvkrcgnjeapfowy - -vwuqrecngfdlk -lkrnvqgufwdc -wrnldgkqvcfeu -cuwnbgvqfdrkl - -xbh -vacqro -snxumhe - -gxlf -fglx -gxfl -xlgf -lfxg - -uzlryvkmdbweqjocatxnhi -lzjedxqowyhmnabkiufvcrt -ntkrmlwcqdbzaxejyuhvoi - -fbns -nbf -nabylt - -arsif -qzorln -apb -gcvyuhxtkwe -jm - -svu -uvz -pvuf -ucv - -hpjfklnwizys -pzrcfhyslkiqwn -zskfylihnpow -wgfbdkszlypeihn - -vkmcijegnxar -bvknimxrejcga -vegkjcxniram -egkjvmxciran -akgixcjrnemv - -ewixgnuavo -unoeayxkgi -yeiaucxnm -ixaekznu -ajulsenirbqtfhxpd - -frqlmnxdbgewzo -rdtmqlzovkbuncj -qmzxrndoeiyflb - -ukpnyzjiohf -gjfpkinzuoy -ygjozinfupk -iyvjpeozkfnu -kiupfhoyjngzs - -hrpwvsugjafeoyd -djawruhovfezcb - -cepdjoqftlbanyzxgh -cgnayjbfxzeophtdq - -xqg -halqr -qub -qub - -po -ldjb - -zxnqu -zduxsbq -nzuqxgf -niqzxu -zquxl - -qn -ev -cz -bmwjfhlg - -kpfrostvwjqzd -ukbsrjpdzfcowq - -yjtl -jytl -ltyjz -yltj - -dwty -djsct -gtdj - -hoj -jyho -jhos -ojh - -eupzntdmk -pulhzta - -vdfuricnlkjq -cdufvkijqrn -fkdrpnjcuviq -qnfvjudcirk -drijcfkuqvn - -nvbldpqsx -wbdzhqp -iamjtyfg - -iwqexpmtoadjvryuzshk -twzoyhjukxmqsreaipvd -umryqtvxsdpziohaejkw -eruvdmyzapthwqixjkos - -wtgkdqunxroablp -uqmljdantokrpwxg -nkoupqzlgxwdat - -vepioalcghjydn -zutlfxvorkn -qbvnlo - -lmie -ebim -ykmhei -smie -msbeic - -segdzmcnijfpy -pmngjzisdcey -daumgeznqikljcyp - -hocwkeizbmvgnsd -jfirpydx -itqjdyl - -dbwtrzqo -bwdztr -pwbdtzr -wrtbdz - -tcl -ctl - -izfnvwsygkjp -nkfpvyzsgij -ygjvfipksnz -kvpgjysnfzi -jxiboavkfnzgpsy - -gxulavdzi -xeorucjdlym - -hfc -cfh - -oaixdvhwf -kuivdwfxzha - -jsxny -ynsxj -yjxsn -nxsyj -xysnj - -usnjaimqdl -dnuxgy -hdnpcugz - -ejofu -ufe -uef -feu - -defovtzlc -avocyzft -zxwcvftb - -cbga -vgb - -rac -a -jgzaxotn -av - -ugnotpd -ntugodpx -pudgomt -tdislogp - -filsprncvbdamgozwuh -fzqucamrswpihvdlgob - -keaqcjtmzwipdyonvufsl -voysnkmwlzqpfeguiacdtj -ndacvykmeozbsuwpiftlq -wodcqfputzknsyevilma - -aobpjhfwndq -wnbjofqdpah -fnwqdcgxphabj -wadfqbhinjp - -dfegup -pdgyu - -qmdthgnfsoacekpjr -zwqjois - -cuqwdn -cdnwi -cwyvd -tokwjdsxcr - -hlbrqytujx -fdcxlwjquyznksv -wyupmxqjfilsk - -hkrsp -yhwpsrk -krhsp -gorspkh - -kdnsfavte -snadektv -namkstved -etavlknds -esdatkvn - -zbvuponkx -zkjybcanxi -xbunzkv - -sixh -xbgha - -uxfay -urqibka -uao - -lsjkxqirzbcw -sqkbzwjclixr -qsclikrzhxwb - -ozldp -dlpz -dztglp - -rl -lr -lr - -xchdwlniyzjvfskqgu -jczdgywxisl -jxyspdclgizmw - -dblfawuprytvz -mceiqnsxkgltp -pmcxtohlg - -s -s -r -zdkl - -xsftzi -rhmvobe -gitkn -ucgzt - -zfboewhsdi -sfozwbdhie - -iulc -cilu -iluc -ucli - -orlegwpi -polwidg -pomlwiy - -wuzngeba -bnazuce -ubzane - -vywm -ym - -nfmsueclkpqgwai -utlevwmrcxosqkpd - -stkubmdgxnprayjvihocf -jdnhiurkyopfsbmagxtezcv -fokmgyscrpijnbhxtudav -caogfvytximuhrjdpbnsk - -rsabjcmtdwynx -bficzdrnlsjouhta - -mw -wm -mw - -iebmfugxoyqlrpcvjztkwdnh -pelfsdutxqcymaozjhnr - -pebjavucfqyrdzgml -cbzypflawgmjuvredq -yzrujflgcqebvdapm -gbfuqznldejsyvparmc -jcaqeuwvplbfgdmryz - -hkg -xelcms -f - -lihonytfdumjsewrzabpc -hlpcdubrwoazsfmiynetj -owuibptxmdhzyrecsfan - -riosndbpujgcwethz -hwfrzietbougpsdqjn -drntjpzeguiowshb -pwubneoztjsgdhri -rezkbtghcjwdoinspu - -njsa -u -fb - -sfx -s -s - -ucqsmn -istuq - -ingklxq -cnoekp - -jlygxaiwrpdfnheouvc -dvfaingtxwpkozjhylercu -pigfacjweynhuovxlrd - -vpxbtozuemlny -jkgymlvebinctudpxa -byzxemqvtulpn -ytvunxzwqblepm - -jfbkglhtpqudix -grnicbtpqzdxv - -bfokwpmzhtlgquaiejr -iawgbmqvzleoxrhtfpu -zwompxutlbhaifseqrg -xpbqhitclyzrunwodgfesma - -q -qg -q -vq -q - -ekipdozabfsxvugqltjwyrc -dztsokinlyrfxceqjwuavpbg - -eqnkifs -ifqknes - -laecqkp -pugqayce -elcxpraqoj -pecqvfwa -qcepljak - -arnb -qnab -nbaq -dnbaomv - -cbormguajxfiplwvts -dxifemjgwzrobtlpcqvua -aofmcpilxjvbguwtr - -umvdxnwzfqapk -pwuqfzadjmne -uzqpmfyacdw - -mhaeksjiqb -bfqjokusih -jgklnsivbywdc -sxpkfirjomqb - -nhzaplu -ahkipmvo -brtjwg - -mkjxlagycu -uckjxlgma -kjcuxmgal - -ve -ve - -jvkobmcq -gjmqkobc -qjbomcwk -cybojqmk -mjbqocfk - -ducqha -qdlhac - -wlfkid -hipcfkwdlryb -fwlkdi -kdifwvl - -ezs -sze -esz -zes -esz - -hz -utfzphv -ahzgk -shz - -jxclzr -rwfjmu -jro -ojrlny - -topn -wbcojtesg -yrdlqhfz - -wktxsnufbhygzraijlcoed -ciokuzgyrsenbaxhdwjft -nszoywipjhrfxgqbdaeutc -tcxzrysbfuieaovndhwj -bkyouicwtfzlxshjaednr - -aoylnseditpgum -ounmkyzedplaibqs - -fahocyurtgvbsq -byufcgohqvatr -guvoyqthcrbdfa -cbfhayvqrugto - -dgil -dig -idg -apdgi -dig - -rfzmeoyuq -remzyhbip -xtvrykdsancjzmw -pzryfugom -eryomgzlh - -ro -or -ro -doar -rpo - -tbomqznewpgu -zpwbegtquonm -gbunzwtqpmeo -pmnobqtewzgu - -tzkielrca -pwgouhfjvdybsnqm - -bqxr -om - -fkvlmqye -bnqlyda -yojczstxupq -qiye - -wcdl -wcld -lwcd -wdcl - -udx -suhx - -ypmrvaj -aphrjxowvyz -jarvpmq -vpcwarbj -tugveaprjsn - -cubgyqflopxnj -apnxvc - -c -c -c -c -c - -ykdeblvoijpqtns -sbnoigt -nbmitoxas -ibosnxt - -klbdfgmo -va -ylcu - -sgdrutfcbwxleyvmqjoz -hztjqbduiefkvxwcygmolr -eymudvjwlqcxrzfgtob - -jcghosr -jpagrmecsho - -xtlgomkfpciezyq -ylrgtxmchkq -dgtlkwymvxnqc -cgxalbkydwsjmqt - -lvg -vg -vjgka - -xulzdqyef -xuezfldyq -zduyfqexl -lqfezuydx - -afpboknehzmculswdyjqix -winjabfuyedmzoshxlcqpk -smnaybfjzkowdpleiuchqx -bqsuknafemzvpljihwycdox - -huvrzdawnce -irvodxzmnksq -tvrdneazfcu -nldygvuezr - -ifwousayrbjvxcpld -ugrnfjhvbcoatspxk -vsiobyrcpjdfzuaxq - -ubeisxaw -klqn -ok -rmf -n - -j -grpy -mnwf - -yrsnckxbuvhdtmgeqapj -asjkxuymdbrlechvqotngp -adrjpnbhmutgkxecyvqsi - -agtlryz -pywxhgqu -okyghqduj -mbycgvhjq - -aihswznpod -bdaezc - -grdiok -dtkoxqrnl - -vqjpfiembrcyohxlgdts -uhvgxiceoyafmtpqs -gqpcfextaviomwhys -voygtpxhmiqcfse - -alv -xohjegy - -k -z -h - -wdoc -dwco -domcw - -pencwlstgb -toapxnsye -taehsxpjn - -unhav -dbslritz -eucw -ekv -eag - -fewghvcj -hcejwfvg -jgxwfvclheu -ewjfzvghc -ehfcgjwv - -moaclkpxythqvesdgzuwib -nrvlkyaiuhwsxfjzeoqmdb - -hda -dah -dha -dha -dha - -kgu -efntky -liw -zyh - -zqtohusn -jmuhq -lxqvkruhciwey -mjqthzanbu - -ljtief -lijeft -jlteif -fiejlbt -fjtlie - -qdxygilu -tldagovk -npmdckoaltg - -i -i -i -i -i - -wk -dal -uzmbsen -k - -cqlxwzvetfakbidmgoujhs -afzghkswqibynljtoecvrx -swzkjhatgqvblxfneoci - -h -on -h -h - -fzvckrajbeso -ejrcfnsxv -tlupewdmcirygv -vjqrec - -hadxcqevfmr -hxdarvmfcqe -chdvexqmfr -vrhmxecq -ehoxqnrcumv - -wkdtuyegzqichna -uihqapcwdmteznykg -tnjrqcydihfgvwzbseuak -dagetcyqizhnuwk - -jie -bei -ei -eji - -td -t -t -t - -dbqvtxjeranwmofhigc -mtgcdevirwahnxjoqbf -cftanqvibjmhxgowyred - -iqgphzrawkevmjfds -jhifptdmra -jdxaobfypmnhirc -xtdamplhrfibj - -majypozns -pomjzusayn -zmspayjon -mjnzoaspy - -puvwane -avwpnue -ewvaun -dauqnevw - -jsvcumahzqktyp -obifedg -wnolrxg - -ewgot -odycnb -tjgwo - -di -id -id -di -idcw - -itovydpksgxmblqhun -ogxaiurvmhlsfwdbpzcy -gdemlsyaijofbpuvxhz - -kwdqozmvuegtsrxi -uyetkxigdwosq - -cw -cw -cw - -aoh -ano - -rnywdtil -dpvhtrf -tgblnpd -keactdx -tgrdzos - -mfip -impf -fmpi -impf -imfp - -kqpvbyjnewx -ywjxpknqzeb -nqeukpjbwxy -penxzqbjykw - -zpyjigfcuxdktarq -yapfiqrtdkcgjx -aepjcrbgyxftikdq -jptaiqdcykxrgf - -ftwedcvib -btcdfewl -ivdfwbtce -ftcdxeqbkwu -bvfeitwcd - -uiqj -qi - -oxghqnsd -udygoh -hdoxg -rpafchvogd - -hpbytijfwx -jywtpixhbsf -pwhyfjbxiqt -qtipwfjxbhy -xqhfbptywij - -dfslmxhie -smzwlfqehi - -kpr -stcve - -irt -rti -irt -rti - -bunl -nlb -lprhdby - -bo -ob -ob - -bowdlaegtqypmiz -wonjglmdyapqhike - -akwfdicyteo -kaoewyidtcf -wyafoeitckd -ctwaifokeyd - -usikpnl -plunkis -nliskuwp -upisnkl -alinspukr - -fmosyehatupnxcrbl -zmtfcoghsperajnbylxu -ltnfweypcbmarosxhu -fuabtspeojcrhknlmyx -pcmdlsoxrytevqfnbuahi - -tpjvhomdzurfsbqgxieynw -deopwshxkgtibylnzqmrfujv -bpxszafutyhgdenwvmqijro -ixtjfrpbozsngqwmduhyve -elfvxrhspguyinzjwtmbodq - -kvgqfjtzonx -lptjicfezk -tbxkfjmvz - -d -q -d -rg - -gvnmslbrqduhipyx -sygxvmblqrjhipau -ufirbqgpvhsklxmy -bhrpgqxmivyulzs - -mdfikeywgxsqlbn -ilqgnfbdkexymsw -mynqlfgeidbkxws -kndefxlymisbgqw -bmgfeiwxkndsqly - -firjqazycdmlpebwvkuh -nyopgcvhsxlujedkmfrq - -ctmupagrjydizes -hdqxglckzvabwi - -uogtnvfbwa -qkgxofaeictuvnj -ngfuolytshmvr - -bhgrcpltzvqjwfas -tchsrqzwbpgvafj -wgharjbsptqzfvc -qftchjazrgspbvw - -sbzjewryqhpxcivnk -expnzhsqykirbjcw -oyagjndwhkpxlqbmcrizefs - -sfhpqjndwvb -rjvbwnphsqfedm -ndbphlfwjvqs - -whrefxbvuma -hxmrubvfwea - -t -t -t - -favkeblzcnt -ymcz -xucgdszp -cjzrh -irpqwozc - -my -m -m - -alsknvxifqcpjymrz -fpjcrqzmlyxvsaikn - -yaj -ykanc -atx - -ilupyjozc -zcjbiolu -czjioulsg -cokzbjuil -auvmjzohqrwilc - -wsxunpgv -vgwsu -ugswvq -usafwhvg -gfwuqsv - -s -sw - -wvqdzfolabmirjc -ljwarzcmbfqodiv -aswzbmdjtnlfqovgxc - -znrmjsy -nsjrymz -ymrnzsj - -vpgac -dgjvpcua -vycgpfa -pvcga -rapvcg - -mb -mb -bmnt -bm - -gsnjzuby -wntqv -nhld - -onzrkyudwapxf -dkupywnraxof - -lmst -slmt -tldsmvp -tsmol -sltm - -s -n - -qsagxhkyeinrvb -kiyeqrnbgxvash -syerxqghivnkab -rqkasenivxghyb - -ncfrvqmgkahtpbozdjy -fvdzwkoam -lixodafekmzv -dokuazvfm -zdoakvfms - -vlhbq -ouqvrxhls -sfhqlvx - -qxorudp -peduq -qundp -qdpu - -rhpyabj -brycauhjp -apbhrxyj - -ygk -ktpy -kvyn -yvkn - -xkhagnmpdcv -hjoakl - -dxcjugqvpleairsytkh -rqndpilgchysvoeutxma - -njeikmhawblcdxoygufrpt -gnrxuicweofdtpkjhslamby -perifdanxhwtbzokgumyclj - -ghpdecujkxzltysfbv -xftkvhudgcplyjzesb -cbksuezftdjhwvxgipyl - -wxtz -wztx - -bcva -acvb -avcb - -oydfhxunzaijlpgeqb -qzeafxwrpiycndmogbj -finjbylagzdqxoep -pyqbjondvzgefixa -aonbixfejqdpgzy - -edzm -ejmz -mgliz - -q -qb -yn -glq -fwu - -whbkfvgpmjzdl -gzmvwpjdbltfh - -prkxeaoygt -zfrewaysbtx - -hoytqlezuxdmcnw -zqtyewudcfnomxh -hrxinwocqtdemzu -wzmjhquxdngcpoe - -pnwldbucofxq -nlwbcoqfxpud -icwpxnbodyqmluvf -ozfwdhclupxbqn -dcqonulbwpxf - -ywfjkqrgidnhbuea -aeyidkwghubrjqf -ihjrakdwbuefgqy -irdjgbwfeqaukyh -hyeujqrkiwdagfb - -jstapqk -wmeujqts -utzmwqjs -zxqbmstj -yrsthdignvqj - -yva -actvy - -okqvf -mfok -akfno -oakvf - -cdfugre -gedfucr -dfcerug - -ingczmjrfp -pmcfrgnijz -mepzjirfcgn -zsnmhpfguwircjq - -dpw -zlpwd -pwd -dpw - -wbzluvga -yiupsdj -yfu -ncfou -pfu - -fbxnrjdosah -rnfdasxjbhoz -nohdxufrjkabs - -dfgyeismzkr -nhukvdazrwgqisl -xbzkgsmderi -ksditprgzb -zkdsgir - -gjytlskbrhdcwfq -ljirabqwtygcosuhd - -bk -kbdi -yjk -ik - -ksquemnvtlxofj -xeqoflmadtunsvjkc -jtvnequxslfmok -qvnkmtxosljeuf - -zxqlnj -qzkjl -jqlz -jlqz -qjzl - -jniylks -jiyheksb -jydtiaks - -o -o -h - -e -e -e -e - -hrpgqasc -grpschqa -rzgcsjphq - -ecitkohxdb -okteihdcxb -xobijctedhk -ktboecaixhd - -paubelofzrwmsvhg -pagezysfb - -esgvqfzkijypan -zeivfdksgqapyrjn - -wi -i -inkm -i - -zcun -uc -uc -okcug - -trogu -oyrug -ozgrfuqn - -raj -oz -pbr - -iwhxjelgd -jiwhexldg -hlgjxdwei -jlwxhgeid -xhldjzgwtmief - -kclge -srlkec -kelc - -eofisurvqxh -ukvfrisqxoe -uexrqifsvo - -okdimecwvfuhrljtpxgyanbzqs -xacwijpeqlkbuvdsgofmtnzhyr - -amwgdsovpnryclfeit -rcwyfevgotlidanspm -vtneaoylpdifcrwgsm -tonlrdacsfigpyvewm -pisgdcmtovwfelnyra - -uetxnmzilhksb -kminofleutjwdpz -tmeculxqkzin -kqlimryetnavzu - -cmnjsbqvde -qmzdbnjsv -vngjtmpsbqd -dqnmspbvj -dmsqvjbn - -kgxdn -gxndf - -onpwxkus -sgnpkw -pwnrvks -sknbpwta -wopksn - -gfqylwtcvpjsk -cwvplskgfxty -lkgvywscptf -ogwspvfylktc - -dgbcvjfieurw -iknqeztowur - -fzsar -fno - -jiaxdfroq -rqhxjigaynd -iudjaqrx -qmxardfvji -qxjcdira - -ghfosy -yfgs -hfspb -fucaiq - -ynrbkleixc -sezybviarnl - -ywcanufmveh -vafuecjm - -qcrmvuihkboexdlftp -kufohcswxpearvbyqd -hrnzpkocxfdevqujbs -qoxuhjpfvbckdre -gkdfvpbheqocuxr - -wtk -ktw - -xcadnijfkvqystgluz -kznliathwoxsmvybrgeqf -klzsivxayqnfgut - -clo -lco -ocl -oacql -lco - -iyzkvsdhpngo -remlyvz - -uyzw -zuv -zu - -tq -t - -oeicrl -byxrsfdz -rcjog -cr -irck - -pgistdzl -y -xmq -m -afn - -g -dhg -g -vwg - -nfgtoy -ugyft -tygfo -futyegr -gstlwpkyf - -vn -nmv -vn -nv -nv - -ozivnfbaktuedlrcs -oramfqlcbuswtvdzjni - -jxp -xpj - -mc -wabq -lrgsuezypd -wiv - -eofl -snpkflyqmdzwb -jehlirf -cjflrh -fljc - -ltubcvkymoajwxzsrhndpgf -ogvibsazqtujrdewfxymph - -egdchpsvwjfaqybn -zndqagubwpkscyjh - -wlbjgnopeayszicrmf -nosbgiezpjaywqfmrlc -jgilbrmwosyzcafnep -agycorlqmzweibpjfsn -zjlrpnfbeasidmcgyowt - -vijh -ndsfcamyxz -woujvp - -uhealmbgtyix -zilxmb -pvxlfqmwsidb - -fjmdnvrbg -gdlvuqhkpb -kbczdvgp - -lqkt -tkjqi - -wcrmtpf -bkqws - -ngzltjq -nlkut -iwlrytn -xltsmnu -ztlnacfj - -exfviczl -iczhelxv -zelivxc -vfilzexcp -xlzvfice - -ytgac -tacyk -qacy -candymh - -yrqczhgfovwnisbu -vhlgknps - -sbwugclexy -wbzuhlgsc -umvwiknljcdotbfgs -rluhbcqgsaw - -vymaruskjc -akvrsmjuyc -vrcyuasmbjk -pursajkvycm -czpmyusvajrk - -ofwvqmlr -vmq -vmq - -ysnwieoauzq -nuyqesaowz -yoesanuwqz -kuzgoswayqnle - -eomivztrgn -ivmretong -invkmrge -vnmzegcri -vyrmflsjgiuen - -eqrmyzpvkwfbgtjlxshdoin -gzolfstrvybjeqnmxpikhd -nroxitkevgzmypjdqbsfhl -ofgmtrjilnbekxhsqyzdpv -dhlqnvgsjiyzbkpotxrefm - -hozruskcedfwiaq -coptzfyuvxldrm - -l -l -l - -dyslqoiw -ymjqdi - -syxnhbi -dpkvjr -eukgwozaf -ekjz - -yvwbgqcrotjlnpeha -lhpoetrgabvnqjwy -blgszmfkhyntepwoaixqrvj -byrpjoenhagwtuvql - -z -v -tgy - -d -d -d -d -d - -dc -dca -dc -cd -dcz - -locsfetpwknxbzgvja -jxgnvfzphceiskaotwl -fotrsavxmjyhnwpgzelck -sfvpqhxgyjeonazclmwkt -choefxapjniztgwlvskq - -kbyxoztlp -ilptzojgvnexw -atxmzkolcp -uqkszlopdxt - -zj -ojpz - -khjzinxbsvytagfwrdpclm -gkfnjmrsaxublcov -nxlacsrmgkvbfju -uagsxkrfmbvcjnl -kexajvcfrnlsmgb - -jwstzrmqyg -qiolxndue - -aljc -onxjpaltygwvucz -qacrjls -ajcfhl -ijqralc - -hinlgsoyjrwux -onlujsyxgirwh - -l -l -l -l -l - -eoqhmwpjxdkib -dpewgjm -epjmdw -edpnmjw -pjdewm - -wvhaks -vrgoah - -dvqanm -ladgcypwnmhjz -xsidnmae -fidranekum -datnmb - -vkashdfylrcigpz -fzpsydgrvwcl -kdpglscryfz -sgzqcytfoplebudmxr -ldzsywpjfrgc - -gtme -mgfptwe -tmge - -ameogqc -ogqcema -meocqag -ecmaoqg -oeamicgq - -jg -hgij -fjg - -dgypvjbrik -zriqkvgpdbjaxy - -ezfbiwhrtgl -ozfxebispgdtnv -btegzjafui - -jiabmdnuftcsgqw -kazroxypl - -mqoaxjcuzhngk -jgswxaykfmehvuiqzon -lbuakqzjhdmnxgo - -bacszqyketnvpguofhrwmx -ptszqxamuewikbngyfhvdroc -heqrcosaxtwgbplfnzuvykmj - -knxabluhoyviedjfpsmrqcw -scqixedwvumkoanjbrfyhl -tisjfuywcqnremhobldkaxv -shvojgwydialxekbmcufnrq - -nyxmrhszik -mapcikqstjfrzx - -gdlctrjzek -hjsgkeyr - -qepm -eqlpm -eqmp -mqxepn -pqem - -bvgkrl -vboc -wcbvziu -vqfpdabh - -gpn -ngmpc - -twpvxflgjqoumydkbc -uprelhcmqwdksixynzta - -h -h - -jhnxwesqrpc -vpsgmitbaoyfudjz - -yuwbhtsmjlcqefdv -ebmutvlfcqdsjhy -utswqzjlbvycpadefmh -sejvrxgqdlmbtouyhnfc -zijctvqmlyuahfbsdep - -dflwcg -mrflgw -wfduygl - -ytnlzrju -uvztnjly -zljbryutn -zyjlnut -tljuozyn - -hskjpotzxndciuveygqbf -tovpizqhkfjyxucsgdbne -zchinjfgpxuvqodbtseky -ewpzdvhbgqnkcfujixsoyt - -hwogmrjsanyfkxcuzlqip -zgefdbcrvawhsknxlup - -vpnoqlyctz -lazbrndtc -cbzlduthn -ztnslmcwkegjx - -g -g -g -mg - -scdpkxnwevjzuliaot -ieltzxk -etkilxz -ekrxizlmt -lztxefikb - -fojsglve - -mpdxfg -kfdxma -dkfxavtm -wnbxdmcof - -lsoytwjgnxfpu -jxnluyisgp -jygpxslnmur -npsjlguyx - -rdh -rdh - -apbutxfrwydzin -xrgnqelbdtoczafhjm -drkuztfnxba - -bdmstxhqnrzeyj -fubwrmohipenjclkgya - -usrxcktp -srxotup -rulpxit -euxptrn - -pryjxzemofknaqwh -owzqrhmknsjaedxyfb -ahkijzwfrmqnxolscvey -uqnxfkrwmatcsgeyohjz - -gq -q -q -q - -hbkieng -behdikgm -dkbeygh -ebgshk - -xcdliskjvqhazmgp -zdilgjchpavusmxk -jwxavzlkchdobmgyspi -vijgcxakdhlpqszm - -qkoxgd -zkuxdmbyqcglf - -hjxscnryl -nsmahy -snmhy -ovthdys - -vbwhoizkgsncaqr -waobkhsivcrznjqg -wzsrcgnabkhoqiv -oanbsyrhicgwvzkxq -hurqnbcgovfkawzis - -zxvbs -bdpn -qb -bv - -hdkixlmqovte -ihtrouqdnxlk -ltioudhqkx -bxidhtklufoqw - -s -scvai -s -sb -ws - -uaxeycr -aubsiqxrv -aohrdkxu -reaux - -trcfn -txbgc -tcp - -udrgmasezv -zotwyimlkq - -o -o -tdo -o - -ambertifpjuzvwk -dcyhwogqfiaxnlzps - -smzcqpikr -szmqcpkri -cqokmsrpzi - -tzkopc -pkcz -pckz - -avioqkyrntbesulwzp -oylhrtfzvainkuxbw - -hqieuv -hiqcu -ihwuq - -itfe -wcied -uvnigke -ltieq - -jrbmngvx -wousyqdiehcgk -ztfplg - -zdhewmyr -wjgqt -ynwdcef -kmvnwhfep -wyco - -x -x -x -x - -phkfsnxwce -dztiaygqu -jvrmltid - -ayhkqv -havyqk -vyhkaq -vyajenhgqk -vakhyq - -dxlepoksgznvuyjcihwqtf -lyqaihgexkcozwdsjnbtmfu -ysecldonhztfkruwxgjqi - -epo -azoeq -mfg -tbujywxr -eod - -myek -kmey -meky - -iwyngr -vishbag -kinsq -lzxoeticmudfp -nhjswiv - -fbtscavdzrkxeqyuhiw -orafstylxkgphmed -fehrsanktydx - -covl -ypkqdc -xzc -ejwsgafcbh -vcutm - -mlsfecori -ehpsya - -dpvgtqzocn -ngdvoqptzc -toqcdgvnpz -vdqptznocg -ncgzqdotvp - -adsqywe -msdeawq -edwaqs -vedwasnq -qdaswe - -bqmpnhvtoakiyr -roufkiapnqeym - -fydeiohqas -sqoycfhad -safyqhod -ghadsxfyqomv - -qdxmrofjwb -qwkidye -lgqyziawd - -erqsduihwmjcz -umericogzyjsqhn - -hsct -hsct -thcs -ctsh - -vtnbqai -qtianb - -tdwhrmbvyalqfojzicpxe -cltemhoxwbpqyrijvzad -wxjmpyzdqoeabichtrlv -ogzwhbdmtqxecvryjipla - -wnkjevsuqrtbfygih -jzagctiudpbqyfvhomkr -qtfkshvgryibujn - -qowgkyzsfetprnd -sgrdfepwnyzqtok -pgnrwdkzofyesqjt -wfcpkntezoyshgdlqr -dfrongetpszqwyk - -fdmxzviro -odcszimujfqaknx -xmoivfhdwz -yoidfzmvxbg - -nxmtopbehydczsrj -hrtspxjyiwczdngfb -uzjranxksdbltpyhv - -zoia -zioa -cazoi - -kwfnrcbjushlme -wsnmelhrjcubk - -lhf -hl -hl - -qvtia -vqal -ovqa -qva -valqy - -jxfkt -evhj -kgjo -puyasnjliz -xkmj - -cbhxvorjpgzd -dcbxgjhporzv -pjdbxhrogzvc -ogbrpjdvxzch - -ks -skh -sk diff --git a/resources/input07.txt b/resources/input07.txt deleted file mode 100644 index 1390fba3afd7a0e2d60044dd00340162bbda4356..0000000000000000000000000000000000000000 --- a/resources/input07.txt +++ /dev/null @@ -1,594 +0,0 @@ -mirrored gold bags contain 3 light teal bags. -clear gold bags contain 5 light maroon bags, 4 pale tomato bags, 5 clear blue bags. -dark olive bags contain 5 plaid black bags, 2 dim plum bags, 2 light cyan bags. -bright white bags contain 2 pale violet bags, 5 mirrored orange bags, 3 faded beige bags. -posh green bags contain 4 shiny gray bags. -posh lime bags contain 3 muted lavender bags, 1 clear magenta bag, 5 muted orange bags, 3 mirrored cyan bags. -striped turquoise bags contain 3 pale red bags, 4 wavy lime bags, 4 wavy aqua bags. -pale fuchsia bags contain 1 striped purple bag. -dark magenta bags contain 4 light indigo bags, 1 wavy lavender bag, 1 clear teal bag. -drab teal bags contain 5 pale bronze bags. -muted aqua bags contain 4 wavy bronze bags, 1 pale plum bag. -vibrant brown bags contain 4 dull turquoise bags. -vibrant green bags contain 5 dim violet bags, 2 dotted red bags, 2 dull indigo bags. -wavy black bags contain 3 posh yellow bags, 5 wavy coral bags. -light fuchsia bags contain 1 dull violet bag, 5 dim indigo bags, 4 plaid red bags, 5 dotted bronze bags. -drab bronze bags contain 5 dim tan bags, 4 mirrored yellow bags, 5 dim indigo bags. -plaid silver bags contain 4 pale orange bags. -wavy red bags contain 3 muted chartreuse bags, 4 light silver bags. -light aqua bags contain 4 dark cyan bags, 3 shiny aqua bags, 1 light olive bag, 3 wavy purple bags. -wavy salmon bags contain 1 shiny blue bag, 2 bright green bags, 5 dark beige bags. -vibrant indigo bags contain 4 drab lime bags, 5 plaid turquoise bags. -striped violet bags contain 3 dim violet bags, 3 striped purple bags. -dull salmon bags contain 5 vibrant turquoise bags, 5 muted black bags. -dark lavender bags contain 5 pale gold bags, 5 pale silver bags. -clear lavender bags contain 1 faded turquoise bag. -striped crimson bags contain 2 dull turquoise bags, 1 dotted red bag, 5 striped yellow bags. -posh chartreuse bags contain 2 wavy lavender bags, 2 striped black bags, 5 dim blue bags, 5 bright fuchsia bags. -clear tomato bags contain 1 mirrored violet bag, 4 pale gold bags, 5 bright bronze bags. -clear brown bags contain 3 plaid fuchsia bags. -pale aqua bags contain 3 pale indigo bags, 1 dark lime bag, 4 dim magenta bags. -bright maroon bags contain 4 wavy yellow bags, 4 bright tan bags, 2 posh indigo bags, 4 shiny white bags. -wavy purple bags contain 1 faded beige bag, 2 drab salmon bags, 3 mirrored yellow bags. -muted salmon bags contain 5 bright olive bags, 2 striped white bags, 3 dotted coral bags. -dotted maroon bags contain 4 striped brown bags. -wavy turquoise bags contain 1 dim indigo bag, 3 clear lavender bags. -muted tomato bags contain 2 wavy turquoise bags, 4 pale crimson bags. -faded teal bags contain 2 dotted yellow bags, 4 dull olive bags. -dotted blue bags contain 4 striped plum bags, 4 striped cyan bags, 2 drab bronze bags. -posh teal bags contain 2 vibrant purple bags, 4 plaid fuchsia bags, 2 light green bags, 3 light chartreuse bags. -muted gold bags contain 1 muted green bag, 1 vibrant brown bag, 5 pale crimson bags. -clear olive bags contain no other bags. -dotted beige bags contain 4 posh beige bags, 2 pale silver bags. -vibrant lavender bags contain 4 dark tomato bags, 5 dim black bags, 3 dim aqua bags. -wavy maroon bags contain 1 drab turquoise bag, 1 shiny indigo bag. -muted magenta bags contain 4 posh indigo bags, 4 faded brown bags. -dull tomato bags contain 1 pale green bag, 1 plaid gold bag, 5 plaid yellow bags, 5 mirrored blue bags. -mirrored black bags contain 5 drab crimson bags. -dull green bags contain 4 shiny orange bags. -dark cyan bags contain 3 pale gold bags. -faded black bags contain 2 clear beige bags, 4 bright red bags, 1 striped black bag. -wavy indigo bags contain 2 pale brown bags. -dim white bags contain 3 clear violet bags, 3 vibrant indigo bags. -muted green bags contain 1 bright white bag. -posh coral bags contain 3 shiny purple bags, 2 light brown bags, 3 pale gray bags, 1 dull turquoise bag. -dull white bags contain 5 bright plum bags, 5 light green bags, 3 plaid purple bags, 1 faded white bag. -bright salmon bags contain 3 dull indigo bags, 3 muted plum bags, 3 muted bronze bags. -dotted green bags contain 1 posh purple bag. -posh salmon bags contain 1 shiny brown bag, 2 dark red bags, 3 drab gold bags. -pale olive bags contain 4 shiny maroon bags, 3 shiny white bags, 2 dim lavender bags. -dotted lime bags contain 4 mirrored plum bags, 2 dotted blue bags, 3 light salmon bags. -dim blue bags contain 5 shiny lime bags, 5 wavy cyan bags, 3 dotted cyan bags, 5 vibrant turquoise bags. -dim gold bags contain 3 wavy lavender bags, 4 dark silver bags, 4 striped green bags, 4 posh plum bags. -drab lime bags contain 3 clear black bags. -dim red bags contain 1 mirrored olive bag, 1 plaid violet bag. -posh white bags contain 3 pale indigo bags, 1 pale black bag, 5 light green bags, 2 light maroon bags. -dim brown bags contain 5 dotted black bags, 5 dotted red bags. -drab gold bags contain 4 mirrored orange bags, 5 drab beige bags, 4 pale gold bags. -shiny green bags contain 5 mirrored gray bags, 4 pale maroon bags, 1 striped coral bag. -clear teal bags contain 3 vibrant crimson bags, 4 posh teal bags, 5 striped lime bags, 3 plaid green bags. -wavy coral bags contain 3 drab beige bags, 2 drab magenta bags. -plaid tan bags contain 4 faded yellow bags, 4 dull gray bags, 2 shiny lime bags. -shiny blue bags contain 1 faded white bag, 5 dull turquoise bags. -striped green bags contain 4 dull blue bags, 1 muted tan bag, 1 wavy lavender bag, 1 muted gray bag. -wavy tan bags contain 4 wavy bronze bags, 2 pale plum bags, 2 plaid indigo bags, 2 light lavender bags. -faded violet bags contain 5 dull turquoise bags, 4 bright orange bags, 5 drab lavender bags. -striped magenta bags contain 5 dotted orange bags, 5 wavy red bags. -drab beige bags contain 4 pale gold bags. -shiny coral bags contain 3 mirrored bronze bags. -faded indigo bags contain 5 clear violet bags, 5 vibrant fuchsia bags, 5 posh violet bags. -muted maroon bags contain 4 wavy coral bags. -pale violet bags contain 1 clear olive bag, 1 wavy fuchsia bag, 1 dull lime bag. -wavy chartreuse bags contain 2 faded blue bags. -faded purple bags contain 5 clear olive bags, 1 wavy orange bag, 2 posh beige bags, 1 mirrored salmon bag. -dull fuchsia bags contain 2 dark tan bags. -light gold bags contain 1 pale blue bag, 4 wavy cyan bags, 1 shiny chartreuse bag. -bright tan bags contain 2 shiny brown bags, 4 drab gold bags. -plaid fuchsia bags contain 4 shiny gold bags, 1 mirrored orange bag, 4 dark chartreuse bags, 1 faded tomato bag. -striped indigo bags contain 4 clear brown bags, 3 wavy silver bags, 1 plaid teal bag, 3 pale maroon bags. -drab salmon bags contain 1 wavy bronze bag, 2 pale violet bags, 5 plaid indigo bags. -muted teal bags contain 1 wavy maroon bag, 2 pale purple bags, 4 clear blue bags, 2 bright salmon bags. -clear violet bags contain 2 light chartreuse bags, 1 light silver bag, 4 dark brown bags. -posh red bags contain 4 light lavender bags, 4 plaid brown bags. -muted gray bags contain 1 pale olive bag. -posh black bags contain 1 muted maroon bag. -dotted silver bags contain 3 dull turquoise bags, 4 dotted black bags, 3 mirrored black bags. -wavy olive bags contain 3 dotted coral bags, 5 dim silver bags. -plaid olive bags contain 3 muted plum bags. -dim lavender bags contain 2 pale gold bags, 5 mirrored turquoise bags, 1 dull lime bag, 1 dull beige bag. -dark silver bags contain 4 light silver bags, 1 plaid fuchsia bag. -shiny tomato bags contain 2 pale coral bags, 4 dim lavender bags, 1 dim purple bag, 3 wavy magenta bags. -dull purple bags contain 1 shiny maroon bag. -wavy orange bags contain 2 dim black bags, 1 wavy aqua bag, 4 dull turquoise bags, 3 wavy bronze bags. -dim gray bags contain 2 faded bronze bags, 3 dull beige bags, 3 pale purple bags, 5 drab gold bags. -muted yellow bags contain 4 wavy aqua bags. -striped maroon bags contain 1 plaid plum bag, 5 dotted chartreuse bags, 3 dotted cyan bags, 2 bright plum bags. -muted white bags contain 2 dark blue bags, 4 posh aqua bags, 5 mirrored violet bags, 5 posh lavender bags. -wavy cyan bags contain 3 dim black bags, 2 striped lime bags. -striped teal bags contain 2 bright blue bags, 1 vibrant black bag. -posh olive bags contain 2 dim plum bags, 5 shiny turquoise bags, 1 vibrant tomato bag, 5 bright magenta bags. -dotted crimson bags contain 2 clear gray bags. -clear plum bags contain 4 vibrant teal bags. -vibrant chartreuse bags contain 4 posh bronze bags, 5 light purple bags. -vibrant teal bags contain 3 clear blue bags, 4 muted tan bags, 2 wavy fuchsia bags. -striped beige bags contain 4 faded tomato bags. -muted bronze bags contain 1 clear lavender bag, 4 mirrored gray bags. -light lavender bags contain 2 plaid turquoise bags. -dotted white bags contain 1 light yellow bag, 5 dull maroon bags, 5 posh brown bags, 2 clear olive bags. -pale teal bags contain 4 dark aqua bags, 5 dull violet bags. -wavy lime bags contain 2 drab red bags, 1 clear olive bag. -vibrant black bags contain 3 dim tan bags. -pale coral bags contain 5 dull gold bags. -plaid maroon bags contain 2 light fuchsia bags. -wavy aqua bags contain 5 dark coral bags, 5 mirrored orange bags, 3 muted aqua bags. -bright blue bags contain 3 faded bronze bags, 1 bright red bag, 5 mirrored coral bags. -wavy silver bags contain 1 posh olive bag, 1 shiny lime bag, 3 shiny beige bags. -faded maroon bags contain 1 dull tan bag. -light yellow bags contain 5 light lavender bags, 5 pale black bags, 1 plaid brown bag, 3 pale violet bags. -wavy fuchsia bags contain no other bags. -pale plum bags contain 4 light teal bags, 2 pale black bags, 1 pale green bag, 4 wavy bronze bags. -drab white bags contain 3 dark tan bags, 5 muted orange bags, 5 dull violet bags, 1 mirrored fuchsia bag. -pale salmon bags contain 5 faded violet bags, 1 clear cyan bag. -clear crimson bags contain 4 pale lavender bags, 1 dull turquoise bag, 2 mirrored blue bags. -posh gray bags contain 4 muted brown bags, 3 shiny teal bags. -dark aqua bags contain 1 shiny maroon bag, 5 dim brown bags, 4 striped maroon bags, 5 dim blue bags. -muted red bags contain 3 muted chartreuse bags, 4 wavy red bags, 1 drab tomato bag, 3 shiny yellow bags. -mirrored purple bags contain 2 clear blue bags, 2 mirrored lavender bags, 1 pale gold bag, 3 bright silver bags. -striped yellow bags contain 4 light silver bags, 2 dotted red bags, 3 mirrored black bags, 2 faded tomato bags. -dotted teal bags contain 1 drab bronze bag, 3 muted red bags, 5 mirrored gray bags, 4 bright olive bags. -clear turquoise bags contain 5 dim bronze bags, 3 faded silver bags, 1 dotted olive bag. -dull lavender bags contain 5 clear olive bags, 1 mirrored orange bag. -mirrored indigo bags contain 3 bright fuchsia bags, 3 dotted salmon bags. -shiny salmon bags contain 2 bright turquoise bags, 1 light plum bag. -plaid red bags contain 3 clear brown bags, 4 drab tomato bags, 2 plaid indigo bags. -drab black bags contain 5 dull maroon bags, 2 dark silver bags, 5 bright red bags, 5 bright cyan bags. -pale purple bags contain 5 light blue bags, 1 dull maroon bag. -plaid crimson bags contain 2 dark turquoise bags, 5 mirrored bronze bags, 5 dull gold bags, 2 posh yellow bags. -striped lime bags contain 2 wavy lime bags, 2 shiny teal bags. -plaid yellow bags contain 5 muted chartreuse bags. -dark violet bags contain 2 plaid fuchsia bags, 2 muted bronze bags, 3 posh green bags. -bright red bags contain 4 faded plum bags, 3 dim lavender bags. -striped purple bags contain 3 mirrored turquoise bags, 1 shiny yellow bag. -shiny red bags contain 4 wavy coral bags, 3 vibrant salmon bags. -striped cyan bags contain 2 dark yellow bags. -posh magenta bags contain 3 vibrant indigo bags, 2 pale violet bags, 3 bright fuchsia bags, 1 shiny teal bag. -drab cyan bags contain 3 plaid gold bags, 3 clear black bags, 5 striped green bags. -dim chartreuse bags contain 2 wavy coral bags, 2 striped black bags, 4 dotted tomato bags, 1 muted maroon bag. -faded beige bags contain 5 dim tomato bags, 3 plaid turquoise bags. -mirrored teal bags contain 4 posh silver bags, 3 dotted brown bags. -light turquoise bags contain 2 bright gray bags. -drab fuchsia bags contain 4 shiny brown bags, 1 muted olive bag. -mirrored bronze bags contain 3 dull turquoise bags, 3 mirrored turquoise bags, 2 drab red bags. -shiny fuchsia bags contain 3 striped gray bags, 3 faded blue bags. -dim beige bags contain 4 dark blue bags, 1 vibrant aqua bag, 2 shiny brown bags, 5 dull violet bags. -drab gray bags contain 1 wavy maroon bag. -drab orange bags contain 5 plaid brown bags, 1 vibrant yellow bag, 1 mirrored beige bag, 4 pale white bags. -dull magenta bags contain 4 light purple bags, 3 dark brown bags. -vibrant magenta bags contain 4 clear gray bags, 2 shiny aqua bags, 4 striped yellow bags, 3 shiny magenta bags. -drab tomato bags contain 5 drab crimson bags, 2 dull gold bags, 4 light silver bags. -wavy violet bags contain 3 faded plum bags. -mirrored fuchsia bags contain 1 mirrored black bag. -shiny white bags contain 4 light silver bags, 3 dotted fuchsia bags, 2 faded brown bags, 1 bright bronze bag. -clear chartreuse bags contain 4 plaid cyan bags, 1 striped gold bag. -muted turquoise bags contain 3 drab crimson bags, 3 drab olive bags. -faded aqua bags contain 1 dotted teal bag. -vibrant gold bags contain 2 light green bags, 1 dotted gold bag. -drab plum bags contain 5 dim salmon bags, 3 dotted teal bags. -dotted chartreuse bags contain 2 dull turquoise bags, 1 bright chartreuse bag, 4 faded tan bags, 1 mirrored lavender bag. -dull silver bags contain 1 mirrored indigo bag. -pale yellow bags contain 4 drab coral bags. -clear black bags contain 3 dim coral bags. -faded gold bags contain 3 faded chartreuse bags, 1 posh gray bag, 3 drab tomato bags. -muted chartreuse bags contain 1 clear olive bag. -shiny indigo bags contain 3 vibrant yellow bags, 2 plaid orange bags. -dull indigo bags contain 5 bright fuchsia bags, 2 shiny yellow bags, 2 plaid indigo bags, 4 bright olive bags. -faded silver bags contain 2 vibrant olive bags, 4 muted tomato bags. -pale green bags contain 1 pale red bag, 5 dull lavender bags, 4 clear olive bags. -dull violet bags contain 1 shiny black bag, 1 shiny fuchsia bag, 3 plaid indigo bags, 2 posh crimson bags. -dotted lavender bags contain 2 striped lavender bags. -clear orange bags contain 1 dotted cyan bag, 4 clear tomato bags. -bright crimson bags contain 1 dull black bag, 2 dim tomato bags, 1 drab bronze bag, 4 wavy orange bags. -dark orange bags contain 1 vibrant teal bag, 3 dull maroon bags, 4 light purple bags. -bright teal bags contain 5 mirrored tomato bags, 4 dull lime bags, 4 shiny olive bags. -vibrant beige bags contain 2 dark turquoise bags. -dark yellow bags contain 5 dark orange bags, 4 pale red bags, 2 striped fuchsia bags, 5 faded turquoise bags. -bright fuchsia bags contain 5 striped gray bags, 3 light teal bags, 5 mirrored orange bags. -clear maroon bags contain 2 dotted yellow bags, 1 mirrored green bag, 4 dotted coral bags, 3 dull indigo bags. -dim lime bags contain 3 dull fuchsia bags. -striped olive bags contain 5 wavy fuchsia bags, 2 light purple bags. -dull gray bags contain 4 dark beige bags, 1 mirrored white bag. -dim orange bags contain 5 mirrored white bags. -faded salmon bags contain 2 muted cyan bags. -clear red bags contain 2 dim violet bags, 1 shiny purple bag, 3 faded salmon bags, 2 mirrored brown bags. -plaid white bags contain 1 shiny aqua bag, 1 vibrant teal bag. -shiny violet bags contain 3 striped lime bags, 5 mirrored chartreuse bags, 3 pale red bags, 1 muted orange bag. -wavy green bags contain 2 dark tomato bags. -pale lavender bags contain 3 pale orange bags. -dark fuchsia bags contain 4 pale turquoise bags, 4 pale plum bags, 5 light purple bags, 3 dark beige bags. -posh indigo bags contain 2 pale violet bags, 5 shiny coral bags, 1 faded chartreuse bag, 2 plaid indigo bags. -light brown bags contain 1 posh black bag, 4 clear cyan bags. -faded red bags contain 1 drab maroon bag. -dark bronze bags contain 1 pale green bag, 4 shiny blue bags, 1 mirrored lime bag. -pale orange bags contain 4 plaid violet bags, 5 dim silver bags, 1 dim cyan bag, 3 clear blue bags. -dull brown bags contain 1 light tomato bag, 4 pale tomato bags. -mirrored plum bags contain 1 shiny tan bag, 5 wavy brown bags. -dull lime bags contain 4 mirrored orange bags. -drab yellow bags contain 3 clear teal bags, 3 posh aqua bags, 4 posh fuchsia bags, 3 posh turquoise bags. -bright cyan bags contain 5 muted lavender bags, 1 wavy purple bag. -drab chartreuse bags contain 1 wavy tan bag. -drab tan bags contain 5 drab bronze bags, 5 pale green bags, 1 wavy fuchsia bag. -shiny tan bags contain 1 pale red bag, 5 clear aqua bags. -dotted black bags contain 2 dim black bags. -dull blue bags contain 3 clear blue bags, 5 bright gold bags, 4 pale tomato bags, 4 drab beige bags. -light olive bags contain 2 mirrored salmon bags, 2 drab violet bags, 2 bright beige bags. -mirrored magenta bags contain 4 drab tomato bags, 5 clear teal bags, 3 dark coral bags, 5 shiny white bags. -bright silver bags contain 1 posh brown bag. -vibrant blue bags contain 3 clear tan bags. -dark indigo bags contain 3 dim aqua bags, 5 bright aqua bags. -bright brown bags contain 3 muted purple bags, 1 muted blue bag, 1 light green bag, 1 dark red bag. -dark salmon bags contain 3 dotted fuchsia bags, 2 dim tan bags. -mirrored maroon bags contain 2 posh purple bags. -faded crimson bags contain 1 posh white bag, 2 muted blue bags, 3 dark fuchsia bags, 3 light red bags. -bright lavender bags contain 4 bright chartreuse bags, 5 muted purple bags, 4 dull aqua bags, 1 shiny blue bag. -mirrored orange bags contain no other bags. -wavy bronze bags contain no other bags. -wavy yellow bags contain 2 mirrored yellow bags, 1 muted maroon bag, 2 striped purple bags, 4 pale silver bags. -drab magenta bags contain 3 dim indigo bags, 2 wavy bronze bags, 5 shiny yellow bags. -wavy blue bags contain 3 mirrored gold bags, 3 shiny lavender bags, 1 dim teal bag, 4 clear crimson bags. -clear purple bags contain 2 dark beige bags. -light cyan bags contain 1 dotted white bag, 5 muted yellow bags, 1 wavy lime bag. -clear yellow bags contain 2 plaid olive bags, 1 muted red bag, 1 mirrored bronze bag, 5 striped violet bags. -light plum bags contain 5 dotted fuchsia bags, 4 vibrant white bags, 5 muted red bags, 5 drab red bags. -vibrant fuchsia bags contain 1 posh green bag. -pale maroon bags contain 5 light purple bags, 5 shiny aqua bags, 3 clear teal bags, 2 clear green bags. -dark teal bags contain 2 dark lavender bags, 4 striped black bags, 1 drab lime bag, 2 dim teal bags. -clear fuchsia bags contain 2 shiny violet bags, 4 posh aqua bags, 4 bright red bags. -dotted magenta bags contain 2 dull olive bags, 1 clear magenta bag, 5 light beige bags, 1 dark brown bag. -muted black bags contain 2 clear blue bags, 2 muted red bags. -dim magenta bags contain 4 plaid silver bags, 4 plaid olive bags. -striped lavender bags contain 4 clear blue bags. -dull beige bags contain no other bags. -wavy lavender bags contain 2 shiny blue bags, 3 faded tomato bags, 5 dotted tan bags, 5 dull maroon bags. -light maroon bags contain 5 dim violet bags, 3 wavy turquoise bags, 3 mirrored salmon bags. -plaid green bags contain 1 dim teal bag, 5 pale brown bags, 2 striped chartreuse bags. -shiny plum bags contain 1 posh lavender bag, 3 vibrant red bags, 5 dark maroon bags, 1 dotted bronze bag. -plaid turquoise bags contain 4 light silver bags. -dim cyan bags contain 1 shiny coral bag, 4 bright lime bags. -shiny lime bags contain 3 wavy green bags, 5 posh white bags, 1 striped purple bag. -dim maroon bags contain 1 muted crimson bag. -dim aqua bags contain 1 dotted silver bag, 3 faded blue bags, 4 striped purple bags. -muted blue bags contain 2 posh yellow bags, 3 bright tan bags, 1 vibrant salmon bag. -vibrant olive bags contain 5 clear aqua bags. -plaid black bags contain 3 striped orange bags. -vibrant violet bags contain 2 pale gold bags. -light bronze bags contain 1 shiny maroon bag, 3 light blue bags. -pale magenta bags contain 5 pale tomato bags. -vibrant yellow bags contain 4 striped gray bags, 4 dotted yellow bags, 1 wavy fuchsia bag, 3 wavy purple bags. -shiny black bags contain 5 shiny yellow bags, 3 light purple bags, 1 pale olive bag, 1 clear blue bag. -dim crimson bags contain 5 posh gray bags, 1 bright chartreuse bag. -plaid salmon bags contain 2 wavy fuchsia bags, 1 posh olive bag, 2 dim tan bags. -shiny cyan bags contain 5 light green bags, 1 clear olive bag, 5 pale olive bags. -pale silver bags contain 3 mirrored orange bags, 1 light lavender bag, 2 faded tomato bags, 1 muted chartreuse bag. -light red bags contain 4 shiny gray bags, 4 wavy salmon bags, 4 clear lime bags. -dark turquoise bags contain 4 mirrored orange bags, 4 vibrant brown bags, 4 striped brown bags, 4 mirrored purple bags. -dark gray bags contain 1 pale violet bag, 5 striped turquoise bags, 2 wavy red bags, 2 light bronze bags. -pale gray bags contain 5 drab tan bags, 3 clear gray bags. -striped gold bags contain 2 dotted beige bags. -muted cyan bags contain 2 light bronze bags, 3 clear green bags. -faded white bags contain 3 striped tomato bags, 4 shiny black bags, 2 drab tomato bags. -clear lime bags contain 3 dotted fuchsia bags, 3 vibrant purple bags, 1 shiny bronze bag, 3 muted green bags. -dull bronze bags contain 5 plaid turquoise bags, 4 dark crimson bags, 3 pale yellow bags, 3 posh chartreuse bags. -mirrored cyan bags contain 4 clear olive bags, 2 vibrant purple bags, 4 dull olive bags. -pale bronze bags contain 3 vibrant purple bags, 4 dotted silver bags, 2 mirrored black bags. -pale blue bags contain 1 dark brown bag, 2 light brown bags, 2 drab lime bags. -clear bronze bags contain 4 clear blue bags, 2 light chartreuse bags, 1 pale violet bag. -clear aqua bags contain 2 clear cyan bags. -plaid plum bags contain 3 faded plum bags. -mirrored lime bags contain 4 posh brown bags. -plaid lavender bags contain 1 bright beige bag, 5 bright lime bags, 4 faded aqua bags. -drab crimson bags contain 2 shiny yellow bags, 1 posh brown bag. -shiny beige bags contain 2 muted aqua bags, 1 vibrant purple bag, 4 pale black bags, 3 dark chartreuse bags. -dim green bags contain 4 bright yellow bags, 1 shiny fuchsia bag, 1 wavy tomato bag, 4 shiny black bags. -drab coral bags contain 5 dark coral bags. -posh turquoise bags contain 1 dim violet bag, 2 faded turquoise bags. -dotted plum bags contain 2 dull salmon bags, 5 light green bags, 3 pale red bags, 2 posh yellow bags. -posh yellow bags contain 1 mirrored salmon bag, 1 drab tomato bag, 3 dark tomato bags, 2 dark chartreuse bags. -faded orange bags contain 1 drab yellow bag. -dull teal bags contain 2 plaid crimson bags, 5 shiny violet bags, 1 dull coral bag. -faded brown bags contain 5 muted red bags. -bright chartreuse bags contain 5 clear lime bags. -mirrored tan bags contain 4 striped lavender bags, 4 light plum bags. -clear indigo bags contain 5 plaid fuchsia bags, 2 plaid brown bags, 5 striped gray bags. -light teal bags contain 1 dull beige bag, 1 mirrored turquoise bag, 1 mirrored orange bag, 5 wavy bronze bags. -shiny gold bags contain 2 dark coral bags, 1 mirrored orange bag. -striped white bags contain 5 dull fuchsia bags. -wavy white bags contain 5 dull chartreuse bags, 5 wavy green bags. -mirrored beige bags contain 4 bright white bags, 5 plaid magenta bags, 3 plaid crimson bags, 1 shiny teal bag. -muted purple bags contain 5 pale black bags, 5 wavy aqua bags. -vibrant crimson bags contain 5 dim bronze bags, 2 vibrant plum bags. -striped aqua bags contain 3 plaid cyan bags, 3 light beige bags, 2 drab cyan bags. -dull crimson bags contain 1 light white bag, 3 drab indigo bags, 1 clear fuchsia bag. -clear magenta bags contain 4 light brown bags. -posh maroon bags contain 1 faded plum bag, 3 light olive bags. -bright violet bags contain 2 dotted bronze bags, 4 clear teal bags, 3 striped magenta bags, 3 muted indigo bags. -faded coral bags contain 5 dark violet bags, 3 plaid teal bags. -faded bronze bags contain 5 dotted fuchsia bags, 5 wavy bronze bags, 2 dotted purple bags, 5 dim black bags. -light beige bags contain 2 shiny olive bags. -mirrored white bags contain 1 dark indigo bag, 1 drab maroon bag, 3 shiny beige bags, 5 light blue bags. -muted silver bags contain 4 wavy lime bags, 1 dark tomato bag, 1 bright fuchsia bag, 4 dotted olive bags. -wavy gray bags contain 2 mirrored turquoise bags, 5 light lavender bags, 3 muted chartreuse bags. -clear salmon bags contain 5 bright tomato bags, 2 wavy aqua bags. -dull turquoise bags contain 1 pale tomato bag. -shiny yellow bags contain 4 dull lime bags, 3 shiny maroon bags, 3 light silver bags. -mirrored aqua bags contain 3 posh magenta bags, 4 drab tomato bags. -dull orange bags contain 5 dim teal bags, 3 light olive bags, 2 light magenta bags, 2 plaid orange bags. -plaid blue bags contain 3 pale purple bags, 1 shiny turquoise bag. -dim olive bags contain 3 shiny tomato bags, 4 dim black bags, 1 light plum bag. -dim fuchsia bags contain 1 dark chartreuse bag, 1 mirrored cyan bag, 3 plaid red bags. -dark plum bags contain 1 light yellow bag, 1 mirrored lime bag, 2 bright salmon bags. -faded tomato bags contain 2 muted chartreuse bags, 4 dark chartreuse bags. -dotted aqua bags contain 2 dull lavender bags, 4 pale tomato bags. -plaid lime bags contain 3 vibrant indigo bags, 1 muted red bag, 1 posh silver bag, 1 dim indigo bag. -vibrant lime bags contain 5 drab turquoise bags, 2 vibrant chartreuse bags, 4 clear blue bags. -posh brown bags contain 2 wavy red bags, 2 drab beige bags. -bright beige bags contain 3 faded blue bags, 4 muted red bags, 5 mirrored lavender bags, 2 pale red bags. -dotted yellow bags contain 5 striped gray bags, 3 pale gold bags, 2 clear olive bags, 5 mirrored yellow bags. -dull gold bags contain 5 clear tomato bags, 5 drab beige bags, 4 bright silver bags, 4 drab crimson bags. -dark maroon bags contain 2 wavy turquoise bags, 4 dark chartreuse bags. -drab olive bags contain 4 faded bronze bags. -posh plum bags contain 2 dull tan bags. -light indigo bags contain 2 wavy yellow bags. -vibrant tan bags contain 5 shiny teal bags. -dim purple bags contain 5 light olive bags, 5 mirrored violet bags. -vibrant gray bags contain 3 bright turquoise bags, 4 dim maroon bags, 4 vibrant chartreuse bags, 2 faded turquoise bags. -pale tan bags contain 2 light salmon bags, 3 dotted silver bags, 5 clear lime bags, 1 shiny teal bag. -dark tan bags contain 5 dim indigo bags, 3 shiny beige bags, 5 dim tan bags, 2 pale black bags. -dotted tomato bags contain 3 shiny black bags, 3 pale crimson bags, 2 dim tan bags. -posh violet bags contain 4 posh crimson bags, 1 muted fuchsia bag, 4 pale cyan bags, 3 mirrored gold bags. -clear tan bags contain 2 bright tan bags, 5 faded beige bags. -bright bronze bags contain no other bags. -dotted brown bags contain 2 dotted black bags, 3 wavy coral bags. -muted violet bags contain 3 faded magenta bags, 3 bright magenta bags. -faded plum bags contain 2 dull lime bags, 4 dim coral bags, 5 shiny maroon bags, 3 pale red bags. -dark lime bags contain 4 dim tomato bags. -dull aqua bags contain 4 drab beige bags, 4 drab maroon bags. -posh purple bags contain 2 vibrant purple bags, 5 shiny gold bags, 2 plaid turquoise bags. -dull plum bags contain 5 dark brown bags, 4 muted black bags, 1 striped lavender bag. -faded turquoise bags contain 3 shiny yellow bags, 4 faded plum bags, 5 pale violet bags, 4 dim lavender bags. -striped bronze bags contain 1 muted bronze bag, 4 clear green bags, 4 shiny fuchsia bags, 5 pale red bags. -mirrored blue bags contain 4 clear tomato bags, 5 shiny orange bags, 1 dull beige bag, 1 striped silver bag. -shiny orange bags contain 2 light bronze bags, 4 dark tomato bags, 2 drab gold bags. -shiny gray bags contain 1 dark maroon bag. -drab red bags contain 5 wavy purple bags. -posh fuchsia bags contain 3 mirrored chartreuse bags, 3 vibrant teal bags. -light crimson bags contain 2 shiny aqua bags, 2 plaid chartreuse bags, 1 shiny gold bag, 1 wavy maroon bag. -vibrant white bags contain 1 shiny brown bag, 5 light purple bags, 4 dull olive bags, 5 clear cyan bags. -dark green bags contain 5 drab indigo bags, 1 striped coral bag. -striped fuchsia bags contain 5 vibrant plum bags. -bright turquoise bags contain 1 striped fuchsia bag, 3 posh purple bags, 5 dim aqua bags. -striped tan bags contain 1 dotted cyan bag. -shiny magenta bags contain 2 dark yellow bags, 1 faded silver bag, 4 muted orange bags, 3 bright fuchsia bags. -dim violet bags contain 4 wavy bronze bags, 1 bright bronze bag. -vibrant orange bags contain 2 faded chartreuse bags, 2 vibrant turquoise bags, 2 dull white bags. -pale gold bags contain 5 light lavender bags, 4 mirrored orange bags, 4 muted chartreuse bags. -pale red bags contain no other bags. -plaid brown bags contain 3 mirrored orange bags. -posh aqua bags contain 5 light blue bags, 1 dark indigo bag, 1 pale red bag, 2 vibrant turquoise bags. -muted lime bags contain 1 dim chartreuse bag, 1 dotted olive bag, 4 pale violet bags, 3 muted fuchsia bags. -dotted fuchsia bags contain 4 light teal bags, 1 muted chartreuse bag, 3 dark chartreuse bags, 4 dim lavender bags. -dim turquoise bags contain 4 clear beige bags, 1 posh magenta bag, 3 faded brown bags. -muted coral bags contain 4 dark salmon bags, 1 pale tomato bag, 2 shiny brown bags. -dull chartreuse bags contain 3 shiny white bags, 4 shiny blue bags, 1 pale crimson bag. -muted indigo bags contain 4 posh silver bags, 1 pale maroon bag, 1 dotted red bag, 1 drab coral bag. -dim salmon bags contain 5 pale black bags, 3 dark salmon bags, 3 pale red bags, 5 dotted purple bags. -dotted bronze bags contain 1 dim aqua bag, 2 mirrored maroon bags, 4 muted olive bags, 3 dull fuchsia bags. -drab silver bags contain 2 dim coral bags, 3 dim salmon bags. -striped salmon bags contain 2 dotted purple bags, 2 posh green bags, 3 plaid beige bags. -mirrored tomato bags contain 5 faded tomato bags, 4 wavy red bags. -dotted cyan bags contain 1 posh white bag, 3 striped lime bags, 4 dotted purple bags, 2 muted red bags. -striped blue bags contain 4 dark silver bags, 4 pale silver bags. -faded green bags contain 3 dotted violet bags, 3 pale turquoise bags. -striped gray bags contain 2 pale tomato bags, 2 dark chartreuse bags, 5 muted red bags, 3 pale violet bags. -pale lime bags contain 4 posh maroon bags, 2 drab plum bags, 3 drab coral bags. -posh beige bags contain 4 wavy purple bags, 2 shiny gold bags, 1 dark tan bag. -dotted tan bags contain 2 bright silver bags, 1 posh bronze bag, 2 dim coral bags, 2 dim tomato bags. -shiny brown bags contain 4 dim violet bags, 5 bright silver bags. -mirrored silver bags contain 1 striped blue bag, 2 shiny teal bags, 2 light coral bags, 1 dim beige bag. -clear silver bags contain 4 mirrored fuchsia bags, 5 dull olive bags, 1 plaid crimson bag. -dotted orange bags contain 1 mirrored turquoise bag, 3 wavy lime bags, 3 dotted yellow bags, 5 muted lavender bags. -shiny purple bags contain 1 shiny beige bag, 3 plaid chartreuse bags. -drab brown bags contain 2 dull indigo bags, 3 mirrored cyan bags, 1 dim crimson bag. -vibrant tomato bags contain 5 faded plum bags. -light tan bags contain 1 dark gold bag, 3 light salmon bags. -vibrant cyan bags contain 4 shiny aqua bags. -dotted purple bags contain 4 wavy coral bags. -vibrant red bags contain 4 faded tan bags, 1 drab aqua bag, 4 striped black bags. -faded lime bags contain 3 light olive bags, 3 striped yellow bags. -posh gold bags contain 1 dull indigo bag, 1 mirrored chartreuse bag. -shiny aqua bags contain 2 vibrant turquoise bags. -light orange bags contain 3 vibrant violet bags, 2 dotted yellow bags, 1 dark gray bag, 5 striped chartreuse bags. -pale black bags contain 1 plaid brown bag, 2 muted chartreuse bags. -drab violet bags contain 5 clear cyan bags, 1 pale gold bag, 4 drab salmon bags, 2 posh orange bags. -dim silver bags contain 5 clear cyan bags. -muted beige bags contain 1 dim tomato bag, 3 light olive bags. -drab turquoise bags contain 3 plaid orange bags, 1 light purple bag. -dark red bags contain 2 vibrant yellow bags, 4 mirrored fuchsia bags, 5 posh bronze bags, 2 dark gold bags. -vibrant maroon bags contain 5 drab beige bags, 1 dark beige bag, 1 dark brown bag, 4 pale maroon bags. -wavy magenta bags contain 3 light tomato bags, 5 muted gold bags, 3 muted cyan bags. -shiny chartreuse bags contain 5 pale yellow bags. -dull cyan bags contain 4 bright maroon bags, 4 faded bronze bags. -light black bags contain 4 shiny teal bags, 5 faded beige bags, 1 muted gold bag, 4 plaid silver bags. -bright green bags contain 5 striped lime bags, 4 muted yellow bags, 4 light beige bags, 4 plaid violet bags. -striped orange bags contain 1 mirrored orange bag, 2 bright salmon bags. -muted plum bags contain 3 mirrored orange bags, 1 muted chartreuse bag, 2 dull olive bags, 4 dull brown bags. -pale white bags contain 5 light silver bags. -mirrored gray bags contain 1 mirrored violet bag, 5 striped gray bags, 5 dim aqua bags, 4 wavy fuchsia bags. -wavy beige bags contain 2 shiny beige bags. -dotted red bags contain 4 dotted purple bags, 3 muted aqua bags, 2 pale tomato bags, 4 pale bronze bags. -posh lavender bags contain 2 dotted tomato bags, 3 dim lavender bags, 2 muted gray bags, 3 light plum bags. -mirrored yellow bags contain 4 wavy gold bags. -wavy brown bags contain 3 dim fuchsia bags, 4 dull turquoise bags. -plaid chartreuse bags contain 5 plaid red bags. -shiny turquoise bags contain 2 faded turquoise bags, 3 muted tan bags. -mirrored brown bags contain 4 dotted fuchsia bags, 4 dim red bags, 2 dotted plum bags. -dim tan bags contain 1 drab tomato bag, 3 wavy red bags, 1 plaid turquoise bag, 2 clear lavender bags. -faded yellow bags contain 1 clear bronze bag, 3 clear olive bags. -bright orange bags contain 5 mirrored blue bags, 3 shiny blue bags. -striped red bags contain 5 bright green bags, 3 wavy yellow bags. -bright indigo bags contain 2 light maroon bags, 5 shiny bronze bags, 2 bright white bags. -light gray bags contain 2 dotted maroon bags. -light silver bags contain no other bags. -bright gold bags contain 2 striped fuchsia bags. -drab purple bags contain 5 light silver bags, 2 dull yellow bags, 2 shiny teal bags. -mirrored coral bags contain 4 dim plum bags. -light coral bags contain 3 dim lavender bags, 5 wavy green bags, 2 light bronze bags. -plaid indigo bags contain 3 mirrored orange bags, 5 pale gold bags. -dark crimson bags contain 4 dark turquoise bags, 4 plaid green bags, 4 clear fuchsia bags. -wavy teal bags contain 1 pale silver bag, 4 mirrored chartreuse bags, 4 shiny black bags. -dull tan bags contain 4 muted magenta bags. -light violet bags contain 4 faded yellow bags, 5 light maroon bags, 3 clear teal bags, 2 pale crimson bags. -striped silver bags contain 3 plaid fuchsia bags. -shiny crimson bags contain 5 muted yellow bags. -mirrored salmon bags contain 1 dim tan bag. -dotted coral bags contain 5 dark tan bags. -wavy gold bags contain 2 wavy turquoise bags, 4 dim indigo bags, 3 wavy bronze bags. -vibrant bronze bags contain 1 pale purple bag. -posh silver bags contain 4 posh chartreuse bags, 3 bright salmon bags, 1 dotted bronze bag, 3 shiny coral bags. -bright purple bags contain 5 clear beige bags, 3 pale yellow bags, 1 wavy tomato bag, 5 pale lavender bags. -muted tan bags contain 4 bright white bags, 5 dotted silver bags, 2 clear blue bags, 4 mirrored turquoise bags. -light white bags contain 2 shiny purple bags, 1 dull aqua bag, 2 vibrant blue bags. -faded fuchsia bags contain 2 dark green bags, 3 shiny violet bags, 4 drab plum bags, 3 vibrant olive bags. -clear gray bags contain 2 muted red bags. -dark tomato bags contain 4 dotted purple bags, 3 faded turquoise bags. -light magenta bags contain 1 dull fuchsia bag. -light purple bags contain 3 drab magenta bags, 4 dark coral bags, 3 light silver bags. -vibrant turquoise bags contain 4 dotted black bags. -dim indigo bags contain 4 muted chartreuse bags. -dim bronze bags contain 3 drab gold bags, 4 clear brown bags, 2 muted tan bags. -clear green bags contain 2 plaid fuchsia bags, 1 wavy bronze bag. -dull maroon bags contain 2 wavy yellow bags, 1 dotted fuchsia bag, 4 mirrored yellow bags. -dotted gray bags contain 5 dotted white bags, 2 pale tomato bags, 5 bright tan bags, 3 plaid turquoise bags. -plaid gray bags contain 5 wavy lime bags, 4 dull aqua bags. -mirrored crimson bags contain 1 shiny lavender bag, 4 plaid purple bags. -shiny silver bags contain 5 vibrant lavender bags, 3 light coral bags, 5 dark aqua bags. -dotted salmon bags contain 3 pale tomato bags. -muted crimson bags contain 4 clear olive bags, 3 dull plum bags, 1 dark gray bag, 1 wavy lime bag. -muted lavender bags contain 1 bright chartreuse bag, 3 pale yellow bags, 3 pale crimson bags. -posh tan bags contain 4 faded tomato bags, 3 dotted olive bags, 4 striped maroon bags. -vibrant salmon bags contain 4 vibrant indigo bags, 1 plaid orange bag. -faded chartreuse bags contain 2 mirrored orange bags, 1 pale crimson bag. -striped tomato bags contain 3 dim tan bags, 2 wavy gold bags. -dim yellow bags contain 1 clear purple bag, 1 wavy red bag, 1 drab bronze bag. -wavy tomato bags contain 5 dotted tomato bags, 3 dim salmon bags, 5 light tan bags, 3 dull brown bags. -bright lime bags contain 3 mirrored turquoise bags, 3 dotted tan bags, 3 posh black bags, 5 wavy gold bags. -muted brown bags contain 4 shiny indigo bags, 4 muted tan bags, 3 wavy tan bags. -pale cyan bags contain 1 dotted black bag. -drab green bags contain 1 muted cyan bag. -dim teal bags contain 4 faded lavender bags, 2 pale violet bags. -drab lavender bags contain 1 pale gold bag, 5 vibrant brown bags, 4 posh indigo bags, 1 plaid olive bag. -dotted turquoise bags contain 2 muted lime bags, 4 striped indigo bags. -clear white bags contain 2 bright lime bags, 1 mirrored coral bag. -dark purple bags contain 5 wavy crimson bags, 5 light olive bags. -light tomato bags contain 4 posh black bags, 1 faded blue bag, 5 dim black bags, 3 dull lime bags. -bright aqua bags contain 3 clear tomato bags. -bright tomato bags contain 1 clear green bag, 3 bright gray bags, 3 mirrored cyan bags, 5 posh chartreuse bags. -dull yellow bags contain 5 wavy purple bags, 3 light purple bags, 5 clear cyan bags, 2 wavy coral bags. -striped coral bags contain 3 mirrored black bags, 5 wavy coral bags, 2 posh white bags. -shiny bronze bags contain 2 dim tomato bags, 3 dull lime bags. -vibrant aqua bags contain 4 dull olive bags, 4 mirrored turquoise bags, 1 vibrant teal bag. -faded magenta bags contain 3 plaid chartreuse bags, 5 plaid white bags, 1 drab lime bag, 3 mirrored fuchsia bags. -pale beige bags contain 3 wavy gray bags, 5 mirrored tomato bags, 1 bright beige bag. -pale crimson bags contain 1 pale violet bag, 4 pale black bags, 5 dim tomato bags, 1 mirrored turquoise bag. -dark blue bags contain 4 dark maroon bags, 1 faded brown bag, 2 wavy red bags. -posh tomato bags contain 2 posh beige bags, 4 dark maroon bags. -dim plum bags contain 2 muted crimson bags, 1 striped coral bag, 2 plaid yellow bags, 5 striped violet bags. -dull black bags contain 3 posh tomato bags, 1 vibrant yellow bag, 4 mirrored salmon bags, 2 light green bags. -wavy plum bags contain 4 wavy blue bags. -bright coral bags contain 4 posh gold bags, 2 plaid lime bags, 3 shiny black bags, 5 dim magenta bags. -posh blue bags contain 2 dotted turquoise bags, 2 bright olive bags, 2 plaid gold bags. -vibrant purple bags contain 2 mirrored orange bags, 4 dull lavender bags, 2 pale red bags. -dark white bags contain 4 drab lime bags. -wavy crimson bags contain 2 dark salmon bags, 5 wavy yellow bags, 2 bright bronze bags, 2 drab crimson bags. -clear coral bags contain 4 vibrant blue bags. -muted olive bags contain 3 plaid brown bags, 1 dim fuchsia bag, 2 posh yellow bags. -plaid violet bags contain 4 muted aqua bags. -plaid teal bags contain 4 bright tan bags, 2 dark tomato bags. -plaid purple bags contain 3 posh teal bags. -pale turquoise bags contain 2 faded purple bags, 4 mirrored maroon bags, 1 mirrored salmon bag. -muted fuchsia bags contain 5 bright bronze bags, 4 muted gold bags. -bright olive bags contain 2 faded blue bags, 3 faded turquoise bags, 5 light bronze bags, 3 dim tan bags. -bright gray bags contain 1 bright white bag, 2 muted orange bags. -light blue bags contain 1 dotted purple bag, 3 dim black bags, 3 posh purple bags, 2 mirrored violet bags. -posh bronze bags contain 3 plaid fuchsia bags, 1 drab gold bag, 4 mirrored orange bags, 4 light teal bags. -faded olive bags contain 3 striped blue bags, 3 dim salmon bags, 4 pale red bags, 2 dull maroon bags. -dull coral bags contain 2 wavy gold bags, 1 dark magenta bag. -dull olive bags contain 3 plaid turquoise bags, 3 plaid fuchsia bags, 4 wavy lime bags, 1 dotted black bag. -plaid orange bags contain 1 dark salmon bag, 1 striped turquoise bag. -clear blue bags contain 3 dim tan bags, 3 muted red bags, 3 faded tomato bags. -dark chartreuse bags contain 4 bright bronze bags, 1 dim indigo bag. -plaid tomato bags contain 5 shiny turquoise bags, 4 clear tan bags, 2 dotted bronze bags, 5 muted magenta bags. -mirrored green bags contain 2 light silver bags, 3 light brown bags, 4 vibrant purple bags, 2 posh green bags. -drab blue bags contain 4 drab indigo bags. -vibrant silver bags contain 3 striped violet bags, 1 striped white bag, 2 bright blue bags. -shiny olive bags contain 3 drab tomato bags. -dull red bags contain 4 dim cyan bags, 3 wavy lime bags. -vibrant plum bags contain 3 wavy coral bags, 2 light lavender bags. -faded cyan bags contain 1 dim brown bag, 5 posh indigo bags. -dotted violet bags contain 1 pale tomato bag, 5 dim plum bags. -striped brown bags contain 5 dim coral bags, 4 clear blue bags. -dotted indigo bags contain 5 clear salmon bags, 4 dim bronze bags. -posh cyan bags contain 2 vibrant magenta bags. -clear beige bags contain 1 bright olive bag. -dark black bags contain 4 dull crimson bags, 3 plaid green bags. -mirrored lavender bags contain 5 dark silver bags. -bright black bags contain 4 shiny brown bags, 1 vibrant crimson bag, 2 posh white bags, 3 wavy gold bags. -pale indigo bags contain 5 shiny gold bags, 3 light bronze bags, 3 striped turquoise bags. -plaid cyan bags contain 1 shiny tan bag, 4 dark tan bags, 1 dull yellow bag. -bright plum bags contain 1 pale chartreuse bag, 3 plaid red bags, 1 faded beige bag, 1 posh gray bag. -drab maroon bags contain 3 dull olive bags, 1 pale green bag, 2 mirrored turquoise bags. -pale chartreuse bags contain 4 dim tomato bags. -striped black bags contain 4 vibrant turquoise bags, 3 faded white bags, 4 light plum bags, 1 pale black bag. -dotted gold bags contain 5 posh teal bags, 5 striped violet bags. -posh orange bags contain 1 clear green bag. -light green bags contain 5 wavy turquoise bags, 2 pale red bags, 3 dark tomato bags, 3 dull turquoise bags. -plaid beige bags contain 4 light silver bags, 4 plaid turquoise bags, 5 drab purple bags, 4 clear lime bags. -mirrored violet bags contain 2 wavy fuchsia bags, 5 bright bronze bags. -striped plum bags contain 2 plaid indigo bags, 5 bright yellow bags, 1 wavy magenta bag. -bright yellow bags contain 3 wavy yellow bags. -drab aqua bags contain 5 dark red bags, 2 light gold bags. -plaid bronze bags contain 1 drab magenta bag. -faded tan bags contain 4 shiny aqua bags, 2 light chartreuse bags. -drab indigo bags contain 5 dotted beige bags, 3 dull lime bags, 1 striped violet bag, 4 vibrant tan bags. -dark gold bags contain 4 mirrored lime bags, 3 dark salmon bags. -muted orange bags contain 1 dull yellow bag, 2 shiny brown bags. -plaid gold bags contain 4 drab coral bags, 5 shiny cyan bags. -posh crimson bags contain 3 light brown bags, 3 bright bronze bags, 3 shiny yellow bags. -bright magenta bags contain 5 dim lavender bags. -light chartreuse bags contain 2 drab bronze bags, 3 dim coral bags. -dim tomato bags contain no other bags. -dark beige bags contain 3 mirrored yellow bags, 2 dull olive bags, 5 striped brown bags. -clear cyan bags contain 5 drab beige bags, 1 shiny yellow bag, 5 wavy purple bags, 5 dark chartreuse bags. -dark coral bags contain 3 dim lavender bags, 3 pale green bags, 4 mirrored orange bags, 1 dim coral bag. -light lime bags contain 5 mirrored brown bags. -shiny lavender bags contain 5 drab tan bags. -faded lavender bags contain 1 light salmon bag, 2 dotted purple bags, 5 pale gold bags, 3 muted gold bags. -pale tomato bags contain 5 dim coral bags. -plaid coral bags contain 3 dull blue bags, 1 posh white bag, 3 light orange bags. -dim coral bags contain no other bags. -dotted olive bags contain 5 mirrored green bags, 3 drab aqua bags, 2 dull beige bags, 3 dim indigo bags. -dark brown bags contain 1 muted tan bag, 5 wavy lime bags. -mirrored red bags contain 5 vibrant aqua bags, 3 bright gray bags, 4 striped gray bags, 2 light lavender bags. -mirrored olive bags contain 5 dark chartreuse bags, 1 dim lavender bag, 5 faded plum bags. -dim black bags contain 1 shiny yellow bag, 4 plaid indigo bags. -shiny maroon bags contain 1 mirrored orange bag, 1 muted chartreuse bag, 5 wavy bronze bags, 1 dull lavender bag. -pale brown bags contain 4 light teal bags, 1 light plum bag, 3 bright aqua bags. -striped chartreuse bags contain 2 shiny maroon bags. -mirrored chartreuse bags contain 4 dotted tan bags, 4 bright bronze bags. -plaid magenta bags contain 1 vibrant yellow bag, 5 wavy aqua bags, 5 dull turquoise bags, 2 wavy fuchsia bags. -light salmon bags contain 3 muted tan bags, 3 faded turquoise bags, 4 drab bronze bags, 3 bright bronze bags. -faded blue bags contain 1 wavy red bag, 5 wavy fuchsia bags, 4 bright bronze bags, 3 faded turquoise bags. -plaid aqua bags contain 1 pale tan bag, 3 light white bags. -mirrored turquoise bags contain 5 drab beige bags, 1 faded plum bag, 4 mirrored orange bags. -shiny teal bags contain 2 pale black bags, 4 dull indigo bags, 4 vibrant teal bags. -vibrant coral bags contain 3 drab turquoise bags, 4 striped beige bags, 1 wavy turquoise bag, 4 light crimson bags. -faded gray bags contain 3 striped purple bags. diff --git a/resources/input08.txt b/resources/input08.txt deleted file mode 100644 index 2aacf1d97e45e6bedf087c8d108304b404723bb1..0000000000000000000000000000000000000000 --- a/resources/input08.txt +++ /dev/null @@ -1,636 +0,0 @@ -jmp +1 -acc -15 -acc +14 -acc +18 -jmp +443 -jmp +286 -acc +27 -jmp +522 -jmp +1 -acc -19 -acc +22 -acc +37 -jmp +111 -acc +28 -acc +43 -acc +18 -nop +597 -jmp +479 -jmp +604 -jmp +499 -acc +0 -acc +22 -acc +13 -jmp +566 -acc -12 -acc +0 -nop +153 -jmp +173 -jmp +192 -jmp +292 -acc +36 -acc +7 -jmp +440 -acc -17 -acc +40 -acc +24 -acc -7 -jmp +519 -nop +16 -acc +15 -acc +42 -jmp +445 -jmp +350 -acc +42 -acc +12 -acc +2 -jmp +133 -acc +12 -acc +3 -acc +27 -jmp +186 -acc +25 -acc +46 -jmp +285 -acc +32 -acc -11 -acc -6 -jmp +565 -nop +215 -acc +1 -acc +35 -jmp +1 -jmp +502 -acc +27 -acc +19 -acc -8 -acc -8 -jmp +531 -jmp -21 -nop +292 -acc +8 -acc -13 -jmp +26 -acc +1 -acc +45 -nop -42 -jmp +323 -jmp +39 -jmp +336 -acc +19 -jmp -51 -acc +45 -acc +26 -jmp +278 -jmp +6 -acc +40 -nop +271 -acc -10 -nop -4 -jmp +272 -nop -61 -acc +4 -acc -14 -acc +27 -jmp -70 -acc -9 -acc +29 -jmp +416 -acc +25 -acc +45 -jmp +19 -jmp +39 -acc -19 -acc +7 -jmp +248 -acc +11 -acc +36 -jmp +515 -acc +45 -acc +49 -jmp +329 -acc +30 -acc +31 -acc +28 -acc +26 -jmp +8 -jmp +283 -acc +32 -jmp +127 -acc +4 -acc +20 -jmp +92 -jmp +50 -jmp +133 -acc +5 -acc +8 -jmp +313 -acc +38 -acc +34 -jmp +395 -acc +14 -acc +29 -jmp +392 -nop +246 -jmp +374 -nop +429 -nop +388 -acc +3 -acc +0 -jmp +432 -acc -1 -acc +35 -acc +35 -jmp +148 -acc +8 -acc +11 -acc +12 -acc -10 -jmp +434 -acc -19 -jmp +330 -nop +329 -acc +30 -jmp +239 -acc -6 -jmp -136 -jmp +418 -nop +385 -jmp +1 -acc +34 -acc +9 -jmp +410 -nop -13 -acc +31 -acc +15 -acc +37 -jmp -142 -jmp +109 -acc -16 -nop +405 -nop +343 -jmp +8 -acc +44 -acc -15 -acc +7 -acc +9 -jmp +185 -acc +6 -jmp +35 -nop -25 -jmp +93 -acc +22 -acc -17 -acc +15 -acc +39 -jmp +41 -nop -123 -acc +15 -acc +6 -jmp -35 -acc +48 -jmp +422 -acc -7 -nop +67 -nop +66 -acc +48 -jmp -29 -acc -11 -acc +16 -jmp +92 -acc +45 -jmp +92 -jmp +212 -acc -3 -acc -18 -nop -186 -nop +7 -jmp -28 -nop +292 -acc +7 -nop -120 -acc +46 -jmp +48 -acc -3 -acc -16 -acc +50 -jmp -44 -acc -2 -acc -11 -jmp +236 -jmp +344 -acc +33 -acc +44 -acc +39 -nop -45 -jmp -53 -acc -11 -nop +380 -acc +35 -jmp +113 -nop +203 -acc +40 -jmp +167 -acc +44 -jmp +394 -jmp +229 -jmp -167 -jmp -204 -acc +21 -acc +49 -jmp +25 -acc -19 -acc -17 -acc +44 -jmp -11 -acc +40 -acc +12 -jmp +253 -acc +21 -jmp +349 -jmp +285 -acc +0 -nop +261 -acc +15 -acc +38 -jmp +10 -acc +27 -jmp +1 -jmp +373 -jmp -151 -acc +6 -jmp -48 -acc +14 -acc -8 -jmp -61 -acc +8 -acc +20 -jmp +1 -jmp +1 -jmp +208 -acc -18 -acc +32 -jmp +94 -jmp +262 -acc +0 -jmp -156 -nop +188 -nop +312 -acc +21 -acc +6 -jmp -123 -acc +47 -jmp +316 -acc +25 -nop +290 -jmp +62 -acc -7 -acc +36 -nop +212 -acc +14 -jmp +332 -jmp +291 -jmp +226 -acc +30 -jmp -161 -acc +39 -acc +38 -jmp +203 -nop +63 -nop -6 -acc -15 -nop -56 -jmp +72 -acc +1 -acc +34 -acc +22 -acc +19 -jmp -135 -acc +27 -jmp -303 -acc +1 -acc +48 -acc -19 -jmp +142 -acc +50 -jmp +298 -acc +43 -acc +0 -acc +50 -acc +12 -jmp +137 -acc +41 -nop +252 -jmp -310 -acc +13 -acc +34 -acc -15 -acc +43 -jmp +236 -acc +5 -acc -8 -acc +25 -acc +45 -jmp +153 -acc -12 -acc +31 -acc -1 -jmp +120 -jmp +236 -acc +38 -nop -238 -jmp -328 -jmp +81 -acc +48 -acc +15 -acc -9 -jmp -73 -nop -49 -jmp -271 -acc -17 -acc -17 -jmp +106 -nop +212 -jmp -290 -acc +36 -nop +109 -jmp +186 -jmp -310 -acc +4 -acc +16 -jmp +117 -jmp +1 -acc +10 -jmp +20 -acc +12 -jmp -311 -acc +12 -acc +30 -nop +182 -jmp -315 -acc +25 -acc +12 -acc +30 -jmp +50 -acc -19 -jmp -333 -acc +30 -nop +87 -jmp -199 -acc +8 -jmp +112 -acc -8 -jmp -313 -acc +7 -acc +32 -jmp +1 -jmp +230 -acc +25 -acc +45 -acc +20 -acc +0 -jmp -307 -acc +30 -nop -253 -acc +7 -acc +39 -jmp -113 -acc -12 -jmp +209 -acc +42 -acc +17 -acc -19 -acc +24 -jmp -170 -acc +30 -acc +9 -acc -1 -jmp -328 -acc +19 -acc +45 -jmp +132 -nop -244 -nop +35 -jmp +34 -acc -10 -acc +26 -acc +35 -nop -238 -jmp +54 -acc +15 -nop -378 -acc +42 -jmp -43 -acc -9 -acc -5 -acc -11 -nop -307 -jmp -129 -nop -202 -acc -9 -nop -376 -acc +11 -jmp -75 -jmp +14 -acc -1 -acc +32 -acc -14 -acc +16 -jmp +39 -acc +42 -acc +32 -jmp -133 -acc +1 -acc +17 -nop +85 -acc +35 -jmp +83 -acc +27 -acc +0 -acc -12 -jmp -93 -acc +48 -acc +35 -nop +154 -jmp -287 -jmp -347 -jmp -348 -acc +18 -jmp -374 -acc -15 -jmp +36 -jmp -123 -acc -11 -jmp +55 -acc +19 -acc +23 -jmp -339 -nop +5 -acc +44 -acc +2 -jmp +1 -jmp -417 -acc +23 -jmp -253 -acc -9 -acc -3 -jmp -138 -jmp -227 -acc +12 -jmp -437 -acc +47 -acc +19 -acc -6 -jmp -245 -acc +2 -jmp -328 -acc -14 -acc +25 -acc +4 -acc -2 -jmp -411 -jmp -351 -jmp -459 -acc +3 -acc +48 -jmp -134 -nop +54 -acc -14 -jmp -298 -jmp -401 -acc -14 -acc +25 -nop -55 -acc -10 -jmp -312 -acc -7 -acc +45 -jmp -74 -acc +30 -jmp -462 -acc +5 -acc -8 -jmp -355 -acc +9 -acc +44 -acc +44 -jmp -150 -jmp -484 -acc +14 -acc +19 -acc -6 -jmp -474 -acc -18 -jmp -166 -jmp -264 -acc -15 -acc +17 -acc +29 -jmp -149 -nop -273 -acc +31 -acc +0 -acc -2 -jmp -410 -jmp -411 -acc +47 -acc -6 -nop -287 -jmp -436 -acc +4 -nop +88 -jmp -158 -acc +32 -jmp +1 -acc -15 -jmp -319 -acc -6 -acc -18 -acc +49 -jmp -256 -acc -18 -acc +31 -acc +27 -acc +27 -jmp -351 -jmp +58 -acc +12 -jmp +1 -acc +32 -nop -151 -jmp -411 -acc +19 -acc +7 -jmp -287 -acc +30 -jmp -496 -acc -11 -acc +5 -acc +42 -acc +25 -jmp -249 -acc -1 -jmp -243 -jmp -190 -acc +32 -acc +32 -acc +14 -jmp +12 -acc +5 -acc +30 -acc +34 -jmp -46 -acc -13 -acc +5 -acc +45 -jmp -271 -acc +29 -acc +37 -jmp -323 -nop -18 -acc -2 -acc +21 -acc -12 -jmp -453 -acc -14 -acc +19 -nop -173 -jmp -411 -acc +24 -acc -7 -nop -136 -acc +6 -jmp -357 -acc -1 -acc -1 -acc +32 -jmp -264 -acc +26 -jmp -175 -acc +10 -acc +35 -nop -361 -jmp -493 -acc +14 -jmp -206 -jmp -138 -acc -1 -jmp -156 -acc +3 -acc +11 -acc -2 -jmp -213 -acc +35 -acc -13 -acc +47 -acc +45 -jmp -376 -jmp -543 -jmp -479 -acc +29 -jmp -532 -acc +28 -acc +47 -acc -11 -acc -14 -jmp +1 diff --git a/resources/input09.txt b/resources/input09.txt deleted file mode 100644 index 3102d884ecfd78e795cfe802218b37de5885672e..0000000000000000000000000000000000000000 --- a/resources/input09.txt +++ /dev/null @@ -1,1000 +0,0 @@ -24 -27 -31 -3 -26 -29 -14 -16 -25 -15 -32 -6 -41 -22 -2 -1 -12 -8 -7 -4 -48 -13 -47 -34 -5 -18 -33 -11 -45 -3 -9 -10 -14 -21 -16 -15 -17 -20 -19 -6 -22 -23 -12 -8 -7 -26 -24 -13 -25 -27 -29 -18 -28 -35 -42 -30 -31 -32 -14 -33 -21 -46 -36 -37 -15 -19 -40 -63 -20 -22 -38 -67 -34 -39 -43 -41 -53 -29 -44 -45 -76 -84 -50 -35 -55 -42 -56 -74 -48 -73 -49 -58 -88 -51 -63 -64 -69 -68 -70 -71 -77 -78 -86 -85 -95 -90 -114 -138 -83 -91 -136 -206 -153 -97 -121 -119 -109 -115 -120 -131 -139 -137 -141 -207 -181 -155 -163 -173 -176 -174 -210 -180 -305 -192 -212 -369 -303 -228 -206 -224 -234 -229 -317 -251 -280 -350 -278 -296 -318 -379 -328 -336 -382 -497 -354 -372 -386 -440 -398 -418 -524 -587 -479 -430 -453 -707 -696 -812 -697 -664 -596 -574 -771 -722 -682 -1175 -690 -758 -1140 -726 -826 -784 -816 -897 -992 -883 -1066 -909 -1112 -1179 -1170 -1296 -1318 -2088 -1238 -1380 -1300 -1995 -1372 -1466 -1416 -1448 -1896 -1510 -1542 -2112 -1986 -1725 -1780 -3008 -1949 -1975 -3412 -2282 -2721 -2408 -2734 -2828 -2864 -3018 -3459 -2672 -2788 -2820 -2882 -2958 -3228 -3322 -4231 -3267 -4670 -3505 -3674 -4957 -4257 -4683 -4383 -5522 -4690 -5129 -5080 -5406 -5460 -5492 -5554 -6247 -8175 -5608 -10162 -8195 -9663 -6495 -6589 -6772 -7888 -10278 -8803 -9763 -8640 -13803 -9073 -10928 -10182 -9770 -10540 -10486 -10866 -10952 -11046 -14411 -14422 -12103 -17541 -16981 -18573 -13084 -18918 -24897 -14660 -16528 -17876 -17443 -17713 -18843 -19255 -19559 -19952 -24908 -20310 -35824 -21352 -25363 -24036 -23149 -31188 -25187 -26763 -27744 -29612 -39565 -38870 -40023 -32103 -57441 -38795 -38814 -35156 -36968 -38098 -39207 -39511 -44501 -41662 -43459 -64233 -91977 -47185 -65558 -48336 -51950 -54799 -66614 -90745 -82970 -71310 -76912 -67259 -69071 -74667 -79760 -72124 -73254 -86696 -134559 -86163 -120357 -85121 -115595 -109017 -95521 -146374 -99135 -100286 -103135 -106749 -121413 -140513 -136330 -138569 -139383 -141195 -172859 -142325 -145378 -151884 -157245 -171817 -186982 -198656 -171284 -237704 -180642 -202270 -194656 -195807 -243648 -240330 -305405 -209884 -276843 -274899 -310386 -275713 -279764 -302623 -483245 -287703 -393312 -297262 -309129 -367091 -471520 -412154 -375298 -455541 -376449 -382912 -668211 -470706 -493069 -450214 -484783 -585285 -486727 -977852 -550612 -555477 -578336 -590326 -584965 -596832 -606391 -673711 -664353 -1135059 -957433 -788603 -942268 -973281 -1005691 -759361 -1021318 -920920 -934997 -1378929 -1476397 -971510 -1037339 -1042204 -1796700 -1963894 -1133813 -1163301 -1175291 -1344326 -1385435 -1280102 -1338064 -1423714 -1934652 -2482088 -1760113 -1730871 -2285793 -1680281 -1972336 -2306355 -2421133 -1906507 -2008849 -2013714 -3844847 -2171152 -2761778 -3586788 -2501365 -2297114 -2338592 -3330221 -2618166 -2665537 -3010973 -5061092 -3103995 -3411152 -3440394 -3490984 -4269450 -4310828 -3652617 -3878843 -4807720 -3915356 -3920221 -4022563 -6889816 -4468266 -8460337 -6088153 -6806858 -4635706 -4915280 -4956758 -6931378 -6270783 -8936320 -6114968 -6515147 -6544389 -6851546 -7093011 -7143601 -7675180 -7531460 -7572838 -7794199 -8383622 -7835577 -7942784 -8490829 -11275124 -9103972 -11150853 -9550986 -9592464 -9872038 -11227541 -11071726 -12385751 -12630115 -14768191 -13658748 -13944557 -13395935 -13995147 -15248018 -14818781 -15104298 -19658746 -20778527 -18696436 -16219199 -15778361 -23309610 -23546133 -18654958 -18976010 -20622712 -22502153 -26625262 -20943764 -31323497 -36048062 -25015866 -28477529 -27054683 -27340492 -27391082 -28214716 -29923079 -39319148 -30882659 -31997560 -39640200 -34433319 -34474797 -61865879 -37630968 -39277670 -45995450 -39598722 -39919774 -45959630 -43445917 -64397876 -47998447 -54445765 -53230582 -59097375 -62648035 -68134490 -60805738 -76950116 -58137795 -69563279 -62880219 -77550742 -73710989 -68908116 -106136242 -72105765 -76908638 -121018014 -79197444 -106093952 -79518496 -83365691 -145084606 -96676499 -115878617 -120785830 -107676347 -111368377 -151624261 -118943533 -136591208 -127045911 -134985984 -127701074 -154459380 -131788335 -141013881 -142619105 -148426612 -156427134 -149014403 -281505291 -158715940 -180042190 -189459643 -239295604 -191042038 -228464834 -236664447 -300828020 -219044724 -226619880 -298985723 -255534741 -245989444 -373035355 -290504275 -259489409 -268714955 -272802216 -280802738 -283632986 -291045717 -394416056 -305441537 -307730343 -371084228 -338758130 -599549062 -380501681 -573630236 -410086762 -501267050 -527168722 -519872744 -528204364 -517665597 -373803594 -586244275 -574156492 -532291625 -540292147 -578243753 -1028435772 -685943218 -856423727 -574678703 -596487254 -613171880 -644199667 -646488473 -709842358 -986975474 -1101325214 -906095219 -1106448117 -937255484 -914095741 -891469191 -1145463505 -1049957222 -947960086 -948482297 -1152400245 -1072583772 -1106970328 -1118535900 -1299115098 -1600147354 -1510582995 -1828724675 -1221167176 -1209659134 -1323014238 -2220425353 -1594970770 -2066495986 -1820190960 -1797564410 -1805564932 -1998439519 -1851351225 -1839429277 -2355122639 -2169649473 -3405079861 -2542930856 -2021066069 -2662983240 -2179554100 -2225506228 -2328195034 -3219606695 -2821314530 -2430826310 -2532673372 -3060596453 -2804629904 -4702322845 -3392535180 -3415161730 -3617755370 -3603129342 -6150428742 -3644994209 -4167624311 -3860495346 -4009078750 -4190715542 -4200620169 -5337303276 -5865226357 -5593269825 -7921464859 -4405060328 -7032917100 -5845988040 -5252140840 -4963499682 -5491422763 -6135802714 -9136416972 -6219791634 -9692042932 -7770753653 -7018291072 -7220884712 -7248123551 -7505489555 -7654072959 -11223632642 -7869574096 -8199794292 -8391335711 -8605680497 -10556769507 -12509713835 -13364023478 -10454922445 -9368560010 -11337410803 -10215640522 -10743563603 -11099302396 -11711214397 -12355594348 -13238082706 -13440676346 -14672364031 -26678759052 -14469008263 -14726374267 -18613137699 -15159562514 -19911008689 -16069368388 -22571234870 -21724154358 -16997016208 -17974240507 -19584200532 -19823482455 -20112123613 -21314942918 -20467862406 -27406779191 -23656316868 -21842865999 -22810516793 -28113040377 -25593677054 -27909684609 -28167050613 -36515230030 -29195382530 -35653568920 -34310574799 -41753874688 -31228930902 -48279174226 -48580902783 -44534671151 -65410191556 -48377547015 -37558441039 -40052062938 -77474556756 -40579986019 -50977567406 -42310728405 -44653382792 -70220413014 -47436543053 -67744160932 -53503361663 -54789059584 -56076735222 -84732292565 -60424313432 -63505957329 -65539505701 -93030929807 -68787371941 -71280993840 -77610503977 -78138427058 -79869169444 -80632048957 -82211823831 -82890714424 -155612983814 -162342796542 -117656956067 -175242753638 -105077696224 -92089925845 -107860856485 -242986914570 -108292421247 -119042867364 -150999195772 -154171708264 -330855737452 -143677932759 -129045463030 -136820499541 -140068365781 -238503698238 -148891497817 -165102538255 -162080993275 -160501218401 -162843872788 -270203653027 -201933581788 -225949377314 -197167622069 -199950782330 -224120563588 -200382347092 -211132793209 -285711997358 -227335288611 -291889335818 -616567734810 -265865962571 -283217171294 -269113828811 -272723395789 -276888865322 -493822917606 -472137234815 -324924866063 -309392716218 -432284646302 -322582211676 -323345091189 -360011494857 -397118404399 -467799544359 -400333129422 -397549969161 -411083575539 -424502910680 -411515140301 -546002694133 -493201251182 -496449117422 -608142037357 -669404211075 -595305607465 -541837224600 -549612261111 -582116112007 -600233956511 -632737807407 -648269957252 -682593706533 -631974927894 -720132180837 -645927302865 -893999086583 -1019657177658 -1093907121755 -868132673781 -1328274218194 -809065109462 -822598715840 -836018050981 -904716391483 -1078565229429 -1315437788302 -1038286342022 -1131728373118 -1091449485711 -1123953336607 -1214853919414 -1149846217622 -1264709818540 -1232208884405 -1264712735301 -1454573643734 -1536691319377 -1940793482580 -1529197290299 -1454992412327 -2151385550776 -2353724130324 -2397329964080 -1631663825302 -3808297774058 -1645083160443 -3851903607814 -2116851571451 -1943002733505 -2578945748934 -2129735827733 -2215402822318 -2223177858829 -2877292044848 -2273799554229 -2364700137036 -2719705147628 -2793910025600 -2496921619706 -3996363962338 -2984189702626 -2991683731704 -6843587339518 -3086656237629 -3606377963103 -3276746985745 -3761399653035 -3574666558807 -3588085893948 -3761934731894 -3774818988176 -4708681576667 -4836556719079 -4072738561238 -5855692734679 -5374213664554 -4438580681147 -4496977413058 -5550546539974 -4638499691265 -5481111322332 -5216626767334 -5290831645306 -6661322796436 -5975873434330 -6070845940255 -6363403223374 -6674742131577 -6693034200732 -8103355376161 -6851413544552 -7162752452755 -11601333133902 -8483500564843 -9243046054226 -7847557549414 -11266705079636 -9077080372412 -8569715974296 -11406239274653 -8935558094205 -9135477104323 -10614373125595 -9855126458599 -9929331336571 -14352103871657 -11654234868680 -17307407326327 -13526155676129 -12046719374585 -14174201316416 -13038145354951 -17646796346708 -13544447745284 -19098172512825 -14014165997307 -15010310002169 -25440906396052 -16331058114257 -16417273523710 -20731315241092 -17505274068501 -17705193078619 -18071035198528 -18790684552804 -18864889430776 -18990603562922 -38038722567419 -19784457795170 -23455487012700 -25084864729536 -23700954243265 -28554757747453 -25572875050714 -31109180553479 -31828829907755 -31191244091992 -39455072393359 -31719359075926 -29024475999476 -32515584070670 -31341368116426 -34036251192876 -32748331637967 -33922547592211 -35210467147120 -35576309267029 -63939575729959 -36861719751332 diff --git a/resources/input10.txt b/resources/input10.txt deleted file mode 100644 index f0028b97b8543c4ebe00aa075668ea6f93769d18..0000000000000000000000000000000000000000 --- a/resources/input10.txt +++ /dev/null @@ -1,97 +0,0 @@ -8 -40 -45 -93 -147 -64 -90 -125 -149 -145 -111 -126 -9 -146 -38 -97 -103 -6 -122 -34 -18 -35 -96 -86 -116 -29 -59 -118 -102 -26 -66 -17 -74 -94 -5 -114 -128 -1 -75 -47 -141 -58 -65 -100 -63 -12 -53 -25 -106 -136 -15 -82 -22 -117 -2 -80 -79 -139 -7 -81 -129 -19 -52 -87 -115 -132 -140 -88 -109 -62 -73 -46 -24 -69 -101 -110 -16 -95 -148 -76 -135 -142 -89 -50 -72 -41 -39 -42 -56 -51 -57 -127 -83 -121 -33 -32 -23 diff --git a/resources/input11.txt b/resources/input11.txt deleted file mode 100644 index 85142c6dfa1d49b11cd3b35a2c3794e04fb2e248..0000000000000000000000000000000000000000 --- a/resources/input11.txt +++ /dev/null @@ -1,99 +0,0 @@ -LLLLLLLLLLLLLLLLLLLLLLL.LLLLLLL.L.LLLLL.LLLL.LLLLLLLLL..LLL.LLLLLLLLLLLLLL.LLLLLLLLL.LLL.LLLLLL -LLLLLLLLLL.L.LLLLLLL.LL.LLLLLLL.LLLLLLLL.LLLLLLLLLLLLL.LLLLLLLLLLL.LLLLLLLL.LLLLLLLLLLLL.LLLLLL -LLLLLLLL.L.LLLLLLLLLLLL.LLLLLLL.LLLLLL.LLLLL.LLLLLLLLL.LLLLLLLLLLL.LLLLLLLLLLLLLLLL.LLLL.LLLLLL -.LLLLLLLLLLLLLLLLL.LLLL.LLLLLLL.LLLLLL.LLLLL.LLL.LLLLLLLLLL.LLLLLL.LLLLLLLL.LLLLLL.LLLLL.LLLLLL -LLLLLLLLLLLLLLLLLLLLLLL.LLLLLLL.LLL.LLLLL.LL.LLLLLLLLL.LLLL.LLLLLL.LLLLLLLL.LLLLLLL.LLLL.LLLLLL -LLL.LL..L..L.LL.L.L........L.............LLL....LL...L..L.L.....L..L.L.......L..L......LLLL.L.L -LLLLLLLLLLLLLLLLL..LLLL.LLLLLLL.LLLLLL.LLLLL.LLLLLLLLL.LLLL.LLLLLLLLLLLLLLL.LLLLLLL.LLLLL.LLLLL -LLLLLLLLLL.LLLL.LL.LLLL.LLLLLLLLLLLLLLLLLL.L.LLLLLLLLL.LLLL.L.L.LL.LLLLLLLLLLLLL.LL.LLLLLLLLLLL -LLLLLLLLLLLLLLLLL.LLLLL.LLLLLLL.LLLLLLLLLLLL.LLLLLLLLL.LLLL.LLLLLLLLLLLLLLL.LL.LLLLLLLLL.LLLLL. -LLLLLLLLLLLLLLLLL..LLL.LLLLLLLLLLLLLLL.LLLLL.LLLLLLLLL.LLLL.LLLLLL.LLLLLLLL.LLLLLLLLLLLL.LLLLLL -LLLLLLLLLL.LLLLLLLLLLLL.LLLLLLLLLLLLLLLLLLLL.LLLLLLLLLLLLLL.LLLL.LLLLLLLLLLLLL.LLLL.LLLLLLLLLLL -LLLLLLLLLL.LLLLLLL.LLLLLLLLLLLL.LLLLLL.LLL.L..LLLLLLLL.LLLL.LLLLLL..LLLLLLLLLLLLLLL.LLLL.LLLLLL -L.LLLLLLLL..LLLLLL.LLLL.LLLLLLLLLLLLLL.LLLLL.LLLLLLLLLLLLLL.LLLLLLLLL.LLLLL.LLLLLLL.LLLL.LLLLLL -.LLLLLLLLL.LLLLLLLLLLLL.LLLLLLLLLLLLLLLLLLLLLLLLLLLLLL.LLLLLLLLLLLLLLLLLLLL.LLLLLLL.LLLLLLLLLLL -LL.L..LL...LL..L..L.L.L.....L..LL...L.LLL......L.L...L.LL...L.L.L.........L.LL....L.LL.LL...LL. -LLLLLLLLLLLLLLLLLLLLLLL.LLLLLLL.LLLLLLLLLLLLLLLLLLLLLL.LLLL.LLLLLL.L.LLLLLLLLLLLLLL.LLL..LLLLLL -LLLLL.LLLL.LLLL.LLLLLLLLLLLLLLL.LLLLLL.L.LLL.LLLLLLLLL.LLLLLLLLLLLLLLLLLLLLLLLLLLLL.LLL.LLLLLLL -LLL.LLLLLL.LLLLLLL.LLLL.LLL.LLL.LLLL.L.LL.LLLLLLLLLLLL.LLLL.LLL.LL.LLLLLLLLLLLLLLLLLLLLL.LL.LLL -LLLLLLLLLL.LLL.LLLLLLLL.LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL.LLLLLL.LLLLLLLLLLLLLLLL.LLLL.LLLLLL -...L...L..L.L...L..L......L.......L.L...L...L...L.....L...L...L....L...LL..L..L.............LL. -LLL..LLLLL.LLLLLLLLLLLL.LLLLLLL.LLLLLL.LLLLLLLLLLL.LLL.LLLL.LLLLLL.LLLLLLLLLLLLLLLL.LLLLL.LLLLL -LLLLLLLLLL.LLL..LLLLLLL.L.LLLLL.LLLLLLLLLLLL.LLLLLLLLL.LLLLLLLLLLL.LLL.LLLLLLLLLLLLLLLLLLLLLLLL -LLLLLL.L.L.L.LLLLLLLLLL.LLLLLLL.LLLLLL.LLLLL.LLLLLLLLLLLLLL.LLLLLL.LLLLLLLL.LLLLLLL.LLLL.LLLLL. -LLLLLL.LLL.LLLLLLLLLLLL.LLLLLLL.L.LLLLLLLLLL.LLLLLLLLL.LLLL.LLLLLL.LLL.LLLL.LLLLLLL.LLLL.LLLLL. -LLLLLLLLLL.LLLLLLL.LLLL.LLLLLLL.LLLLLL.LLLLL.LLL.LLLLL.L.LL.LLLLLL.LLLLLLLL..LLLLLLLLLLL.LLLLLL -LLLLLL.LLL.LLLLLLL.LLLL.LLLLLLL.LLLLLLLLLLLLLLLLLLLLLL.LLLLLLLLLLL.LLLLLLLL.LLLLLLL.LLLLLLLLLLL -LLLLLLLLLL.LLLLLLL.LLLL.LLLLLLLLLLLLLLLLLLLL.LLLLLLLLL.LLLL.LLLLLL.LLLLLLL..LLLLLLLLL.LL.LLLLLL -LLLLLLLLLLLLLLLLLLLLLL..LLLLLLL.LLLLLL.LLLLL.LL.LLLLLL.LLLLLLLLLLL.LLLLL.L.LLLLLLLLLLLLL.LLLLLL -LLLLLLLLLL.LLLLLLLLLLLL.LLLLLLL.LLLLLLL.LLLL.LLLLLLLLLLLLLL.LLLLLLLLLLLLLLL.LL.LLLL.LLLL.LLLLLL -.L......L..L........LL..LLL...LL.L.....L..L.L..LLL..LLL..LL.LL...LLL.......L...LL...........LLL -LLLLLLLLLL.LL.LLLL.LLLL.LLLLLLL.LLLLL.LLLLLL.LLLLLLLLL.LLLLLLLLLLL.LLLLLLLL.LLLLLLLLLLLL.LLLLLL -LLLLLLLLLLLLLLLLLL.LLLLLLLLLLLLLLLLLLLLLLLLL.LLLLL.LLL.LLLLLLLLLLL.LLLLLLLLLLLLLLLL.LLLL.LLLLLL -LLLLLLLLLL.LLLLLLL.LLLL.LLLLLL..LLLLLL.LLLLLLLLLLLLLLL.LL.L.L.LLLLLLLLLLLLL.LLLLLLL.LLL..LLLLLL -LLLLLL.LLL.LLLLLLL.LLLLLLLLL.LL.LLLLLL.LLLLLLLLLLLLLLL.LLLL.LLLLLL.LLL.LLLL.LLLLLLL.LLLL.LLLLLL -LLLLLLLLLLLLLLLL.L.LLLL.LLLLLL..LLLLLLLLLLLL.LLLLLLL.L.LLLLLLLLLLL.LLLLLLLL.LLLLLLL.LLLL..LLLLL -LLLLLLLLLL.LLLLLLL.LLLL.LLLLLLL.LLLLLLLLLLLL.LLLLLLLLLLLLLL.LLLLLL.LL.LLLLL.LL.L.LL.LLLLLLLLLLL -LLLLLL.LLL.LLLLLLL.LLLLLLL.LLLL.LLLLLLLLLLLL.LLLLLLLLL.LLL.LLLLLLL.LLLLLLLLLLLLLLL..LLLL.LLLLLL -LL.LLLLLLL.LLLLLLL.LLLLLLLLLLLL.LLLLLLLLLLLLL.LLLLLLLLLLLLLLLL.LLL.LLLLLLLL.LLLLLLLLLLLLLL.LLLL -LLLLLLLLLL.LLLLLLL.LLLL.LLL.LLL.LLLLLL.LLLL..LLLLLLLLLLLLLL.LLLLLLLLLLLLLLL.LLLLLLL.LLLL.LLLLLL -........LL.L..LLLL..L..LLLL..LLL.........L.L......LL.LL..L........L...L..LL..LLLL.L.L.....L.LL. -LL.LLLLLLL.LLLLLLL.LLLL.LLLL.LL.LLLLLLLLLLLLLLLLLLLLLL.LLLL.LLLLL..LLLLLLLLLLLLLLLL.LLLLL.L..LL -LLLLLLLLL.LLLLLLLL.LLL..LLLLLLL.LLLLLL.LLLLL.LLLLLLLLL.LLLL.LLLLLLLLLL.LLLL.LLLL.LLLLLLLLLLLLLL -LL.LLLLLLL.LLLLLLL.LLLL.LLLLLLLLLLLLLL.LLLLLLLL.LLLLLLLLLLL.LLLLLL.LLLLLLL..LLL.LLLLLLLLLL.LLLL -LLLLLLLLLLLLLLLLLLLLLLL.LLLLLLL.LLLLLLLLLLLL.LLLLLLLLL.LLLL.LLLLLL.LLL.LLL..LLLLLLL.LLLL.LLLLLL -LLL.LLLLLL.LLLLLLLLLLLLLLLLLLLL.LLLLLL..LLL.LLLLLLLLLL.LLLL.LLLLLL.LLLLLLLLLLLLLLLL.LLLL.LLLL.L -LLLLLLLLLL.LLLLLLL.LLLLLLLLLLLL.LLLLLL.LLLLLLLL.LLLLLLLLLLL.LLLLLL.LL.LLLL..LLLLLLLLLLLLLLLLLLL -..LL..LLL.....LL......L..L.L.LLL........LL......LLL...L......L.LL..L.LL.LL.L.......LL....LL...L -.LL.LLLLLLLLLLLLLL.L.LL.LLLLLLL.LLL.LL...L.L.LLLLLLLLL.LLLLLLLLLLLLL.LLLLLL.LLLLLLL.LLLL.LLLLLL -L.LLLLLLLLLLLL.LLL.LLLL.LLLLLLL.LLLLLLLLLLLL.LLLLLLLLLLLL.LLLLLLLL.LLL.LLLL.LLL.LLL.LLLL.LLLLLL -LLLLLLLLLL.LLLLLLL.LLLL.LLLLLLL.LLLLLLLLLLLL.LLLLLLLLL.LLL..L.LLLL.LLLLLLLL..LLL.LLLLLLL.LLLLLL -.LLLLLLLLL.LLL.LLL.LLLL.LLL..LLLLLLLLLLLLLLLLLLLLLLLLLL.LLL.LLLLLL.LLLLLLLL.LLLLLLL.LLLL.LLLLLL -L..L...LL...L.LL....L.LL.L..LL.L.........L.........LLLL..L.L..LL...L.L.L....LLL.....L..L.L...LL -.LLLLLLLLL.LLLL.LL.LLLL.LLLLLLLLL.LLLL.LLLLL.LLL.LLLLL.LLLLLLLLLLL.LLLLLLLLLLLLLLLLLLLLL.LLLLLL -LLLLLLLLLL.L..LLLL.LLLL.LLLLLLL..LLLLLLLLLLL.LLLLLLLLL.LLLL.LLLLLLLLLLLLLLL.LLLLLLLLLLLL.LLLLLL -LLLLLLLLLL.LLLLLLL.LLLL.LLLLLLL.LLLLLL.LLLLLLLL.LLLLL.LLLLLLLLLLLL.LLLLLLLL.LLLLLLL.LL.LLLLL.LL -LLLLLLLLLL.LLLLLLL.LLLL.LLLLLLL.LLLLLL.LLLLLLLLLLLLLLLLLLLLLLLLLLL.LLLLLLLL.LLLLLLL.LLLLLLLLLLL -L.LLLLLLLL.LLLLLLLLLLLL.LLLL.LL..LLLLL.LLLL.LLLLLL.LLLLLLLL.LLL.LLLLLLLLLLLLLLLLL.L.LLLL.LLLLLL -LLLLLLLLLL..LLLLLL.LLLLLLLLLLLL.L.LLLL.LLLLLLLLLLLLLLL.LLLL.LLLLLL..LL.LLLL.LLLLLLL.LLLL.LLLLLL -LLL.LLLLLLLLLLLLLL.LLLLLLLLLLLL.LL.LLL.LLLLL.LLLLL.LLL.LLLL.LLLLLL.LL.LLLL..LLLLLLL.LLLLLLLLLLL -LLLLLLLLLL.LLLLLLLLLLLL.LLLLLLL.LLLLLL.LLLLL.LLLLLLLL..LLLL.LLLLLLLLLLLLLLL.LLLLL.LLLLLL.LLLLLL -L.L...L...L..L..L....L...L..LLL..L....L..LL...LLL.LL.L...L.L..L.LLL..L....L.L...LL..L..L.L..L.L -LLLLLLLLLLLLLLLLLLLLLLLLLLLL.LLLLLLLLLLLLLLL.LLLLLLLLL.LLLL.LLLLLL.LLLLLLLL.LLLLLLL.LLLL.LLLLLL -LLLLLLLLLLLLLLLLLL.LLLLLLLLLLLLLLLLLLLLLLLLL.LLLLLLLLL.LLLL.LLLLLLLLLLLLLLLLLLLLLLL.LLLLL.LLL.L -LLLLLLLLLL.LLLLL.L.LLLL.LLLLLLL.LLLLLLLLLLLL.LLLLLLLLL.LLLL.LLLLLL.LLLLLLLLLLLLL.LLLL.LLLLLLLLL -L..LLLLLLLLL.LLLLL.L.LLLLLL.LLL.LLLLLL.LLLLLLLLLLLLLLL.LLLL.LLLLLL.LL.LLLLLLLLLLLLL.LLLLLLLLLLL -LLLLL.LLLL.LLLL.LL.LLLL.LLLLLLLLLLLLLLLLLLLL.LLLLLLLLL.LLLLLL.LL.L.LLL.LLLLLLLLL.LL.LLLL.LLLLLL -....L....L..L.....L....L..LL....L.L..L..LL.LLL...L.....L.LLL.L.LL.....L....L.L........L.LLL.... -L.L.LL.LLL.LLLLL.L.LLLL.LLLLLLL.LLLLLL.LLLLL.LLLLLLLLL.LLLL.LLLLLLLL.LLLLLLLLLLL.LL.LLLL.LLLLLL -LLLLLLLLL.LLLLLLLL.LLLL.LLLLLLL.LLLLLL.LLLLL.LL.LLLLLL.LLLL.LLLLLL.LLLLLLL.LLLLLLLL.LLLL.LLLLLL -LLLLLLLLL.LL.LLLLLLLLLL.LLLL.LLLL.LLLLLLLLLLLLLLLLLLLL..LLL.L..LLL.LLL.L.LL.LLLLLL..LLLL.LLLLLL -LLLLLLLLLL.LLLLLLL.LLLL.LLLLLLL.LLLLLL.LLLLLLLLLLLLLLLLLLLLLLLLLLL.LLLLLLLLLLLLLLLL.LLLLLLLLLLL -LLLLLLLLLLLLLLLLLLLLLLL.LLLLLLL.LLLLLLLLLLLL.LLLLLLLLL.LLLL.LLLLLLLLLLLL.LL.LLLLLLL.LLLL.LLLLLL -.....LL.LL.L.....LL.LL..L...L...LLLLL......L.L....LL...LLL...LLLLL..LL..L....L......L.......L.L -LLLLLLLLLL.LLLL.LL.LLLL.L.LLLLL.LLLLLL.LL.LL.LLLLLLLLL.LLLL.LLLLLLLLLLLLLLL.LLLLLLLLLLLLLLLLLLL -LLLLLLLLLL.LLLLLLL.LLLL.LLLLLLL.LLL.LL.LLLLL.LLLLLLLLLLLLLLLLLLLLL.LLLLLLLLLLLLLLLL.LLLLLLLLL.L -LLLL.LLLLL.LLLLLLL.LLLL.LLLLLLL.LLLLLL.LLLLLLL.LLLLLLLLLLLLLLLLLLL.LLLLLLLL.LLLLLLLLLLLL.LLLLLL -LLLLLLLLL..LLLLLLL.L.LL..LLLLLLLLLLLLL.LLLLL.LLLLLLLLLLLLLL.LLL.LL.LLLLLLLL.LLLL.LLLLLLLLLLLLLL -LLLLLLLLLLLLL.LLLLLLLLL.LLLLLL..LLLLLL.LLLLL.LLLLLLLLLLL.LLLLLLLLLL.LLLLLLL.LLLLLLL.LLLLLLLLLLL -..LLL..L..L...L..L..L.L.....L............L.....L..L....L.LL......L.....L..LLL..L.L..L.......... -LLL.LLLLLL.LLLLLLLLLLLL.LL.LLLLLLLLLLL.LLLLLL.LLLLLLL..LLLL.LLLL.L.L.LLLL.LLLLLLLLLLLLLLLLLLLLL -LLLLLLLLLL.LLLLLLL.LLLL.LLLLLLL.LLLLLL.LL.LL.LLLLLLLLLL.LLL.LL.LLLLLLLLLLLL.LLLLLLLLLLLL.LLLLLL -.LLLLLLLLL.LLLL.LLLLLLLLLLLLL...LL.L.LLLLLLL.LLLLLLLLLLLLLLLLLLLLL.LLLLLLLL.LLLLLLLLLL.L.LLLLLL -LLLL.LLLLLLLLLLLLL.LLLL.LLLLLLLLLLLLLL.LLLLL.LLLLL.LLL.LLLL.LLLLLLLLLLLL.LLLLL.LLLLLLLLLLLLLLLL -LLLLLLLLLL.LLLLLLL.LLLLLLLLLLLL.LLLLLL.LLLLL.LLLLLLLLL.LLLLL.LLL.L.LLLLLLLL.LLLLLL..LLLLLLLLLLL -.LLLLLLLLL.LLLLLLL.LLLL.LLLLLL..LLLLLL.LLLLL.LLLLLLLLLLLLLLLLLLLLL.LLLLLLLL.LLLLLLL.LLLL.LLLLLL -.L.....LL......L........L.L....LLL......L...L.LL...L...L..LL................L...L..L........... -LLLLLLLLLL.LLLLLLL.LLLL.LLLL.LL.LLLLLL.LLLL..LLLLLLLLLLLLLLLLLLLLL.LLLLLLLL.LLLL.LL.LLL.LLLLLLL -LLLLLL.LLL.LLLLLL..LLL..LLLLLL..LLLLLL.LLLL..LLLLLLLLLLLLLLLLLLLLL.LLLLLLLL.LLLLLLL..LLLLLLLLLL -LLLLLL..LL.LLLLLLL.LLLL.LLLL.LL.LLL.LL.LLLLLLLLLLLLLLLLLLLL.LLLLLL.LLLLLLLLLLLLLLLL.LLLLLLLLLLL -LLLLLLLLLL.LLLLLLL.LLLLLLLLLLLL.LLLLLL.LLLLLLLLLLLLLLL.LL.L.LLLLLL.L.LLLLLL.LLLLLLLLLLLLLLLL.LL -LLLLLLLLLL.LLLLLL.LLLLLLL.LLLLL.LLLLL.LLLLLL.L.LLLLLLL.LL.LLLLLLLLLLL.LLLLLLLLLLLLL.LLLLLLLLLLL -LLLLLLLLLL.LLLLLLL.LLLL.LLLLLLLLLLLLLL.LLLL..LLLLLLLLL.LLLLLLLLLLLLL.LLLLLL.LLLLLLL.LL.L.LLLLLL -LLLLL.LLLL.LLLLLLL..LLLLLLLLLLL.LLLLLL.LLL.L.L.LLLLLLLLLLLL.LLLL.L.LLLLLLLL.LLLLLLL.LLLLLLLLLLL -....LLL...LLL.....L.L...LL...L..L....LL...L.L.LLLLL....L......LLLL......L..LLLLL.L.LL...LL..LLL -LLLLLLLLLLLLLLLLLLLLLLL.LLLLLLL.LL.LLL.LLLLL.LLLLLLLLL.LLLL.LLLLLL.LLLLLLLL.LLLLLLLLLLLL.LLLLLL -LLLLLLLLLLLLLLLLLL.LLLLLLLLLLLL.LLLLLL.LLLLL.LLLLLLLLL.LLLL.LLLLLL.LLLLLLLLLLLLLLLL.LLLLLLLLLLL -.LLLLLLLLL.L..LLLLLLLLLLLLLLLLL.LLLLLL.LLLL..LLLLLLLLL.LLLLLLLLLLL.LLLLLLLLLLLLLLLL.LLLLLLLLLLL -LLLLLLLLLL.LLLLLLL.LLLL.L.L.LLLLLLLLLL.LLLLLLLLLLLLLLLLLLLL.LLLLLL.LLLLLLLL.LLL.LLLL.LLL.LLLLLL -LLLLLLLLLLLLLLLLLL.LLLL.LLLLLLLLLLLLLLLLLLLLLLLLLLLLLL.LLLL.LLLLLL.LLLLLLLL..LLLLLL.LLLL.L.LLLL diff --git a/resources/input12.txt b/resources/input12.txt deleted file mode 100644 index 85892eab86ba12ad042e0b4cd9af1b93c915b941..0000000000000000000000000000000000000000 --- a/resources/input12.txt +++ /dev/null @@ -1,764 +0,0 @@ -R90 -W4 -L90 -N2 -E5 -N1 -N5 -R90 -E2 -L90 -F11 -L180 -W4 -L90 -S5 -L90 -F66 -W4 -F2 -E1 -S5 -W5 -F86 -E3 -R90 -N2 -F91 -F94 -R180 -W5 -F18 -R180 -F100 -W5 -F40 -W2 -R180 -F2 -E3 -N4 -W1 -L180 -N3 -E3 -S1 -L180 -W3 -R180 -E2 -F84 -L90 -W1 -N1 -F10 -N4 -R90 -E4 -F55 -S1 -W4 -S5 -W2 -R90 -S5 -E5 -F41 -S1 -W5 -F84 -E3 -F48 -F12 -L90 -F79 -N5 -E2 -F34 -E5 -N2 -F76 -S3 -F73 -W3 -S1 -R180 -W4 -L90 -F9 -E2 -F76 -N3 -F46 -N5 -F41 -S5 -L90 -N3 -L180 -F95 -E3 -R90 -F3 -E4 -F15 -S2 -W5 -R90 -N1 -F26 -F99 -S1 -F13 -F88 -W2 -L90 -W5 -R90 -F2 -E4 -R180 -N2 -F5 -N2 -R90 -S4 -E2 -L90 -F21 -N3 -R90 -E2 -E4 -S1 -W3 -F42 -N3 -E3 -N2 -E1 -L90 -S1 -L90 -F50 -S4 -F24 -S3 -F50 -L90 -F70 -L180 -F19 -N3 -L90 -F18 -L90 -F5 -F70 -R180 -N1 -L90 -E4 -S2 -W3 -N3 -F16 -W5 -F15 -S1 -L180 -S3 -F60 -R180 -F7 -R180 -W4 -R180 -S2 -N5 -W1 -F59 -R90 -S5 -W5 -F80 -L90 -R90 -F62 -R180 -S3 -R180 -W3 -L90 -N2 -F64 -E4 -R180 -S4 -R90 -E3 -F27 -W4 -R90 -F45 -L90 -N1 -E3 -F12 -L180 -F83 -S1 -W5 -L270 -E5 -F97 -F45 -N1 -F16 -F85 -E4 -S2 -N1 -E3 -F41 -N2 -R90 -S2 -R180 -E5 -L270 -F22 -W2 -R180 -N3 -R270 -E5 -L90 -S2 -W5 -F57 -L90 -L90 -F96 -E1 -S4 -W1 -L90 -W1 -F20 -N5 -E4 -R90 -W3 -S5 -R90 -W4 -R270 -F91 -E5 -L90 -F19 -L90 -S4 -R90 -S4 -F58 -R180 -F78 -R180 -F16 -W4 -R90 -F13 -S3 -E3 -F14 -N4 -E4 -R90 -W3 -S4 -W5 -F53 -R90 -S5 -F67 -L90 -W5 -F97 -R90 -W3 -F82 -N5 -F92 -E3 -R90 -F55 -W1 -F100 -E3 -F88 -S2 -E3 -N4 -E1 -F75 -F2 -L180 -E5 -L90 -F40 -N2 -R90 -F25 -N2 -L90 -E4 -F15 -L90 -S3 -W2 -R90 -E2 -R90 -S5 -L90 -F14 -W1 -L180 -F19 -R180 -W4 -S1 -L90 -F14 -N5 -N3 -L90 -N2 -F78 -L90 -N5 -E3 -N2 -F73 -S2 -F88 -N3 -F42 -S5 -F38 -S4 -F73 -R90 -F45 -R90 -F98 -L90 -W5 -S4 -L90 -E3 -L90 -F32 -N2 -F32 -W5 -S1 -R180 -F76 -W1 -L180 -W2 -S1 -R180 -S2 -F1 -S1 -E2 -R90 -N3 -E4 -L90 -S5 -L270 -N2 -F83 -L90 -F53 -L90 -F100 -W1 -L90 -E4 -R90 -S4 -F41 -W2 -R270 -E4 -F65 -R90 -F39 -E5 -R180 -F1 -W2 -R180 -E5 -L270 -E3 -R90 -W3 -R90 -W5 -F17 -E4 -F18 -S2 -N5 -E5 -L90 -W4 -F1 -S4 -E4 -L90 -S3 -E4 -F62 -R180 -F52 -S3 -F10 -S5 -L90 -F28 -R90 -F49 -W3 -F9 -N3 -W2 -N1 -L90 -L90 -E2 -S2 -W2 -F47 -R180 -E1 -R90 -F39 -E3 -N2 -W2 -F86 -F94 -R90 -S2 -R90 -E3 -F88 -N3 -E4 -L90 -S5 -F63 -W5 -L180 -N5 -N2 -F34 -R90 -F19 -N1 -F95 -L90 -E5 -L90 -F3 -R180 -S4 -L90 -F1 -N4 -R90 -E5 -N5 -R90 -E3 -F21 -R180 -S2 -R90 -N2 -L90 -N2 -W2 -E4 -S2 -E1 -N3 -R90 -W1 -L90 -F42 -W4 -F98 -W4 -L90 -F84 -S4 -F67 -W2 -S2 -L90 -S4 -E5 -L90 -F58 -E1 -S1 -W4 -N3 -W3 -R90 -E3 -F19 -S4 -L180 -N3 -R90 -N5 -F77 -N5 -W2 -S1 -L180 -F78 -W5 -S5 -E3 -N2 -F64 -L180 -F21 -R90 -W2 -F44 -N2 -L90 -F91 -S4 -R180 -N2 -W2 -F77 -S5 -F50 -R90 -F21 -W5 -L180 -S4 -F71 -E1 -N4 -R90 -F93 -W1 -N2 -F23 -E4 -L180 -F11 -E4 -F17 -R180 -N3 -R90 -F92 -R180 -F97 -S1 -E1 -F67 -E4 -R90 -F5 -F8 -L180 -L180 -L90 -N3 -N3 -R180 -E2 -F21 -L180 -N1 -S3 -L90 -W1 -L90 -E4 -R90 -F75 -R90 -W3 -F93 -L90 -S4 -F35 -F72 -S5 -E3 -F7 -S3 -R90 -W2 -R90 -F21 -W3 -N5 -F70 -W5 -N2 -L270 -F69 -L90 -S2 -F88 -W5 -S4 -R180 -E2 -F52 -N1 -F93 -N2 -E5 -S4 -L90 -N4 -R90 -F65 -S4 -L180 -S3 -F8 -E4 -R90 -F76 -E3 -F33 -R90 -N2 -F25 -N4 -E1 -S2 -L90 -N1 -L90 -N5 -R90 -E5 -F81 -N5 -F3 -W4 -S1 -F45 -W1 -F43 -E4 -N1 -F45 -E4 -S4 -E4 -N2 -E2 -F15 -W1 -L270 -F84 -R90 -N1 -F21 -N2 -F26 -W1 -N1 -W4 -S4 -F25 -R90 -N5 -R90 -S2 -R90 -E2 -L180 -N4 -R270 -S3 -F46 -S4 -S2 -L90 -N2 -F7 -W1 -S1 -L270 -E2 -R180 -S1 -W4 -N1 -F65 -L90 -E1 -N1 -R90 -N3 -W1 -F47 -R90 -F95 -S4 -L270 -F21 -W4 -S3 -F55 -E2 -N2 -F85 -N2 -R90 -E2 -F8 -S2 -W2 -R90 -W4 -F54 -E4 -F76 -N2 -F5 -F50 -N3 -R180 -W3 -S4 -E1 -L90 -S4 -W1 -F8 diff --git a/resources/input13.txt b/resources/input13.txt deleted file mode 100644 index 78137a2f0556423c156c823ef0328e3bd353a303..0000000000000000000000000000000000000000 --- a/resources/input13.txt +++ /dev/null @@ -1,2 +0,0 @@ -1005162 -19,x,x,x,x,x,x,x,x,41,x,x,x,x,x,x,x,x,x,823,x,x,x,x,x,x,x,23,x,x,x,x,x,x,x,x,17,x,x,x,x,x,x,x,x,x,x,x,29,x,443,x,x,x,x,x,37,x,x,x,x,x,x,13 diff --git a/src/aoc/core.clj b/src/aoc/core.clj deleted file mode 100644 index 5ddabcb526200731ceb11d493d20e53c6dbc951d..0000000000000000000000000000000000000000 --- a/src/aoc/core.clj +++ /dev/null @@ -1,7 +0,0 @@ -(ns aoc.core - (:gen-class) - (:require [aoc.day13 :as day13])) - -(defn -main - [& args] - (day13/main)) diff --git a/src/aoc/day01.clj b/src/aoc/day01.clj deleted file mode 100644 index 19290da98555f562ee0272f29c8aa9f01a45bc56..0000000000000000000000000000000000000000 --- a/src/aoc/day01.clj +++ /dev/null @@ -1,46 +0,0 @@ -(ns aoc.day01 - (:require [clojure.java.io :as io])) - -(defn lines [s] - (clojure.string/split s #"\n")) - -;; ------------ - -(defn read-input [] - (->> "input01.txt" - io/resource - slurp - lines - (map read-string))) - -(defn produce-matches-1 [input] - (for [x input] - (for [y input] - (when (= 2020 (+ x y)) - [x y])))) - -(defn compute-1 [input] - (->> (produce-matches-1 input) - flatten - (remove nil?) - (take 2) - (apply *))) - -(defn produce-matches-2 [input] - (for [x input] - (for [y input] - (for [z input] - (when (= 2020 (+ x y z)) - [x y z]))))) - -(defn compute-2 [input] - (->> (produce-matches-2 input) - flatten - (remove nil?) - (take 3) - (apply *))) - -(defn main [] - (let [input (read-input)] - (println (compute-1 input)) - (println (compute-2 input)))) diff --git a/src/aoc/day02.clj b/src/aoc/day02.clj deleted file mode 100644 index 578f6b5312cffbfe71335bda1d55f8565860d913..0000000000000000000000000000000000000000 --- a/src/aoc/day02.clj +++ /dev/null @@ -1,79 +0,0 @@ -(ns aoc.day02 - (:require [clojure.java.io :as io])) - -(def example "1-3 a: abcde -1-3 b: cdefg -2-9 c: ccccccccc") - -;; https://gist.github.com/edbond/665401 -(defmacro xor - "Evaluates exprs one at a time, from left to right. If only one form returns - a logical true value (neither nil nor false), returns true. If more than one - value returns logical true or no value returns logical true, retuns a logical - false value. As soon as two logically true forms are encountered, no - remaining expression is evaluated. (xor) returns nil." - ([] nil) - ([f & r] - `(loop [t# false f# '[~f ~@r]] - (if-not (seq f#) t# - (let [fv# (eval (first f#))] - (cond - (and t# fv#) false - (and (not t#) fv#) (recur true (rest f#)) - :else (recur t# (rest f#)))))))) - -(defn parse-line [line] - (zipmap [:min :max :letter :password] - (rest - (re-find #"(\d+)-(\d+) (\w): (\w+)" line)))) - -(defn string-to-char [s] - (first (char-array s))) - -(defn password-valid? [p] - (let [min (read-string (:min p)) - max (read-string (:max p)) - freqs (frequencies (:password p)) - letter (string-to-char (:letter p)) - letter-count (get freqs letter 0)] - (and - (>= letter-count min) - (<= letter-count max)))) - -(defn password-valid-2? [p] - (let [pass (:password p) - idx-1 (get pass (dec (read-string (:min p)))) - idx-2 (get pass (dec (read-string (:max p)))) - letter (string-to-char (:letter p))] - (xor - (= idx-1 letter) - (= idx-2 letter)))) - -(defn check-passwords [acc val] - (if (password-valid? val) - (inc acc) - acc)) - -(defn check-passwords-2 [acc val] - (if (password-valid-2? val) - (inc acc) - acc)) - -;; ---- - -(defn read-input [] - (->> (io/resource "input02.txt") - slurp - clojure.string/split-lines - (map parse-line))) - -(defn compute-1 [input] - (reduce check-passwords 0 input)) - -(defn compute-2 [input] - (reduce check-passwords-2 0 input)) - -(defn main [] - (let [input (read-input)] - (println (compute-1 input)) - (println (compute-2 input)))) diff --git a/src/aoc/day03.clj b/src/aoc/day03.clj deleted file mode 100644 index 9b3ee50ca76655faec3e48d657bfabffb1bd3ab3..0000000000000000000000000000000000000000 --- a/src/aoc/day03.clj +++ /dev/null @@ -1,73 +0,0 @@ -(ns aoc.day03 - (:require [clojure.java.io :as io])) - -(def example - "..##....... -#...#...#.. -.#....#..#. -..#.#...#.# -.#...##..#. -..#.##..... -.#.#.#....# -.#........# -#.##...#... -#...##....# -.#..#...#.#") - -(def paths - [[1 1] - [3 1] - [5 1] - [7 1] - [1 2]]) - -(defn read-input [] - (->> (slurp (io/resource "input03.txt")) - clojure.string/split-lines)) - -(defn all-coordinates [[x y]] - (iterate (fn [[xx yy]] - [(+ x xx) - (+ y yy)]) - [0 0])) - -(defn tree? [s] - (= s \#)) - -(defn count-trees [lines] - (fn [acc [x y]] - (let [line (nth lines y) - spot (nth line x)] - (if (tree? spot) - (inc acc) - acc)))) - -(defn compute [input coords] - (let [infinite-lines (map cycle input) - needed-coords (take-while #(< (second %) - (count input)) - coords)] - (reduce (count-trees infinite-lines) 0 needed-coords))) - -;; ---------------------------------------------------------------------------- - -(defn compute-1 [input] - (let [infinite-lines (map cycle input) - infinite-coords (all-coordinates [3 1]) - needed-coords (take-while #(< (second %) - (count input)) infinite-coords)] - (reduce (count-trees infinite-lines) 0 needed-coords))) - -(defn compute-2 [input] - (let [c (partial compute input) - coords (map all-coordinates paths)] - (->> coords - (map c) - (apply *)))) - -(defn main [] - (let [input (read-input)] - (println (compute-1 input)) - (println (compute-2 input)))) - -(main) diff --git a/src/aoc/day04.clj b/src/aoc/day04.clj deleted file mode 100644 index d22a5faf793c23ae539143623b798b4679c29211..0000000000000000000000000000000000000000 --- a/src/aoc/day04.clj +++ /dev/null @@ -1,89 +0,0 @@ -(ns aoc.day04 - (:require [clojure.java.io :as io] - [clojure.set])) - -(def fields #{:byr :iyr :eyr :hgt :hcl :ecl :pid :cid}) - -(def height-pattern #"(\d+)(cm|in)") - -(def hcolor-pattern #"#[a-f0-9]{6}") - -(def eye-color-set #{"amb" "blu" "brn" "gry" "grn" "hzl" "oth"}) - -(def pid-pattern #"\d{9}") - -(def validation - {:byr (fn [v] - (when (= 4 (count v)) - (let [n (read-string v)] - (<= 1920 n 2002)))) - :iyr (fn [v] - (when (= 4 (count v)) - (let [n (read-string v)] - (<= 2010 n 2020)))) - :eyr (fn [v] - (when (= 4 (count v)) - (let [n (read-string v)] - (<= 2020 n 2030)))) - :hgt (fn [v] - (when-let [[_ digits u] (re-find height-pattern v)] - (let [n (read-string digits)] - (case u - "cm" (<= 150 n 193) - "in" (<= 59 n 76))))) - :hcl (fn [v] - (re-matches hcolor-pattern v)) - :ecl (fn [v] - (contains? eye-color-set v)) - :pid (fn [v] - (re-matches pid-pattern v)) - :cid (fn [v] true)}) - -(def optional-fields (set [:cid])) - -(def required-fields - (clojure.set/difference fields optional-fields)) - -(defn collect-pair [acc p] - (let [[k v] (clojure.string/split p #":")] - (assoc acc (keyword k )v))) - -(defn parse-passport [s] - (let [lines (clojure.string/split-lines s) - joined (clojure.string/join " " lines) - pairs (clojure.string/split joined #" ")] - (reduce collect-pair {} pairs))) - -(defn valid? [p] - (let [pfields (set (keys p))] - (= - (clojure.set/intersection required-fields pfields) - required-fields))) - -(defn valid-2? [p] - (when (valid? p) - (let [ok (map (fn [field] - (let [f (get validation field (constantly true)) - v (get p field)] - (f v))) - required-fields)] - (every? identity ok)))) - -;; ----------------------------------------------------------------------------- - -(defn read-input [] - (->> (clojure.string/split (slurp (io/resource "input04.txt")) #"\n\n") - (map parse-passport))) - -(defn compute-1 [input] - (count - (filter valid? input))) - -(defn compute-2 [input] - (count - (filter valid-2? input))) - -(defn main [] - (let [input (read-input)] - (println (compute-1 input)) - (println (compute-2 input)))) diff --git a/src/aoc/day05.clj b/src/aoc/day05.clj deleted file mode 100644 index 3e80f6789d380702945f82d149e973770e2782d5..0000000000000000000000000000000000000000 --- a/src/aoc/day05.clj +++ /dev/null @@ -1,65 +0,0 @@ -(ns aoc.day05 - (:require [clojure.java.io :as io])) - -(def example "FBFBBFFRLR") ;; 44 5 - -(defn reduce-range [lower upper] - (fn [coll direction] - (let [size (/ (count coll) 2)] - (condp = direction - lower (take size coll) - upper (drop size coll))))) - -(defn find-row [directions] - (first - (reduce - (reduce-range \F \B) - (range 0 128) - directions))) - -(defn find-column [directions] - (first - (reduce - (reduce-range \L \R) - (range 0 8) - directions))) - -(defn find-seat [boarding-pass] - {:row (find-row (take 7 boarding-pass)) - :column (find-column (drop 7 boarding-pass))}) - -(defn seat-id [{:keys [row column]}] - (+ (* row 8) - column)) - -(defn read-input [] - (->> (slurp (io/resource "input05.txt")) - (clojure.string/split-lines))) - -(defn compute-1 [input] - (->> input - (map find-seat) - (map seat-id) - sort - reverse - first)) - -(defn all-seat-ids [input] - (->> input - (map find-seat) - (map seat-id) - sort)) - -(defn compute-2 [input] - (let [seat-ids (all-seat-ids input) - coll (range (first seat-ids) (inc (last seat-ids)))] - (clojure.set/difference - (set coll) - (set seat-ids)))) - -(defn main [] - (let [input (read-input)] - (println (compute-1 input)) - (println (compute-2 input)))) - -(main) diff --git a/src/aoc/day06.clj b/src/aoc/day06.clj deleted file mode 100644 index 2b5fa69763a0bb472325cc7c86fb03467a275cde..0000000000000000000000000000000000000000 --- a/src/aoc/day06.clj +++ /dev/null @@ -1,52 +0,0 @@ -(ns aoc.day06 - (:require [clojure.java.io :as io])) - -(def example "abc - -a -b -c - -ab -ac - -a -a -a -a - -b") - -(defn group-said-yes [group] - (apply clojure.set/union - (map set group))) - -(defn group-all-said-yes [group] - (apply clojure.set/intersection - (map set group))) - -;; ---- - -(defn read-input [] - (->> (clojure.string/split (slurp (io/resource "input06.txt")) #"\n\n") - (map clojure.string/split-lines))) - -(defn compute-1 [input] - (->> input - (map group-said-yes) - (map count) - (apply +)) - ) - -(defn compute-2 [input] - (->> input - (map group-all-said-yes) - (map count) - (apply +))) - -(defn main [] - (let [input (read-input)] - (println (compute-1 input)) - (println (compute-2 input)))) - -(main) diff --git a/src/aoc/day07.clj b/src/aoc/day07.clj deleted file mode 100644 index 798e0a6e50fa7cbb062db0ea1c1b8d457732d961..0000000000000000000000000000000000000000 --- a/src/aoc/day07.clj +++ /dev/null @@ -1,98 +0,0 @@ -(ns aoc.day07 - (:require [clojure.java.io :as io])) - -(def example - "light red bags contain 1 bright white bag, 2 muted yellow bags. -dark orange bags contain 3 bright white bags, 4 muted yellow bags. -bright white bags contain 1 shiny gold bag. -muted yellow bags contain 2 shiny gold bags, 9 faded blue bags. -shiny gold bags contain 1 dark olive bag, 2 vibrant plum bags. -dark olive bags contain 3 faded blue bags, 4 dotted black bags. -vibrant plum bags contain 5 faded blue bags, 6 dotted black bags. -faded blue bags contain no other bags. -dotted black bags contain no other bags.") - -(def rule-pattern #"(\d+) (\w+ \w+)") -(def mine "shiny gold") - -(defn parse-sub [s] - (let [[_ number color] (re-find rule-pattern s)] - {:color color - :number (read-string number)})) - -(defn parse-contents [s] - (when-not (clojure.string/starts-with? s "no") - (let [rules (clojure.string/split s #", ")] - (map parse-sub rules)))) - -(defn parse-rule [s] - (let [[bag contents] (clojure.string/split s #" contain ") - [shade color _] (clojure.string/split bag #" ") - contents (parse-contents contents)] - {:color (str shade " " color) - :contents contents})) - -(defn graph [rules] - (reduce (fn [acc {:keys [color contents]}] - (reduce (fn [acc content] - (update acc (:color content) conj {:color color - :number (:number content)})) - acc contents)) - {} rules)) - -(defn graph2 [rules] - (reduce (fn [acc {:keys [color contents]}] - (reduce (fn [acc2 content] - (update acc2 color conj content)) - acc contents)) - {} rules)) - -(defn get-parents [graph color] - (get graph color)) - -(defn fold [g] - (loop [r (into #{} (->> (get-parents g mine) - (map :color)))] - (let [r2 (reduce (fn [acc color] - (into acc - (->> - (get-parents g color) - (map :color)))) - r r)] - (if (= r r2) - r - (recur r2))))) - -(defn count-contents [g c] - (let [contents (get-parents g c)] - (if (seq contents) - (reduce - (fn [acc {:keys [color number]}] - (+ acc (* number (count-contents g color)))) - 1 - contents) - 1))) - -;; --- - -(defn read-input [] - (->> (slurp (io/resource "input07.txt")) - (clojure.string/split-lines))) - -(defn compute-1 [input] - (let [rules (map parse-rule input) - g (graph rules)] - (count (fold g)))) - -(defn compute-2 [input] - (let [rules (map parse-rule input) - g (graph2 rules)] - (dec - (count-contents g mine)))) - -(defn main [] - (let [input (read-input)] - (println (compute-1 input)) - (println (compute-2 input)))) - -(main) diff --git a/src/aoc/day08.clj b/src/aoc/day08.clj deleted file mode 100644 index a969f09d5caf70362723efedd8a951a63e8986b2..0000000000000000000000000000000000000000 --- a/src/aoc/day08.clj +++ /dev/null @@ -1,96 +0,0 @@ -(ns aoc.day08 - (:require [clojure.java.io :as io]) - -(def example "nop +0 -acc +1 -jmp +4 -acc +3 -jmp -3 -acc -99 -acc +1 -jmp -4 -acc +6") - -(def example-terminating "nop +0 -acc +1 -jmp +4 -acc +3 -jmp -3 -acc -99 -acc +1 -nop -4 -acc +6") - -(defn parse-instruction [s] - (let [[op n] (clojure.string/split s #" ")] - (assoc {} - :op (keyword op) - :value (read-string n)))) - -(defn accumulate [acc value] - (if (>= value 0) - (+ acc value) - (- acc value))) - -(defn step [acc index {:keys [op value]}] - (case op - :acc [(+ acc value) (inc index)] - :jmp [acc (+ index value)] - :nop [acc (inc index)])) - -(defn run-computer [coll] - (loop [index 0 - acc 0 - log #{}] - (if (contains? log index) - acc - (let [[new-acc new-index] (step acc index (nth coll index))] - (recur new-index new-acc (conj log index)))))) - -(defn run-computer-2 [coll] - (loop [index 0 - acc 0 - log #{}] - (cond - (contains? log index) :infinite-loop - (= index (count coll)) acc - :else (let [[new-acc new-index] (step acc index (nth coll index))] - (recur new-index new-acc (conj log index)))))) - - -;; ----------------------------------------------------------------------------- - -(defn read-input [] - (->> (slurp (io/resource "input08.txt")) - clojure.string/split-lines - (map parse-instruction))) - -(defn compute-1 [input] - (run-computer input)) - -(defn reverse-it [op] - ;; LOL - (get {:jmp :nop - :nop :jmp} - op)) - -(defn compute-2 [input] - (let [input (vec input) - indexes (range (count input)) - possibilities (map (fn [i] - (let [{:keys [op]} (nth input i)] - (if (contains? #{:jmp :nop} op) - (assoc-in input [i :op] (reverse-it op)) - input))) - indexes)] - (->> possibilities - (map run-computer-2) - (remove #(= :infinite-loop %)) - first))) - -(defn main [] - (let [input (read-input)] - (println (compute-1 input)) - (println (compute-2 input)))) - -(main) diff --git a/src/aoc/day09.clj b/src/aoc/day09.clj deleted file mode 100644 index ee3f16be045660e1b7da38f1c6ccc2e57a8ec4e0..0000000000000000000000000000000000000000 --- a/src/aoc/day09.clj +++ /dev/null @@ -1,82 +0,0 @@ -(ns aoc.day09 - (:require [clojure.java.io :as io])) - -(def example - "35 -20 -15 -25 -47 -40 -62 -55 -65 -95 -102 -117 -150 -182 -127 -219 -299 -277 -309 -576") - -(defn valid? [n coll] - (seq (for [x coll - y coll - :when (not= x y) - :when (= n (+ x y))] - [x y]))) - -(defn read-input [] - (->> (io/resource "input09.txt") - io/reader - line-seq - (map read-string))) - -(defn read-example-input [] - (->> example - clojure.string/split-lines - (map read-string))) - -(defn compute-1 [input size] - (loop [step 0] - (let [without-old (drop step input) - pool (take size without-old) - candidate (nth without-old size)] - (if-not (valid? candidate pool) - candidate - (recur (inc step)))))) - -(defn adds-up? [coll n] - (loop [nums [] - index 0] - (cond - (= (apply + nums) n) nums - (> (apply + nums) n) nil - :else (recur (conj nums (nth coll index)) - (inc index))))) - -(defn find-range [input n] - (loop [coll input] - (let [r (adds-up? coll n)] - (if-not (nil? r) - r - (recur (rest coll)))))) - -(defn compute-2 [input n] - (let [result (find-range input n)] - (+ (apply min result) - (apply max result)))) - - -(defn main [] - (let [input (read-input) - size 25 - n (compute-1 input size)] - (println n) - (println (compute-2 input n)))) - -(main) diff --git a/src/aoc/day10.clj b/src/aoc/day10.clj deleted file mode 100644 index 1fc7c1445bf345c02ee7480e937e6e293e616781..0000000000000000000000000000000000000000 --- a/src/aoc/day10.clj +++ /dev/null @@ -1,136 +0,0 @@ -(ns aoc.day10 - (:require [clojure.java.io :as io]) - (:gen-class)) - -;; (defn read-input [] -;; (line-seq -;; (io/reader -;; (io/resource "input10.txt")))) - -(def example "16 -10 -15 -5 -1 -11 -7 -19 -6 -12 -4") - -(def example2 "28 -33 -18 -42 -31 -14 -46 -20 -48 -47 -24 -23 -49 -45 -19 -38 -39 -11 -1 -32 -25 -35 -8 -17 -7 -9 -4 -2 -34 -10 -3") - -(defn read-input [] - (->> - (io/resource "input10.txt") - io/reader - line-seq - - ;; example2 - ;; clojure.string/split-lines - - (map read-string))) - -(defn builtin [ratings] - (->> (apply max ratings) - (+ 3))) - -(defn jolts [input] - (let [device (builtin input) - input (conj input device) - input (sort input)] - (reduce (fn [acc adap] - (let [prev (:i acc) - diff (- adap prev)] - (if (= 3 diff) - (assoc acc :i adap :j3 (inc (:j3 acc))) - (assoc acc :i adap :j1 (inc (:j1 acc)))))) - {:i 0 :j1 0 :j3 0} - input))) - -(defn next-coll [[n & coll]] - (filter #(and - (> % n) - (<= 1 (- % n) 3)) - coll)) - -(declare jp) - -(defn jolt-possibilities [coll] - (let [nexts (next-coll coll)] - (if-not (seq nexts) - coll - (mapcat (fn [next] - (jp - (filter #(>= % next) coll))) nexts)))) - -(def jp (memoize jolt-possibilities)) - -(defn jolt-possibilities-2 [coll] - (loop [acc #{} - current 0] - (let [nexts (next-coll coll)] - ))) - -;; the recursive solution didn't work on the puzzle input because memory :( -;; the `part-2` fn is someone else's - -(defn part-2 [adapters] - (let [device (+ (apply max adapters) 3) - ;; The number of routes to each adapter is the sum of the number of - ;; routes to each of the possible previous adapters (it's like a messy - ;; Pascal's triangle) so we can get the solution in one pass. - routes (reduce - (fn [r a] - (assoc r a - (apply + (map #(get r % 0) (range (- a 3) a))))) - {0 1} - (sort (conj adapters device)))] - (get routes device))) - -(defn compute-1 [input] - (let [{:keys [j1 j3]} (jolts input)] - (* j1 j3))) - -(defn compute-2 [input] - (let [input (cons 0 input) - device (builtin input) - input (conj input device) - input (sort input)] - (count (jp input)))) - -(defn main [] - (let [input (read-input)] - (println (compute-1 input)) - (println (part-2 input)))) diff --git a/src/aoc/day11.clj b/src/aoc/day11.clj deleted file mode 100644 index b382b3d13e0de31966ea5d029fbf936b40d451cd..0000000000000000000000000000000000000000 --- a/src/aoc/day11.clj +++ /dev/null @@ -1,118 +0,0 @@ -(ns aoc.day11 - (:require [clojure.java.io :as io])) - -(def example "L.LL.LL.LL -LLLLLLL.LL -L.L.L..L.. -LLLL.LL.LL -L.LL.LL.LL -L.LLLLL.LL -..L.L..... -LLLLLLLLLL -L.LLLLLL.L -L.LLLLL.LL") - -(declare parse-floor) - -(defn read-input [] - (->> - (io/resource "input11.txt") - slurp - - ;; example - clojure.string/split-lines - parse-floor)) - -(defn adjacent [m [sx sy]] - (for [x [-1 0 1] - y [-1 0 1] - :when (not= [x y] [0 0])] - (let [fx (+ x sx) - fy (+ y sy)] - [[fx fy] (get m [fx fy] :empty)]))) - -(defn visible [m [sx sy]] - (for [x [-1 0 1] - y [-1 0 1] - :when (not= [x y] [0 0])] - (let [fx (+ x sx) - fy (+ y sy)] - (some (fn [[[x y] spot]] - (#{:taken :empty} spot)) - (map (fn [[a b]] - [[a b] (get m [a b] :empty)]) - (rest (iterate - (fn [[xx yy]] [(+ xx x) (+ yy y)]) - [sx sy]))))))) - -(defn taken-adjacent [m [sx sy]] - (filter #(= :taken (second %)) - (adjacent m [sx sy]))) - -(defn taken-visible [m [sx sy]] - (filter #(= :taken %) - (visible m [sx sy]))) - -(defn parse-floor [input] - (into {} - (for [y (range (count input)) - x (range (count (first input)))] - (let [spot (get-in input [y x]) - tile (case spot - \L :empty - \# :taken - \. :floor)] - [[x y] tile])))) - -(defn run [input] - (into {} (map (fn [[[x y] seat]] - (let [taken-count (count (taken-adjacent input [x y]))] - (case seat - :empty [[x y] (if (zero? taken-count) :taken :empty)] - :taken [[x y] (if (>= taken-count 4) :empty :taken)] - [[x y] seat]))) - input))) - -(defn run-2 [input] - (into {} (map (fn [[[x y] seat]] - (let [taken-count (count (taken-visible input [x y]))] - (case seat - :empty [[x y] (if (zero? taken-count) :taken :empty)] - :taken [[x y] (if (>= taken-count 5) :empty :taken)] - [[x y] seat]))) - input))) - -(defn reduce-1 [input] - (loop [input input] - (let [res (run input)] - (if (= input res) - res - (recur res))))) - -(defn reduce-2 [input] - (loop [input input] - (let [res (run-2 input)] - (if (= input res) - res - (recur res))))) - -(defn compute-1 [input] - (->> input - reduce-1 - vals - frequencies - :taken)) - -(defn compute-2 [input] - (->> input - reduce-2 - vals - frequencies - :taken)) - -(defn main [] - (let [input (read-input)] - (println (compute-1 input)) - (println (compute-2 input)))) - -(main) diff --git a/src/aoc/day12.clj b/src/aoc/day12.clj deleted file mode 100644 index ebfcc64fc577217da6a45e57b6d8dac4a7834d51..0000000000000000000000000000000000000000 --- a/src/aoc/day12.clj +++ /dev/null @@ -1,155 +0,0 @@ -(ns aoc.day12 - (:require [clojure.java.io :as io])) - -(def example "F10 -N3 -F7 -R90 -F11") - -(def start-pos {:facing :east - :north 0 - :east 0}) - -(def start-pos-2 {:wp {:north 1 - :east 10} - :ship {:north 0 - :east 0}}) - -(defn translate [direction [x y]] - (case direction - :right [y (- x)] - :left [(- y) x])) - -(defn translate-wp [pos direction] - (update-in pos [:wp] (fn [{:keys [north east]}] - (let [[x y] (translate direction [east north])] - {:north y :east x})))) - -(defn parse-inst [[h & body]] - {:direction (case h - \N :north - \E :east - \S :south - \W :west - \F :forward - \L :left - \R :right) - :value (read-string (clojure.string/join body))}) - -(defn read-input [] - (->> - (io/resource "input12.txt") - slurp - ;; example - clojure.string/split-lines - (map parse-inst) - )) - -(defn move [direction value] - (fn [old] - (let [op (case direction - :north + - :south - - :east + - :west -)] - (if (nil? op) - old - (op old value))))) - -(def right-turns (cycle [:east :south :west :north])) -(def left-turns (cycle [:east :north :west :south])) - -(defn turn-count [n] - (case n - 90 1 - 180 2 - 270 3 - 0 0)) - -(defn turn [pos {:keys [value direction]}] - (let [current-direction (:facing pos) - tc (turn-count value) - turns (case direction - :left left-turns - :right right-turns - []) - next-turns (drop-while #(not= current-direction %) turns)] - (nth next-turns tc))) - -(defn move-forward [pos {:keys [value direction]}] - (let [facing (:facing pos) - op (case facing - :north + - :east + - :south - - :west -)] - (if (contains? #{:north :south} facing) - (assoc pos :north (op (:north pos) value)) - (assoc pos :east (op (:east pos) value))))) - -(defn navigate [pos {:keys [value direction]}] - (case direction - :north (update pos :north (move direction value)) - :south (update pos :north (move direction value)) - :east (update pos :north (move direction value)) - :west (update pos :north (move direction value)) - :left (assoc pos :facing (turn pos {:direction direction :value value})) - :right (assoc pos :facing (turn pos {:direction direction :value value})) - :forward (move-forward pos {:direction direction :value value}) - pos)) - -(defn should-move-wp? [direction] - (not= direction :forward)) - -(defn should-move-ship? [direction] - (= direction :forward)) - -(defn move-ship [pos {:keys [value]}] - (let [wx (get-in pos [:wp :east]) - wy (get-in pos [:wp :north]) - pos (update-in pos [:ship :east] #(+ % (* wx value))) - pos (update-in pos [:ship :north] #(+ % (* wy value)))] - pos)) - -;; (move-ship {:wp {:east -1 :north -2} :ship {:east 1 :north 1}} -;; {:value 0}) - -(defn rotate-wp [pos {:keys [value direction]}] - (let [tc (turn-count value)] - (reduce (fn [acc _] - (translate-wp acc direction)) - pos - (range tc)))) - -(defn move-wp [pos {:keys [value direction] :as i}] - (case direction - :north (update-in pos [:wp :north] #(+ % value)) - :south (update-in pos [:wp :north] #(- % value)) - :east (update-in pos [:wp :east ] #(+ % value)) - :west (update-in pos [:wp :east ] #(- % value)) - :right (rotate-wp pos i) - :left (rotate-wp pos i))) - -(defn navigate-2 [pos {:keys [value direction] :as i}] - (cond - (should-move-wp? direction) (move-wp pos i) - (should-move-ship? direction) (move-ship pos i) - :else pos)) - -(defn compute-1 [input] - (let [final (reduce navigate start-pos input)] - (+ (Math/abs (:north final)) - (Math/abs (:east final))))) - -(defn compute-2 [input] - (let [final (reduce navigate-2 start-pos-2 input)] - (+ (Math/abs (get-in final [:ship :north])) - (Math/abs (get-in final [:ship :east]))))) - -(defn main [] - (let [input (read-input)] - (println (compute-1 input)) - (println (compute-2 input)))) - -(main) diff --git a/src/aoc/day13.clj b/src/aoc/day13.clj deleted file mode 100644 index 0a69a9e96aef542fc05b26aeb6ba34d6e0d04e3c..0000000000000000000000000000000000000000 --- a/src/aoc/day13.clj +++ /dev/null @@ -1,121 +0,0 @@ -(ns aoc.day13 - (:require [clojure.java.io :as io])) - -(def example "939 -7,13,x,x,59,x,31,19") - -(defn parse-input [[earliest timetable]] - {:earliest (read-string earliest) - :timetable (->> (clojure.string/split timetable #",") - (remove #{"x"}) - (map read-string))}) - -(defn parse-input-2 [[_ timetable]] - (->> (clojure.string/split timetable #",") - (map read-string))) - -(defn read-input [] - (->> - ;; (io/resource "input13.txt") - ;; slurp - - example - clojure.string/split-lines - parse-input - )) - -(defn short-example [s] - (->> (clojure.string/split s #",") - (map read-string))) - -(defn read-input-2 [] - (->> - ;; (io/resource "input13.txt") - ;; slurp - - example - clojure.string/split-lines - parse-input-2 - )) - -(defn tt [earliest t] - (->> (iterate #(+ t %) 0) - (drop-while #(< % earliest)) - first - (conj [t]) - reverse - vec)) - -(defn infinite-timetables-by-id [timetable] - (->> timetable - (remove symbol?) - (map (fn [t] [t (iterate #(+ t %) 0)])) - (into {}))) - -(defn compute-1 [{:keys [earliest timetable]}] - (let [ - tts (map (partial tt earliest) timetable) - tts (into {} tts) - departure (apply min (keys tts)) - minutes (- departure earliest) - bus-id (tts departure)] - (* minutes bus-id))) - -(defn bus-valid [m t bus] - (cond - (nil? bus) :end - (= bus "x") true - (symbol? bus) true - (zero? t) true - :else - (let [i (get m bus)] - (->> (drop-while #(< % t) i) - first - (= t))))) - -(let [tts (infinite-timetables-by-id [6]) - t 5] - (bus-valid tts t nil) - ) - - -(defn run-2 [tts timetable start-t] - (loop [t start-t - buses timetable] - (let [bus (first buses) - res (bus-valid tts t bus)] - (if (contains? #{:end false} res) - start-t - (recur (inc t) (rest buses)))))) - -(defn compute-2 [timetable] - (let [tts (infinite-timetables-by-id timetable)] - (loop [t 100000000000000] - (println "computing" t) - (let [res (run-2 tts timetable t)] - (if (contains? #{:end} res) - t - (recur (inc t))))))) - - -(defn compute-example [timetable t] - (= (run-2 (infinite-timetables-by-id timetable) - timetable - t) - t)) - -(comment -(compute-example (short-example "67,7,59,61") 754018) -(compute-example (short-example "17,x,13,19") 3417) -(compute-example (short-example "67,x,7,59,61") 779210) -(compute-example (short-example "67,7,x,59,61") 1261476) -(compute-example (short-example "1789,37,47,1889") 1202161486) - ) - -(defn main [] - (let [input (read-input) - input2 (read-input-2)] - (println (compute-1 input)) - (println (compute-2 input2)))) - -;; (main) diff --git a/template.clj b/template.clj deleted file mode 100644 index 8a08ac6011f4a4875f5e2f4d8deb8bddcfceedbe..0000000000000000000000000000000000000000 --- a/template.clj +++ /dev/null @@ -1,25 +0,0 @@ -(ns aoc.dayxx - (:require [clojure.java.io :as io])) - -(defn read-input [] - (->> - (io/resource "inputxx.txt") - io/reader - line-seq - - ;; example - ;; clojure.string/split-lines - )) - -(defn compute-1 [input] - input) - -(defn compute-2 [input] - input) - -(defn main [] - (let [input (read-input)] - (println (compute-1 input)) - (println (compute-2 input)))) - -(main)