From: Brendan Hansen Date: Sat, 5 Dec 2020 21:46:25 +0000 (-0600) Subject: added days 1-3 X-Git-Url: https://git.brendanfh.com/?a=commitdiff_plain;h=b2180f503ce674cd9723f4468c71cf7a982717ec;p=onyx-aoc-2020.git added days 1-3 --- b2180f503ce674cd9723f4468c71cf7a982717ec diff --git a/day1.onyx b/day1.onyx new file mode 100644 index 0000000..e02d40c --- /dev/null +++ b/day1.onyx @@ -0,0 +1,26 @@ +package main + +#include_file "core/std/wasi" + +use package core +use package core_file + +main :: proc (args: [] cstring) { + contents := file_get_contents("input/day1.txt"); + contents_orig := contents; + defer cfree(contents_orig.data); + + nums: [..] u32; + array_init(^nums, 128); + defer array_free(^nums); + + while num := 1; num > 0 { + // This sets num to be 0 if there is no number + string_read_u32(^contents, ^num); + if num != 0 do array_push(^nums, num); + } + + for i: nums do for j: nums do for k: nums { + if j + i + k == 2020 do printf("Answer: %i\n", i * j * k); + } +} diff --git a/day2.onyx b/day2.onyx new file mode 100644 index 0000000..75e24ca --- /dev/null +++ b/day2.onyx @@ -0,0 +1,42 @@ +package main + +#include_file "core/std/wasi" + +use package core +use package core_file + +main :: proc (args: [] cstring) { + contents := file_get_contents("input/day2.txt"); + contents_orig := contents; + defer cfree(contents_orig.data); + + valid := 0; + lo : u32; + hi : u32; + ch : u8; + pw : string = ""; + + while true { + string_read_u32(^contents, ^lo); + if lo == 0 do break; + string_discard_chars(^contents); + string_read_u32(^contents, ^hi); + string_discard_chars(^contents); + string_read_char(^contents, ^ch); + string_discard_chars(^contents, 2); + string_read_line(^contents, ^pw); + + // Part 1 + // count := 0; + // for c: pw do if c == ch do count += 1; + // if count >= lo && count <= hi do valid += 1; + + // Part 2 + count := 0; + if pw[lo - 1] == ch do count += 1; + if pw[hi - 1] == ch do count += 1; + if count == 1 do valid += 1; + } + + printf("Number valid: %i\n", valid); +} diff --git a/day3.onyx b/day3.onyx new file mode 100644 index 0000000..db07849 --- /dev/null +++ b/day3.onyx @@ -0,0 +1,69 @@ +#include_file "core/std/wasi" + +use package core +use package core_file + +Point :: struct { + x : i32; + y : i32; +}; + +LineInterp :: struct { + ox : i32; + oy : i32; + dx : i32; + dy : i32; +} + +line_interp_at :: proc (use li: LineInterp, t: i32) -> Point { + return Point.{ ox + dx * t, oy + dy * t }; +} + +main :: proc (args: [] cstring) { + contents := file_get_contents("input/day3.txt"); + contents_orig := contents; + defer cfree(contents_orig.data); + + forest: [..] u8; + array_init(^forest, 1024); + defer array_free(^forest); + + width := 0; + height := 0; + while true { + line: string = ""; + string_read_line(^contents, ^line); + if line.count == 0 do break; + + width = line.count; + height = height + 1; + + for ch: line do array_push(^forest, ch); + } + + lis : [5] LineInterp; + lis[0] = LineInterp.{ 0, 0, 1, 1 }; + lis[1] = LineInterp.{ 0, 0, 3, 1 }; + lis[2] = LineInterp.{ 0, 0, 5, 1 }; + lis[3] = LineInterp.{ 0, 0, 7, 1 }; + lis[4] = LineInterp.{ 0, 0, 1, 2 }; + + tree_prod: u64 = ~~1; + + for li: lis { + tree_count := 0; + while i := 0; true { + p := line_interp_at(li, i); + if p.y >= height || p.y < 0 do break; + i += 1; + + p.x %= width; + + if forest[p.x + p.y * width] == #char "#" do tree_count += 1; + } + + tree_prod *= ~~tree_count; + } + + printf("Tree product: %l\n", tree_prod); +} diff --git a/input/day1.txt b/input/day1.txt new file mode 100644 index 0000000..7662181 --- /dev/null +++ b/input/day1.txt @@ -0,0 +1,200 @@ +1706 +1466 +1427 +1744 +1684 +1386 +2001 +1750 +1753 +1770 +1559 +1616 +1408 +1860 +1940 +2002 +1862 +1918 +1456 +1209 +1840 +1462 +1783 +1644 +1901 +1791 +1506 +2005 +1338 +1383 +1420 +1631 +1784 +1897 +1771 +1588 +1955 +1937 +1392 +1396 +1803 +1429 +1407 +1698 +1562 +1913 +1678 +1198 +1398 +1703 +1831 +1489 +1782 +1864 +1708 +1397 +1915 +1953 +1395 +1610 +1549 +1564 +1973 +1931 +2009 +1980 +1800 +1443 +1993 +1900 +1964 +1581 +1904 +1665 +1567 +1057 +1805 +1402 +1878 +1729 +1825 +1682 +1719 +1469 +1004 +1591 +1594 +811 +1523 +1424 +1756 +373 +1442 +1718 +1411 +1892 +1820 +1977 +1871 +1890 +1653 +1372 +1475 +1476 +1422 +2004 +1755 +1676 +639 +1425 +1853 +1712 +1525 +1514 +1455 +1658 +1963 +1579 +1861 +1458 +1474 +1613 +1681 +1586 +1441 +1499 +1865 +1735 +1989 +1952 +792 +1669 +1509 +1481 +1893 +1445 +1834 +1779 +1732 +1826 +1595 +1829 +449 +1920 +1707 +1780 +1935 +1867 +1769 +1107 +919 +1382 +1604 +1875 +1453 +1496 +1946 +1659 +1570 +1692 +1630 +1638 +1922 +1691 +1580 +1880 +1482 +1762 +1775 +1376 +1434 +1856 +1971 +1646 +1951 +1416 +1889 +1773 +1814 +1471 +1488 +1736 +1743 +1459 +1389 +1498 +1663 +1611 +1727 +1699 +1624 +1511 +1767 +1754 +1785 +1491 +1235 +1510 +1500 +1485 diff --git a/input/day2.txt b/input/day2.txt new file mode 100644 index 0000000..1c12bdc --- /dev/null +++ b/input/day2.txt @@ -0,0 +1,1000 @@ +3-4 j: tjjj +7-10 h: nhhhhhgghphhh +7-13 j: tpscbbstbdjsjbtcpj +4-13 l: ckllmqzlvcsxpplqg +3-11 n: nnrhnnnnnnnwsdnnnm +5-6 d: ddddddb +7-10 z: szfwzrbzzz +1-10 w: wwwwwcwwwrpnwzwxww +5-6 w: cgwppfwlwrwtnw +12-13 m: bmmthmmhmmmbmmmmm +1-4 b: gbbj +10-14 k: kkkkkkkkkfkkkzk +1-3 n: nndn +3-4 w: wwpf +15-16 q: qqqqqqqqqqqqrqqqq +3-4 w: wwcg +10-12 r: rrrrrrrrrcrrrr +10-11 v: fvlvrvcxvvp +4-11 l: qdklwltggdcqn +2-4 p: ppskptpp +3-8 r: rjrrgrrk +5-9 g: mgglggggrggggggxkggw +9-16 n: njnnnnsnrnnnnnnhnnnn +4-5 v: fgjvvxtqdmtqhnd +2-11 r: rrfbltcxmqm +4-7 q: hdkqfsq +2-4 s: smshsswsztsmgssssss +8-9 m: mmmmmmmlwm +2-9 x: xxxxxxxxpxxxxxx +3-4 d: zdgddd +16-18 q: qqqqqqqqqqqqqqqbqj +2-12 s: ssssmssssssssss +8-9 q: dnztqqjqq +1-3 d: ddddddddd +2-10 h: hhhhhnhhvhhbhhhhhh +8-11 l: wpjmvxqlmqllprw +3-14 w: wwwwwwhwwwwwwpwwwwwf +2-3 m: dlggmnlr +1-6 b: bbbbblbbbbb +1-10 c: ccbhdccdhltc +2-11 g: cgrggfsgggggj +10-15 t: ksnnwcqxcpzsvtcvtwm +6-7 s: ssssssps +17-18 j: wpjjjjjjjmjjjjcjjj +7-8 m: cmqmmmlz +3-4 m: mqmm +3-10 h: dfhkkztbmhvcjvh +7-16 x: rqwfvspqcxmpxnwxbd +2-4 b: wfbbbfnj +1-3 j: jjjj +7-8 m: mmmmmmtw +14-15 p: kpppwppppppppdppqp +7-19 d: dddqrdkcgxxxdddddrdc +1-6 l: cnlgtlc +2-6 f: nfffffvfffqfrf +11-15 s: sssssswsscsqbjdss +6-14 s: sssfsssmsssssbsrnsh +6-7 c: fcnppcc +4-14 n: rshnnldbsnwvnwnnqnwn +2-4 c: lcccrghcqwvc +9-15 b: bgvjbclttvbqprb +5-10 l: hlllqldgllnpttxqllrl +8-18 h: hbhjknpnhvhpsbvsrdmh +5-9 d: dddddddddd +6-7 x: xxxxxxqd +6-17 x: xntqxxxxxxxxxnwqnn +10-19 f: fffjfffzfflhnfrsffq +5-8 b: bbjfzdbhbb +2-3 j: jljl +16-17 s: swvsvsszsshssksssrn +3-8 t: vtmhjrbx +7-11 p: kpppppppppppppp +3-4 j: wjjjk +9-10 b: lbbpbbbbvb +4-9 l: jrlbmrthlbjlmpgf +5-7 g: vggggbwxgslgj +11-17 f: gfmjfffdzfmvffpqff +6-11 t: nbbbttmhbtwt +6-7 p: jpprgnspppf +6-7 w: wwwwwjwq +8-11 g: zggggggchglqgggg +15-16 x: xcxxxxbbxxxxxxxb +2-16 d: xmnpfhvqnxcqdrgcw +8-9 d: fdskddfwlddb +3-9 x: xxxxxxxxs +2-6 p: pppppbppps +3-6 t: bjtptj +18-19 w: qwwwwwwwwwwwwwwwwwww +6-15 n: nkfndnxwzfjsvhnp +3-4 v: lnvv +7-13 v: mvvvvvbbvvvvmvv +4-6 d: ddddds +4-8 b: ftpbnfbsblvbvhlhtlb +3-4 g: fnkf +1-4 x: xxxw +1-8 r: rrrbxnsrqrrrrqrr +13-14 z: zzzzcvzzzzzzzzzz +4-9 x: zhtvxfbzxdvkn +1-9 d: zdddddddddd +10-12 g: lhhddwgnjjwz +6-12 p: ptpwlppsrzphlppqpd +11-16 f: pfnxnbsfbsfdbzrx +11-14 r: mccfwbcpbhrrlnvn +10-14 w: wnwwwswtwwkwnw +14-17 k: kkkkkkkkkkkwkwkkk +7-9 g: kgkjktghg +1-4 x: mxpxbjxxtvmw +2-6 z: zzsswzr +2-8 g: mcktgkkgqmcn +8-19 n: znjnwhhnnwfdnhncwjdw +3-4 k: pkgljmkdfhsxhpvwc +7-13 m: mkpmmmqnmkmjrmcmm +2-3 w: wvwcwxr +19-20 q: qqqqqqqqqqqdqqqqqqmq +5-6 r: rkqcrhs +4-6 b: bbbbbq +3-11 d: ddgddddddddd +15-20 m: mmmmxmmbmrmmmfmmmmmm +3-4 q: qhwq +15-16 n: plzwngnnvzcnwknn +4-11 l: ghlswpdrqvlsfj +3-13 m: xdmvpmhktsmfm +4-7 b: bbbbbbbbb +4-10 w: mwwwgmgtwnwpbnw +7-9 l: llllllpvlll +3-11 z: zzdzzzzzzzzz +3-4 h: hpnkhtz +18-19 b: bbbbbbbbbbbbbbbbbbdb +5-11 q: tqqqqbcqqqqdhq +4-8 g: sgtgglgpgwjjj +10-12 d: ddddddtkdcdr +7-8 h: hhmhhhhh +2-9 h: hrhvhhxhxghghh +5-6 x: vxxxrh +3-5 n: cgnfn +17-18 z: bzzzzxtzcxzjvzzlzbn +10-13 f: nfxwjfffffpfvffbvff +1-3 p: pxpppp +1-3 g: gqgbg +9-10 v: vhfpwvvbvvfvvv +3-7 r: rrsjrffrvwrrrr +3-10 g: qlrrgglblwpjqccmw +13-14 x: xxxxxxxxxxqxxx +4-12 h: xrbkrnxjghkp +13-14 s: xhsssswkssrsls +6-8 r: rrrpgrrgrzr +12-15 m: cmmmmmmmmmmmpmx +2-8 l: wccfwrxl +1-13 f: ffdfpdffffffffff +10-12 d: dxdddddddddj +9-18 b: ltnbbbmrfqbbbfbbgnd +2-4 k: kbkklk +7-8 n: nqmdncklnqnftjpvrcj +6-7 s: ssssszshsss +5-8 t: tttttsttttt +11-19 k: hkvrktkkkkthrkvkkkkf +3-5 x: qrxxbx +11-12 d: ddddddddddzgd +7-18 d: ndszddkddsdbdcqdddp +7-8 t: ttttttttt +2-4 s: gsksqskhjb +9-13 d: dlqxsdddjdddg +2-6 n: fgndtf +6-11 s: sssssssnbsvss +4-10 p: kjtpbjwpmb +12-13 s: wssssssplsstscsszsds +2-4 h: jthg +1-2 z: zzzszhzzrvqz +8-9 j: jjjjbjjncjj +3-11 q: qvlqqqqqqqfqqqqqqqq +8-15 w: pfqmwwwwqsccwgllm +1-4 q: nqqhq +7-16 k: kkkbktkkkjzhlkkkf +4-11 s: kzjssthfsbtndfsd +1-13 g: gbggljgggggggngggk +1-9 q: qqqxlqvsmqg +17-18 g: ggggggggggggggggfgg +6-8 n: nnnnfsnrzksn +2-4 k: zkhk +10-12 n: gnfnnkknnnmnp +1-3 j: jxnxw +5-6 n: nbnknsjkmnh +3-4 f: mkhf +11-14 f: ptnpgkfzgzgxpk +3-4 g: gwdj +2-4 h: hhkh +4-5 b: fvbzqx +1-4 x: fxxp +4-13 c: cccckcmtcccdccrcccc +1-7 r: rrrrrrnrr +9-12 g: rdhzhbspgxgccmmggg +4-6 f: smfndrpscf +2-6 j: jjjjjjj +4-5 d: dddnzdd +2-5 b: rbwgd +4-6 s: sssssss +3-6 d: dvnmjd +10-14 x: xxxxxxxxxsxxxxx +3-5 t: swttxctxf +3-20 m: pxmlmzwzmjmnmnmcmmmr +3-4 l: gdll +9-13 h: kmhhhnznshhhhhsmhfx +6-9 d: ghdlqfdmthdsjdcjht +9-10 j: jdbqjjjjjjdjj +4-7 q: qqvhbnqzxt +5-18 b: mblpnblwlxjbxhqcmbl +6-9 j: hjcwsvdgq +9-16 t: kbtdksjcmmqpngdm +6-9 z: zzzzzzzzzgzzzkzz +18-19 x: xxfrxrgbbxpxxxxxxxqx +4-5 b: nhbbz +9-11 w: whwwwwhwwhwwww +2-3 w: whww +3-4 s: bsfsdgs +5-7 k: kkkkhkwk +5-9 f: ffxfffffqf +4-5 z: bzzzggzjr +14-17 n: nhjnxnnwxwvxnnlnv +6-7 p: xpsklmg +1-6 b: rbvblrkcblbbbb +3-10 k: kkxkkkkkkck +2-7 x: wxxdxgxtxqxxqxxxxx +3-6 k: kwkfkznkkkq +10-14 k: klqkksvskjkzmkkk +2-6 p: wprgppgppszh +4-5 b: bbbgbk +8-16 b: kblbbbpvmjpbbfhhgbb +6-7 g: hgdglzg +3-7 g: lcgtgvl +1-4 s: cssxs +11-14 m: mhdpbnxqtpvfck +11-20 b: bbbbbbbbkbnbbbwrbbbb +1-3 l: lpcthzrgmmplrlxnbnw +2-4 l: lbls +11-12 h: thhhwhhhhhbf +1-8 h: hhnlnhrc +2-3 r: frpl +8-12 p: ppppppkppnfpnspp +6-14 f: fffffffcgrffffffk +11-13 n: knnkrnkhvnvhsnhjmfb +1-3 m: jmhjkk +3-10 g: ggggggggggggggggggg +6-8 m: mmhmmrtzrbgs +14-15 c: nnvzfcvcrqcxbcw +1-5 j: jjjjz +1-15 r: rzjdmjjlfrbrmrrwlrr +4-11 j: jjzfjjljnjjjjpj +2-3 h: hhdh +4-10 p: rppwqpppppp +2-6 q: qqmwmqq +10-19 t: dhjttjkspttxzbtxjmx +10-11 r: rrhtjkdrrjl +3-4 w: wwxwf +4-17 n: ncsnlnnnnqnnnjnnqbc +3-10 b: bnknbwbbbbb +10-13 v: vvsfvjltvbwvvvnzv +12-18 w: wwwwwwwnwwwfwwwwwww +2-14 w: dwbmkgmqbqlcpwv +1-9 r: rrrrrrrrkr +1-5 f: ffflffffffff +11-13 f: ftffffffffffgfff +1-7 r: rwrrrrrrrr +7-13 x: jthgxdmdxrbmvf +5-6 r: wqdtqzrt +4-13 d: kccfgmvknwbddrxmx +9-18 x: xxxxxxxxcxxxxxxxxxx +9-10 h: hhhhhhhvhhh +8-16 v: gpblbxmvzhdrnjbrv +6-10 t: ttttttttttttttttt +5-9 k: slkkdtvhk +4-5 f: ffpjq +7-16 t: tktttttttttgtttttt +4-7 k: kkkjkkdb +3-4 q: qmvq +2-7 b: whmfplbb +16-17 p: pppppppppppppppppp +5-7 h: hwphhngh +4-5 w: kfjwlwcbhgz +5-6 p: pxhppps +17-18 k: pkmgdkdkckkvlrtnzj +12-14 z: dkzzzzzztkmjzh +6-9 d: ddddddddddjddddd +1-6 v: vvvmvznvvbv +1-8 b: bltbdzjb +8-9 v: vvxvhvbvl +8-15 m: mmmmmmmmmmmmmmvmm +12-14 k: kkkkzkkkkkkkkk +13-15 j: jjjjjjjjjjjjjsnj +3-6 r: rrmrrrrr +4-13 q: pqdrqqqqfhcqq +2-7 b: lbzbkpbgvb +5-9 h: hhmhrhhhhhhh +4-5 h: hhfhb +1-2 f: rfcjf +4-12 f: gcffrbpvcnhvcrrj +5-6 q: qcqrgs +10-14 l: xcflwdwgbrqjwl +13-16 v: qkvxzcltfsvmzgxqvt +7-9 g: gggggggggg +17-18 c: ccbqmccwcccfccgccc +2-6 k: lkkkkwkk +3-12 v: rqvqkhwxsrvv +9-10 s: ssssqsksssss +5-6 j: jjjjzj +6-7 m: jnvpssgqtczz +2-15 d: hdjhrksnlsbxdjdwvf +11-18 m: mmmmmmmmmmzmmmmmmmmm +5-6 m: mrdjgl +3-10 h: xthspkwhjhltlcrds +2-15 p: pbpppppdpppppppppkpp +1-5 n: nznwn +8-14 h: zghhhhghkzhllj +15-19 v: vvvvvvvvhvvvxvvvvvg +3-5 p: ppzpsbpp +2-5 b: bwkdrdpkrtjdv +8-12 x: qlxxxxvxxxsxgx +2-10 z: zzzzzzzzzz +2-13 w: bfvwhwwwpwbwwm +8-10 p: pppppxpppc +13-14 h: hthhhhhhthhhhzh +5-7 l: llllccw +3-4 w: wwww +2-14 m: mnmmmmmmmmmmmgm +2-5 j: jjjzbjj +1-4 r: xrrwr +6-12 f: fphbffwmffnzf +1-5 z: pzkszsjzkdqxgzknrd +5-10 b: bbbbbkbbkb +9-11 d: dxrpkjhrddl +5-11 n: bnlnnhqjbbn +10-15 g: gggggggggwggggbggg +4-9 q: jqqmqdqxfq +6-9 q: lfcbxpqgqc +7-13 j: jdcjjmjwfrjnnr +1-13 g: xgggggggggggcggg +10-11 d: ddvdxdmdddk +4-6 n: nnnxnt +5-7 n: hnjnnfnfpnrdntrh +3-8 b: bgbrffxlbrbbb +9-13 z: fdhdzzznzxzgj +2-7 r: rqrgblk +10-14 j: jxkjpjbjjjjjjsggjpp +3-4 m: mmmm +5-6 m: mmmmmmmm +3-8 k: lvkvqcgkzkdcptc +7-13 g: glbnggkbzkghgmg +5-8 d: dddddddcd +4-5 l: llllh +5-15 w: wrwwwwwwwwwwwwwwqwww +14-16 p: ppzppppptdpppsppppp +8-12 p: ppxpppvppppkk +15-17 x: xxkxxrkxxxxfpxxxx +12-15 s: ssssscsssvssssgcs +4-6 p: pppppp +3-4 j: gjjjjwwj +3-5 f: mfwhfpk +16-18 p: pppppppppppppppxpmp +1-2 m: mnmcrmq +10-19 t: bttttttbtttttttttttt +1-13 z: qzzzzzzzzzzzzz +11-17 w: zpdsdfmhgmvcvzkdwpw +5-7 z: zzzlfzgzz +8-15 d: dddddddpddrdqgt +2-3 k: nkjkk +11-12 q: qmqqqqqqqgnnfqkqc +1-2 p: pgpp +5-6 b: fnbzbb +11-12 z: zpzzczkzzrpszzzzt +13-14 t: ttttttttttwttqtt +4-6 p: phpfpp +2-3 f: fvfws +6-7 f: fffflfdff +8-9 q: cwpqcqzqpf +5-7 p: spppjpkpc +4-11 s: sgsssdbbhpkssd +1-6 s: wsssspsfsss +1-3 m: mdmmmmmm +4-6 d: dtdtmdg +1-3 w: wwzwpww +10-11 l: tlmhlllnqllb +12-17 m: mmmmmmmmzmmtwmmmg +3-4 c: cctkcc +13-14 b: bsbbbbbbbbbbglb +6-7 w: wwwwwxd +1-11 j: kjjjxkjjrqj +5-8 z: zbvjzzzz +1-5 k: gkbktk +11-13 k: kkkkkzpmkkkkm +10-11 z: wtpfvmmpqhg +2-3 s: bssc +8-17 h: hhhhhhhxhhhhhhhjhh +6-9 l: lllllmllll +5-9 l: llllllglll +2-7 q: qkqdsqm +6-8 s: ssssssjtds +7-8 c: ctfdfmccjhvrc +4-5 w: gqcdwcwktmm +4-13 b: wwjbnmghbjkwzbbj +1-9 r: qbprwrrmsrr +3-4 c: kcscl +3-4 d: jdqd +2-7 p: xpzmbfpvpjg +2-4 f: fnfq +7-8 b: wjdqkbbb +13-15 m: mmmmmmpmmfmmgmxmmmm +4-5 c: mpclj +9-10 x: txxxxdpxql +1-5 c: gccjcc +2-8 k: xzkqkhvk +9-11 k: kkkkckkkgkkpkvk +10-14 x: mxzxrkdxgpxcxhxl +5-6 z: hzzztz +10-13 g: wzgggggvgggkl +2-5 p: mmpvk +2-4 b: stbsbbbbbb +9-10 r: rrrgrrrrwqr +1-6 z: xzzfzzv +3-5 l: ljvlw +2-8 f: lfqvjghd +4-5 n: nnznn +5-16 r: csmxrkrqnwnzzpprvr +2-15 h: qhtmxhbgzzsbnjwwsqfl +4-5 s: sfqps +4-5 c: cqcgc +12-13 d: dmcddddddddcdd +3-4 s: xsqs +14-15 j: jjjjjjjhjjjjjjj +12-13 r: rcrsrrrrrrrrrrrr +9-10 h: hhhfxjzvhxhbf +3-5 w: qwvww +4-9 b: bbbfbbbblbb +15-17 b: kdlqpsrbrbbmbbbzbtz +9-10 p: ppqppjppwjpp +11-14 x: mbchwxxxxxxxxf +2-3 t: stdnsv +2-4 s: sbss +7-9 k: kvkfkkqjk +5-6 d: ddddldd +1-12 g: cggggggggggqgggg +8-10 b: bcvxgdzbbbbclbddmcpq +1-3 p: qpppp +3-10 g: mbggbzlwjgrqncddkbjz +3-6 n: nnnnnnnnnnnn +5-14 t: fdtqxdpztgrtzl +7-9 p: ndppppzpppnb +6-9 l: llxlmlldltllll +2-8 p: pwvmbccpvhbqg +2-5 q: bqccqlpj +1-12 j: jjpddhjrjkjb +2-16 j: hnmrxjcspnnrqhcj +2-4 s: scrb +3-11 j: jjjjjjjwjjc +6-9 h: bhlsnhkfhnqhprpdm +2-4 k: skcn +10-15 r: prrbrrnrrrrrrvlrhr +1-2 p: pppp +3-5 t: ttqtttc +1-2 k: kwkp +6-7 g: gggggggfxgmgggggwg +6-17 g: lvgggggnrwqnsggrgg +2-8 v: qvmnvvvzn +5-6 r: rrcmgrvrhrf +6-7 w: cwwhwwq +1-16 l: rllllllllllllllll +14-16 v: vvvvvvvmvvvvvqvvvhv +13-16 m: qmmmmmmmmmdmmmghmmmm +10-13 x: xgxxbtbxgxxxdx +6-7 k: kkvkqkwkkkkvkkkh +16-18 g: ggggggggggggggggggg +1-12 f: ffffffffffsmffn +11-14 c: kmltgplwdccvzchtfs +1-2 l: whll +3-10 r: tchrjqrwnrnhlrzssdr +1-4 b: jbxbrb +9-10 d: dddddddddldd +4-6 r: rwrrrrrlrchnqxv +1-5 z: sjznb +3-4 p: wqtp +3-13 n: zncsfbdxpnpzn +6-8 b: ppbzbvjhmfnq +2-4 h: hhhr +5-6 w: lwrgll +10-15 l: lllllllllllllllll +5-6 l: hltlllbwlr +8-9 q: tpzqmqqssqqqqq +12-17 v: bmxhqtvmrgvvgqzvp +7-8 t: ttttttvtt +11-12 r: rrbrrvrrnsrr +2-5 f: wzrnlcxfhnchsrzjxl +12-17 l: lllllllllrllllldl +9-10 h: phhhhhhhrzhq +5-17 q: chqkqpjqnqjlcvbxlqkq +1-2 m: hbmm +4-10 f: vtfffsbvsff +5-10 h: hhhhhhhphnhhh +2-3 x: xlxxxnxltdxbxdbxpg +4-12 x: nlxxtcbbbknh +2-3 l: llfll +6-9 p: ppppppppp +2-4 v: grwdv +5-8 c: fkpkccdcvdvck +2-8 l: khzlpwdcddk +2-7 v: vlbvvbl +7-8 h: zhhhhhnh +12-14 p: phpxppkprhbpvpp +5-6 j: jjjjcsj +5-12 m: srctztgnwtrmmmwkjk +5-6 s: ssslss +2-3 m: mxmm +10-13 c: ccccdcdcccchzlcw +11-12 k: kkkwkkkkkkkkkk +9-11 g: rfggsgphdhg +8-13 w: wwxwwwzwfwwwtlww +5-6 f: qvpfmt +12-13 n: mlnntnnzblnnvnd +7-8 q: qqqqqqbqqq +4-7 p: hpnvfpmpgqp +14-16 b: bbbxbbbbbbbbbtbdbvb +16-19 g: gwgggcsgggpggjgjggj +3-6 k: kkkptkkdrk +1-7 l: slsrxllllw +3-12 d: dddddddddddqdd +5-6 m: vcwtmdmmmmxzm +4-6 r: rtcfcz +7-12 x: xxswxxhjxnxxxx +6-7 t: ttswtkztt +15-18 g: nggckgdmsvdrqlgcqz +6-9 t: tttttstttlt +16-20 f: fffffffffffffffffffl +7-10 l: bcbdhwlslwlqx +8-11 k: kkkmkkvksmktkskkxkmk +9-15 h: rptgwtvxjgzqjrtqqc +4-6 j: jjjjjjjjjj +12-15 w: wwwwwwxwwwfwwxrw +13-15 d: ddddddddmdcdcddddd +13-14 v: vvvvvvvvvvvtxv +10-12 f: fffffffffffvf +7-10 j: jjlftzjmjz +9-10 w: cwwzwwllwfwktqkwxr +1-8 b: bbbbbbbvb +11-14 d: dlsmbgcdxhxfnqdhzd +17-18 k: kkkkkkkkkkkkktkkbq +7-8 k: kfkpkkkkkk +4-9 w: zbwwwrckwntbdqfd +7-8 m: mmmwmmgm +7-11 v: cvxllpvgdnh +5-13 c: cmccqccjcccjc +12-14 m: mmmmmmmmmmmmmvmmmp +4-11 x: dgvxxptdgkxpxl +4-5 f: pfclfffk +7-14 l: lllwlwlqqsnmllllll +10-11 l: pcqllllvlqlll +2-5 k: kkbkk +3-6 d: ddddddd +8-9 d: dddddddld +1-11 d: tddddddcddmdddd +5-8 b: pljtbkwkxb +11-12 t: tttttttktttgttt +6-7 q: qtqqqqgq +7-8 v: vvvbvpxp +4-13 v: vvvpvrzvvvvvvvvvv +8-11 r: rrrrrrrnrrr +14-15 b: bbbbbbbbbbbbbzr +13-16 p: ppppppppppppfpppp +7-10 g: gfgqgglggg +4-7 s: ssdsshc +8-11 t: zttctgtvttfttcrxd +11-12 j: jjjjjjjjjqwx +1-6 w: wwwwwl +4-7 l: zlbmrll +2-10 k: kkkkkkkkkm +8-10 x: xxxxxxxjxfx +4-13 r: blrrkqjczlbnrfbbkd +8-10 z: zzzzlzzzhj +9-11 s: vsmsszsssvsqss +3-6 m: mvkrmmwpzbtmmm +1-5 r: smlrbr +5-6 k: rlkklkkkkh +2-5 d: dkddddddpd +13-14 g: ggxtggfvgggdgggggcgg +7-9 x: xxxxxxbxgxxx +3-16 x: xxxxxxxxxxxxxxxlxx +11-15 c: chvcccccccqccdm +3-4 j: kjjjj +9-10 d: ddddmddddd +13-14 q: lqqbrqzbqqpcpt +2-5 w: xgjsxww +12-14 w: lwtxgwwzwlwbwwc +3-4 r: hffl +11-15 b: bbbbbbbbbbfbbbwb +3-7 f: lffnkpfm +6-13 v: vvvvvcvvvvvvvv +7-11 v: vvvhmvvvjvvvvvvvh +18-19 z: bzqtbfvfkxgzzxkftzz +8-14 l: gptlllllllxgll +7-10 w: dwmwrfwkkghf +2-4 f: fffshfffff +1-3 n: rnsfgn +7-20 w: wwwwwwhwwwwwwwwwwwwg +11-14 g: ggggggggggwggggkgg +2-8 x: xtxxlxxmmcxllxtxwxx +2-8 b: jbfclqjbkszckpkxnbn +1-3 d: dhdhffmd +14-19 b: bbbbbbbbbbbbbbbjbbbb +6-8 d: dtjbzdsddddf +14-16 n: rfmszmgztspnnncqj +9-10 v: vvvvrvvvvnv +5-6 r: rrsrrrrrrr +6-7 v: vvjvvjrv +6-8 q: tvqsqqvqqd +1-3 q: qwtdqbgmmck +8-15 p: ppppqppzjpppplpppppp +6-12 m: mwmhmsjxgcmmcrzlmmkc +2-8 j: sjwjljqjjjcdlmgxkjj +12-15 j: sjjjjjjqjjjjjjkjjj +14-15 t: vtttttttttttttt +17-18 r: rrrrrrrrrrrrrprrhd +10-15 c: sxspsvqkfvqjjccxbbv +7-8 g: ggggggxg +2-12 t: tbtttttttntmttttt +3-6 m: ztjrds +2-4 h: gdzk +4-5 p: rtlkkfwntpxw +8-14 k: kkkkkckkkkkkkgkkk +3-8 l: rqltzlflljsqmk +9-10 s: smssswksjsssss +12-13 z: zzzzzzzzzzzzr +12-14 h: zhhhqvhhhhxhhh +13-14 x: xxxxxxxfsxqqsxxxx +2-3 k: kffk +1-5 z: jzzzzzzz +10-15 n: nngnnhnjnnknndnvtbsd +12-13 k: dkkkkkkkkkkkn +6-8 h: qhfnrpfh +7-11 c: ccccccqccccc +19-20 m: cjbpwtmdfbllvvdrmmmt +5-6 l: lmrbhtbl +3-6 j: hjjkjm +9-10 j: jjjjjjjjtljxjj +3-5 t: ttbtcttt +5-8 r: rrrrrwhfrrf +3-5 d: dqvknd +5-7 j: jtjjgjm +5-7 v: vdjrlwv +8-9 s: ssssqsssssssxssssss +12-16 q: qxkjsjlsggcqhplq +16-17 j: jbftlzjjhjjjjvhjjj +3-14 v: gppvmdbvfwvgnd +1-8 b: bbbbbbbdb +2-6 z: pzwhjdzpxwt +5-9 v: qvrvmdvhwv +2-3 b: bbhlpxtbxzx +4-5 z: zzhpzz +15-20 f: fgzfnbcgtbnmflffqfrv +4-5 t: ztxttc +6-11 p: mjppkpcrdflpwqjrwprp +4-7 h: khdwwhhrhhnchs +10-11 b: mprbbblmcbbxqbbbbc +4-6 c: cccjcccx +1-4 r: nrrhrrr +1-2 d: dddlk +19-20 f: bfffffffffffffffffkb +4-6 w: wlswkwwrdsjtwbww +2-3 d: ddld +9-14 r: rrrrrrrrmrgrrjrrr +10-11 k: kkqkkkkkkjk +2-5 k: rkkkkxkkkvsd +16-17 b: bbbjbbbbbbbblbbbrbb +6-7 k: kkkkkkk +7-11 v: lfpjgrrvchvjfdt +12-13 g: fgxqnkgstgpggvrqdl +11-13 d: ddmmdtdddddhddd +6-7 g: mpstgwggbx +11-14 h: hhhhhhhhhhqhhbh +18-20 d: dddddmdddddddddddddh +10-12 m: mmmmqmmmmmrxwmmq +2-13 d: rxnxstxxrjvbdd +3-4 z: drzlrz +5-6 d: qddddb +3-7 d: ddzjcmvtkfdjplhllfn +10-15 m: wdxhmwbnmmmtrxpcj +7-8 b: bbkjbbgnbbswd +2-3 b: bbbhz +1-10 p: gpppqpppgppppppp +10-11 w: zwwfbwdqzww +10-11 n: nnnnnnncnknn +9-13 n: nnnnnnnnnnnnnndnnn +6-10 f: fffffbfffhf +3-5 h: cmhtc +1-2 p: gzpsj +4-10 w: wjwhwwwwwvwww +2-13 g: kwpjkxkjmhgnpsmjsmd +3-4 c: cctpj +13-15 k: kvkzkkskqkkkmkdkkkk +8-9 x: qnxxxfbdx +10-15 k: rkkbkvckkknxlmb +7-8 l: llcqslvlljgll +2-4 b: dtgbb +9-11 j: sjrkthwqjjq +1-4 z: bpzxzvjzrwhtpccm +8-9 n: nnvnnwwnnlnnnznnnn +5-7 j: sthpjjpwrt +12-13 s: ssssssssssssn +3-4 m: mnmgf +7-13 p: pppppprppppppfppppp +6-8 h: zhhbwhht +13-16 t: ttdtttttttttctkt +8-9 l: lllnhlllzpjlqllzld +7-15 x: fpkxzbbnxlcxxlxvx +3-10 b: bbbbbbbbbk +3-4 z: zzrg +1-4 w: wxww +5-6 b: dbbbwbb +2-3 r: frrhnh +1-11 d: qqsrfdddxdzdg +5-7 z: zzzhzzxz +5-6 b: slsbbb +1-2 b: jsbbg +2-10 t: tzttmtpwttttttm +4-5 n: kngxn +5-8 d: tpndxhvd +4-5 z: zgzbzzg +5-15 s: ssssssssssssssls +2-10 g: ggjgcglgggt +15-16 w: wwwwwwwwrwwwwwvzwwg +1-4 s: mksm +1-3 q: qqjqq +4-5 p: kwpkg +7-19 z: pkqkkzzzqccnlpzgzzz +4-6 k: kkkfkc +3-11 h: khshhhnnzphc +3-9 h: tkhghdhkhbhgx +4-8 n: kzntlxwn +1-2 v: xvkmv +3-5 m: mmmmkm +2-7 q: qqbwwctqbqs +2-3 m: mmmm +1-5 k: kkkkk +5-10 t: tttttttttbtxttt +1-4 l: lllblllllllllllll +11-12 c: cccccccccccwc +7-12 f: bfvpqzgwjxrnffjzm +1-13 k: kkkkkrkkkkkkkhk +1-2 w: pcwwwb +6-11 j: jjqjjnbznjt +3-4 d: vzdn +3-5 f: ffhkc +6-9 t: fbttjbtttlzdktf +1-8 k: rrkkkkkb +4-7 f: kbvdphfjgkdthtvffh +1-5 c: hgtcjnjqf +7-11 f: zfffffljfffffffg +3-6 j: jrjjjsjjj +7-14 r: rrrzrrrpjxrtrrrrrr +2-6 d: tdvbjdzqj +11-12 l: zbfnlfzlllls +2-5 c: cjccnf +6-8 v: vvvvfvvvv +9-10 b: bbbbbbbbbbbbt +10-12 l: llllllldlllh +8-13 g: sggzgggjggggjgggqz +8-12 m: mmsmmrmmgmmgmmmfhmmz +2-4 m: mqsmhnm +2-3 j: jjljjj +6-15 w: wrwwwkwfwzwnjcwwwjhh +5-6 p: cbppwb +1-10 h: xhhhhhhhhvhhk +6-14 c: dccccvfcmlcxgcccc +2-7 r: cmxrrrcmrr +13-16 f: ffffffffffffcfft +4-5 s: rsbzssssp +8-10 j: jjzjjjjxjpj +3-12 n: nnnnnnnnnjnnn +13-14 g: gggggggghggggjg +10-11 s: tzssqhxrsss +2-12 l: lllllwdlltvlblxlln +11-18 n: wwnnnnvnhnvnnnntnpn +5-6 h: khkhhhhhzfhdxkqmk +1-4 z: czqrzzzzz +11-13 f: ffffffffffffcf +1-3 x: pxxx +2-5 t: tttttttt +4-5 d: ddddld +1-3 c: chcsck +8-11 d: dddddddkddzd +9-14 n: nnnwwnnnnnnnntn +1-2 t: tftqt +6-7 d: hdtncds +3-9 r: lbrrkmrmrw +9-10 w: wgwwwwwwww +2-3 j: jjgcqjjj +7-8 q: cqqqqqqq +4-12 x: xsvxsxsvlxxrqxx +7-14 l: sldglzflqgddxwlvlc +6-8 l: lllggcqlllll +3-8 b: bfbqdlgbwjldng +1-4 g: kgggggg +3-8 n: lpnxplmnz +11-17 g: ggggggggggpgggggmgg +18-19 t: ttttgtttttttttttwrtt +8-10 x: fxjxxwdsfqxwnpmvxf +11-12 d: ddddddddddvj +4-7 n: qpnbgnnw +5-7 x: xfkrxfxk +6-13 r: rrrstrrgvdvrrrnm +4-5 m: zfmmr +5-12 r: rbrrcrrrrrrrrrrrm +12-13 l: lllllllllxllzl +6-9 x: xxxxxrxxsx +5-6 v: vxtdvvgvwlqfwtbsvnvv +1-2 j: qdtcpqrltjgppjvc +3-5 v: vvjvcv +1-5 f: ffffsfff +2-3 k: xkkgmnnpkq +12-19 m: gmmcwcmmnrfqmpmbmmr +4-11 z: knzzmztfnnzzjszzjfz +7-8 k: xkczkkkckk +15-17 m: mmmmmvmmgmmmmmrmm +5-7 s: xssssss +12-16 n: nnnnnnnnnnnnnnnvn +4-16 b: vbjbmgbplwltlcbw +8-11 b: bgbbbbbdbbrb +3-10 d: ddddddddddd +8-14 k: kxpkkkkvvkkkzk +3-6 l: llzllll +16-17 d: tnjdmnddkddbdvvddddm +5-9 h: bbchxhnhqk +3-6 d: wpqdfl +8-13 z: zzzqfkzhzzcmz +3-13 q: qkrwstgphfrtq +9-10 b: bbqtrtsbbb +19-20 q: bbmkgtnsgzmqzqsrwcqd +3-11 q: dtvgqqnwmgzs +12-16 x: xxxxnxxxxxxqxxxxxxx +10-16 p: vpmpppprxppmgppppqcq +3-6 l: mxxlbllpwblzlllnl +12-13 v: hvfvnjvgvvpvvjkvvj +2-12 v: scqjdrlkfzrl +5-6 l: lllllp +4-5 g: pgsgg +5-6 k: nkktsjgknkbz +4-8 v: vfvvvvvvvvv +6-11 k: ddcqknhhkck +6-10 w: gwqpwwwwtfwv +2-9 q: qlkqkkqqqlchq +8-15 n: ghsnnndhlxpjwnqsnnp +6-7 l: lllllllll +2-5 x: xxtcx +6-10 x: lwtcqxjxvxxhxpxxxsx +2-4 t: lvglqt +2-3 d: tfsq +7-17 m: dxnmnwggnmdmrmhjh +6-7 g: tgsvggdkmlpstg +1-8 n: nbnzflml +6-8 c: clccpclsp +6-8 r: rrrrckrdkrrwzrr +3-12 p: pplpppfppppppp +2-4 c: fccc +10-16 r: rgrrrrrrrdrrrrrrrqr +2-6 x: xwxqxqx +7-11 h: hwhhvhvrghrhnh +7-11 z: mjjxrfhftbbbklzkv +4-5 c: ccpcc +9-17 z: qznzzcvzzjczzzjzzz +18-19 z: zzzzzzzzzzzzzzzzzrz +2-3 r: bdvzlrkjhjvqp +16-19 d: dddddfdddqdddddddddq +14-18 b: bbmbbbjbpbqtbdwbbb +8-9 f: mfddqvlff +7-10 x: xxxxtxkxxb +4-5 r: hbvxthrwllx +3-4 t: tltstng +2-4 f: tfnrcgqf +1-6 g: fgvbwg +7-10 z: vzznzzbzzklzzzlzz +10-13 j: jrwjqgjjzjmbklqxwjn +1-5 s: sssssss +8-11 v: xfpwhwvntgvht +8-9 l: lllvsglzltllwhl +7-20 n: jnnsnnknnncknnnrnjnn +7-11 c: cvblgfxdzcccxjdclt +8-12 t: tthstttktfttzmdtpk +9-12 g: rggvkgnggggm +5-8 f: jrfppdsnpjkwjrdhddf +5-6 n: nnnnnwnn +7-12 j: jjjjjjjjjcmkjj +2-5 g: gbggkg +5-16 p: ppgpnpppppppppprpp +1-6 d: ddgddvdd +3-11 s: sscsksssssldssss +5-13 j: jjjjjjcjjjjkjjjjj +9-13 m: mfmmmtvdcnwmmmmm +2-3 f: fffrjn +7-9 z: zzzzzzzzfzzqnzzz +3-6 b: bbbbbbb +6-8 v: dvxvqzvv +4-5 h: hhhwhh +1-2 w: wwwwwwwwwww +6-11 h: shqlvhbqhbh +6-7 d: dddrddtdd +11-17 z: zzzzzzzzzzzzzzzzl +6-7 t: ttttttttt +2-3 j: zjstccxb +11-13 q: qqqqfqqqqqqqsqp +2-7 p: sppznwpjptppdppp +3-4 m: mmml +3-12 g: phkfggggkzgxbsxr +1-2 c: ppcbvncvck +12-18 h: kjmmtxkrjthtsphgsb +13-16 n: nnnnnnnnnnnnwnnn +11-16 s: xstpxfxtkgscbgws +14-15 h: hkktqhhszldhhkh +8-12 j: jjjjjjjjjjjdjjj +13-14 k: phkkkmkkkkqkkrkkk +4-5 h: hhhqqhhhn +4-12 k: kkkkkkkkkrkkkk +7-10 q: qqqqqqqqqbq +5-7 s: szssqsgs +8-11 l: lllllllllll +10-11 w: tfbwwxwwmkp +10-11 s: blkkznbrtss +2-4 t: dtxt +12-13 x: xxxxxlxtxxxfxxn +9-15 v: mvvhvwnvgvvvvzc +6-17 g: gbggfxvmlfjmgdmshfzq +9-12 n: lqmsxjnnnwrqphn +6-17 b: bbpljfjbsbgfzxgsn +13-15 f: fjgfdsffphbcsltw +3-8 g: kxjlsggg +2-10 n: nfnhnnnnnknn +2-6 x: xzxxxpx +4-5 f: zddjhfknqffsbbf +3-5 r: skxgqcrrrx +1-2 x: rxcddx +8-12 g: gggggggggggmgg +1-6 j: jjjjddjj +8-11 z: zzszznzfzzz +3-14 s: hwjszphhcwjmhsssc +5-7 m: lpcnpsr +5-6 f: frffplfffff +4-7 m: msmkrmw +4-10 s: vhlztshrspskv +13-14 q: mqqgqmcpqpdrqn +5-9 h: hhhmrhhhh +4-6 r: lbqhmw +5-6 b: mbzhbsbbhthll +13-16 v: vvvvvvvvvvvvhvvdvvvf +10-12 w: wwmwgwwzwpwv +2-12 b: kpxbpfbfbcjfbkcfxmbb +14-17 n: nngnnnnfnqnnnnnnrn +6-10 h: hchhhhqhhxhhzj +5-6 h: hzvnwb +7-8 p: pnhxqpls +4-5 z: zzztzz +11-12 c: fclcctjcfdqrcps +6-15 v: jgclvvsqkqgjkvvcl +1-13 j: wjjjjjjjjjjjgj +6-7 f: fffffmfzpf +6-12 p: kppppgppzpptphxp +13-14 b: bbbbbbbbbbbbbbbb +18-20 f: ffffffffffffffmxftfv +6-11 k: gfkkkctxmkrkp +1-9 r: rrwvbwdtr +8-18 b: bbbbbbbtbbbbbbbbbbb +3-10 t: ftqgcktpthttztm +5-8 j: jjzjjjtjlbhj +2-6 w: hwkljw +10-14 g: kggggggfrrgggxgg +7-13 z: zjszqzxzdzzzkjzf +1-6 p: ppppppppp +8-9 p: pppppdpgqpppp +13-15 g: gggggpsggggtggbg +4-5 g: gpmsg +2-5 z: vzfhzzhphh +2-4 g: jgzq +8-9 g: pgjggbbgf +3-4 r: ljsnp +7-13 x: xxxxxgxxxkxxxxvxkkxm +2-6 g: nggfgw +9-10 m: mmmmmmmmldm +15-16 w: wwwwhwkwjnwwwwdn +10-18 r: rrrrrrrrrrrrrrrrrkr +2-3 q: qplq +1-7 m: tmmmmsq +2-5 w: swwmwk +2-3 l: slgkdtjznfxdml +10-12 q: qxmmqjqqqqqw +12-14 c: bhlhjcwkcndchwc +10-11 d: dddddsddddl +13-14 g: mxdxkmvcgrsqgn +3-4 t: qtttpmt +14-16 b: bbbbbbbbbbbbbbbqbbb +2-11 w: zdggnxfnzpwnf +6-7 r: rfrcrrf +9-10 h: hhhhhhhhfg +7-8 r: rrrrrrvl +8-9 n: rnsnvlrqdq +4-7 f: ffwnzdf +15-18 x: ngxxvqwxzlhxwpxxxz +13-15 w: nwwwwwqwwwwwtww diff --git a/input/day3.txt b/input/day3.txt new file mode 100644 index 0000000..9ba5fa1 --- /dev/null +++ b/input/day3.txt @@ -0,0 +1,323 @@ +.....#.##......#..##..........# +##.#.##..#............##....#.. +......###...#..............#.## +.....#..##.#..#......#.#.#..#.. +..#.......###..#..........#.#.. +..#..#.##.......##.....#....#.. +.##....##....##.###.....###..#. +..##....#...##..#....#.#.#..... +.....##..###.##...............# +#.....#..#....#.##...####..#... +#......#.#....#..#.##....#..#.# +##.#...#.#............#......#. +.#####.......#..#.#....#......# +..#.#....#.#.##...#.##...##.... +.....#.#...#..####.##..#....... +#....#...##.#.#.##.#..##.....#. +##.##...#....#...#......#..##.. +....##...#..#.#...#.#.#.....##. +..#....##......##....#.#....#.. +#..#....#....###..#.##....#.#.# +..#.#####..##....#....#.....##. +.#...##.......#...#....#.#...## +#.#.#.##.......#.....#.#.#....# +.#.#.....#.......#.......##.... +.#......#....#....#.......##... +#......#.....#......#..#..#.... +#.#...#...#....##....#.#...#..# +....#.....##...#...#..#.#...... +..#......#..........#...#.#.... +..#..#......####..##...###..... +.#.....#...##...#.##........### +#.#....#..#....#..#.....#.#..#. +...##.##.#.#.##...#.....#...... +##....#.#.#...####.#.#.#.#..... +.##.........#..#..###.......... +..##.###.#..#..#....##.....#... +##........#..###....#.#..#..#.. +....#.#.......##..#.#.#.#...... +....##.....#.........##.......# +..#........##.#.........###..## +....#..................##..#... +#...#.#..###..#.....#..#..#...# +..#..#.##..#..#.......#.......# +.....#..##..#....##...........# +..##...#........#...#.#.......# +.........#.#..#.#..#.##.#.###.. +....#...#..#..#......##....#.#. +..#..#.#....#....#..#.####..##. +##....#.....#......##.###.#..#. +#..#..##..###......#.#.#.#...#. +.......#..##..##...#...#..#.... +..#.###.#...#....#.##.#.....##. +.#.#.......##...##...##....#... +#...#.#.#...#.####..#..##...... +###..#.##..#..........#...#.... +##.#.........#..##......####... +..##.#..#....#.##.............. +...#....#.......###............ +...#.....##....#.#.#.#.......## +###.###...#...#...###.##...##.. +#.#....#.##..#.....#.....##.#.. +...#....#....#.........#....#.# +##.#....#........#..#..##.#.... +.#.#..#.......#...##.......#... +.##...##........#....#.#..#.... +....#..#.##.###.....#.#........ +.#.#...#.#..#.....#.........#.. +.......#.#.#..##....#.........# +.##...#....#..#...#........#..# +....#....#..#.#..#.#.#....##.## +..##....#.....##..#.#...#...#.. +#.##.........#.....#.......#.## +...#...##.#.#..........#......# +###...#.....#..#.......#####..# +#.####...##.#.#..#...#......... +.##.....#.....##..#...##.##.... +.........###...#......##....### +.#....##...###.#..#...##..#.#.# +.......#.......#.#...##.#...... +.....#.#........#..##.....##... +....#.#.........##.#...##..#.#. +#..#..#.##..#.##.##.....##.###. +..##.........###...#....#....#. +.###...#..#.##...........#..... +#..##..........#..........#.... +.....#.#....#..##..#...#.#....# +..#.....#.#....#...##.##....... +##.....##........#....#..##.... +.#..#.#.........#..#..#........ +.............##....#....#..#... +....##....#..#.#.##....###.##.# +.###..#.....#..#..##..#..##..#. +...#..###.......#.#....#..###.. +#.#..#.....#...#......#........ +#..#..............###.#......#. +..#....##.#....#.##.#.#...#.... +.........##..#...#.#.......#... +........#...#.#....#.....##..#. +...#.##..#..#..###..#..#......# +.....####......#...#....#...#.# +...###.#.#......#....#.......#. +#...##.#....#....##....##.###.. +.......##...##.....#.##.#..#..# +.....#.#............##...#.#### +.##..#.#.#.#..#.#.#.....#.##... +.#..####...#.#....#.....#..#... +....##..#.#...#..#....#.#...... +...#......###..#..###..#.....#. +.#.#.#..##....#...##..#.....#.. +###....#....#...##.....#...#... +#.##....#......#...###......... +.#..#.#...#..#....#....#....#.. +...............##...####..#..#. +#.#...........####..#...##..... +##.#....#........#......#...##. +......#...#...#....#....#.....# +#......#.............#....###.. +.#...#...##.....#...##.##..#... +..#.#......#.#........#........ +.......#..#.#...##..#.#.#...... +..##...#.##........#....#.#...# +.....#..#..#........#.#......## +....#.#...##............##....# +.#.#....#.#.#...#...#.##.....#. +#.#.##...#....#.#.#..#.##..#.#. +.........####..#...#...#....... +#..#..####......#..##..#...#... +.........##..................#. +.....##.#..##.#.#...#......##.. +...#....#....#.#.....#...#..#.# +#...##.#...##...........#..#... +#..........#.#..#..#.##..#..#.# +.#...#.##...#.#.#..#.......##.. +.........#...........#..#..#... +.##...##....#.#......#........# +#.#...........#....#.......#... +##.#.#.......#...###......##..# +...###..#.##..##.#.#.......#... +.#...#..##.#...#........#.....# +...#.......#..#..........#.#... +..#.#.#.#.....#.#.......#..#..# +#.##.....#..##...#..###.#....#. +.......#...........#...#....### +.......#..#...#.............#.. +#.....###.......#...#........#. +.#..#..#..#...........#........ +....#.#...#.#.##.#.#....#.##..# +.......#..##...##...#...#...... +...#.....##.###...#.#...##....# +#..#....#...##......#....##.... +#.#.......#....#.###.##..#..#.. +..##...........#...#....#...... +.#........#.....#..#..#...#..## +.....#.#.#..#.......#....#..... +#..#.#......#......##....#..... +##.....................##...... +.##........###..#.........#...# +........#.........#..#......... +.#.##....#.....#...#.........## +....##......#.........#........ +...#.#..#...##.##.#.#..####.... +..##...........##.#.#....#..... +.#.....#.#...#..#.......#....#. +....#...#......##...#...##.#..# +....#..##....#..#.........##.#. +..##...##.##....#....##.###...# +..#....##..##.#.#.#...#......#. +##...#.........#...........#... +.##....##.#.....#...#.......#.. +..........##.###.##....###....# +..........#..##..#....#.#.##.## +........##.#...#.#.#.#...###.#. +.#......#.#.#...###.#.#.#...... +.........#......#......#...#..# +......#.....#.##....##.#####..# +..#..##...###.#..........#.#.#. +.#..#....###.#...#..#....#...## +...................#..........# +....###.....#...##......#.....# +#.....#..##.....#.#..........#. +..#.......##.#....#..#.##.#...# +........##.#..###..#......##... +#...........##.#...###..#....#. +....#...........#.....#.#...#.. +.##..#.#...#...#.##...#..#..... +#........#.#.#.#.#.#........... +#..#.....#..#..#.##....#....#.# +..#............##....#.#.##...# +.....###.#....#.#......#.###... +...#.....#.#.................#. +..#...##..#.#...#...#...#.....# +.##.#........#..#....##..#..##. +.#..........#...#.#..#..#.#.... +#.......##.........#.##..#.#### +.#..............#.......##..... +#......#.##..........#..#...... +..##...#...#.#...#............# +.##.##..##..##........##.....#. +.....#..#.....##............... +.#..#...##...#...#.....#....... +#......#...#.......#..##.###.## +###..##......##......###....#.. +....#..........#...#.##.#.....# +.........#....#..#..#.#..##.... +.....#.....#...........#......# +.#.......#...#....##...#.##...# +..##.#..............#..#...#.#. +.#..####.#.........#....#....#. +..###.#...#..#......#.......### +.#.#..##...###...#...#.#...#.#. +...#..##..###.#..#.....#.##.... +#...###.#...##.....####.....#.. +.#.##...#..#.#..##.....#....... +...#.##.....##.....#....#...... +.#...##.....#..###..#.......... +..........#...#.....#....##.#.. +.......#...#...#...#........#.. +#....##..#...#..##.#.#.....#... +.#.#..............#..#....#.... +.####.#.#.###......#...#.#....# +.#...#...##.#...............#.# +...#.......##...#...#....##.... +#..........###.##..........##.# +.......#...#....#.#..#.#....#.. +....#.##.#...###..#..##.##..... +..#.#.#......#.#.......###..... +#..................#.##....#... +#.....#..#.#.#..#...#.........# +..#..#...#.#.##........#....... +#..#.#..#..........###...#.#... +.......#.##....#........##.#... +.####.#.#...#.#...##.##.....### +........#.#...#.#..##...##..... +....##.##......#.##.........#.. +.#..#...#.#...........#........ +.......#..........#....#...#... +..###.#.###..#..#.....#..##.... +.#..........#.......##...#..... +.#.....#...#........#...#.##..# +.#..#.......#..#.......#.#.#... +....#..##.#...##...#.#....#.... +.....#.........#..#..#....#.... +..#.#..##....#..#..##.#.#.....# +........#.#...###....#.#.#..... +.#.....#.......#..###.#........ +.......#...#.#...#...##........ +##.............#.#.....#.#..#.. +.#....#.......#.#.......#..##.. +#.....#........#..##..##....... +...........#.........###......# +....#.##...#.#...#...#....#..## +......#..##......#......#.##.#. +......##....####...###...#..... +#....#..........#.#.##.....#..# +....#.#...........#.#.#.#.#...# +....####.....##...#..##..#...#. +#....#.###..###.....#..###..... +..##.........#......#...##.#... +..#.....#.#...#.##.#...#..###.# +..#.##..##........#.......#.### +.....#..........#.....#....#... +.......##..##..###.......#####. +..###......#.#....###....##...# +#..##.....#..###...#.....##.##. +#..#..##.##.###.####.##.#...... +.#.#......#.##......#..#......# +..###.....#.#......#.#.####.... +#..............#..#.#...#.###.. +...#..#.##..........##.#...#.## +.#.#.#.........#....#.#..#..... +..#.##..#...#..#...#......#.... +.......#...#.##.#.#..#...##..#. +..........#.####...#........#.# +....#...#....##.#.........#.#.. +##.#..#.......###....#..#..#.#. +..##.....#..#.#.#.####......#.. +.#.....#..........#..#..#.#.... +......#.#.......#.#...#..#..#.. +...#...............#....#...#.. +##.......#.........#.......#... +...#.......###...#.#...#....... +#...###....#....##....#....#... +...#....##..#.#.............##. +.....#.#.#..#......#...#.#..#.. +.##....#..##..#####..##.....##. +....##.#.#..#.....#.#...#...... +...#.....##.#.#..##..#.#....... +.......#..#..#..........#...... +.......#...#..#.........#.##... +..#..#..#...##..#.#....#......# +..#....#...#.#......#........#. +.#...#..#...#.#..........#..... +#..#...####..#......##.##.#.#.. +.#...#.#...#.#.....#..##.#..... +..#.##.#......#.........##...#. +###..............#............. +...#...###....#..#............. +.##....#......#..#.....#..#..#. +.#..........#.....##...#..#.... +....##..#.#......###.##......#. +.#..##.#.##.#...##.#......###.# +#..###.#...###..#........#.#... +#..#.#.#..#...###.##.##..#..#.. +#.#..#....#.........##......#.. +....###.....###....#........... +....#..##.##....##..#.....#.... +.#.....#....####...#..##.#..### +.........##..#......#.#...##... +.##.......#.....#.###.#..#.#..# +.....#.#...###.....#......####. +##.#...#......#.#.#..#.####...# +.#.##.....#..#..#.............# +.#..###..#..#......#..##......# +.......#.#........##.....#.#... +#....#...#..###..#.#.....#.##.. +.##.....#.#....###..#.....##... +...##....#....#...#....#.#.#... +#####..#...........###....#...# +.#.......##.##.....#....#...... +.#..#.#...#..#......#...#..#.#. +....#.....##...#####..#...#...# +###.##...#.#............#....#. +.....#...#........##.........#. diff --git a/input/day4.txt b/input/day4.txt new file mode 100644 index 0000000..b17cdcd --- /dev/null +++ b/input/day4.txt @@ -0,0 +1,1023 @@ +ecl:#eef340 eyr:2023 hcl:#c0946f pid:244684338 iyr:2020 cid:57 byr:1969 hgt:152cm + +pid:303807545 cid:213 ecl:gry hcl:#fffffd +eyr:2038 byr:1951 +hgt:171cm iyr:2011 + +hcl:#c0946f byr:1933 eyr:2025 pid:517067213 hgt:173cm +ecl:hzl +iyr:2018 + +pid:5253256652 byr:2009 hgt:152cm iyr:1989 eyr:1968 hcl:64cb63 ecl:hzl + +iyr:2013 +pid:862607211 eyr:2020 +hgt:174cm +byr:1990 +ecl:blu hcl:#888785 + +ecl:grn byr:1955 +pid:608098408 eyr:2027 iyr:2020 hcl:#b6652a cid:264 +hgt:181cm + +byr:1998 ecl:hzl eyr:2021 +hcl:#866857 hgt:189cm iyr:2030 +pid:013735467 + +pid:075417314 hcl:#b6652a byr:1957 +iyr:2011 +hgt:154cm +eyr:2025 +ecl:amb + +iyr:1993 hgt:74cm eyr:1960 +byr:2029 +hcl:293244 ecl:#3cb5e5 pid:4861232363 + +hgt:153cm hcl:#6b5442 pid:065240897 byr:1932 +cid:196 ecl:blu eyr:2028 iyr:2019 + +eyr:2024 ecl:amb +hcl:#866857 byr:1922 pid:496904942 hgt:164cm iyr:2020 + +pid:847705161 byr:1951 cid:124 iyr:1991 +eyr:2028 ecl:dne +hcl:6b2d28 hgt:172cm + +byr:2007 iyr:2029 ecl:hzl eyr:2026 hgt:168in +hcl:z +pid:63151612 + +iyr:2027 hgt:172in +cid:174 byr:2014 hcl:z eyr:1921 +ecl:grt pid:#cebdc2 + +ecl:amb hcl:#d09c0f +iyr:2015 hgt:156cm eyr:2026 byr:1962 +pid:086120872 + +cid:125 +pid:837849996 +byr:1958 ecl:brn hgt:166cm hcl:#ceb3a1 eyr:2028 iyr:2012 + +ecl:gry hgt:180cm +pid:939059935 eyr:2023 byr:1977 hcl:#b6652a + +hgt:190in byr:2029 eyr:1984 +ecl:gry hcl:z pid:055092916 iyr:2010 + +hgt:63in ecl:blu byr:1940 iyr:2012 eyr:2029 hcl:#7d3b0c +pid:163033394 + +eyr:2040 pid:181cm +iyr:1928 hgt:76cm hcl:d8aafb byr:1949 cid:275 ecl:xry + +hcl:#cfa07d ecl:oth byr:1948 eyr:2021 +pid:719690182 hgt:179cm iyr:2020 + +byr:1939 cid:266 +eyr:2026 iyr:2017 hcl:#f116d2 +ecl:hzl pid:522421825 +hgt:68in + +hcl:z hgt:61in +cid:115 pid:180cm iyr:2030 byr:2014 eyr:2032 ecl:hzl + +ecl:xry +eyr:2028 pid:191cm iyr:2015 hgt:150cm byr:2029 + +eyr:2027 +hcl:#a97842 pid:997937480 hgt:61in iyr:2019 +byr:1921 +ecl:grn + +hgt:163cm +pid:912318455 iyr:2016 byr:1988 ecl:brn hcl:#a97842 cid:221 eyr:2029 + +cid:333 hcl:#c0946f +hgt:163cm iyr:2018 eyr:2027 ecl:oth + +cid:70 hcl:#c0946f +pid:961507902 byr:1949 ecl:grn iyr:2017 eyr:2029 hgt:69in + +hgt:169cm ecl:amb +iyr:2013 pid:496169901 +byr:1943 eyr:2028 hcl:#ceb3a1 +cid:249 + +ecl:blu cid:343 +iyr:1998 hgt:154in hcl:#efcc98 byr:1972 + +pid:508213120 iyr:2012 eyr:2025 hcl:z hgt:70cm byr:1976 +ecl:brn + +iyr:1924 +eyr:2005 +hcl:z +hgt:167 pid:154cm +byr:2007 + +pid:761333244 hgt:180cm iyr:2017 hcl:#18171d eyr:2021 +byr:1983 +cid:67 ecl:oth + +eyr:1993 +byr:2003 +hcl:#602927 +ecl:grt +cid:84 hgt:178 +pid:1847086637 iyr:2026 + +hcl:#866857 hgt:162cm pid:483774485 iyr:2010 +byr:1946 eyr:2028 ecl:gry + +pid:726639691 eyr:2028 +hgt:171cm hcl:#ff65a6 +iyr:2011 byr:1989 + +hcl:z iyr:2026 ecl:xry +eyr:2037 byr:2005 pid:#f09a0f +hgt:68 cid:156 + +hgt:71in ecl:blu eyr:2026 hcl:#18171d +byr:1981 iyr:2017 +pid:698636544 + +eyr:2021 +byr:1957 ecl:brn pid:365378126 cid:93 iyr:2019 hcl:#18171d hgt:179cm + +byr:1996 iyr:2014 hgt:64cm +eyr:2034 +hcl:z + +pid:629486472 cid:140 +hgt:192cm eyr:2020 hcl:#b6652a iyr:1988 byr:2021 ecl:brn + +byr:1955 iyr:2015 eyr:2030 +ecl:gry hcl:z pid:6550198754 +hgt:158cm cid:305 + +ecl:gry hcl:#a97842 +hgt:176cm eyr:2022 pid:810146585 iyr:2020 + +byr:2027 hcl:#cfa07d +iyr:2011 ecl:#f07598 +cid:293 +hgt:150cm pid:#fa948d eyr:2029 + +eyr:2028 iyr:2013 hgt:69in ecl:gry pid:317170371 +cid:147 hcl:#bfe1f1 + +byr:1976 +pid:059341891 hgt:174cm +ecl:oth +eyr:2029 iyr:2017 hcl:#733820 + +iyr:2018 hcl:#ceb3a1 hgt:188cm cid:308 +pid:792826885 byr:1948 ecl:blu eyr:2028 + +iyr:2017 cid:94 hcl:#95c7dc +pid:231757803 eyr:2022 +byr:1992 hgt:153cm ecl:amb + +eyr:2027 +iyr:2011 hgt:186cm +ecl:brn pid:996347346 hcl:#866857 +byr:1960 + +eyr:2025 byr:2001 +ecl:blu pid:755715478 iyr:2019 hgt:61in + +ecl:gry +eyr:2038 +hgt:81 hcl:z iyr:2028 +cid:214 byr:1965 + +pid:412744447 byr:1979 hcl:#cfa07d ecl:blu +eyr:2029 cid:157 +hgt:180in iyr:1948 + +hgt:170cm +pid:623557081 byr:1924 eyr:2024 hcl:98d623 iyr:2012 ecl:amb + +cid:311 ecl:grn +iyr:2011 byr:1982 +eyr:2002 hcl:#ef318a +pid:0548169957 +hgt:87 + +eyr:2030 hcl:#733820 iyr:2016 pid:558470391 +byr:1936 ecl:oth hgt:185cm + +iyr:2019 +ecl:amb byr:1949 +pid:376468392 +hgt:178cm + +pid:019195245 +ecl:grn hgt:171cm +byr:1978 iyr:2011 eyr:2022 hcl:#733820 +cid:134 + +hcl:#623a2f hgt:192cm eyr:2026 byr:1977 +ecl:grn cid:308 + +ecl:hzl pid:715816358 hgt:69in iyr:2014 hcl:#623a2f +byr:1996 +eyr:2027 + +iyr:1947 +ecl:#39a697 +hgt:183cm byr:2029 +eyr:2022 pid:7951883913 +hcl:z + +ecl:gry byr:1950 +hcl:#18171d hgt:168cm iyr:2020 pid:677187333 eyr:2027 + +byr:1969 ecl:blu hcl:#18171d iyr:2011 +hgt:162cm +pid:701349891 + +cid:269 byr:1966 +iyr:2011 +pid:905940527 eyr:2023 hgt:190cm +ecl:brn hcl:#ceb3a1 + +eyr:2027 pid:454627395 ecl:brn +hcl:#ceb3a1 cid:302 hgt:184cm +byr:1959 +iyr:2015 + +iyr:2011 +eyr:2028 +hgt:166cm +hcl:#733820 byr:1938 ecl:blu pid:857984986 + +hcl:#c0946f ecl:brn pid:226877822 +hgt:182cm byr:1998 +cid:160 + +hgt:186in pid:26499164 byr:2017 +hcl:z +iyr:1998 eyr:2026 +cid:331 ecl:#236556 + +pid:328866543 +hgt:165cm eyr:2039 iyr:1987 ecl:amb byr:2018 hcl:z + +iyr:2016 eyr:2036 hcl:#888785 byr:1976 pid:160402352 hgt:76cm ecl:blu + +ecl:blu +hcl:#fffffd eyr:2025 hgt:66in pid:979788527 +byr:1957 iyr:2013 + +ecl:grn pid:279357265 iyr:2019 eyr:2021 byr:1953 +hgt:177cm hcl:#c0946f + +ecl:oth hcl:z eyr:2025 byr:1949 hgt:189cm iyr:2020 pid:901383503 + +byr:2019 hcl:#733820 +pid:31022828 eyr:1929 +hgt:75cm iyr:2012 ecl:grn + +pid:080462937 +ecl:blu hcl:#866857 +cid:102 +iyr:2013 eyr:2025 byr:1975 hgt:64in + +iyr:2016 +eyr:2028 +cid:125 +byr:1979 hcl:#866857 +ecl:brn hgt:173cm pid:814947616 + +hcl:z byr:2020 pid:#c3b54b hgt:174in eyr:2038 +iyr:2016 +ecl:gmt + +cid:132 +iyr:1958 +pid:61543452 hcl:z +ecl:zzz eyr:2039 byr:2006 + +cid:55 eyr:2022 byr:1954 iyr:2015 +hgt:188cm hcl:#a97842 pid:49143631 ecl:amb + +hgt:152cm +byr:1982 +iyr:2013 ecl:blu +hcl:#341e13 +eyr:2026 pid:440841976 + +iyr:2019 ecl:blu pid:553456616 hcl:#733820 hgt:160cm byr:1932 eyr:2030 + +byr:1980 hgt:169cm hcl:#7d3b0c cid:312 iyr:2010 +eyr:2026 pid:028550304 ecl:grn + +ecl:amb eyr:2021 iyr:2014 hgt:71in pid:986053283 byr:1981 + +ecl:oth +eyr:2023 hcl:#888785 +byr:1949 +iyr:2016 pid:699325656 + +hgt:63cm cid:297 eyr:2020 pid:990390922 +hcl:#602927 ecl:lzr +iyr:2012 byr:2016 + +hcl:9ea2fa eyr:2023 pid:088680493 +byr:1998 iyr:2017 ecl:utc hgt:170cm cid:175 + +cid:316 iyr:2016 eyr:2026 hcl:#79ff1d hgt:65in +byr:1997 pid:215466710 ecl:oth + +cid:213 byr:1983 hcl:#888785 iyr:2016 pid:767747981 eyr:2025 +ecl:hzl hgt:168cm + +eyr:2030 byr:1972 +cid:282 +ecl:gry hgt:178cm +hcl:#a97842 +iyr:2018 + +hcl:#6b5442 ecl:amb +eyr:2028 cid:104 hgt:159cm pid:446429120 iyr:2012 +byr:1938 + +byr:1940 hgt:178cm ecl:oth +hcl:#ceb3a1 +pid:845683663 iyr:2015 eyr:2024 + +byr:1940 pid:496262233 +hgt:184cm hcl:#b6652a +ecl:grn cid:152 iyr:2012 eyr:2029 + +hgt:185cm pid:455744229 byr:1954 eyr:2022 ecl:gry hcl:#6b5442 iyr:2012 + +hgt:182cm byr:1966 eyr:2028 ecl:#a5b7fc +iyr:2029 + +pid:343591896 +cid:58 +ecl:hzl +eyr:2022 hgt:180in byr:2021 +hcl:#6b5442 + +ecl:utc hcl:#b6652a +pid:635147657 byr:2020 +eyr:2022 hgt:157cm iyr:2018 + +ecl:grt cid:312 iyr:1959 pid:154262836 +hgt:171cm +hcl:#fffffd +eyr:2024 +byr:1982 + +hcl:#7a12b4 pid:223424149 ecl:hzl hgt:175cm +byr:1930 iyr:2010 eyr:2028 + +hcl:#c0946f pid:633476454 eyr:2026 iyr:2011 +byr:1934 +hgt:186cm +cid:289 ecl:gry + +hcl:#fffffd pid:376300524 hgt:155cm byr:1964 iyr:2017 eyr:2021 ecl:grn + +hcl:a5d4dc byr:2006 cid:165 ecl:#db800f iyr:2029 pid:0199789970 eyr:1961 hgt:61cm + +eyr:2027 hgt:170cm iyr:2010 +hcl:#c0946f +ecl:grn pid:415726530 +byr:1985 + +cid:197 byr:1957 hgt:192in hcl:#a97842 ecl:hzl eyr:2029 pid:958973455 iyr:2011 + +iyr:2015 pid:933689314 hgt:162cm ecl:amb +cid:122 eyr:2021 +hcl:#6b5442 byr:1973 + +eyr:2026 hgt:172cm +iyr:2012 +ecl:brn hcl:#733820 pid:004474632 +byr:2000 + +hgt:191cm eyr:2030 byr:1999 pid:9155071477 iyr:2026 hcl:#602927 cid:315 +ecl:grn + +iyr:2010 pid:182884251 hcl:#18171d hgt:154cm +eyr:2020 +byr:1926 ecl:oth + +iyr:2019 eyr:1920 pid:132839546 +cid:283 hgt:188in hcl:#efcc98 byr:2027 + +iyr:2011 hgt:177cm +cid:117 byr:1976 +ecl:gry +hcl:#623a2f eyr:2030 pid:134592046 + +byr:1968 hgt:146 +iyr:2013 hcl:eefdc4 eyr:2028 +ecl:xry pid:722120008 + +iyr:2016 byr:1941 hgt:67cm cid:51 hcl:#b6652a ecl:hzl eyr:2034 pid:994005715 + +hcl:#cfa07d ecl:oth +hgt:182cm eyr:2021 pid:612583941 +byr:1983 +iyr:2019 + +byr:1922 +hcl:#602927 hgt:161cm ecl:gry eyr:2020 pid:190170808 iyr:2013 + +hgt:63cm cid:136 +iyr:1999 +pid:8235748647 hcl:z +byr:2022 eyr:1933 +ecl:#304383 + +cid:273 ecl:blu hcl:z +iyr:2011 byr:2007 +eyr:2020 +pid:942473857 hgt:178in + +ecl:grt byr:2029 hgt:187in eyr:2030 cid:160 +hcl:#efcc98 pid:#39f22b +iyr:1966 + +byr:1978 ecl:oth iyr:2011 hgt:164cm eyr:2027 hcl:#cfa07d + +hgt:75cm hcl:#1e8137 byr:1986 ecl:blu eyr:2022 pid:796688423 +iyr:2012 + +eyr:2026 +ecl:#3013af hcl:z pid:#e8597f hgt:123 iyr:2025 byr:1942 + +hcl:z hgt:177in +iyr:1993 pid:#4c9348 byr:2008 eyr:1989 + +pid:123524366 byr:1935 +hgt:156cm hcl:#7d3b0c +iyr:2020 ecl:brn eyr:2020 + +hcl:z eyr:2038 pid:7663741757 ecl:gmt hgt:174 +byr:2008 iyr:1939 +cid:225 + +hcl:#888785 hgt:172cm +ecl:oth pid:500711541 eyr:2027 +byr:1931 iyr:2012 + +pid:575447108 ecl:amb byr:1943 +hcl:#888785 hgt:173cm eyr:2024 + +eyr:2021 iyr:2010 pid:178773264 hgt:157cm byr:1965 hcl:#bb7bcf ecl:amb + +iyr:2023 ecl:#35bd84 byr:2020 +hgt:72in +eyr:2037 +hcl:#6b5442 +pid:421311669 + +byr:1921 iyr:2011 +pid:146088688 +eyr:2023 hcl:#15ed24 hgt:183cm +ecl:brn + +hcl:#b6652a cid:243 +byr:1993 eyr:2024 +iyr:2014 hgt:172cm +pid:771275594 + +eyr:2024 +hcl:#cfa07d pid:858807920 cid:293 hgt:157cm ecl:hzl iyr:2013 byr:1984 + +ecl:blu hgt:193cm cid:73 hcl:#18171d eyr:2026 +iyr:2016 pid:124151812 byr:1945 + +ecl:amb iyr:2018 +pid:214555737 hgt:157cm +eyr:2028 +byr:1925 hcl:#866857 + +pid:5633250409 +hcl:4ef7d8 +byr:2004 iyr:1958 +hgt:96 +eyr:2038 ecl:xry cid:274 + +byr:1972 pid:401239851 hgt:184in hcl:z iyr:2017 +eyr:2030 ecl:#cb289a cid:140 + +hgt:175cm +byr:1926 hcl:#cfa07d eyr:2029 ecl:gry pid:325039730 iyr:2017 + +cid:101 hgt:166cm byr:1986 ecl:amb +hcl:#7d3b0c iyr:2013 +pid:413769688 eyr:2024 + +hgt:159cm cid:311 +byr:1993 eyr:2028 pid:188cm ecl:oth hcl:#602927 iyr:2013 + +pid:565831038 +ecl:amb +hgt:155cm hcl:#fffffd cid:335 iyr:2016 +eyr:2029 byr:1997 + +hgt:122 +byr:2022 +eyr:2028 ecl:blu iyr:2017 pid:269710626 hcl:#b6652a + +cid:196 +byr:1953 hcl:#6b5442 iyr:2010 +pid:216121215 hgt:188cm ecl:blu + +iyr:2011 hcl:98166c hgt:62cm +byr:2028 +eyr:2024 +pid:792478385 ecl:grn + +hcl:#efcc98 iyr:2012 pid:020039675 eyr:2021 byr:1974 hgt:156cm +ecl:hzl + +cid:123 hcl:#7d3b0c +byr:2026 eyr:2004 iyr:2012 ecl:oth pid:349203133 hgt:160cm + +pid:085461475 +byr:1962 iyr:2020 hcl:#623a2f +eyr:2024 +cid:80 ecl:brn +hgt:154cm + +ecl:oth hgt:156cm iyr:2016 +hcl:#6b5442 +byr:1973 +eyr:2021 pid:539898580 + +iyr:2026 hgt:191cm +hcl:z +byr:1930 pid:#abc2f0 ecl:blu cid:242 eyr:2024 + +cid:167 +hgt:179cm +iyr:2017 eyr:2021 pid:756797571 byr:1949 ecl:brn hcl:#a97842 + +byr:1975 eyr:2030 +ecl:oth hgt:169in pid:4031206183 hcl:#733820 iyr:2017 cid:244 + +ecl:#54cfeb hgt:152cm +iyr:2026 hcl:36b4b9 +byr:2030 +pid:#fa1cb9 eyr:1964 + +byr:1974 cid:99 hcl:9e3296 +eyr:2032 +pid:686747414 +iyr:1995 +ecl:amb + +iyr:2030 ecl:oth hcl:z byr:1979 +pid:114661006 hgt:191cm eyr:1941 + +hcl:#341e13 iyr:2014 byr:1953 +pid:188326193 ecl:gry hgt:189cm cid:283 +eyr:2030 + +byr:1975 +pid:092061576 hgt:73in eyr:2023 +ecl:brn cid:227 hcl:#5e9d91 +iyr:2011 + +hcl:#7d3b0c hgt:167cm cid:141 +eyr:1957 byr:2012 ecl:gmt iyr:2019 pid:#1b7c8a + +hgt:168cm hcl:#c0946f pid:599500784 byr:1930 eyr:2023 ecl:hzl cid:113 +iyr:2013 + +eyr:2030 hcl:#b4cb4f +hgt:68in +ecl:brn byr:1923 pid:699162086 + +iyr:2013 +ecl:dne hcl:z eyr:1971 +pid:#580add byr:2020 +hgt:190cm + +hcl:#ceb3a1 +byr:1976 eyr:2020 +cid:162 iyr:2016 +hgt:168cm +ecl:hzl + +pid:050478613 hgt:59cm +iyr:2017 +ecl:grn byr:2030 hcl:#cfa07d eyr:2025 + +pid:352943968 eyr:2025 byr:1980 iyr:2014 ecl:gry hcl:#c0946f +hgt:193cm + +pid:328621931 cid:310 hgt:170cm +hcl:#733820 byr:1955 +iyr:2016 +eyr:2028 ecl:hzl + +hcl:#866857 +pid:095858739 byr:1956 +iyr:2018 hgt:193cm +ecl:hzl +eyr:2029 + +pid:70973661 eyr:2039 ecl:gry +iyr:2016 +cid:291 +hcl:#623a2f hgt:97 + +hcl:4d51a8 +eyr:1978 +ecl:gmt +byr:2029 iyr:2022 +pid:34507041 hgt:61cm + +byr:1989 ecl:brn pid:769582914 +eyr:2026 cid:218 +iyr:2020 hcl:#866857 hgt:184cm + +ecl:brn +iyr:1998 cid:227 +hgt:162in +byr:2026 +hcl:#602927 eyr:2027 pid:236998728 + +ecl:gry byr:1984 hgt:157 cid:295 +eyr:2020 +iyr:2018 hcl:#733820 +pid:037871534 + +hgt:166cm hcl:#c0946f pid:412146401 +iyr:2011 +eyr:2022 +byr:1938 +ecl:brn + +ecl:brn cid:95 byr:1981 eyr:2030 hcl:#efcc98 pid:777041035 hgt:152cm iyr:2011 + +eyr:2024 hgt:89 pid:3761913749 iyr:1939 byr:1967 hcl:a222f6 cid:165 ecl:#7fe574 + +cid:339 hgt:156cm +ecl:brn iyr:2013 byr:1951 hcl:#efcc98 eyr:2026 +pid:863566946 + +ecl:brn hcl:#6b5442 eyr:2023 +pid:787129723 byr:1949 iyr:2015 + +pid:#7f615a +cid:202 hcl:#6b5442 eyr:2028 +ecl:#a5419c +hgt:75cm +iyr:2011 +byr:2001 + +pid:864001133 +cid:236 +byr:1943 hcl:#733820 ecl:dne eyr:2025 hgt:171cm iyr:1989 + +pid:193073684 ecl:grn byr:1962 iyr:2014 +hcl:#cfa07d hgt:189cm +cid:321 eyr:2029 + +byr:1959 +hcl:#b6652a +eyr:2026 +hgt:159cm pid:815014918 iyr:2011 ecl:amb + +iyr:2017 hgt:182cm +hcl:#a97842 eyr:2023 ecl:grn pid:656177536 +byr:1973 + +eyr:1923 ecl:grn +cid:138 iyr:2020 +hgt:164cm byr:1958 hcl:#c0946f pid:783366277 + +iyr:1932 hgt:172 ecl:blu +hcl:#733820 byr:1962 pid:554221464 + +cid:169 pid:922622614 +byr:1942 hcl:#ceb3a1 hgt:169cm eyr:2024 +ecl:gry iyr:2017 + +cid:219 ecl:grn +hgt:156cm byr:1998 eyr:2021 +iyr:2017 hcl:#ceb3a1 pid:450186263 + +ecl:amb hgt:179cm pid:768428582 iyr:2010 eyr:2023 byr:1952 hcl:#fffffd + +eyr:2024 +hgt:193cm +iyr:2017 pid:469033795 byr:1979 hcl:#18171d cid:67 ecl:amb + +iyr:2016 byr:1937 pid:798267514 hgt:155cm hcl:#866857 eyr:2026 +ecl:oth + +hgt:172cm hcl:#866857 iyr:2018 pid:662186551 +byr:1996 +eyr:2025 ecl:amb + +pid:2854521962 +iyr:2021 +ecl:zzz +hcl:12f1ba eyr:2037 hgt:159cm +byr:1937 + +ecl:oth pid:488050418 byr:1927 hcl:#a97842 hgt:153cm iyr:2013 eyr:2024 + +pid:119536312 ecl:#2036ad +hcl:543178 iyr:2020 +byr:2013 +hgt:177cm +eyr:2022 + +pid:788908662 hcl:#602927 eyr:2029 +ecl:oth byr:1930 +iyr:2020 +hgt:179cm + +byr:1972 +pid:053386972 iyr:2014 ecl:grn hgt:65in hcl:#cfa07d + +pid:9828921035 ecl:blu +hcl:z hgt:152in +eyr:1949 byr:2010 + +cid:157 pid:097910554 byr:1999 +hgt:159cm hcl:#6b5442 ecl:blu eyr:2024 +iyr:2010 + +hcl:#a97842 +eyr:2040 ecl:#f8ad77 +hgt:173cm +byr:2019 iyr:2010 +pid:#d16a6e + +ecl:dne hgt:191cm iyr:2020 hcl:#b6652a +eyr:2021 pid:571971509 byr:1983 + +hcl:#18171d iyr:2016 pid:159074622 +eyr:2027 hgt:163cm byr:1954 +cid:257 + +pid:243560302 cid:58 +hcl:53a4cf byr:2012 +ecl:#fdbfb8 eyr:1920 hgt:179 iyr:2026 + +pid:040606106 eyr:2030 hgt:188cm +byr:1969 +iyr:2012 hcl:#ceb3a1 ecl:amb + +eyr:2022 +hgt:175cm hcl:#b6652a byr:1967 pid:269969031 +iyr:2018 + +hcl:#18171d cid:278 byr:1931 +pid:134809791 +eyr:2035 ecl:#44e6cd iyr:1993 + +hgt:177in +ecl:utc cid:289 +iyr:1923 +hcl:13a67a pid:3045345984 byr:2030 eyr:1944 + +pid:839901650 eyr:2030 +ecl:grn +byr:2015 iyr:2017 hgt:168 hcl:131f4e + +iyr:2015 pid:529736732 ecl:brn hgt:176cm +eyr:2026 byr:1952 hcl:#6b5442 + +hcl:#c0946f +cid:323 pid:303966428 iyr:2019 +eyr:2027 hgt:170cm +byr:2001 +ecl:brn + +pid:193678728 hgt:72in eyr:2027 iyr:2015 byr:1951 ecl:gry hcl:#18171d + +eyr:2026 cid:283 +iyr:1938 pid:687430885 +hgt:186cm +byr:1949 ecl:#521638 hcl:d13b2f + +eyr:2024 hcl:#ceb3a1 iyr:2013 ecl:brn +hgt:168cm pid:792088241 + +hcl:#888785 ecl:amb +byr:2009 iyr:2015 +hgt:151cm +eyr:2020 pid:223927808 + +byr:1926 +pid:717704850 +hcl:#623a2f eyr:2022 hgt:64in iyr:2018 ecl:gry + +eyr:2023 byr:1954 +hgt:169cm +ecl:hzl +iyr:2010 pid:116868997 hcl:#18171d + +ecl:hzl byr:1965 hcl:#a97842 iyr:2011 pid:506354451 hgt:172cm eyr:2029 + +eyr:2022 pid:994565705 +iyr:2013 ecl:brn hcl:#623a2f +byr:1979 + +iyr:2011 +byr:1931 hgt:183cm hcl:#284f26 cid:306 +ecl:amb eyr:2021 +pid:977533079 + +eyr:2027 +iyr:2011 ecl:gry +byr:1993 +pid:272334781 hgt:161cm hcl:#9a35b6 + +eyr:2026 +hcl:#602927 ecl:blu +pid:212300161 byr:1946 +cid:193 iyr:2020 hgt:157cm + +pid:538594567 byr:1976 eyr:2027 hcl:#efcc98 iyr:2011 hgt:154cm ecl:oth + +byr:1949 +hcl:z ecl:#ce67aa +eyr:1942 pid:7978941589 iyr:2025 hgt:161in + +hcl:#c0946f +cid:55 +byr:1963 ecl:blu hgt:161cm +pid:547120453 iyr:2015 eyr:2021 + +hgt:173cm eyr:2022 +iyr:2016 byr:2001 +ecl:hzl pid:239803460 + +hcl:#b6652a ecl:oth eyr:2021 hgt:167cm pid:401266644 iyr:1969 byr:1974 + +eyr:2030 pid:581963885 +hcl:#64cb23 +ecl:blu +byr:1928 hgt:181cm iyr:2018 + +pid:186338247 +ecl:hzl hgt:193cm hcl:#ceb3a1 +eyr:2022 iyr:2010 + +iyr:2015 ecl:gry hgt:159cm eyr:2027 hcl:#ceb3a1 +byr:1925 pid:715902111 cid:149 + +iyr:2018 hcl:#623a2f eyr:2020 hgt:162cm ecl:grn cid:135 +byr:1922 +pid:373216777 + +eyr:2020 pid:749899012 hcl:#888785 ecl:brn +iyr:2010 cid:225 hgt:172cm +byr:1972 + +iyr:2020 hgt:178cm ecl:grn hcl:#18171d pid:613792489 cid:240 +eyr:2028 +byr:1972 + +iyr:2015 byr:1938 eyr:2026 +cid:113 ecl:grn +pid:846231640 hgt:161cm +hcl:#b6652a + +ecl:gry +hcl:#ceb3a1 +byr:1956 cid:338 pid:936012518 +hgt:62in +eyr:2029 iyr:2016 + +pid:730866353 ecl:brn byr:1986 +iyr:2014 +hgt:190cm +eyr:2021 hcl:#a97842 cid:126 + +eyr:2021 +cid:180 pid:958310635 ecl:brn iyr:2015 hgt:189cm hcl:#efcc98 + +hgt:188cm ecl:hzl pid:179001863 iyr:2016 eyr:2029 hcl:#341e13 byr:1932 + +cid:77 eyr:2027 hcl:#623a2f iyr:2016 ecl:brn hgt:170cm +byr:1947 + +hgt:66in pid:617518313 iyr:2013 byr:1977 hcl:#b6652a ecl:brn eyr:2025 + +pid:787861420 +iyr:2014 hcl:#623a2f hgt:61in +ecl:oth cid:78 +eyr:2022 byr:1975 + +ecl:hzl +iyr:2017 eyr:2028 hcl:#602927 +byr:1958 pid:985208714 +hgt:160cm + +byr:2002 +iyr:2013 +hcl:#341e13 pid:188110633 ecl:gry hgt:169cm +eyr:2025 + +byr:1981 +eyr:2028 +hcl:#341e13 ecl:amb hgt:160cm cid:121 +iyr:2015 pid:963848397 + +iyr:2013 hcl:#866857 pid:#db8648 eyr:2021 ecl:gry +byr:1975 +hgt:153cm cid:114 + +hgt:109 +cid:287 hcl:#6b5442 +iyr:2028 byr:1926 eyr:2036 pid:2378208387 +ecl:#245a62 + +pid:857722366 +byr:1975 eyr:2027 +ecl:grn iyr:2019 hcl:#0afad1 +hgt:66in + +byr:1935 hcl:#cfa07d hgt:173cm ecl:brn eyr:2021 iyr:2019 + +cid:66 eyr:2024 hcl:#efcc98 byr:2002 iyr:2010 +hgt:176cm pid:697153153 ecl:amb + +iyr:2019 +hcl:#cfa07d ecl:blu +pid:695914972 +eyr:2024 +hgt:158cm +byr:1943 + +ecl:xry hgt:62in +pid:14733148 cid:148 +iyr:2016 byr:1925 hcl:#6b5442 +eyr:2028 + +iyr:2025 +cid:53 hgt:132 ecl:gmt hcl:159b19 +pid:156cm +byr:2025 eyr:2001 + +hcl:#623a2f ecl:oth byr:1974 iyr:2018 hgt:161cm eyr:2029 pid:6826285172 + +ecl:gry +byr:1956 hcl:#7d3b0c hgt:170cm iyr:2020 + +eyr:2020 +pid:#946a88 hgt:186cm hcl:#733820 byr:1946 ecl:#016645 iyr:2015 + +hgt:181cm hcl:#888785 iyr:2013 pid:634152817 +byr:1982 cid:245 ecl:grn eyr:2021 + +ecl:brn +pid:737531770 iyr:2010 +eyr:2020 +byr:1929 hgt:189cm hcl:#c0946f + +cid:158 iyr:2019 hcl:#341e13 eyr:2027 ecl:amb +byr:1986 pid:834976623 + +pid:976934668 cid:61 eyr:2020 iyr:2020 +hgt:76in byr:1927 ecl:amb +hcl:#e05ee3 + +pid:526042518 iyr:2019 eyr:2027 hcl:#623a2f byr:1976 ecl:amb + +pid:279367290 hcl:#a97842 hgt:158cm +eyr:2027 +byr:1959 +iyr:2020 + +ecl:xry byr:2028 +pid:357216861 hcl:#a97842 eyr:2024 hgt:66cm +iyr:2012 + +hgt:188in +ecl:lzr cid:64 eyr:1958 byr:2014 hcl:z pid:285207570 iyr:2026 + +eyr:1973 iyr:2017 ecl:oth cid:282 pid:695814158 +hcl:z + +iyr:2010 pid:661168409 +hcl:#53c696 +hgt:186cm ecl:amb +byr:1960 +eyr:2029 + +eyr:1982 hgt:169cm +iyr:2002 byr:2025 hcl:327f93 pid:831648100 + +byr:1967 ecl:oth +eyr:2021 +hcl:#602927 iyr:2014 +pid:274974402 hgt:183cm diff --git a/input/day5.txt b/input/day5.txt new file mode 100644 index 0000000..05530c3 --- /dev/null +++ b/input/day5.txt @@ -0,0 +1,846 @@ +FFBBBBBLLR +BFBFBBBRLL +FBFFFFBLRL +BFFBFBBRLR +FFBBFFFRRL +FBFBFFBLLR +BFFBFBFLLR +BFFBBBBRRL +FBBBFBFLRL +BFFBFBBRLL +FFBBFBBRRR +BBFBBBBLRL +FFBFBBFLRL +BBFFFBBLLR +FFBBBFFRLL +FBFBFFBLRL +BFFFBFBLRL +FFBFBFFRRL +BBBFFFBRRR +BBFFBBFLLL +BFBBBFBLRR +FBFBFFBRRL +FFFBBFBLLR +FBBFBFFRLR +FBFFFFBRRL +BBFFFFFLLR +BFBFFBBLLR +FFBFBBBRRR +FFBBBBBRLR +BBFFBFFRLR +BBFBBBBRRL +FFBFFFFLLL +BBBFFBFRRL +FFBFFFFLRR +FBBBBBFLLR +BFBFBBBLRL +BFBBBFFRRL +FBFFBBFRRR +BBFFFFBRLR +FFBFBBFRLL +FFBFBFBLLL +FBBBFBFRRR +FFFBBBFRLL +BFFFBBBLLR +FBFFBFBRLR +FFBFBBBLLL +BFBBBFFLLL +BFFBFBFLRR +BFFBFBBRRR +BFBBBFBLLL +FBFFBFFLRL +BBFFFBBRRL +FFFBFBBRLR +BBFBBBFLLR +FFBBBBBLRR +BFFFFBFRRL +BFFFBBBRLR +BFBBBBBLLR +FBFBBFFRRL +BFFBFFBLLR +FFBBFFFRLR +FBBFFFBLLL +FFFBBFFLRR +BBFFFFBRLL +BFFFFFFRLR +BFFBBBFLLR +BFBBBFBRRL +FBFBBFFRRR +BFBFBFFLRR +BBFBFFFLLL +BBBFFBFLLL +FFBBFBFRRL +FBBFFFBLRL +BFBBBBFLLR +BFBFBBBLRR +BFBBBBBRLR +BFFFBFFRRL +BFFFBFFLLL +BFBBBBBRLL +BBFFBFBRLL +FBBBBBFRLR +BBFFBFFLLR +FBBFFFFRLR +FBFFFBFLRL +BBFBFBBRLR +BFFBBFBRRL +FBFFFFFRRR +BFBFBBFLLL +FBBFBBFRLR +BFBBFBBRRR +FFFBBBFLRL +BFFBFFBRRL +FBFBFBBLLR +BBFBFFFLRL +FFFBFBBRRR +BBFFBBFRRL +BFBFBFBLRR +BFFBBBBRLR +FBBFFFFLLR +FBBBFFBLLR +FBBBBFFLRL +FBBBBFFLLL +BBFFBBFRLR +FFBBFBFLRL +BFBFFBBRLL +FBFBBFFLRR +BFFFFFBRLL +BBFBFBBRRL +FBBBBBBLLR +BBFBFBFLLL +BFFFFBBRLL +BFBFFBFRRL +FFBFFBFLLL +BFFFBFBLLR +FBBFBFFRRR +FBBFFBFRLR +FBBFBFBRRR +FBFBBFBRLR +FFFBBFBRRL +FBBBBFBLRR +FBBFBBFLRR +BBBFFBFRRR +BFFBBBBLLL +FBFBFBFLRL +FFBFFBFLRL +FFFBBFBLLL +FBBFFBFLLR +FBBBFBBRRR +FBBBBFBRLR +FBBFFFFRRR +FFFBFBFLLR +FFBFFFFRRR +BFBBBBFRLR +BFFBFBFRRR +BBFBBFFRLL +BFFBFFFLLR +FBBBFBBRLL +BBFBFFFRRR +FFBFBBBRRL +FBBBFBFLLL +FBBBFBBLRR +BFBFBBFRLL +BFBFBFBRLL +FBFFBBBLRL +FBBBBFFRRL +BBFFBFBRLR +BBFFBFFRRR +FFFBFBFLRR +FFFBFBBLLR +FBBBFFFRLL +FBFBBBFLLL +FBFBBFFRLL +BFBBFFBLLR +FFBFFFFRLR +BFFFBBFRRL +BFBBFBFLLL +FBFFFBFLLR +BBBFFBFRLR +BFFBBFFLLL +FFBBBBBRRL +BBFFBFBLLL +BFFFBFFLLR +BBBFFBFLRL +BFBFFBFLLL +FBFFBFFRLR +FFBFBBBLRL +FBBFBFBLLR +FBBFBBFLRL +FFBBFFBLRL +FFBBBBFRLR +FFBFFFFRLL +FFBBBFBRLL +BFFFBBFLRL +FFFBBBFRRL +BFBFBFFLLR +FFFBFBFRLR +BBFBFBFRLR +FBBBFFBRRL +FFBBBBFLLL +FFBBFFBRLL +FBBFFFBRRR +FFFBBBBRLL +FBFFFBFRRR +BFBBBFFLLR +BBFBBFBLRR +FFBFBBBLLR +BFBFBBBRRR +BBFFFBBLRR +FBFBFFBLRR +FFFBFBBLLL +FFBFFBFRRL +FFFBFBBRRL +BFBBBFBRLL +BFBFFFFLLL +BFBFBBBRRL +FFFBBFBRLR +BBFBBBBRLL +FBFBBBFLRL +FFBFFBFRLR +BFBBBBFLLL +FFBBBBFLRL +BFFBFBFRRL +BFFFBBFLLR +BFFFBBFRRR +BFBFBFBLLL +BFFFFFBLLR +BFFFBBFLLL +BFBBBBFRRL +BBFFBBFLRR +BBBFFFFLRR +FFBFBFFLLR +FBFFBFFLLR +BFBFFFFRLR +FFBFFBFRLL +FFBFBFBLRL +BFFBBFFRRR +BFFFBBFLRR +FBFBFBBLRL +BFFBFFFLRL +FBFFBBBLRR +FBBFFFFLRL +BBBFFFBLRR +FBFFFBBRLL +BFBBFFFRLL +FFFBBBBLRR +BFBBBBBRRR +FBBBBBFRLL +BFBFFBBRLR +BFFFBFFLRL +FBFBFBFRRL +FBFFBFFRRR +FFBBFFBLRR +FFBFFBBRLR +FBBBFFFRLR +BFFBBBBLRR +FBFFFFBLRR +BFBBFFFLLR +FBFFBBBLLR +FBFFFBBRRR +BFFBFBBLLL +FFBBBBBRRR +BFBBFFBRRR +FBBBBBBRRL +BFBBFBFLRR +BBFBFFBRLL +FBFFFFBRLL +BFBFBBFLRL +BFBFFFFLLR +BFFFBBBLRL +BBFFFFFRLL +BBBFFBBRLR +BBFBBFBLRL +BBFBFFBLLR +BBFBFBFLRR +FFBBFFBRRL +FFBFBBBRLR +BBFFFFBRRR +BFBFFFBRLR +BBFFFFBLLR +BBFFBFFLRR +FBBFBFBRLR +FFBBBFFLRR +BFBBFFBRLL +FBFBBBBLLR +FBBFFFBRLL +FBBFFFBLRR +FBFFFBBLLR +BBFFFBBRLL +BBFBBBFRRR +FFBBFFFLLL +BFBBBFFRLR +BFBBFBBRLL +BFFFFFBLRR +BFBFBFBRLR +BFBFFBFLRL +FFBFBFBRLL +BBFFFBFLLR +FFBFBFBRLR +FFFBBBBLLR +FBFBBBBRRR +BBFBBBFLRL +BBFBBBFRRL +FBFFBBFLLR +FBFFBFBLRL +BBFBBFBRLR +BFFFFBBRLR +BBFFFBFRLL +BFBFFBBLRL +FFFBFBBLRL +FFBBBBFLLR +BBFBBFBRRL +BFBBFBFLRL +BBFFBBFLRL +BFBFFBFRLL +BFFFFBBRRR +BFFFFBFRLL +FFBBFFBLLL +BFBBBBBLRL +FBBBFFBRLL +FBBFFFFRLL +BFFBFFFRLR +BFBBFBBLRR +BBFBFFBLRR +FBBBBBBLRL +BBBFFFFLRL +FFBBFBBRLR +FFFBBBFRRR +FBFFFFBRLR +BBFFFFBLLL +BFBBBFBRRR +FFFBBBBLRL +FFBFBFFLRR +BBFBFBFLRL +BFBBBBBLRR +BBFFBFBRRL +FBBFBBFRRL +BFFFFFBLRL +FFBFBBFLLL +BFFBBFFLRL +BBBFFFFLLR +BFBFFBBRRL +FBBBBFBLLL +BBFFBBBLRL +FBFBFFFRLR +FFBBFFFLRL +BFFBBFBRLL +FBBFBBFRRR +FBFBBBFRRR +BFBFBBFRRL +FBBBFBFRRL +FBBBBBBRLL +FBFFFFBLLR +FBFBFBBRRR +BFBBBBFRRR +BBFFFFBLRL +BFBBFBBLRL +BFFBBFBRLR +BFFBFBBLLR +BFFFBBBRLL +FBBFFBFRRR +BFFBFBBLRR +FFBFFFFLRL +BFBBFBBRRL +FBBBFFFLRL +FFBFBFBLRR +FBFFFBBLLL +FBBFFBBLLL +BFBBBBBLLL +FFBBBFBRRR +FBBBBBBLLL +FBFFBBFRLR +FBFBBBBLRR +FFBBFFFRRR +BBBFFBBRRL +FBBBFBFRLL +BFFFBBBLRR +FFBFFBBLRR +BFFBBFFRLL +BFFBBBFRLL +BFFBFFFRLL +BFFFFFFLLR +FFBFFFBLLL +FBBFBFFRRL +FFBBFBBLRL +FFBBBBFRRL +FBBBFBBLLR +FFBFBFFLRL +FBFFBFBLRR +BFBBFFBLLL +BFFFBBFRLL +FBFFBBFRRL +BFFBFBBLRL +BFFFBFBRRR +FFFBBBFLLL +BBFFFFFLRR +BBFFFBFLLL +FBFFFFFRRL +BFBFFFFRRR +FFBFFFBLLR +FFFBBFBLRL +FBFFFBFLLL +FBBBBFBRRR +FBBFFFBRRL +FBBFFBFRLL +FBBBBFFRLL +BFBFFFBRRR +BFBBBFBRLR +FBBBFFBLLL +BBFFFBFLRR +BFBBFFBRRL +BBFBBBFRLR +BFFFBFFRLR +FBBBFBFLLR +FBFBFBFRLL +FBFBBBFRLL +FFBFFBBRLL +FBFFFBFRRL +BBFBFFBRLR +FBFFFFFLRL +BFFBBBFLRL +FFBFFBBLLL +FFFBFBFLLL +BFBBBFFLRR +BBBFFBBRLL +BBBFFBFRLL +FBBFBFBLLL +BFBFFFFRLL +FBFBFFBRLR +FFFBBFBRRR +FBBFFFBRLR +FFFBBBFLRR +BFBFFFBLLR +BFBBBFFRLL +BFBBFFBRLR +BFFFFBFRLR +BFFFFBBLRR +BBBFFFBLRL +FBBBFFBRRR +BFBBFFFLRR +FBBBBFBRLL +BBFFBFFRRL +FFFBBFFLRL +FBBBBFFRRR +FBBFBFFLRL +BFBBFBFRLL +FBFFFBFRLL +FBFBBFFLLL +BFFFBBFRLR +BFFFBFFLRR +FFFBFBFLRL +FBFFFFFRLL +FFBFFFFRRL +FFBBFBFLRR +FFBFBBFRLR +FBFBFBFRLR +FBFBFFFRLL +FFBFFBFLRR +BFBFFBFRLR +BFFBFFFLRR +BBFBFBBLLR +FBFBFBBRRL +BFFBBBBLRL +BBFFBBBRRR +FBFFBBFRLL +BFFFBBBRRL +FBBFFFBLLR +BFFBBFBLRR +BFBBBBFLRL +FBFFBFBLLR +BFFBFFBRLR +FBBBBBFLRL +FBFFFBBLRL +BBFBFFFRLR +BFFBFFBLRL +FBBBBFBLLR +FFBBFFFLRR +BBFBBFBLLL +BBFFFBBLLL +FBBFBBBRLR +FBBFBBBLLR +BFFFFBFLRR +FBBBFFBLRR +FBFBFFBRLL +BFFBBBBRRR +BFFFFFFRLL +FBFBBBBLRL +FFBFBBFLLR +BFBBFBBLLL +BBFBFBBRRR +BFFFBFBLLL +BFBBFFBLRL +FBBBFFFLLR +FFBFFBBRRR +BBFBBBFRLL +FBBFBBBLLL +FBFBBBFLRR +BFBBFBFRRR +BFFFBFBRRL +BBFFBBBLRR +FBBFBFFLRR +BFFBFFBRLL +BFBFFFBLLL +BBFBBBFLLL +BFBBFFFRRL +FFBFBFBRRR +BFFBBFFRRL +BFFBFBFRLR +FFBFFFBRRL +BFFFBFBLRR +FBFBFFBLLL +FBFBFBFLLR +BFFBBBBLLR +FBBFFBBLLR +FBBFFBFLLL +BBBFFFBRLR +FBFFFBFRLR +BBFFBFFLRL +BFBFBBBLLL +FBFFFFBRRR +BFFBFFBRRR +FFBBBBBLLL +BBFFFBFRLR +BFFFFFBLLL +FBFBFBBLRR +FBFFBBBRRL +FBBBBBFLRR +BBBFFBFLRR +FBFBFFFLRR +FBBBBBBRRR +BFFBBFBRRR +BFFBFBFLLL +BFBBFFBLRR +BBFFBFFLLL +BFFFFFFLRR +BFFFBFBRLL +FBFFBFBRLL +FBFFBBBRLR +BBFFBFFRLL +FFBBFBBLRR +FBBBBBBLRR +FBBBBFBRRL +BFFFFBBRRL +FFBFFFBLRR +FBBFBFFLLL +BBFFFBBLRL +BBFBFFBLRL +BBFBFBBRLL +FBFFFBBLRR +BFBBFBBLLR +FFFBBBFRLR +FBFBFBBLLL +FBFFFFFLRR +BFBFBFBRRR +FBBFBBBLRL +BBFBBFBRLL +FBBFFBBLRR +BBFFBBBLLR +FBBFFBBLRL +FBFBFFFRRR +BBFFFBBRLR +BFFFFFFRRR +BBFFBBFRRR +FBFFBBFLRL +FFBBFBFLLL +FBFBFFBRRR +BFBBBBFRLL +FBBFBFBLRR +FBFBFFFLRL +FBBFFFFLRR +BFBFBFFRRL +BBFFBFBLRL +FBFFFFBLLL +FFBBFFFLLR +FBBFBBBRRR +FBBBBBBRLR +BBFFFFFRLR +FFBBBFFLLL +FBBBBBFRRR +BFFBFFBLLL +BBFBBBBRLR +FFBBFBBLLR +FBFBFFFLLR +FBBFBFFRLL +FFBBFBBRRL +FBBFBFBRLL +FBBBBFBLRL +FFBBFFBLLR +BBFFBFBRRR +BFBFFFFRRL +BFFBFFFRRR +FBFBBFFLLR +FFFBBFBRLL +FFBBBBFRLL +FBBFBBFLLL +FBBFFBFLRL +FBFFBFBRRR +FFBBBFBLLL +FFBBBFFRRL +FBBFFBFLRR +FFFBFBFRRR +FFBBFBFRLL +BBFFBBBLLL +FBBBFFFRRL +BFBBFBFLLR +BBFBFFBRRR +FFBBBFBLRL +FFBFBBBRLL +FBFBFBBRLL +FFBFFFBLRL +BBFBFFFLLR +FBFFBFFLLL +FFBBBFFRRR +FBBFBFFLLR +BBFBFFBRRL +BBFBBBBRRR +FFBFFBFRRR +BFBFBFFLLL +BBFBFBFRLL +BBFBFBBLRL +BFBBFBBRLR +FBFFBBBRLL +FBBBBFFLRR +FFFBBBFLLR +BBFFFFBLRR +BBFFFFFRRL +FBFFBFFLRR +BFFFFFFLLL +FFFBBBBRRR +BFFFBFFRLL +FFBFBFFRLL +FFFBBBBLLL +FFBFFBBRRL +FFBFBBFRRR +BFBFBFBLRL +FBFFFFFRLR +BBFBFBFRRL +FFFBFBFRLL +BBBFFBBLLR +FFBFBBFRRL +BBBFFFFRRR +BBFBBFFRRL +FBBFBBBRLL +FFFBFBBRLL +FFBBBBBLRL +FFBBBFFLLR +BFBFFBBLLL +BFFBBFBLLR +BBFBBBFLRR +BBBFFBFLLR +FBBFFBFRRL +BBFFFBFLRL +FFBFBBFLRR +BFBBBFFLRL +BFFBFFFRRL +BBFBBFBLLR +BBFBFBBLLL +BFFBBFFRLR +FBBFFFFRRL +FBFBFBFLRR +BFFBFBBRRL +FFFBBFFRLL +FFBBBFBRLR +FFBBBBBRLL +BBFBFBFRRR +FBBFBBFRLL +BBBFFFBRLL +BFFBBBFRLR +BBFBBFFLLL +FBFFBBFLLL +BFFBBBBRLL +BBBFFFBLLR +BFBFFFFLRR +FBBFBBFLLR +FBBBFFBRLR +FBFBBFBRLL +FBFBFBFLLL +FBFBBBFRLR +BBBFFFFRLL +FBFFBBFLRR +FBBBFBBRLR +FFBBBFFRLR +BBFFBFBLRR +FFFBBBBRRL +BFBFFFBRRL +BFBFBFBLLR +FFBBBFBRRL +FBFBBBBRLL +BBFFBFBLLR +FFBFFFFLLR +FBBFBBBRRL +FBFBBBBLLL +BFBFFBFLRR +FFBFFFBRRR +FFFBBFFRRR +BBBFFBBLRR +FBFFBFFRRL +BFFFBFBRLR +BFFBBFFLRR +FBBBBFFRLR +BFBBFFFLRL +FBFFFBFLRR +FFBBFBFRLR +FBBBFBFLRR +BBBFFFBLLL +BBBFFBBLLL +FBBBFFFRRR +BBFFFFFLLL +FBBBBBFLLL +FFFBBFFRRL +FFFBFBBLRR +FBBBBFFLLR +BFBFFFBLRR +FBBBFBBLRL +BFBBBFFRRR +BFBFFBBRRR +BFFFFBFLRL +BFBBBBFLRR +BFFFFFFRRL +BBFBBFFRRR +FFBFBFFRLR +BBFBBFFLLR +BFBFBFFRLR +FFFBFBFRRL +FFBFFBBLLR +FBFBBFBLLR +BFBFBFBRRL +FFBBFBFRRR +FFBFBFBRRL +FBBFBBBLRR +FBBFFBBRLR +BFFFFBFLLL +BFBFFBBLRR +BBFFFBFRRL +BBFBBFFRLR +BFBBFFFRLR +FBFFFFFLLL +BBFFFFBRRL +BFBFBFFLRL +BBFFBBFRLL +BFFBFBFLRL +FBFBBBFLLR +FBBFBFBRRL +FFFBBBBRLR +BFBFFFBLRL +BFFFFFBRRR +BBFBFBBLRR +BFFFFFBRRL +BBBFFFFRRL +BFFBBBFRRL +FBFFBFBLLL +FBBBFFFLLL +FFBBBBFLRR +FFBFFBFLLR +BFBFBFFRRR +FBFBBFBLLL +BFFBBFBLRL +BFFBBBFLRR +FFBFBFFLLL +BFFFBFFRRR +FBFFFFFLLR +BBFBBFFLRR +FFBFFFBRLR +BFBFFFBRLL +BFFBFBFRLL +FFBBFFFRLL +FBFFFBBRRL +BFFFBBBRRR +FBFBBBBRRL +FBBFFFFLLL +FBBBFFBLRL +FBFFBFFRLL +FFFBBFFRLR +BFBFBBFRRR +BFBBFFFRRR +FFBBBFFLRL +BBFFFFFLRL +FFBFBBBLRR +BFFFFFBRLR +FBBFFBBRLL +FBFBBFFRLR +FFBBBFBLRR +FBBFBFBLRL +FBBFFBBRRR +FFFBBFBLRR +BFBFBBFLLR +BBBFFBBLRL +BFFFBBBLLL +BBFFFFFRRR +FFBBBBFRRR +FBFBFBFRRR +FFBFBFFRRR +FFBBFFBRRR +BFBFBFFRLL +BFBFFBFRRR +BBFFFBFRRR +BFFFFBBLLR +FFBBFBBLLL +FBFBBBBRLR +FBFBBFBLRR +BFBFBBFRLR +FBBBFBBRRL +FBFBFFFLLL +FFBBFBBRLL +BBFBBBBLRR +FBBFFBBRRL +BFBBBFBLLR +FFFBBFFLLR +FBBBBBFRRL +BFBBFFFLLL +BBFBBBBLLL +BFBFBBBRLR +BFFBBBFLLL +BFBBFBFRRL +BBFBFFFRRL +FFBBBFBLLR +FBFBBFBLRL +BBBFFFBRRL +BBFBFFBLLL +BBFBFFFLRR +FFBFBFBLLR +BFBFFFFLRL +BFBBBBBRRL +BBFFFBBRRR +BBFFBBFLLR +FBFFBBBLLL +BFFFFFFLRL +FBFBFBBRLR +FBBBFFFLRR +BBBFFFFRLR +FFBBFFBRLR +BBFBFFFRLL +BBFBFBFLLR +BFFFFBFLLR +FBFBFFFRRL +BFFFFBBLLL +FFFBBFFLLL +BFFFFBFRRR +FBBBFBFRLR +FBBBFBBLLL +BFFFFBBLRL +FBFFBFBRRL +BBFBBBBLLR +BFBBBFBLRL +FBFBBFFLRL +BFBFBBBLLR +FFBBFBFLLR +FFBFFFBRLL +BFFBFFBLRR +BFFBFFFLLL +BFFBBFFLLR +BBFFBBBRLR +BFFBBFBLLL +FBFBBFBRRL +FBFFFBBRLR +BFFBBBFRRR +FFBFFBBLRL +FBFBBFBRRR +BBFFBBBRRL +FBFBBBFRRL +BBFBBFBRRR +BBBFFFFLLL +BFBFBBFLRR +FBFFBBBRRR +BFBBFBFRLR +BBFBBFFLRL +BBFFBBBRLL