diff --git a/data/advent2020/input1.txt b/data/advent2020/input1.txt new file mode 100644 index 00000000..298e9fe0 --- /dev/null +++ b/data/advent2020/input1.txt @@ -0,0 +1,200 @@ +1977 +1515 +1857 +1800 +1737 +1778 +1505 +1958 +1982 +1941 +1417 +1232 +1234 +2005 +1637 +1956 +1252 +1457 +1494 +1317 +1388 +1630 +1207 +1536 +1225 +1369 +1343 +1502 +1616 +1744 +1950 +1280 +1647 +1780 +1435 +1915 +1365 +1707 +1795 +1554 +1652 +539 +1892 +1546 +1908 +1629 +1836 +1805 +1395 +1360 +1487 +1739 +1884 +1427 +1615 +1470 +1922 +1753 +1632 +1968 +1429 +2008 +1124 +1441 +1384 +1955 +1815 +1741 +1331 +1442 +1988 +1788 +1585 +1794 +1217 +1434 +1751 +1240 +1284 +1883 +1711 +1376 +1638 +1932 +1979 +1769 +1597 +896 +1691 +1379 +1386 +1658 +2009 +1885 +1721 +1619 +1825 +1688 +1544 +1934 +1484 +1720 +1215 +1371 +1752 +1692 +1745 +1911 +1453 +1723 +1856 +1270 +1397 +812 +1610 +1712 +1829 +1524 +1541 +1338 +1383 +1592 +2006 +1823 +1410 +1422 +1394 +1933 +1572 +1697 +1736 +2003 +1301 +1817 +1902 +1389 +1490 +1705 +1329 +1458 +1510 +1625 +1676 +1443 +1539 +1710 +24 +1586 +1948 +1994 +1975 +1974 +1237 +1419 +1748 +1589 +1821 +1462 +1792 +1381 +1400 +1222 +1602 +2001 +1976 +1700 +1626 +1966 +1548 +1593 +2010 +1149 +1372 +1224 +1675 +1271 +1896 +1983 +1299 +1528 +1631 +1804 +1562 +1754 +1566 +1473 +1980 +465 +1868 +1304 +1279 +1963 +1582 +1713 +1330 +1758 +1551 +1241 +1469 +1888 diff --git a/data/advent2020/input10.txt b/data/advent2020/input10.txt new file mode 100644 index 00000000..96895a7f --- /dev/null +++ b/data/advent2020/input10.txt @@ -0,0 +1,97 @@ +77 +10 +143 +46 +79 +97 +54 +116 +60 +91 +80 +132 +20 +154 +53 +14 +103 +31 +65 +110 +43 +38 +47 +120 +112 +87 +24 +95 +33 +104 +73 +22 +66 +137 +21 +109 +118 +63 +55 +124 +146 +148 +84 +86 +147 +125 +23 +85 +117 +71 +48 +136 +151 +130 +83 +56 +140 +9 +49 +113 +131 +133 +74 +37 +127 +34 +32 +106 +1 +78 +11 +72 +40 +96 +17 +64 +92 +102 +123 +126 +90 +105 +57 +99 +27 +70 +98 +111 +30 +50 +67 +2 +155 +5 +119 +8 +39 diff --git a/data/advent2020/input11.txt b/data/advent2020/input11.txt new file mode 100644 index 00000000..cd047953 --- /dev/null +++ b/data/advent2020/input11.txt @@ -0,0 +1,97 @@ +LLLLLLLLLLLLLL...LLL.LLLLLLLLL.LLLLLLLLLLLLLLLLLLL.LLLLLLLL.LLL.LLLLLLLLLLLLLLLLLLL.LLLLLLLLLLLLLL +LLLLLL.LLLLLLLL.L.LL.LLLLLLLLLLLLLLLLLLLLLLLLLLLLL..LLLLLLLLL.LLLLLLL.LLLLLLL.LLLLL.LLLLLLLLLLL.LL +LLLLLL.LLLLLLLL.L.LL.LLLLLLLLLLLL.L.L.LL.LLLLLLLLL.LLLLLL.L.LLLL.LLLL.LLLLLLLLLLLLL.LLLLLLLLLLLLLL +L.LLLL.LLLLLLLL.LLLL.LLLLLL.LLLLLLLLL.LLLLLL.LLLLL.LLLLLLLLLLLLLLLLLLLLLL.LLL.LLLLL.LL.LLLLLLLLLLL +LLL.LL.LLLLLLLLLLLLL..LLLL.LLLLLLLL.L.LLL.LL.LLLLL.LLLLLLLL.LLLLLLLLL.LLLLLLLLLLLLL.LLLLLLLLLLLLLL +L.....LLLLL.LL.L.L..L..L.L..LL...LLLLL.L...L..LLL.L.L..L...LLL.LL.L..LL...L......L.L.L.L.LLLLL.... +LLLLLL.LLLLLLLLLLLLL.LLLLLLLLL.LLLLLL.LLLLL.LLLL.LLLLLLLLLL.LL..L.LLL.LLLLLLLLLLLLL.LLLLLLLLLLLLLL +LLLLLL.LLLLLL.L.LLLL.LLLLLLLLL.LLLLLL.LLLLLLLLLLLLLLLLLLLLL.LLLLLLLLL.LLLLLLL.LLLLL.L.L.LLLLLLLLLL +LLLLLL.LLLLLLLLLLLLLLLLLLLLLLLLLLLLLL.LLLLLL.LLLLL.LLLLLLLLLLLLLLLLLLLLLLLLLL.LLLLL.LLLLLLLLLL.LLL +LLLLLL.LLLLLLLLLLLLL.LLLLLLLLL.LLLL.L.LLLLLL.LLLLLLLLLLLLLL.LLLLLLLLL.LLLLLLL.LLLLL.LLLLLLLLLLLLLL +.L.L...L.LL....L.......L...LLL.LL....L.LL.LLL...L........L..L.....L........L.LLL..L..LL.LL........ +LLLLLL.LLLLLLLL.LLLL.LLLLLLLL...LLLLL.LLLLLL.LLLLL..LLLLLLLL.LLLLLLLL.L.LLLLL.LLLLL.LLLLLLLLLLLL.L +LLLLLL.LLL.LLLLLLLLL.LLLLLLLLLLLLLLLL.LLLLLL.LLLLL.LLLLLLLLLLLLLLLLLL.LLLLLLL.LLLLL.LLLLLLL.LLLLLL +LLLLLL.LLLLLLLLLLLLLLLLL.LLLLL.LLLLLL.LLLLLL.LLLL..LLLLLLLL.LLLLLLLLL.LLLLLLL.LLLLL.LLLLLLLLLLLLLL +LLLLLL.LLLLLLLL.L.LLLLLLLLLLLL.LLLLLLLLLLLLL.LLLLL.LLLLLLLLLL.LLLLLLL.LLLLLLL.LLLLL.LLLLLLLLLL.LLL +LL.LLL..LLLLLLLLLL.L.LLLLLLLLL.LLLL.L.LLLLLL.LLLLL..LLLLLLLLLLLLLLLLL.LLLLLLL.L.LLL.LLLLLLLLLLLLLL +LLLLLL.LLLLLLLL.LLLL.LLLLLLLLLLLLLLLL.LLLLLLLLLLLLLLLL.LLLLLLL..LLL.L.LLLLLLLLLLLLL.LLLLLLLLLLLLLL +LLLLL.LLLLLLLLLLLLLLLLLLLLLLLL.LLLLLLLLLLLLLLLLLLL.LLLLLLLL.LLLLLLLL.LLLLLLLL.LLLLL.LLLLLLLLLLLLLL +.L.........LL.LL..L..LLLL...L.........L.LLL..L....L....LLL.....L..L.L..L........LL..LL..L.....L... +L.LLLL.LLLLLLLL.LLL..LLLLLLLLLLL.LLL..LLLLLL.LLLLL.LLLLLLLL.L..LLLLLL.LLLLLLLLL.LLL.LLLLLLLLLLLLLL +LLLLLLLLLLLLLLL.LLLL.LLLLLLLLLLLLLLLLLLLLLLL.LLLLL.LLLLLLLL.LLLLLLLLLLLLLLLLLLLLLLL.LLLLLLLLLLLLL. +LLLLLLLLL.LLLLL..LLLLLLLLLLLLLLLLLLLL.LLLLLL.LLLLL.LLLLLLLL.LLLLLLLLLLLLLLLLL.LLLLL.LLLL.LLLLLLLLL +LLLLLL.LLLLLLLLLLLLLLLLLLLLLLL.LLLLLL.LLLLLL.LLLLL.LLLLLLLL.LLL.LLLLL.LLLLLLL.LLLLLLLLL.LLLLLLLLLL +LLLLLL.LLLLLLLLLLLLLLLLLLLLLLL.LLLLLLLLLLLLL.LLLLL.LLLLLLLLLL.LLLLLLL.LLLLLLL.LLLLL.LLLLLLLLLLLLLL +LLL.LL.LLLLLLLL.LLL.LLLLLLLLLLLLLLLLLLLLLLLL.LLL.L.LLLLL.LL.LLLLLLLLL.LLLLLLLLLLLLL.LLLLLLLLLLLLLL +.....L....L.L...LL...LL..L.LL.....L............LL...LL..LL.L.L......LL........L.L..L....L....L..L. +L.LLLLLLLLLLLLLLLLLLLLLLLLLLLL.LLLLLL.LLLLLLLLLLLL.LLLLLLLL.LLLLLLL.L.LLLLLLL.LLLLL.LLLLLLLLLLLLLL +LLLLLLLLLLLLLLL.LLLL.LLLLLLLLL.LLLLLLLLLLLLL.LLLLL.LLLLLLLL..LLLLLLLLLLLLLLLL.LLLLL.LLLLLLLLLLLLLL +LLLLLL.LLLLLLLL.LLLL.LLLLLLLLL.LLLLLL.LLLLLLLLLLLL.LLLLLLLL.LLLLLLLLL.LLLLLLLLLLLLL.L.LLLLLLLLLLLL +L.LLLL..LLLLLLLLLLLLLLLLLLLLLL.LLLLLL.LLLLLLLLLLLLLLLLLLLLL.LLLLLLLLL.LLLLLLL.LLLLL.LLLLLLLLLLLLLL +LLLLLLL..LLLLLL.LLLLLLLLLLLLLLLLLLLLL.LLLLLLLLL.LL.LLLLLLLL.LLLLLLLL.LLLLLLLLLL.LLL.LLLLLLLLLLLLLL +LLLLLL.LLLLL.LLLLLLL.LLLLLLLLL.LLLLLL.LLLLLLLLLLLL.LLLLLLLL.LLLLLLLLL.LLLLLLL.LLLLL.LLLLLLLL.LLLLL +LLLLLLLL.LLLLLL.LLLL.LLLL.LLLL.LLLLL.LLLLLLLLLLLLL.LLLLLLLL.LLLLLLLLL.LLLLL.L.LLLLL.LLLLLLL.LLLLLL +LLLLL..LLLLLLLLLLLLLLLLLLLLL.L.LLLLLL.LLL.LL.LLLLL.LLLLLLLLLLLLLLLLLL.LLLLLLLLLLLLL.LLLLLLLLLLLLLL +L..L.L.L.L........L...L.L..LL....L.....L.L......L..L........LL........L......LL.LLL.L..LL...LL...L +LLLLLL.LLLLLLLL.LLLL.LLLL.LLLL.LLLLLLLLL.LLLLLLLLL.LLLLL.LL.LLLLLLLLL.LLLLLLLLLLLLLLLLLLLLLLLLLLLL +LL.L.LLLLLLLLLL.LLLL.LLL.LLLLLLLLLLLL.LLLLLL.LLLLL..LLLLLLL.LLLLLLLLL.LLL.LLL.LLLLLLLLLLLLLLLLLLL. +LLLLLL.LLLLLLLL.LLLLLLLLLLLLLL.LLLLLL.LLLLLL.LLLLL.LLLLLLLL.LLLLL.LLL.LLLLLLL.LLLLL.LLLLLLLLLLLLLL +LLLLLL.LLLLLLLL.LLLLLLLLLLLLLL.LLLLLLLL.LLLLLLLLLLLLLLLL.LL.LLLLLLLLLLLLLLLLL.LLLLLLLLLLLLLLLLLLLL +LLLLLL.LLLLLLLL.LLLL.LLLLLLLLL.LLLLLLLLLLLLL.LL.LL.LLLLLLLL.LLLLLLLLL.LLLLLLL.LLLLL.LLLLLLLLLLLLLL +LLLLLLLLLLLLLLLLLLLL.LLLLLLLLL.LLLLLL.LLLLLL.LLLLL.LLLLLLLLLLLLLLLLLLLLLLLL.LLLLLLLLLLLLLLLLLLLLLL +LLLLLL.LLLLLLLL.LLLL.LLLLLLLLL.LLLLLLLLLLLLL.LLLLL.LLLLLLLL.LLLLLLLLL.LLLLLLLLLLLLL.LLLLLLLLLLLLLL +...LL.LL.L..LL..L.LLL........L...L.......L...L..L.LL.L.......L....L...L.....LLL.L..L.L..L.L..L.... +LLLLLL.LLLLLLLL.LLLL.LLLLLLLLLLLLLLLLLLLLLLL.LLLLL.LLLLLL.L.LLLLLLLL..LLLLLLL.LLLLL.LLLLL.LLLLLLLL +LLLLLL.LLLLLLLLLLLLL.LLLLLLLLL.L.LLLL.LLLLLL.L.LLLLLLLLLLLLLLLLLLLL.L.LLLLL.L.LLLLLLLLL.LLLLLLLLLL +L..LLL.LLLLLLLLLLLLL.LLLLLLLLL.LLLLLL.LLLLLL.LLLLL.LLLLLLLL.LLL.LLLLL.LLLLLLLLLLLLLLLLLLLLL.LLLLLL +LLLLLL.LLLLLLLLLLLLL.LLLLLLLLL.LLLLLL.LLLLLL.LLLLL.LLLLLLLL.LLLLLLLLL.LLLLLLLLLLLLLLLLLLLLLLLLLLLL +LLLLLL.LLLLLLLL.LLLL.LLLLLLLLL.LLLLLL..LLLLL.LLLLL.LLLLLLLLLLLLLLLLLL.LLLLLLL.LLLLLLLLLLLLLLLLLLLL +.LLLLL.LLLLLLLL.LLLL.LLLLLLLLLLLLLLLLL.LLLLL.LLLLL.LLLLLLLLLLLLLLLLLL.LLLLLLL.LLLLL.LLLLLLLLLLLLLL +L.LLLL.LLLLLLLL.LLLL.LLLLLLL.L.LLLLL..LLLLLL.LLLLL.LLLLLLLLLL.LLLLLLL.LL.LL.L.LLLLL.LLLLLLLLLLLLLL +LL.L...L.........L..L...LLL......L......L...L..L.L..LL..L.LLL.LL..L.LL..L.L.LL.L.L..LL..........L. +LLLLLLLLLLLLLLL.LLLLLLLLLLLLLL.LLLLLL.LLLLLL.LLLLL.LLLLLLLL.LLLLLL.LLLLLLLLLL.LLLLL.LLLLLLLLLLLLLL +LL.LLL..LLLLLLLLLLLL..LLLLLLLL.LLLLLL.L.LLLL.LLLLLLLLLLLLLL.L.LLLLLLL.LLLLLLL.LLLLLLLLLLLLLLLLLLLL +LLLLLL.LLLLLLLL.LLLL.LLLLLLLLL.LL.LLL.LLLLLL.LLLLL.L.LLLLLL.LLLLLLLLLLLLLL.LLLLLLLL.LLLLLLLLLLLLLL +LLLLL...LLLLLLLLLLLLLLLLLLLLLL.LL.LLL.LLLLLL.LLLLL.LLLLLLLLLLLLLLLLLLLLLLLLLLLLL.LL.LLLLL.LLLLLLLL +LLLLLLLLLLLLLLL..LLL.LLLLLLLLL.LLLLLL.LLLLLLLLLLL..LLLLLLLL.LLLLLLLLL.LLLLLLL.LLLLL.LLLLLLLLLLLLLL +LLLLLLLLLLLLLL.LL.LLLLLLLLLLLL.LLLLLL.LLLLL..LLLLL.LLLLLLLL.L.LLLLL.L.LLLLLLL.LLLL..LLLLLLLLLLLLLL +LLLLLL.LL.LL.LL.LLLL.LLLLLLLLL.LLL.LL.LLL.LL.LLLLL.LLLLLLLL.LLLLLLLLL.LLLLLLL.LLLLL.LLLLLLLLLLLLLL +L.LLLL.L.LLLLLL.LLLLLLLLLLLLLL.L.LLLL.LLLLLL.LLLLL.LLLLLLLL.LLLLLLLLL.LLL.LL..LLLLL.LLLLLLLLLLLL.L +..L.....LLLL..L..L......LL.L.......L..LLL..L..L..LL.LLL....L..L.L..L...L.LL..L...L.L.......L...... +LLLLLL.LLLLLLLL..L.LLLLLLLLLLLLLLLLLL.LLLLLL.LLLLL.LLLLLLLL.LL.LLLLLL.LLLLLLL.LL.LL.LLLLLLLLLLLLLL +LLLLLL.LLLLLLLLLLLLL.LLL.LLLLL.LLLLLLLLLLLLL.LLLLLLLLLLLLLL.LLLLLLLLLLLLLLLLL.LLLLLLLLLLLLLLLLLLLL +LLLLLL.LLLLLLLL.LLLL.LLLLLLL.L.LLLL.LL.LLLLL.LLLL..LLLLLLLL.LLLLLLLLL.LLLLLLL.L.LLL.LLLLLLLLLLLLLL +LLLLLLLLLLLLLLL.LLLLLLLLLLLLLL.LLLLLL.LLLLLL.LLLLL.LLLLLLLLLLLLLLLLLL.LLLLLL..LLLLL.LLL.LLLLLL.L.L +LLL.LLLLLLLLLLL.LLLLLLLLLLLLLL.LLLLLL.LLLLLLL.LLLL.LLLLLLLL.LLL.LL.LL.LLLLLLL.LLLLL.LLLLLLLLLLLLLL +LLLLL..LLLLLLLL.LL.LLLLLLLLLLL.LLLLLL.LLLLLL.L.LLL.LLLLLLLLLLLLLLLLLL.LLLLLLLLLLLLL.LLLLLLLLLLLLLL +L..L...L.L.L....L....L.LLLL.L.....L..LL...L...L..LLL.L......LL...L..LLL..L.L..L....L.L.L...L..LL.L +LLLLLLLLLLLLLLL.LLLLLLLLLLLLL.LLLLLLLLLLLLLL..LLLL.LL.LLLLL.LLLLLLLL.LLLLLLLL.LLLLLLLLLLLLLLLLL.LL +LLLLLLLLLLLLLLL.LLLL.LLL.LLL.LLLLLLLLLLLLLLL.LLLLL.LLL.LLLL.LLLLLLLLL.LLLLLLL.LLLLL.LLLLLLLLLL.L.L +LLLLLL.LLL.LLLLL.LLL.L.LLLLLLL.LLLLLL.LLLLLL.LLLLL.LLLLLLLLLL.LL.LLL..LLLLLLL.LLLLL.LLLLL.LLLLLLLL +LLLLLL.LLLLLLLLLLLLL.LLLL.L.L..LLLLLLLLLLLLL.LLLLL.LLLLLLLLL.LLLLLLLL.LLLLLLL.LLLLL.LLLLLLLLLLLLLL +LLLLLLLLLLLLLLL.LLLL.LLLLLLLLL.LLLLLL.LLL.LLLLLL.LLLLLLLLLL.LL.LLLLLL.LL.LLLL.LLLLL.LLLLLLLL.LLL.L +.LLL.LLLLLLLL.L.LLLLLLLLLLLLLL.LLLLLL.LLLLLL.LLLLLLLLLLLLLL.LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL +LLLLLL.LLLLLLLLLLLLL.LLLLLLLLL.LLLLLLLLLLLLL.LLLLL.LLLLLLLLLL.LLLLLLL..LLLLLL.LLLL.LLLLLLLLLLLLLLL +LL.LLL.L.LL.LLLL.....L...LL..L....LL.LLL.....L..L..L..L.............L.L.....L......LLL.L.....L.LL. +LLLLLL.LLLLLLLL.LLLLLLLLLLLLLLLLLLLLL.LLLLLL.LLLLL.LLLLLLLLLLLLLLLLLL.LLLLLLL.LLLLLLLLLLLLLL.LLLLL +LLLLLL.L.LLLLLL.LLLL.LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL.LLLL.LLLLLLLLLLLLLLL +LLLLLL.L.LLLLLL.LLLL.L.LLLLLLL.LLLLLLLLLLLLL.LLLLL.LLLLLLLL.LLLLLLLLL.LLLLLLL.LL.LLLLLLLLLLLLLLLLL +LLL.LLLLLLLL.LL.LLLL.LLLLLLLLL.LLLLLLLL..LLL.LLLLL.LLL.LLLL.LLLLLLLLL.LLLLLLL.LLLLL.LLLLLLLLLLLLLL +LLLLLLLLLLLLLLL.LLLLLLL.LLLLLL..LLLLLLLLLLLL.LLLLLLLLLLLLLL.LLL..LLLL.LLLLLLL.LLLLLLLLLLLLLLLLLLLL +.L....L...L.....LL.L..LL.L.L..LLL..L...L......LL..L..L.LL..L..LLLL..L...LLL.L.LLL.L.L...LL..L.L... +LLLLLL..LLLLLLLL.L.LLLLLLL.LLL..LLLLL.LLLLLL.LLLLLLLLLLLLLLLLLLLLLLLL.LLLLLL.LLLLLL.LLLLLLLLLL.LLL +LLLLLL.LLLLLLLL.LLLL.LLLLLLLLL.LLLLLL.LLLLLL.LLLLL.LLLLLLLL.LLLLLLLLL.LLLLLLL.LLLLL.LLLLLLLLLLLLLL +LLLLLL.LLLLLLLL.LLLL.LLLLLLLLLLLLLLLL.LL.L.LLLLLLL.LLLLLLLLLLLLLLLLLLL.LLLLLLLLLLLL.LLLLLLLLLLLLLL +LLLLLL.LLLLLLLL.LLLLLLLLLLLLLL.LLLLLL.LLLLLL.LL...LLL.LLLLL.LLLLLLLLLLLLLLLLL.LLLLL.LLLLLLLLLLLLL. +LLLL.L.LLLLLLLLLLL.L.LLLLL..LL.LLL.LL.LL.LLL.LLLLLLLLLLLLLLLLLLLLLLLL.LLLLLLL.LLLLL.LLLLLLLLLLLLLL +LLLLLL.LLLLLLLL.LLLL.LLLLLLLLL.LLLLLLLLLL.LL.LLLLL.LLLLLLLL.LLLLLLLLLLLL..LLL.LLLLL.LLLLLLLLLLL.LL +L.L.L.L.LL...L....L.L.L...L.L.....L....LL..L.L....LL..LL..L.......................L.L...L..L..L... +LLLLLL.LLLLLLLL.LLLLLLLLLLLL.L.LLLLLLLLLLLLL.L.LLLLLLLLLLLLLLLLLLLLLL.LLLLLL.LLLLLLLLLLLLLLLLLLLLL +LLLLLL.LL.LLLLL.LLL.LLL.LLLLL..LLL.LL.LLLLLL.LLLL..LLLLLL.L.LLLLLLLLLLLLLLLLL.LLLLL.LLLLLLLLLLLLLL +.LLLLL.LLLLLLLL.L.LL.LLLLL.LL.LLLLLLL.LLLLLLLLLLLL.LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL.LLL +LLLLLLLLLLLLLLLLLLLLLLLLLLLLLL.LLLLLL.LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL.LLLLLL.LLLLLLLLLLLLLL +LLLLLLLLLLLLLLLLLLLL..LLLLL.LL.LLLLLL..LLLLL.LLLL.LLLLLLL.L.LLLLLLLLL.LLLLLLLLLLLLL..LLLLLLLLLLLLL +LLLLLLLLLLLLL.LLLLLL..LLLLLLLL.LLLLLL.LLLLLL.LLLLL.LLLLLLLLLLLLLLLLL.LLLLLLL.LLLLLL.LL.LLLLLL.LLLL +LLLLLL.LLLLLLLL.LLLLLLLLLLLLLLLLLLLLL.LLLLLL.LLLLLLLLLLLLLLLLLLLLLLLL.LLLLLLL.LLLLL.LLLLLLLLLLLLLL +LLLLLL.LLLLLLLL.LLLL.LLLLLLLLLLLLLLLL.LLLLLLLLLLLL..LLLLLLL.LLLLLLLLL.LLLLLLLLLLLLL.LLLLLLLLLLLLLL +LLLLLL.LLLLLLLL.LLLLLLLLL.LLLL.LLLLLLLLLLLLL.LLLLLLLLLLL..L.LLLLLLLLL.LLLL.LL.L..LL.LLLLLLLLLLLLLL diff --git a/data/advent2020/input12.txt b/data/advent2020/input12.txt new file mode 100644 index 00000000..d5c48a44 --- /dev/null +++ b/data/advent2020/input12.txt @@ -0,0 +1,773 @@ +W5 +F63 +S1 +L90 +F89 +W4 +F45 +W4 +F71 +R90 +S4 +F16 +E5 +R90 +S5 +F94 +S4 +W5 +F66 +N3 +W1 +R90 +F13 +R180 +W5 +F58 +E2 +R270 +F72 +L90 +S2 +L90 +N3 +W5 +F90 +S2 +F86 +L90 +F72 +N4 +W5 +N1 +W3 +N2 +E1 +S5 +R90 +F11 +W2 +R90 +F58 +S5 +F64 +R180 +E4 +N5 +F53 +R90 +W5 +N3 +F39 +S3 +R180 +N2 +E4 +L90 +W1 +R90 +S1 +R90 +F40 +E1 +F95 +W2 +R90 +S5 +F41 +L270 +N4 +L90 +E3 +S2 +E5 +L180 +F38 +S5 +E3 +L90 +W3 +S4 +L180 +S5 +F33 +W2 +R90 +R90 +F95 +E2 +F96 +R90 +F15 +L90 +N2 +R90 +N1 +F69 +R180 +N5 +L90 +F53 +L180 +W1 +L90 +S1 +L180 +S2 +N4 +N2 +F51 +W1 +F17 +W1 +R180 +W5 +S4 +R180 +F87 +N2 +W3 +F26 +L90 +E4 +N1 +F62 +N5 +R90 +F53 +N4 +R90 +N3 +L180 +W3 +N4 +R90 +S1 +W2 +L90 +W2 +S2 +R90 +W1 +F50 +R180 +F84 +L90 +F12 +R180 +F26 +W5 +N3 +R90 +S1 +F3 +N4 +E3 +R180 +W1 +N5 +W1 +W4 +F89 +L270 +W4 +L180 +N4 +F83 +W2 +F45 +L90 +F79 +W2 +R90 +W1 +N4 +L90 +W1 +N1 +F56 +N5 +W2 +N3 +L90 +W3 +N5 +F49 +F4 +S2 +F93 +N1 +R90 +N3 +W3 +F29 +S1 +N5 +F54 +N5 +R180 +F92 +E1 +L90 +W3 +L270 +E4 +L180 +S5 +E2 +F84 +L180 +N4 +F14 +F60 +N2 +F98 +L270 +F61 +N3 +F39 +E5 +L180 +W4 +N2 +R90 +F71 +S4 +L90 +L90 +S1 +F15 +L90 +E2 +F73 +N4 +F92 +S5 +W2 +N4 +R90 +S1 +F29 +E4 +S4 +F9 +E4 +F10 +W3 +S1 +F55 +S5 +F88 +F94 +L180 +F99 +N2 +W4 +F87 +E5 +S1 +L180 +S1 +L90 +W3 +N1 +W5 +F50 +W2 +S2 +F61 +N1 +W3 +R90 +F7 +W1 +L90 +E2 +R90 +L90 +W5 +S4 +R90 +S1 +F70 +W3 +F72 +S5 +L90 +E5 +F87 +L90 +F64 +S2 +F35 +L90 +N5 +R90 +N5 +W4 +L90 +F41 +L90 +E4 +N2 +F84 +R90 +F67 +S4 +E3 +F70 +E5 +L90 +F98 +N4 +W2 +L90 +E2 +F31 +N3 +W2 +F80 +S5 +F43 +S1 +E2 +L90 +F61 +E2 +L90 +F56 +L90 +N4 +W5 +L180 +W2 +F19 +N4 +F90 +N4 +W2 +R90 +F27 +S5 +F3 +N2 +R90 +W1 +S1 +F48 +S3 +F61 +R270 +F76 +S4 +L180 +N4 +W1 +F34 +E1 +L90 +F62 +W1 +F37 +S1 +L90 +N5 +F25 +N4 +E1 +L90 +F98 +N4 +E5 +R90 +F19 +R180 +E4 +F74 +E4 +N3 +W1 +F86 +W5 +F85 +E1 +E2 +S2 +F79 +R90 +W5 +S3 +L90 +S2 +F43 +L180 +E4 +F64 +L180 +N1 +W1 +S4 +E3 +L180 +N2 +W4 +R90 +F63 +L90 +S5 +W5 +F27 +L90 +F38 +L90 +W1 +F18 +N5 +S2 +E5 +F54 +E2 +F68 +F40 +S5 +F7 +N3 +E1 +L90 +N2 +W3 +F22 +L90 +W3 +R90 +E2 +R180 +N1 +L90 +F36 +E5 +L90 +E4 +N5 +F62 +R90 +E4 +R180 +F70 +N4 +F56 +L90 +F96 +L90 +N4 +F70 +W3 +L90 +F32 +L90 +W2 +F36 +S1 +F85 +R90 +S3 +R90 +F77 +S2 +W3 +R90 +N2 +W5 +L180 +F25 +R180 +S2 +E1 +L180 +E2 +S1 +F59 +N1 +F57 +R90 +W5 +L90 +S1 +R90 +W1 +R180 +W1 +N2 +W4 +F8 +S2 +F40 +R90 +F43 +S3 +S1 +W2 +F82 +W1 +S4 +L180 +F51 +L180 +N2 +F83 +L90 +E1 +N5 +F11 +W1 +F2 +S3 +L90 +W1 +S2 +F48 +L90 +E5 +L180 +F25 +W2 +F78 +F78 +E1 +S3 +W4 +N4 +L90 +F73 +S4 +F91 +R180 +F21 +N4 +F9 +W1 +N4 +L90 +N4 +L180 +N5 +E5 +L90 +S3 +R90 +W3 +R90 +F65 +E5 +E1 +F10 +L270 +F71 +E2 +F10 +L180 +W4 +S2 +W2 +L90 +F22 +W4 +F41 +N4 +E5 +R90 +N1 +W4 +F34 +R270 +E5 +F77 +L270 +R180 +E5 +N3 +R180 +E4 +R90 +E2 +F25 +F34 +S3 +E4 +N5 +W5 +L90 +L90 +F78 +L90 +S1 +W4 +F32 +E5 +F54 +E2 +F61 +E3 +N4 +F60 +N1 +R90 +F4 +N1 +R90 +E1 +L180 +R90 +F4 +E3 +F4 +L90 +S4 +W1 +L90 +E1 +L90 +S5 +F30 +R90 +F34 +N4 +F95 +R180 +F59 +R90 +F47 +E4 +F48 +L90 +F59 +W1 +S4 +F12 +R90 +F59 +S1 +F53 +N5 +F15 +L90 +F47 +N3 +E2 +F77 +R180 +F59 +W3 +S3 +F40 +E4 +L90 +S5 +F19 +S1 +W5 +N1 +L90 +S2 +E1 +F17 +L90 +E1 +F93 +N5 +F95 +W1 +L90 +F5 +E2 +L270 +N3 +L90 +E4 +W2 +W2 +F30 +W3 +L90 +F87 +R270 +N5 +F51 +R270 +F97 +E4 +S5 +W1 +R90 +W4 +F84 +E5 +R90 +W4 +N1 +R90 +F67 +L90 +W2 +R90 +W1 +S5 +F17 +F83 +E3 +L90 +N1 +W3 +L90 +F50 +E1 +F70 +S5 +F35 +R270 +N4 +W3 +S2 +L90 +S1 +E1 +L90 +S1 +R180 +F32 +W5 +N5 +W3 +R90 +S4 +F51 +R180 +F89 +S4 +L90 +F14 +S4 +L180 +W2 +R90 +F25 +W5 +F44 +W3 +L180 +F27 +W3 +L180 +L180 +F52 +N3 +W1 +N1 +F4 +E2 +R90 +F52 +L90 +F94 +L90 +F13 diff --git a/data/advent2020/input13.txt b/data/advent2020/input13.txt new file mode 100644 index 00000000..8d8af0b4 --- /dev/null +++ b/data/advent2020/input13.txt @@ -0,0 +1,2 @@ +1002394 +13,x,x,41,x,x,x,37,x,x,x,x,x,419,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,19,x,x,x,23,x,x,x,x,x,29,x,421,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,17 diff --git a/data/advent2020/input14.txt b/data/advent2020/input14.txt new file mode 100644 index 00000000..ceb1f494 --- /dev/null +++ b/data/advent2020/input14.txt @@ -0,0 +1,594 @@ +mask = 0010X01001X010000110100000X000010X11 +mem[41717] = 288 +mem[54146] = 1656 +mem[30135] = 4799584 +mask = 01X10101X11X01XX01X000011X1000110110 +mem[29142] = 13227025 +mem[32455] = 1814 +mem[42522] = 385316684 +mem[29904] = 5334 +mem[51087] = 1492 +mask = 01110X1X1XX0100011X0111X11001X1X1001 +mem[16001] = 2818333 +mem[896] = 152318161 +mem[7380] = 1741200 +mem[36363] = 3994854 +mem[51852] = 5003 +mem[31197] = 8946048 +mem[38377] = 699057 +mask = 00XX0X11111001001XX100X1010X00X10X01 +mem[41981] = 8217309 +mem[929] = 5355 +mem[21551] = 1130885 +mask = 111X01X111001X0XX11X110100X1101100XX +mem[38540] = 877233 +mem[4594] = 156077284 +mem[17004] = 12673792 +mem[11717] = 12697488 +mem[58553] = 890949 +mask = 001101X101X1100001X0000X0X100001110X +mem[49613] = 14831731 +mem[18410] = 386265 +mem[11204] = 66992 +mem[7462] = 330749684 +mem[48489] = 186227974 +mem[49880] = 13957 +mem[37574] = 101061 +mask = 0X11010101111000011XX00001X0101111X0 +mem[43270] = 63321063 +mem[8868] = 8357760 +mem[51871] = 7561 +mem[59958] = 76822813 +mem[13346] = 298124646 +mem[28205] = 1479 +mem[20102] = 898175404 +mask = 00X00X11111001001X1X0000011010000101 +mem[39594] = 471 +mem[23863] = 472 +mem[45424] = 881 +mem[5520] = 68851082 +mask = 1111011X1XX01XX01110010X011010X01100 +mem[7932] = 7104 +mem[50570] = 521355116 +mem[33698] = 77366694 +mem[54041] = 1967898 +mem[1940] = 272765 +mem[42608] = 557758 +mem[48653] = 95074 +mask = 01110101011110001100100101X11000XX0X +mem[5032] = 324136 +mem[19968] = 25 +mem[37008] = 370 +mem[51927] = 7820968 +mem[3960] = 273343 +mem[26318] = 9940851 +mask = 11X1011X1X00111XX110X000011X10010001 +mem[49437] = 13322545 +mem[46843] = 690911 +mem[58945] = 13770143 +mem[4847] = 67337 +mem[6128] = 371 +mask = 1100X1X1X10011X01X100011110011110001 +mem[6466] = 926046 +mem[20503] = 8735222 +mem[29727] = 18641 +mem[20030] = 1090613 +mem[54347] = 33354545 +mask = 11XX01X111X011001110X0110101100XX011 +mem[59773] = 1775 +mem[31974] = 722 +mem[15867] = 46611 +mem[37151] = 3019104 +mem[21915] = 96864303 +mem[9222] = 10601111 +mem[20777] = 1235555 +mask = 0111010001111X00110X0X1011X0X1100000 +mem[46581] = 20573 +mem[32355] = 58869216 +mem[45378] = 13272459 +mem[22414] = 322109637 +mem[34083] = 20766732 +mem[63698] = 3924531 +mask = 010101011X100X01011001X10X101X11011X +mem[57710] = 113212 +mem[31202] = 231541678 +mem[51278] = 219614 +mem[63698] = 1042138 +mem[15026] = 7000054 +mem[51217] = 500505 +mask = 0X100001000X0100XX1XX1101101001X1000 +mem[7011] = 521173 +mem[13238] = 157620 +mem[30900] = 19373 +mem[27810] = 163020969 +mem[54982] = 96357825 +mem[22824] = 408599 +mem[12477] = 48103186 +mask = 00000010111XX00XX110X010000000010111 +mem[54146] = 17970 +mem[41376] = 1503 +mem[31900] = 438330985 +mem[13355] = 435056 +mem[64758] = 1052852148 +mem[59142] = 1950135 +mem[6781] = 13502 +mask = 01X10X0111110X00X0XX010100X10X1X0101 +mem[51107] = 13121312 +mem[20134] = 243 +mem[56802] = 24720 +mask = 1111010111101100XX101111000000010X1X +mem[56384] = 729 +mem[32508] = 258811315 +mem[39920] = 252650 +mem[54657] = 119337 +mem[43559] = 1614394 +mem[43973] = 36253 +mask = 00100XXXXX1X10000110110100010001XX01 +mem[33796] = 171340858 +mem[62392] = 2042140 +mem[21146] = 202316 +mem[50189] = 17797984 +mem[59958] = 3871673 +mem[46838] = 7418 +mask = X0100X0X111X11011110X0000001001X1111 +mem[35424] = 14950493 +mem[64240] = 40746 +mem[22319] = 149408 +mem[32929] = 57764 +mem[4571] = 138473 +mem[13202] = 6496022 +mem[59210] = 24648253 +mask = 00XX0001111011111110X1X0111010XX0X10 +mem[31028] = 3706 +mem[64362] = 57739 +mem[22920] = 491669 +mask = 011X0101X111XX000110XX01X110X001110X +mem[22272] = 22414 +mem[59958] = 10131 +mem[9299] = 59050364 +mem[54292] = 185609950 +mem[11363] = 679 +mem[55554] = 127124 +mask = 11110X0110X010101X10010X011010011011 +mem[13140] = 23895 +mem[54725] = 364383 +mem[12768] = 29526 +mem[21134] = 31494 +mem[32345] = 13843 +mem[38437] = 576352606 +mem[35535] = 1948 +mask = X111011111X100X001111111000X111000X0 +mem[34738] = 395933 +mem[33438] = 644 +mem[34480] = 56137 +mem[33415] = 71 +mem[55820] = 40580559 +mem[37978] = 104370 +mem[60594] = 47366315 +mask = 011X0X110110X000100X0X1110X00000XX00 +mem[2065] = 5611 +mem[42368] = 139274892 +mem[11145] = 48456 +mem[11668] = 5352867 +mem[40280] = 864639 +mask = 1XX1X00X11010X10011111XXX1101100111X +mem[39384] = 12733115 +mem[48860] = 24406 +mem[46230] = 13931503 +mask = 00X001100X11100001101100001X1XX10001 +mem[11204] = 11902 +mem[42496] = 95479 +mem[58594] = 120902 +mem[62260] = 43802019 +mem[41882] = 889 +mask = 00X000X011111X0001100000000000X00001 +mem[54549] = 73578351 +mem[15308] = 225676 +mask = 11110X011100100X11111111XX0101100111 +mem[62902] = 115296396 +mem[163] = 47992 +mem[27595] = 1080625 +mask = X01101X1111XX1X0111X0101000000111010 +mem[45311] = 950513 +mem[35853] = 3048594 +mem[25353] = 42914232 +mem[4595] = 165637540 +mem[5173] = 4666 +mem[27595] = 33115384 +mask = 11XX0101X10010000111X111001000X00111 +mem[5313] = 16770 +mem[21570] = 21589452 +mem[45537] = 25984 +mem[7425] = 1016 +mem[57579] = 4400441 +mem[16371] = 27936 +mem[29544] = 699 +mask = 0011010X1X1010X111X10X0001010XX01001 +mem[12546] = 66366447 +mem[4594] = 660822686 +mem[61425] = 3035 +mem[16121] = 27102624 +mem[1316] = 1781 +mem[23623] = 572865256 +mask = 0111X1011XX01X0101100100X110000X001X +mem[23341] = 6402065 +mem[52500] = 1977612 +mask = 00X0001011X1100001101100X01100X00111 +mem[64017] = 31705 +mem[35512] = 1445 +mem[35781] = 5233653 +mem[44050] = 40 +mask = 01110100X11110X0X1000X11111X0X1X000X +mem[12867] = 190010 +mem[36252] = 747672 +mem[23167] = 204357 +mem[27385] = 12016 +mem[47464] = 784707845 +mem[48043] = 627253 +mask = 0111X0X0X100100X1110011X11000X000100 +mem[37676] = 36371 +mem[59916] = 3315 +mem[29136] = 15854324 +mem[37249] = 132828 +mem[53802] = 79432 +mask = X11X1101101X110X0X10X1000011000XXX00 +mem[17461] = 8158 +mem[33712] = 1029431 +mem[1042] = 837675 +mask = 00110X011010100X1101010100010XX11011 +mem[16121] = 853733 +mem[18346] = 5303 +mem[60174] = 506801115 +mem[1817] = 1868 +mem[46166] = 168 +mem[14602] = 1968 +mem[5368] = 109371 +mask = X1110XX111X100X0011X101111001101XX10 +mem[21630] = 8667 +mem[55820] = 200651 +mem[11204] = 34034 +mask = 1111011X10101X001110001X01XX00010101 +mem[62846] = 105848 +mem[43437] = 28568 +mem[16213] = 724626106 +mem[32677] = 149932 +mem[23580] = 573 +mem[22272] = 3393406 +mem[64633] = 4838 +mask = 011001010XX1X10001100X00X0010001X0X0 +mem[23580] = 992 +mem[7692] = 1236 +mem[33389] = 560975 +mem[7177] = 5868 +mask = X1X10101X0101X0011101100111110100101 +mem[99] = 6843772 +mem[30553] = 554826032 +mem[61798] = 5939100 +mem[48169] = 2030 +mask = 00XX000100000X0001110010X11001000101 +mem[25353] = 78809 +mem[10239] = 276125 +mem[11223] = 13545 +mem[57147] = 1433 +mask = 001X010010011010X110101X11011X001010 +mem[49575] = 152755 +mem[26848] = 63016 +mem[30880] = 1725364 +mask = 011101X10XX01X0010X0XX01110000X11100 +mem[41287] = 414662075 +mem[28188] = 3477472 +mem[36592] = 7996235 +mem[49314] = 9140605 +mem[47488] = 7769 +mask = 01110X01X111010001X100101X0X10011100 +mem[52240] = 192560204 +mem[65031] = 701796 +mem[14783] = 8161 +mask = 0111010X011X1X001XX01001X1X00X0100X0 +mem[49691] = 10412561 +mem[915] = 134624030 +mem[8606] = 736 +mem[58998] = 1516 +mem[61106] = 641573 +mask = 01X1X1X111101011011X10100010000X01X1 +mem[21630] = 19000288 +mem[60944] = 213511689 +mem[46464] = 59732 +mem[32695] = 533 +mem[27385] = 25467104 +mem[62812] = 304550708 +mask = 00110X010X1110X0X1111X00111X0001X100 +mem[57194] = 24040 +mem[20550] = 46674 +mem[52168] = 23339025 +mem[35512] = 68290970 +mask = X111011X1010101011101X10000111000X11 +mem[12546] = 102729072 +mem[7304] = 110383 +mem[59523] = 888 +mem[21630] = 71914682 +mem[19910] = 5863216 +mask = 11X0010X1X101110111X01X0000111111001 +mem[4963] = 173772407 +mem[33919] = 81154860 +mem[7928] = 4393 +mem[59961] = 4977369 +mem[22493] = 377398427 +mask = 00X0010X10011X10X1X00001X10001101010 +mem[17461] = 120207 +mem[7618] = 54871412 +mem[3960] = 25088 +mem[4185] = 15852 +mask = X0X00X00011010000100001X001110010101 +mem[17246] = 10825 +mem[61485] = 1220754 +mem[37937] = 63325 +mem[13776] = 44579590 +mem[26933] = 467904 +mask = 01X10X011XX101001001X101X11110100111 +mem[51192] = 227116205 +mem[8996] = 589323 +mem[40539] = 2892 +mem[18976] = 329283 +mem[2942] = 13450 +mem[59167] = 436935 +mask = 0X11010101111000X11010XX011X1X010001 +mem[31621] = 4166 +mem[38132] = 66956 +mem[4178] = 32378 +mem[59276] = 448 +mem[57505] = 202001993 +mem[8239] = 69424389 +mask = 0010X10001101000X1X00000001000001X00 +mem[32804] = 120932430 +mem[60447] = 305 +mem[62385] = 5277 +mem[54940] = 11685990 +mem[48466] = 1956474 +mem[38326] = 14070 +mask = 1111010111X0101X11101000X0011X0000X0 +mem[9957] = 794590 +mem[43663] = 63819868 +mem[59142] = 8388971 +mem[41877] = 413661620 +mask = X011X10X111XXX001111010101XXX0011001 +mem[47] = 18787684 +mem[17443] = 648 +mem[4356] = 656 +mem[65126] = 3205798 +mem[38437] = 1762627 +mem[43834] = 581 +mask = 01110110X10010001100X01010101X0X1001 +mem[38345] = 934 +mem[58528] = 6065840 +mem[33800] = 20485490 +mem[48232] = 16644491 +mask = 001X000X00X001000X11XX10101010X111X0 +mem[22284] = 259142 +mem[28461] = 974 +mem[62938] = 449 +mem[40024] = 598 +mem[22913] = 650 +mem[19996] = 5093 +mask = 0X100X01X1X010XX01X00000010000100001 +mem[29565] = 3981254 +mem[55283] = 82851782 +mem[36252] = 55697822 +mask = 111101X11X101XX01110XX1010X101XX0101 +mem[56566] = 29617152 +mem[10468] = 2660883 +mem[28055] = 1499 +mem[35218] = 185790979 +mem[22128] = 846102 +mem[30117] = 560842 +mem[58299] = 1012387364 +mask = 111X010110X0X010111001X0X00X11011111 +mem[48718] = 3937 +mem[26689] = 501780 +mem[30553] = 657149 +mask = 001001XXX0X110X001100001X1X1111X0010 +mem[1480] = 42916 +mem[27601] = 42064531 +mem[35919] = 6321 +mem[57905] = 2686675 +mask = X1110X1X110010X01X101111010110X0X101 +mem[40159] = 28365 +mem[50570] = 95027 +mem[65427] = 4531 +mem[7468] = 41 +mem[49166] = 3783 +mem[59623] = 258901051 +mask = 1111011X1100100X111X0X0X11011X1001X0 +mem[58839] = 103790 +mem[44410] = 660 +mask = 01X1010X0111100X0110001101XX00X1110X +mem[58804] = 116385 +mem[57709] = 27103 +mem[62492] = 11102 +mem[62031] = 24113 +mem[23580] = 101015510 +mask = 0X110100011110010110111100X11X110X01 +mem[45855] = 345 +mem[33796] = 2069488 +mem[61694] = 409 +mem[42908] = 529 +mem[54356] = 1540 +mem[2931] = 6893 +mem[13629] = 161 +mask = 011X010111111000X11001010XX0100110X1 +mem[48232] = 2748 +mem[46818] = 1360569 +mem[37978] = 59020939 +mem[3596] = 13931 +mask = 011X0101011110X00110110010X11100XX00 +mem[8686] = 3043212 +mem[99] = 1008741 +mem[19665] = 4017 +mem[57438] = 94605425 +mem[55264] = 1505951 +mask = 0010XX11X00X1X000110X0X101X1010000X1 +mem[38124] = 952 +mem[24080] = 109634238 +mem[9221] = 3755102 +mem[6097] = 7229649 +mem[44702] = 6963 +mem[4664] = 75052121 +mem[54208] = 50749 +mask = 001X000100X001000111X0XX101110X0X00X +mem[29210] = 30278 +mem[34588] = 8139931 +mem[4262] = 170 +mem[30822] = 116256036 +mem[35104] = 2105 +mem[53802] = 202809516 +mem[34175] = 11635 +mask = 10110111101X10X01110X0101X1101X1000X +mem[31068] = 8529566 +mem[55554] = 1887440 +mem[43973] = 711 +mem[30117] = 89 +mem[32710] = 6073240 +mask = X11001011100110101X10X0X0X0111010000 +mem[33533] = 67852 +mem[41455] = 2159161 +mem[61283] = 7275538 +mem[26353] = 49998 +mem[37978] = 396 +mem[56038] = 27870483 +mem[48893] = 2558 +mask = 00110X0X10XX1001X101001001010XX10001 +mem[15308] = 3190807 +mem[29791] = 1689321 +mem[23706] = 28489987 +mem[52184] = 13941172 +mask = 0111010111X010X1011011X01110X0X10111 +mem[46818] = 3960 +mem[896] = 8079 +mem[51892] = 10813637 +mem[40539] = 50432 +mem[39200] = 405093301 +mem[59082] = 24044094 +mask = 0X11X00100110X0001111000X10000X01000 +mem[18818] = 115548503 +mem[3709] = 408 +mem[28387] = 1517 +mem[18617] = 82658 +mask = 00100X0001X0100001X010100011X0XX0001 +mem[16645] = 2580 +mem[55034] = 1395 +mem[24779] = 57573 +mask = 010100X11111000010XXXX0X0X1XX0110010 +mem[51498] = 514 +mem[56424] = 27530520 +mem[5657] = 5653 +mem[60013] = 1759 +mem[39685] = 48186 +mask = X0100X0111101XX1111001X101110XXX11X0 +mem[15867] = 15856896 +mem[16645] = 22385 +mem[11204] = 56370 +mask = 0X1X0101X0101000111011110X111010X001 +mem[30186] = 149471 +mem[55297] = 6189241 +mem[56429] = 7551 +mem[35853] = 1943 +mem[50590] = 3973692 +mask = 0111010X011X10XXX100011XX11101X0X011 +mem[41687] = 10091 +mem[27747] = 12073 +mem[41632] = 117 +mem[53319] = 6596158 +mask = 101001011110X1011110001X11111XX01001 +mem[8898] = 350890 +mem[61425] = 11351 +mem[30900] = 62547453 +mem[32345] = 4152907 +mem[53681] = 15100 +mask = 0X10010X1X0110X0011001101001X010XX11 +mem[46274] = 266245793 +mem[51690] = 6210475 +mem[31828] = 50916780 +mem[40159] = 1305075 +mask = X1110X0001XX11001100111111X0100X00X0 +mem[13308] = 2061153 +mem[21134] = 100 +mem[22800] = 43346237 +mem[63215] = 1528 +mem[3115] = 159268 +mem[51760] = 3390 +mask = 011X0101011100000110X1X1X1101X1100X1 +mem[3709] = 1727 +mem[30692] = 4483 +mem[4143] = 22098690 +mem[8978] = 536 +mask = 1X1X01011X10X101X110000X11111010X100 +mem[1983] = 1355679 +mem[18831] = 4847364 +mem[26861] = 6413 +mask = 111XXX10X11010001X10X10X0111100X1X00 +mem[1940] = 622180477 +mem[33455] = 6793 +mem[54070] = 74933929 +mem[1936] = 6134620 +mask = 1X1X010X111011XX1110010100X1X0X01X01 +mem[4347] = 29272422 +mem[26401] = 180116335 +mem[53382] = 684 +mem[29142] = 91826 +mem[30] = 11042 +mem[30490] = 92215 +mask = 11X101111110110011100111X1X11X1001X1 +mem[35424] = 3594 +mem[54399] = 228781216 +mem[33796] = 149514889 +mem[29544] = 697176893 +mem[38146] = 169131 +mem[35144] = 33941748 +mem[39849] = 293 +mask = XX1101XX1X101000111011011110X0100101 +mem[11432] = 76469 +mem[19223] = 5525 +mem[45424] = 201 +mem[3709] = 5622752 +mem[64781] = 8199 +mask = 011001011X1110011111X0X00X1000000101 +mem[54292] = 949 +mem[26880] = 10542 +mem[62098] = 860 +mask = 111X010X111011111X10001X01X100X11001 +mem[22272] = 951175 +mem[20506] = 1133335 +mem[57502] = 177607519 +mask = 01100X0101X1110X01X01101X11XX1X111X0 +mem[30880] = 1070 +mem[25208] = 25110 +mem[29830] = 43106 +mem[44754] = 7361 +mask = 0X1X0101111X100XX11X0100010100X00101 +mem[57107] = 9040 +mem[19968] = 326431400 +mem[30553] = 2988 +mem[1096] = 54078 +mem[5657] = 822343 +mem[24080] = 241413 +mem[54292] = 14129212 +mask = 0X110X010X1XXX00011111X001X010X10000 +mem[43660] = 37456160 +mem[51849] = 1253870 +mask = 111001X0X1X01000111000X00XX00010X000 +mem[11663] = 66023717 +mem[26130] = 503044 +mem[44779] = 44698095 +mem[12702] = 53757 +mem[22414] = 1795507 +mask = 0111X1010111X1X0X1100X010001X0011010 +mem[39200] = 4090252 +mem[31845] = 2782402 +mem[22284] = 429 +mem[29279] = 16254306 +mask = 01010101111X0X000X1011X11XX11X1XX111 +mem[50705] = 1963 +mem[40289] = 71985 +mem[43716] = 411505145 +mem[3338] = 661 +mem[2430] = 2635 diff --git a/data/advent2020/input15.txt b/data/advent2020/input15.txt new file mode 100644 index 00000000..5c1cb85c --- /dev/null +++ b/data/advent2020/input15.txt @@ -0,0 +1 @@ +0,8,15,2,12,1,4 diff --git a/data/advent2020/input16.txt b/data/advent2020/input16.txt new file mode 100644 index 00000000..8e18cad9 --- /dev/null +++ b/data/advent2020/input16.txt @@ -0,0 +1,261 @@ +departure location: 32-209 or 234-963 +departure station: 47-64 or 83-967 +departure platform: 37-609 or 628-970 +departure track: 29-546 or 567-971 +departure date: 50-795 or 816-960 +departure time: 49-736 or 750-962 +arrival location: 48-399 or 420-967 +arrival station: 49-353 or 360-967 +arrival platform: 37-275 or 298-969 +arrival track: 40-119 or 127-954 +class: 35-750 or 760-968 +duration: 43-162 or 186-963 +price: 30-889 or 914-949 +route: 39-266 or 274-950 +row: 45-366 or 389-954 +seat: 42-765 or 772-955 +train: 30-494 or 518-957 +type: 48-822 or 835-973 +wagon: 32-330 or 342-951 +zone: 36-455 or 462-973 + +your ticket: +109,137,131,157,191,103,127,53,107,151,61,59,139,83,101,149,89,193,113,97 + +nearby tickets: +141,889,637,661,351,108,544,424,330,479,662,448,152,584,408,736,714,299,61,864 +692,855,843,361,21,265,678,716,347,531,56,792,492,656,727,848,149,596,887,862 +819,139,202,774,606,242,646,653,298,111,881,937,118,600,423,354,780,249,639,301 +938,258,482,697,640,678,946,349,153,198,707,601,925,601,677,307,925,840,870,177 +119,724,442,993,137,394,85,673,609,862,631,92,545,591,104,451,130,603,94,946 +468,932,879,522,256,688,587,747,154,735,476,661,312,602,315,314,263,55,203,733 +265,630,795,703,244,848,818,195,692,728,216,637,765,195,697,489,188,302,189,662 +97,300,193,203,87,835,835,205,850,584,690,218,699,734,433,862,149,657,686,691 +493,657,652,170,252,188,915,424,57,302,858,484,520,676,441,730,481,656,307,263 +425,776,137,931,633,402,197,83,574,161,732,85,445,726,786,208,535,773,390,248 +765,689,63,389,523,352,203,50,161,817,604,799,441,719,116,196,680,363,782,521 +876,882,389,543,575,257,333,481,493,852,134,939,114,576,705,915,645,584,259,710 +693,600,818,420,434,536,884,868,571,569,235,423,250,712,158,98,860,512,157,136 +201,882,688,918,244,147,678,619,194,237,931,914,649,446,783,107,207,260,518,652 +690,469,660,915,726,866,348,147,147,63,22,646,933,141,441,443,327,859,98,654 +246,882,869,239,914,342,682,705,243,263,629,641,607,776,193,50,997,701,314,887 +818,700,363,103,672,327,433,91,242,882,147,413,490,729,914,870,476,360,127,262 +138,791,317,866,694,849,55,845,660,699,349,894,630,390,638,838,850,573,433,859 +398,765,264,195,275,538,429,677,939,483,943,481,248,786,434,200,126,920,53,764 +570,928,684,793,779,782,531,343,656,609,688,624,113,84,304,641,314,464,662,93 +914,872,984,638,792,636,104,668,636,303,604,306,728,254,655,88,429,923,248,659 +478,243,884,54,632,920,430,539,108,144,496,274,396,855,204,307,53,129,774,256 +320,430,316,88,840,330,847,629,788,261,551,835,325,711,639,109,274,152,199,887 +236,250,820,662,795,638,507,784,431,654,161,694,704,641,489,108,154,300,872,881 +678,140,424,204,101,915,244,687,869,817,445,847,492,95,945,873,704,319,417,429 +646,206,438,256,541,629,348,856,687,311,268,541,704,876,152,63,141,312,711,523 +781,274,662,531,777,342,926,128,474,182,206,483,939,196,776,60,311,653,520,669 +193,525,275,923,305,343,888,858,143,706,144,438,484,487,299,463,761,987,477,935 +327,856,52,586,95,646,300,722,363,667,116,531,491,570,653,102,350,125,539,701 +865,821,685,522,102,449,728,527,471,87,884,839,357,765,642,655,432,141,155,299 +394,767,149,394,263,352,784,437,600,582,788,469,579,138,696,150,158,924,319,917 +129,633,605,207,136,318,301,654,629,200,597,4,921,654,581,926,441,55,444,446 +450,469,472,363,692,869,579,204,643,133,866,581,91,161,334,109,696,427,822,936 +299,195,155,235,64,136,869,791,723,701,771,207,133,489,188,84,489,881,856,88 +52,533,185,859,52,187,90,593,876,64,394,57,821,944,773,328,782,653,726,733 +865,129,240,602,84,735,821,220,730,685,667,391,543,728,146,301,153,605,321,138 +127,236,398,194,731,333,319,203,251,91,917,941,708,777,427,50,240,727,629,390 +750,93,128,470,638,60,156,589,469,864,6,421,103,532,189,363,113,791,390,238 +308,677,932,631,261,698,105,106,578,265,809,330,266,63,725,156,697,837,701,239 +670,263,691,16,467,750,151,188,591,697,718,943,312,539,350,887,777,644,872,117 +663,530,838,779,700,258,643,305,90,421,621,918,630,884,347,275,275,876,632,864 +528,300,917,676,439,567,155,207,839,60,53,544,877,140,298,165,491,947,889,869 +329,424,882,351,733,209,131,244,677,8,776,323,698,642,94,129,247,781,659,50 +239,774,873,532,490,427,879,523,275,142,690,668,115,346,488,261,675,272,569,570 +686,14,641,603,696,595,779,209,781,680,162,463,156,353,203,424,470,477,652,718 +660,855,473,924,850,925,668,836,208,320,275,838,647,861,662,822,8,310,315,481 +578,916,489,591,985,691,601,847,207,885,673,840,711,851,363,429,653,790,475,576 +275,317,441,727,636,671,979,84,670,97,932,591,639,240,598,153,323,657,858,317 +688,135,124,99,850,781,917,107,674,672,102,857,63,160,720,113,445,675,838,604 +125,52,127,656,542,353,764,87,632,114,689,659,155,609,699,677,608,787,760,468 +853,936,585,714,935,606,686,418,128,840,777,323,710,542,493,438,145,237,577,674 +589,88,301,665,200,657,662,887,131,160,209,689,594,61,592,449,253,185,479,846 +940,876,324,880,328,654,452,945,102,841,597,855,235,847,769,330,320,540,657,946 +855,764,90,857,485,330,696,202,101,726,713,845,862,209,977,577,719,484,604,257 +699,255,155,637,630,769,299,727,914,607,944,599,679,648,522,587,314,436,360,480 +660,638,493,306,323,351,928,105,464,470,235,795,264,666,915,92,130,990,599,344 +908,50,604,855,434,923,670,483,491,580,938,644,689,917,570,435,439,479,578,816 +840,864,664,681,855,822,567,764,364,778,787,929,768,645,760,820,469,919,606,189 +97,594,923,567,997,436,629,262,140,101,631,312,437,861,108,449,55,529,56,492 +397,55,730,570,93,538,187,179,660,862,580,879,640,947,708,494,101,697,361,857 +588,619,520,99,420,248,430,608,303,342,394,316,462,254,573,202,884,696,442,238 +645,716,266,637,688,905,198,651,788,591,138,641,451,132,366,934,687,151,186,522 +100,703,686,631,449,589,569,875,308,609,764,205,846,124,571,471,204,880,764,209 +588,608,13,85,199,486,946,727,840,134,102,305,712,156,679,713,941,252,260,156 +428,636,882,881,307,703,352,274,342,334,56,118,455,629,605,487,679,918,866,839 +524,327,946,877,637,52,484,439,471,441,863,465,63,112,580,481,872,976,141,819 +303,521,91,121,728,393,463,574,89,916,427,760,519,856,191,787,920,258,104,664 +321,204,243,529,986,197,94,86,135,660,434,851,466,241,688,878,145,86,570,915 +326,187,720,601,314,315,697,727,694,316,836,737,455,658,628,162,609,422,85,795 +87,61,678,86,311,669,836,693,448,855,69,129,869,92,307,95,594,934,944,701 +148,818,203,781,856,304,490,319,462,914,51,240,474,710,171,141,855,248,609,98 +792,696,708,234,597,774,923,55,688,189,109,127,390,96,105,11,884,102,154,304 +672,309,696,794,432,320,63,437,780,242,937,536,545,654,236,659,934,986,844,863 +698,202,531,365,583,583,135,62,650,924,83,127,436,50,444,334,819,700,577,731 +764,871,765,391,135,856,103,446,726,197,245,334,399,790,440,365,390,680,733,141 +204,353,301,865,310,889,534,767,463,777,850,108,434,353,189,258,529,652,329,353 +465,265,480,149,929,608,578,358,485,207,661,118,244,310,99,845,526,188,690,450 +729,262,879,315,344,93,54,151,529,236,716,675,429,594,709,191,331,822,817,89 +879,586,349,701,528,816,85,254,115,588,364,107,819,129,99,120,391,252,308,153 +734,865,866,686,662,267,533,698,856,462,437,63,846,325,762,525,59,392,129,923 +192,71,146,346,429,352,793,541,936,348,481,53,577,921,915,259,583,481,701,544 +683,605,543,398,840,935,579,658,114,303,309,682,420,932,734,211,673,316,817,598 +304,440,541,196,645,494,255,109,84,881,667,545,527,568,941,461,609,476,138,312 +585,147,56,524,856,947,664,529,850,424,358,533,918,205,145,844,600,51,765,784 +258,660,540,865,143,109,706,351,316,578,251,192,661,768,569,944,724,844,90,153 +483,126,431,727,159,536,157,190,567,783,92,395,782,236,589,946,763,432,150,607 +583,254,569,571,926,196,764,275,153,489,450,132,988,152,329,690,541,206,96,838 +109,432,876,51,98,598,217,243,723,927,656,782,323,310,933,724,939,257,363,947 +594,194,732,245,190,347,775,132,778,479,701,64,711,665,940,796,451,195,791,733 +724,92,544,474,454,92,577,596,449,262,887,54,258,709,432,488,914,553,527,199 +90,434,721,643,242,859,122,535,879,521,866,115,848,423,326,523,54,867,63,366 +720,639,151,311,835,112,679,574,521,531,262,316,607,201,708,684,102,97,183,192 +189,208,242,702,327,628,635,204,190,691,736,132,239,248,272,275,442,666,158,721 +325,239,677,569,62,542,243,162,641,127,451,819,909,469,692,632,878,238,935,154 +428,783,390,865,873,301,923,351,312,453,101,243,792,925,720,835,411,144,676,691 +162,234,479,593,865,929,671,855,239,629,452,666,778,52,237,299,641,519,124,207 +428,718,519,195,99,326,657,699,733,259,705,508,873,675,592,839,713,782,242,840 +662,191,487,794,685,320,949,778,1,480,256,540,448,257,493,934,914,889,888,312 +608,335,274,926,873,127,192,537,257,525,535,141,919,628,716,679,646,940,86,861 +652,420,127,786,669,235,665,446,649,846,260,245,320,9,194,649,599,818,98,682 +151,849,789,443,854,684,348,927,593,859,782,88,839,444,845,552,546,636,131,750 +311,161,144,894,919,639,482,639,442,326,452,427,247,275,524,445,484,250,155,633 +366,327,142,494,430,318,90,159,524,658,925,261,349,413,581,139,482,705,736,701 +940,723,589,421,247,747,161,136,389,197,59,422,304,430,396,399,576,857,764,342 +472,390,601,609,96,714,785,432,568,259,469,87,567,654,249,894,580,205,470,428 +483,864,679,542,546,94,86,529,822,439,352,573,718,487,468,412,64,733,944,396 +321,871,886,594,651,391,195,540,887,585,789,93,979,137,781,602,857,437,256,266 +653,677,92,451,259,574,598,327,795,945,757,262,425,693,199,714,642,640,479,691 +876,805,521,397,645,107,792,541,455,343,155,708,683,98,601,585,425,95,528,304 +54,475,941,107,518,446,722,92,633,90,672,469,567,774,725,200,312,192,319,269 +131,708,724,523,889,251,159,784,850,114,839,451,627,644,725,641,847,690,630,816 +190,748,307,649,151,113,119,470,670,426,597,318,445,112,733,716,928,704,527,480 +595,426,54,188,667,524,729,596,722,861,735,673,334,527,697,888,777,153,727,389 +104,318,877,931,420,245,857,122,52,761,107,365,608,709,300,148,209,274,603,317 +439,880,103,317,208,926,635,720,859,345,857,299,520,795,666,113,784,231,939,722 +695,197,538,108,525,860,713,425,840,923,12,597,935,653,161,146,245,156,924,851 +208,662,491,61,643,568,535,188,885,154,366,452,451,677,260,116,437,54,918,0 +110,729,530,97,472,453,261,464,260,136,529,736,476,248,793,484,907,155,705,199 +665,116,602,685,249,940,151,881,139,349,585,348,268,854,477,486,350,918,107,148 +706,161,194,299,93,582,353,305,519,453,653,330,86,336,875,206,691,860,546,694 +859,942,920,732,699,543,820,903,879,366,471,348,716,195,651,729,494,861,522,639 +150,780,206,731,600,841,930,146,709,257,709,928,854,321,488,695,365,85,335,822 +939,851,488,677,265,132,494,235,924,605,675,630,157,146,597,74,863,394,451,672 +105,60,352,417,925,100,471,678,204,186,254,466,641,363,653,252,492,156,528,262 +793,129,675,188,139,595,851,647,599,391,889,261,311,685,308,770,935,303,108,653 +476,664,732,889,671,852,586,878,363,399,533,774,396,568,448,208,318,941,721,766 +763,878,137,317,842,938,315,752,863,702,840,90,422,919,136,776,714,721,788,639 +935,682,299,776,191,488,593,630,55,523,260,842,804,707,783,642,429,96,657,638 +63,449,467,94,590,522,734,545,842,650,533,587,452,153,922,346,769,917,490,486 +682,171,94,348,665,681,310,727,918,712,129,578,531,572,325,438,353,715,648,193 +4,946,883,209,715,92,257,463,448,452,764,725,736,772,472,442,447,61,533,151 +107,268,685,439,105,247,920,192,594,683,876,640,860,762,602,153,486,534,472,817 +774,575,594,445,864,589,567,97,89,126,792,650,365,945,130,773,718,91,471,422 +598,97,668,420,157,735,538,778,690,675,205,633,474,945,893,590,578,119,852,854 +948,592,575,114,436,882,310,399,675,690,430,193,139,273,840,680,792,191,845,472 +135,545,472,145,275,810,821,601,260,652,715,919,848,690,568,421,668,855,390,484 +52,300,448,529,658,601,935,258,918,664,942,439,503,729,535,62,159,722,50,585 +108,704,717,604,883,99,726,727,62,95,587,558,532,541,791,723,200,235,243,702 +147,765,23,683,398,664,760,773,315,523,330,474,838,190,730,717,112,793,666,727 +602,494,606,704,56,310,658,102,862,109,885,100,123,455,692,783,949,837,786,700 +604,785,777,867,466,342,130,544,89,926,460,719,193,153,425,318,426,924,649,301 +583,64,448,244,843,686,572,237,489,134,316,593,679,818,917,424,303,809,704,315 +914,722,351,10,685,636,682,840,247,423,879,468,131,301,59,664,840,488,781,877 +673,856,521,398,58,697,110,762,470,157,424,147,89,581,498,939,322,128,147,942 +197,298,462,109,673,90,845,207,479,321,481,485,606,478,947,680,463,463,253,123 +719,438,143,595,822,762,118,318,94,12,718,438,794,540,644,931,871,668,303,677 +678,898,327,304,583,569,790,722,917,593,817,629,191,305,160,483,480,436,843,204 +103,927,157,921,198,470,264,307,630,527,844,391,863,987,392,87,519,193,776,945 +609,679,994,64,142,571,463,52,156,789,782,472,729,942,275,436,305,533,430,702 +83,428,788,946,642,923,537,348,423,943,712,720,735,391,301,207,778,360,265,912 +921,949,917,704,320,307,738,154,750,634,161,526,346,202,275,479,837,639,442,431 +464,390,780,718,250,860,135,309,601,840,63,176,299,595,699,360,309,868,83,933 +542,538,854,328,97,196,554,193,106,440,685,845,315,150,205,96,144,687,871,187 +366,816,601,312,784,432,678,344,934,663,916,308,312,731,204,499,535,946,885,348 +728,311,139,394,538,673,647,595,723,321,451,202,779,310,485,654,127,337,476,647 +209,424,471,780,111,437,262,942,750,761,148,635,987,104,888,197,818,93,203,246 +56,149,776,683,350,448,693,944,190,320,469,930,84,699,785,102,583,404,674,55 +63,774,490,586,726,658,927,348,723,55,85,119,652,675,931,198,136,51,843,987 +449,717,887,154,322,428,422,150,707,846,940,933,181,713,438,144,256,439,570,661 +482,112,729,935,539,700,843,301,264,61,409,606,762,681,645,442,785,140,705,314 +884,489,162,705,493,605,149,454,715,702,328,726,846,720,843,267,321,685,197,578 +596,668,776,345,820,692,711,453,494,816,870,432,868,636,694,101,792,538,766,313 +352,306,304,850,634,782,914,420,818,435,577,112,92,944,236,614,85,817,324,439 +577,443,718,323,301,685,932,115,526,544,864,915,215,945,838,342,654,57,252,490 +298,194,449,464,540,266,901,594,582,391,779,494,590,881,763,539,710,729,925,307 +136,534,242,840,52,186,694,937,349,160,307,271,595,525,527,319,773,604,821,628 +199,711,871,255,765,257,84,527,697,142,637,775,723,364,350,106,180,845,532,258 +880,581,323,314,390,197,144,857,116,448,765,429,406,576,299,574,583,709,711,193 +690,262,700,423,785,947,687,825,206,265,580,346,245,525,728,138,601,762,432,193 +137,844,469,843,89,869,541,638,364,312,183,795,920,320,949,880,914,853,872,353 +871,470,732,492,472,666,299,127,389,424,722,715,636,937,563,155,319,322,601,761 +306,779,639,678,446,789,326,147,519,646,528,712,99,397,85,274,310,738,360,363 +58,302,245,674,323,146,776,795,887,364,238,533,254,651,602,467,730,725,690,511 +246,583,160,931,520,160,728,859,90,718,123,207,304,440,652,848,311,486,86,260 +234,948,596,116,311,840,703,933,521,537,918,202,275,628,421,740,85,543,940,111 +588,59,712,479,718,421,634,880,349,938,327,645,664,538,204,832,540,58,838,312 +772,404,254,676,602,484,345,131,921,429,602,669,523,139,884,84,105,632,841,187 +351,226,470,727,648,259,462,248,772,449,682,914,867,89,137,258,326,716,935,392 +155,783,717,523,526,347,487,790,146,871,114,582,476,398,852,141,646,931,502,204 +821,835,115,658,448,656,406,522,884,855,921,591,131,398,887,320,148,494,568,518 +873,633,883,935,163,245,60,922,95,51,600,662,394,858,645,851,687,603,306,315 +875,128,923,60,393,730,601,820,130,864,928,768,85,874,915,329,849,574,424,127 +366,447,97,54,470,859,328,330,932,442,86,321,138,704,256,594,940,768,537,546 +726,207,661,475,58,469,721,475,395,849,161,106,106,710,822,762,817,521,443,418 +868,839,438,462,51,656,750,781,257,424,16,522,664,155,437,321,420,541,649,262 +464,934,263,657,732,839,152,515,674,870,631,133,435,137,601,105,301,819,454,201 +298,84,667,149,434,179,108,275,727,262,301,274,643,107,713,714,608,943,118,487 +183,364,885,842,846,939,301,630,541,852,781,92,88,579,442,853,634,242,642,668 +590,324,137,702,793,142,102,108,819,398,524,328,80,315,263,920,593,839,593,263 +638,56,205,108,776,542,391,72,391,918,714,490,663,762,586,648,248,545,345,352 +143,837,571,194,572,435,305,351,157,196,573,488,780,191,946,61,206,692,364,332 +463,483,591,870,486,727,591,869,917,865,829,648,704,940,63,303,781,600,116,263 +90,923,266,822,253,398,13,345,589,590,205,53,194,61,438,878,137,786,567,656 +656,317,657,715,793,488,144,55,533,568,323,573,571,264,584,141,188,900,195,914 +482,635,842,728,119,138,622,764,526,947,573,571,106,238,242,132,669,940,445,884 +710,200,939,539,633,113,471,308,364,134,494,299,274,555,322,848,245,761,729,570 +451,750,656,242,325,922,654,399,351,846,334,103,792,750,138,116,475,260,521,347 +732,659,783,332,718,926,777,314,61,96,392,917,350,683,160,886,666,569,668,687 +96,572,761,846,447,529,149,251,729,137,130,686,395,898,159,200,94,160,395,946 +575,497,399,196,839,362,691,193,539,55,693,583,103,489,308,929,160,189,736,438 +303,546,583,434,634,649,146,724,532,594,450,870,748,250,784,881,641,389,676,440 +692,578,721,155,639,578,55,337,682,324,422,645,925,587,482,308,853,782,673,592 +581,83,390,633,257,149,458,190,732,629,602,683,569,571,54,155,870,791,856,528 +442,850,243,698,635,592,677,316,102,463,102,433,89,887,93,634,243,922,907,394 +445,521,880,629,793,875,68,395,151,314,60,329,346,639,521,709,633,652,137,327 +298,481,576,712,207,672,86,645,257,704,136,595,684,503,888,128,392,200,188,111 +259,310,936,250,155,62,869,870,467,817,114,445,485,527,595,105,922,709,15,653 +455,162,364,89,531,512,683,700,877,687,845,817,466,351,478,719,254,50,520,701 +330,298,55,453,306,553,107,236,818,781,717,629,774,108,466,669,148,429,648,55 +98,347,887,131,889,427,366,273,866,119,858,717,939,147,202,703,852,533,669,530 +493,567,943,632,478,6,443,360,524,734,201,877,423,155,486,250,299,431,852,344 +594,726,360,429,472,438,770,300,351,299,726,838,644,274,676,364,883,311,856,694 +838,131,241,484,638,857,174,490,325,735,520,857,465,190,319,631,160,715,924,602 +334,437,541,482,471,118,311,89,570,703,323,131,708,474,351,571,940,525,875,530 +660,19,583,534,524,718,113,161,256,353,777,884,673,57,845,197,159,256,395,918 +575,649,301,716,568,121,539,320,353,392,343,351,64,127,240,249,578,702,946,131 +855,561,259,235,763,205,159,56,791,314,856,471,352,537,860,856,149,328,306,721 +234,519,146,448,682,521,798,528,697,543,526,714,208,489,703,493,195,195,430,875 +592,653,666,448,364,601,635,459,575,264,686,452,944,449,685,425,318,366,601,237 +721,733,919,545,193,631,359,346,822,588,431,921,660,444,421,773,878,787,774,491 +155,448,86,723,642,773,522,760,571,640,837,124,244,668,657,352,736,488,597,663 +390,527,446,979,109,862,105,235,869,584,730,433,440,945,199,485,843,448,396,725 +943,869,99,62,872,868,524,477,61,536,398,848,430,674,123,652,194,871,301,424 +837,868,346,83,87,931,273,837,923,480,843,608,732,874,581,847,436,525,592,159 +396,239,581,310,478,932,64,553,764,793,772,424,874,821,790,204,718,713,697,572 +83,776,420,190,446,606,852,437,716,151,114,463,789,185,352,528,526,83,104,426 +635,150,574,329,588,469,149,474,327,428,892,115,362,439,486,453,61,450,398,437 +60,680,820,877,204,928,89,936,432,304,102,858,560,781,677,645,308,452,392,104 +248,493,56,526,487,840,261,281,134,935,130,663,788,110,317,347,199,864,940,586 +398,680,468,879,236,345,609,424,584,349,749,587,398,64,300,234,298,942,141,839 +872,645,304,326,794,148,16,200,427,773,876,258,703,102,140,255,691,778,450,678 +735,526,453,323,144,934,690,578,433,836,64,884,794,139,678,275,397,945,692,18 +92,392,762,670,319,727,235,146,363,795,710,84,393,23,350,427,494,835,463,193 +677,87,698,254,259,702,850,114,265,792,434,366,260,464,527,392,519,838,922,2 +59,208,241,311,145,584,681,595,943,880,575,917,521,684,739,263,327,323,261,53 +682,735,790,735,481,591,103,815,721,696,432,578,106,835,134,530,391,819,788,50 diff --git a/data/advent2020/input17.txt b/data/advent2020/input17.txt new file mode 100644 index 00000000..3b483a0b --- /dev/null +++ b/data/advent2020/input17.txt @@ -0,0 +1,8 @@ +.##.#### +.#.....# +#.###.## +#####.## +#...##.# +#######. +##.##### +.##...#. diff --git a/data/advent2020/input18.txt b/data/advent2020/input18.txt new file mode 100644 index 00000000..f92bb947 --- /dev/null +++ b/data/advent2020/input18.txt @@ -0,0 +1,373 @@ +8 + ((9 * 7) + 2) + (4 * (9 * 3 * 9 + 3 + 8) + 6 + 5 + 8) +7 + 5 * 3 + (9 * 9 * 3) +4 * (4 * 8 + 3 + 4 * 2 + (8 + 2 * 6 + 6)) + (6 + 9 + 8) * 8 + (6 + 6 * (2 * 9) * 3 + (9 * 3 * 5 * 4) * 7) +((4 * 3) * 2 * 2) * 4 * 5 * 5 * 7 * ((3 * 3 + 6 * 8) * 7 * 3 * 9 + (7 * 6 + 9) * (4 * 3)) +8 + 6 + 9 + ((8 * 2 + 7 + 9 * 7) * 6 * 9 + (8 * 2) * 5 * 2) + 9 +(9 + 8 + 4 * 9 * 9) * 9 + 8 * (2 * (7 * 2) + 8) * 2 +5 * 9 + 6 * 3 + (5 * 7 * 5 + 4 * 8 + 4) +((7 * 9 * 3 * 8 * 6 * 6) * (9 * 2 + 4 * 3) + 9 * 3) * 2 +2 + ((8 + 3 + 6 * 6 + 5 + 9) * 4 * 7 + 6 * 4 + (6 + 8 * 5 * 9 + 3)) + 9 + 7 * 7 +((7 * 9 * 5) + 9 * (8 + 2)) + 2 +3 * 6 * 8 * (9 + 5 * 8 + 4 * 8) + 8 +9 + 8 * (3 + 9 + (3 * 7) * 3 * 4) +((6 + 8 + 5 * 3 + 7) + (5 + 6) * 8) + 9 + 2 +(5 * (3 * 2 * 4 + 9 + 5)) * 8 + 5 +(8 * 2 * 5 * 4 * 3) + 5 + (3 * (6 + 8 * 8)) * 3 +4 * 5 + (9 * 3) + (7 * 9 * 3 * 7 * 6) + 4 +6 + 2 * 2 + 8 + (3 + 4 + (4 + 2 + 7 + 5) * (3 + 8 + 7 * 9 * 2)) * 2 +(3 * 5 + 3 + (6 * 4 + 3) + (4 * 4 * 9) + 7) * 3 + 8 + (5 + 2 * 7 + 2) * 3 * 7 +6 * 7 + (2 * 7 + 9 * 2 + (3 + 6 + 6 + 9) + (7 + 8)) + 6 * 8 + 6 +8 * (6 * 8 + 3) * 8 +(6 * 4 + (8 * 8) + 5 * 6) * 5 * 8 * 5 +8 * (3 * 6 * (7 + 5 + 8 * 6 + 5)) * 2 + 4 +(7 + (8 * 3) * 5 + 8) * 8 * ((5 * 9 * 3 * 8) * 7 * (3 + 2 + 6 + 9) * 2 * 3 * 9) + 2 +(4 + 5 + 5) * (6 + (6 * 5 + 3) * (8 * 6 * 6 + 8 + 6)) * 2 + 4 + 3 * 8 +5 + 6 +6 + 5 * (6 + 3 + 5 + 5 * 2) * 5 + 3 * 9 +3 * 7 + (8 * 2 * 4 * 2) * 4 * 3 + 9 +(2 + (5 * 5 * 6 * 8 + 7) + 8 * 5 + 9) + (8 + 4 * 4 + 9 * 4 * 6) + 8 * 6 +(3 * 3 + 5) * 6 * 6 * (7 * (4 * 3 + 4)) +7 + (9 * 4) + ((3 * 2 * 7 + 8 + 4 + 2) * 4 * 3 + (9 + 5 + 6 * 5 + 5) * 4) * (8 + (7 + 9 + 3 * 2 + 8) * 8 * 6 * 3) +9 + 7 + ((5 + 3 * 4 + 9) * 4 + 7 * 9 * (7 + 7)) * 6 + 6 * (6 + 6 + (6 * 7 + 7 + 4) + (6 + 2 * 6 + 3 * 5) * 6 * 8) +5 + (9 + 5 + (9 * 8 * 5) + 3 * 5) * 7 + 7 +(9 * 5 + 3 * (9 * 4) + 7) * 2 + 9 * 9 * 8 +9 * 5 * (6 * 6 * 7 + (5 + 4 + 3 + 8 + 3) + (7 * 9)) * (4 * 7 * 4 + 4 * (2 + 2 * 8 * 6 + 9 + 4) * (8 + 8 * 6)) + 9 * 4 +7 + 3 + ((7 * 9 + 9 * 3 + 3 + 2) + 6 + 7) * 6 +7 + 7 * (9 * (2 * 4 * 7) * 2 + (2 + 5 + 4 + 7 + 5)) * (5 + 7 + 4 * (3 * 4) + 7) +4 + (9 + 3 + (5 + 4 + 6 + 4) + 3 + 3) +(5 * (6 * 6 * 8 + 8 * 9 * 8) * 5 + 2) * 3 + 5 + (6 + 3 + 5) +(5 * 3 * 6) + (6 + (9 + 3 + 9 + 6 * 2 * 4) + 6 + 3 * 9) * 2 * 8 * (3 * 2 * 2 + 6 + 3 + 8) +8 + 6 + 8 + 6 + ((8 * 4 * 7 + 8 * 4) * 4 * 8 + 5) +(8 * 8 + (9 * 2 * 6 * 3 * 5 + 7) + 6 + 9 * 8) * 5 * 8 * 2 * (8 + 8 * 9 * 9) + (9 * (6 * 8 + 9 * 3 * 4 * 5) + 8 + (8 + 5 + 4 * 6) * (8 * 8)) +(8 * (4 + 3 * 8 * 2 + 6 + 9) * 5 * 7) + 4 * (2 + 4) + 5 + 7 + 9 +3 * 4 * 9 + 7 * (2 * (7 * 6 + 5 + 2 + 5 + 8) * (6 + 8)) + (7 * (5 + 8 + 2 * 7) + 4 + (7 * 4 + 5 + 4 * 3) + 7 * 7) +((9 + 6 * 7 + 8 + 5 * 3) * 8 + 3 * 7) + 8 + 3 + 4 * 5 * ((6 * 7 + 2 + 4 * 4) * 9 + 6 * 4 + (9 + 8) * (6 * 4 * 2)) +(6 + 6 * 3 * 4) + 2 * (5 * (8 * 8) * 8 * (8 + 6 * 6 + 3 * 9) * 3) + ((8 + 5) * 7 + 6 + 9 + 6) + 8 +(3 + (5 + 7 * 2 * 5 + 3) + 2 + (5 * 4 * 2 + 9 * 3) * 4) + 9 * 2 +(3 * 8 * 2) + 6 +7 + 3 * (8 + 8 + 9 * (6 + 7) * 7) +5 + 2 * 2 + (4 + 4 * 2 + 2 + 2 + 4) * 4 + 6 +7 * ((6 + 7 + 6 * 8 + 4 + 3) * 6 + 9 * 7 + (5 + 4 * 7 * 7)) * 9 +((9 * 7) * 9) * 7 + 9 * 3 + 3 + 2 +2 + 9 * (5 * 4 * 6 * (5 * 4 + 4 * 2 * 6 * 3) * (2 + 5 + 5 * 9)) + 5 +8 * 3 * 8 * ((7 * 3 + 8) * 6 * 8 * 9 + (3 + 9 + 9 * 2 * 3) * (7 * 2 * 5 + 9 * 3)) +6 * (6 * 5 + 6 + 5 * 9 * 7) + 2 * (7 + 3 * 3 * 7 + 4) + 3 + 8 +4 + (8 * 5 * 7 * (7 + 8 + 6) * 6) + 4 + (2 * 6 * 5 * 4) + ((8 + 6 + 7 + 3) + (3 * 3 * 8 * 5) + (3 + 3 + 2)) +2 * 5 + 4 + 7 * (7 + 8 * 5 + 9 * 3 * 7) * 6 +3 * 6 + ((7 * 7 * 9 * 9 * 6 * 6) + 2 * (8 * 6 + 5 + 2 + 5) + 7 * (7 * 8 * 2 + 6 + 2 + 8) + (9 * 3 + 2 + 8 + 9)) * 4 +3 * 2 * 8 * (7 * 4 + (6 + 9 + 3 + 7 * 2)) +(7 * 6 * (2 * 4) * (2 * 5) * 8 * 4) + 6 * 9 + 7 + 5 + 4 +((8 * 6 + 2 + 9 * 4 * 7) * 2 * 6 * (6 * 5 * 7)) * 5 * (3 * (5 * 3 + 4) + 6 * 5 + 8) + 6 +5 + 7 + 2 + 7 + (5 * 3) +((3 + 2 * 9 * 5 + 9) + 9 + (3 + 8 * 6 + 8) + 8) + 6 + 8 + 4 * 8 * ((2 + 3 + 9 + 6 + 4 * 7) * 6 * 8 * 6) +9 * 5 * 7 + 8 +9 * 9 + 2 + 7 + (8 + 9 * 9 + 3) + 2 +9 + ((3 * 7 * 4 + 8) + (7 + 2 + 2 * 7 + 2 + 4) + 7 * 7 + 6) * (3 * (6 * 7 * 3 + 8) + 4 + (7 + 4 + 4 + 9) + (3 + 8 * 4) + 7) * 2 + 9 +3 + (5 + (9 * 4 + 5 + 4 + 3) * 4 * (7 * 6) + 6) * 5 * 9 + 9 +7 + (9 * (2 + 8 * 8 + 5) * 2 + 7) * 6 + 2 + 4 + 2 +(6 + (9 * 4 + 7 + 8 + 5)) + 3 +8 * 8 * 9 +6 + 5 * ((2 * 4) * (6 * 6 * 9 * 6) * 4 + 2 * 3 * 2) * 2 + 8 +8 + 5 * (9 + 6) * (2 * (6 + 3 + 7 * 2 + 7) * 7) +4 * (7 * 5 + 6 * 4) * 2 +(4 + (8 + 3 * 5 * 6) * 2 * 4) + 4 +9 * 6 * 2 + 5 +2 + (6 * 9 + 6 + (8 + 4 * 6) * 6 * 3) * 9 * 9 * 3 +7 * ((9 + 8 + 9) * 8 + 2) + 5 * 4 * 6 +8 * ((2 * 9 * 9 * 4) + 9 * 9 * 5 + 9) + 7 +((9 + 5 * 7 + 2 * 4 + 8) + 4) + 6 + 9 + 8 * 5 +(2 * 9) * 7 + (3 * 7 * 6 + 6) * 2 * 2 + (4 + 8 + (2 + 8)) +((4 * 2) * 2 + 2 + 6) + 6 +(6 * 9 * 8 + 8 * 6) + 8 * (8 + 8 * 4 + 4) +((2 * 2 * 2) + 6 * 6 + 8 * 2 + 3) * 2 * (9 + 3 + (3 * 9 * 5 + 2 * 6 + 6) + (3 * 2 * 8 + 9 + 6 + 7)) * ((5 * 2 * 2 + 6 + 4 * 2) + (8 + 8 * 5 * 7) + 8) + 9 +9 + (8 * 4 * 9 * (9 * 6 * 8 * 9)) * 9 + 3 * 5 +8 + 4 + 2 * ((8 + 5 * 8 + 2) + 9 * (7 * 7 + 7 + 2 * 6) * (6 + 6) * 2 * 8) +(6 + (8 * 4) * 7 + 3 * (4 * 5 + 8 * 5) + 5) + 7 * (7 + 9 * (8 * 5 * 6 * 9 + 6 * 7) + 9 * 4) +6 * 3 * 3 + (3 * 6 * 9 * (3 * 9 * 7) * (5 * 4 * 4) + 5) + ((2 * 9) * 3) + 5 +(4 + 8) + 3 + 4 + 3 * 7 + 4 +(6 * 3 + (5 * 3 + 9 + 4 + 5)) + (7 + 8 + 2 * (4 * 7 * 6 * 7 * 8 + 7)) * 5 +(7 + (8 + 4) + 4 * (2 + 8)) + 4 * 5 + 2 * 9 * (5 + 9 + 6 + 4 + 6 + 8) +((6 * 4 + 6 + 7) * 5 * 2 * 2 + 2) + (2 + 5 * 7 + 2) + 6 + 4 * 7 +(6 + 2 + 2 + 5) * 6 + 3 * 7 + (8 + 9 * (7 + 7 * 5) + 3) + 8 +(3 + (7 * 3 * 6 * 3 + 7) + 2 + 2 + 8 + (7 + 2 * 6 + 6 + 4)) * 5 + 5 * 3 * 6 + 6 +6 * (6 + (4 + 2 + 6 * 3) + 2 + (6 + 6) + 8) * 3 +(9 + 9 + 6 * (6 + 7 * 2) + (2 * 2 * 8 * 3) * 3) + (5 + (2 * 6 + 9 * 4 * 4 * 7) * 5 * 7 + 9) + 6 +((7 + 5 + 9) + 9 + 3) * (2 + 9 + 8 + 4 * 2 * 6) * ((5 + 2 + 8) * (8 + 8 * 7) + 7 + (4 + 6) * (9 * 3 * 8 + 9) + 8) * 9 +5 * 4 + 5 + ((5 + 4 + 7 * 8 * 4) + 6 + 4 + 2 * 6) +5 + 7 + 7 * 2 + 7 +(5 * 4) * 2 * (4 + 3 * (2 + 6) + 3 * (8 * 6 * 7)) * 4 +4 * (4 * 8 * (4 * 6 + 4 * 5 + 2) * (2 + 5) * 7 * 8) * 7 + 8 +9 + 9 +9 + 8 * 3 * 8 + ((7 * 3 * 3) * 2) + 6 +4 * (3 * 5 * 3 * (2 * 4)) + 3 + ((8 + 5) * 3 * 9 * 4) * 7 + 2 +(7 * 2) * 2 * 7 +4 * 8 * 2 + 2 + 9 + 2 +5 * (6 + 8 + 7 * 3 + 7 * (9 + 2 + 3 + 6 + 6 * 6)) * 8 * ((7 + 4 * 8 * 5 + 7) + 2 * 5) +7 + (3 + (7 + 2 * 9) * 3 * 2 + 7 * 7) + 5 +5 * ((7 * 8 * 2) + 2 * 5 + 9 * 8) * 3 +(7 * 5 + 9) * 4 * 2 * 7 * 8 * 3 +9 * 7 + (6 * 3 * 4 * (4 + 7 * 5 * 4 + 9) + 7) + 3 * 3 +(3 * 5 * 6 * 5) + 2 + 3 * (8 * 5 * 8 * 2) + 4 +4 + 2 * ((4 * 2 + 3 + 6 + 4 + 6) * 8) +7 + (5 * 8) * 4 * (7 + (7 + 4) * 6) +4 + 5 + 3 + (3 + 4 + 5 * 3) * 9 +((3 + 4 * 4 * 9) * 7 + 4) * 7 + 8 +7 + 5 * 2 + (7 * 5) * 5 +2 + 8 * 5 * 4 * 9 + (5 * 8 + 4 + 8 * 2) +(4 * 9 * 7 * 9) * ((5 + 4 * 7 + 8) + 9 + 7 * 7 + 9 + 8) + 9 * 7 * 5 +(8 + (3 * 7 + 8 + 6 + 5) + 2 + 8 * 8) + 9 +2 + (6 * 9) * (2 + 6 * 2 * 5 * 9) + 4 +4 + (4 * 2 + 4 + 8 * 8 * 4) * 6 * 4 * 5 * (4 * 5) +(2 * 5 + 5 * 9) * 7 * 4 * (6 + 2 * 5 + 2 + (5 * 2 * 7) + (6 + 9)) * 9 + 4 +4 * 9 * (2 + (5 + 2 + 6 * 6) + 4 + 4 * (2 + 9 * 8)) +8 + 2 + 5 + 8 * (3 * (7 * 3 + 2) * 9) + 3 +7 * 6 * 6 * 5 + 4 * 6 +2 + 9 * (4 * 3 * 2 + 5) + 2 + (4 + 5) * 4 +((5 + 4 * 4) * 7 + 7) * 3 + 6 + 5 * 2 + 8 +9 * ((5 + 8 + 5 * 6 + 5) + 5 + 3 * (3 + 5) * 2) + (2 + 6 + 4 * (5 + 4 + 5 + 5 + 5)) * (8 * 9) +6 + 4 + 7 * 8 * 4 + 3 +((5 * 9 * 4 + 9 + 6) + 5 + 8 + 2 + 6 * 5) * 8 * 9 * 4 + 8 + 4 +(8 + 9 + (9 + 6 + 2 * 2)) + 5 +(8 + 3 + 5 * (8 + 4)) * (4 + 6 * 4 * (3 * 4) * 5) * 4 * 8 * 7 +9 + 2 + (6 * 7 * (3 * 9 + 7 + 9 + 8 * 9) + 7 + 2) + 2 * 5 +3 + (2 + 6 + (3 + 3 * 2 + 8 * 7) + 5) * 3 +((4 * 4 * 6 * 2 * 2) + 9 * 6) * 2 +(4 + 6 + 2 + 7) + 8 +(4 + 7 * (9 * 6 * 8) + 3 + 4 * 6) * 2 + 3 + 2 * 7 * 6 +(4 * 6 + 2 + (9 * 2 + 5 * 7) * 9) + 8 + (7 * (5 + 8 * 8 + 4)) * (5 + 4 + 3 + 3) + 8 +5 + 2 + 6 * 8 * (5 + 3) * (9 + 7 + 3 + (2 * 5 * 4 * 7 + 7 * 6) + 8) +7 + 3 + 4 * (9 * (6 + 4 * 7 * 5 * 3) + 2 * 6) +5 + 3 * 4 + 3 + (7 + (2 * 5 + 8 * 6 + 9) + (2 + 8 + 6 + 8)) +2 + (2 + 7 * 6 * 8) * 7 * 5 + 3 + 8 +9 * 9 * 5 * ((4 + 9 + 2) * 7) * (2 + 3 + 4) +7 * (3 + (5 + 4 + 4 * 2) * 9 + 2 + 2) + 9 * (2 * 9 * 5 * 7 + 9 + 7) + 9 +9 * (6 + (6 + 9 * 8) + 6 + 2 * (3 * 8 * 8 + 9 + 6 * 8)) * 8 * 8 * 3 * 9 +4 * (5 * 8 * 3 * 3) +(2 * (2 * 4 + 6 * 7 + 2) + 8 + 8) + 4 * 6 + (2 * 6 + 6 + 6 + 2 * 4) + 6 +7 + (2 + 7 + 2 * 7 * 4) +(9 + (2 * 2)) + 7 * 8 +3 + (4 + 8 * 9 * (7 + 4 + 3 * 5 + 4 * 7) * 4) * 4 + 6 + 7 + 9 +2 * (3 * 9 + 5 * (7 + 4 * 2 + 4 * 6) * 6 + 4) * 7 + (2 + (3 + 8)) + 3 * 2 +((6 + 8) + 6 + 6) + 2 * 3 + (8 + (2 * 3) * (8 + 9)) +8 * 9 + (5 + 3) * 4 + 4 + 9 +7 * 9 * (7 * 8 + 8 * 2 + (9 + 8 * 9) * 8) * 4 + 2 + 6 +6 * 4 * 9 * 3 + 2 * 8 +4 * 4 * 8 * (7 * 7 * 6) * 2 * 4 +5 + 7 + 9 * (6 + 2 + 9 * (8 + 7 + 9 * 9) * 4) + 4 + 6 +(6 + 5) * 2 + 9 + 3 +9 + 6 + (5 * 8) + 4 + (8 + 7 * 5) +4 * 8 +8 * 3 * 9 * (2 + 6 * (6 + 7) * 5 + (2 * 9 + 9 * 8 + 7 * 8)) * 8 * 3 +9 * 5 + 4 + 7 * ((4 * 4 * 6 * 7 + 9 * 2) + 7 * 3) * 6 +7 * (7 * 5 * 3 * 5 * 5) + 4 * 8 * 6 * 3 +8 * (8 + 7 * (3 + 8 + 2 * 8 * 8 + 2) * 2 + (6 * 5 + 9 * 5 * 6 + 7) + (8 + 2)) * 4 + 3 * (2 * 7 * 9) + 8 +3 + 2 +6 + 6 + 4 * 4 + (9 * 9 * (3 + 5 * 3 * 4) + 6 + 3) +6 + (4 * 2 * 8 + 7 + 8) + 8 * ((9 + 6 * 3) * 2 + 5) * 4 * 9 +8 + (2 * 9 * 3 * 5 + 2 + 3) * ((2 + 9 * 9 + 9 * 8) * 6 * 2 * 5) +2 + 3 + (8 * 7 * 7 * (5 + 3) * (2 + 4 + 6 + 4 * 5 + 7)) +8 + (5 + 4 + 4) * ((7 * 6 * 6) * (3 * 7 + 5 + 2) + 5 + 6) +7 * (8 * 2 + 5 + (7 * 6)) * 2 + 2 + 8 +8 + ((6 * 6 * 8 + 9 * 3) + (8 + 2 + 9 * 2 * 6) + 2 * 8 * 2 + 4) + 4 + 9 + ((5 * 6 * 5 + 4) + 6 + 5 * (4 + 5 + 7 * 9 * 3 + 6) + 4 + (8 * 7 + 8 + 7)) + (8 + 8 + 9 * 9) +3 + ((7 * 6 + 5) + 2 + (4 + 8 + 7 + 4 + 7 * 7)) * 2 + 4 +6 * (5 + (7 * 4) + 4 * 7) * 6 * 9 * 4 * 2 +5 + 8 * 2 * 7 + (9 * 8 + 7) +8 * (3 * 9 * 2 * (5 * 3 + 6 * 6 * 9) * 6) +(4 + 9 * 2 + (7 * 7 * 8 + 9) * 2) + 2 + 6 +(8 + 9 * (4 + 9 + 9 * 6 + 2 + 7) + 5 * (7 * 6 + 5) * 3) + 6 +4 + (9 * (3 * 6 + 9 + 3 * 6) + 7 + 3 + 4 + 5) * 6 * 9 +4 + 7 * (6 + (2 + 7 * 8 * 9 + 5 * 4)) + (3 * 2 + 2 * 9 * 8 * 8) +(5 * 9 * 3 * 2 * 5) * 3 + (7 * 9) + 5 * (5 + (3 * 9) + 2 + 8 + 3) +(4 * (6 + 2 + 3 + 7 * 4 * 9)) * 8 * 5 + 4 + 9 * 8 +3 + 4 + 8 * ((2 + 3 + 8) + (2 * 9 + 7 * 7) + 2 + 3 + 6 + 4) + 8 +2 * 4 + 7 * (6 * 2) +7 + (8 + 7 * 9 * 9) * 4 * 8 + 8 +3 * (3 + 4 + 5 + 7 + (7 * 3 + 6 + 6 + 2 + 3) * (9 * 7 * 5)) * 9 * 4 * 2 +3 * 3 + 8 +3 + 2 * (8 * 5 * 9 + 3 * 9) * 8 + 8 * (4 * 2 + 4) +(6 * 6 * 7 + 4) + (5 + 3 + 9 + 7 * 7) +9 * 4 * 4 * 9 + 8 + (8 * 5 * 3 + 8) +(7 * 4 * 7 + 4) * (4 * 9 * 3 * 2) + 2 + 6 + 6 + 6 +5 + 7 * 2 * ((6 * 9 * 6 + 8 + 5) * 6 + 8 * 2 * 3) + 6 * 6 +6 + (3 * (2 * 5 * 3) + 5 * 3) * 4 + 5 * 2 +5 * (5 * 2 * 5 * (7 * 6 + 2)) +9 + ((7 * 5 + 7) * 6 + (9 * 6)) * 4 * 7 * 7 + 7 +7 + 4 * 2 +4 + ((9 + 4) * 6) * 5 * 4 +7 * (6 * 6 + 4 * 5 + 5 + 5) +6 + (9 * 6 * 8 * 9 + 7) * 9 * 3 * 6 +9 + 7 * 5 * (7 * 5 * 9 + 8 + 4 * 4) +8 * 6 * (2 + (7 * 6 * 7 + 9 + 9) + (5 + 8 * 8 + 9 * 9 * 8) + (6 * 8 + 7 + 4) * 9 * 2) * (9 + 3 * 3 + 5) + 9 +4 + (2 * 9 * 2) + 4 + 9 + 2 + 7 +6 + (3 * 6 * (9 + 3 * 6 + 2) * 4 + (9 * 7 * 4) + 8) + 8 * 6 + (2 * 7) +7 * (2 * 2) * 9 +8 + 6 * 4 + 6 * 2 + 7 +3 * 3 * 8 + 3 * (8 + (4 * 4 * 6 * 4 * 6) + 6 * (7 + 5 + 4 * 6)) + 4 +(7 + (8 + 7)) + (3 * (6 * 7 + 6 + 7 + 6 + 3) + 2) * 2 * 4 * 9 * 8 +7 + 8 + 9 + (5 + 9 * (2 + 9 * 7 + 2) + 7 * 6 + (3 * 5 + 5 * 8 * 5)) + 9 +(6 * (9 * 7 + 3 * 8 * 3 + 2) + 9 + 2 * 2) * 8 * 5 + (4 * (8 + 6 * 9 * 6 * 6) + 7 + (9 * 9 * 3 * 3 + 2 + 8) * 2) * 3 + 4 +((7 * 2 * 7 * 9 * 2 + 5) * 7) * 8 +(2 + (8 * 3 + 6) + 8 * 6 + 3 * 7) * 8 +(6 * 2 * 2 * 4 * 3) + 5 + 7 +(8 + 7 * (7 * 6 + 8) * 4) * (6 * 7 * (5 * 9 * 5 + 7 + 2 * 6)) +5 * (8 + (8 + 3 + 8 * 5 + 2) * (8 + 3 + 7) + 7) + (4 + 7) * 5 + 8 +(9 + 6 + 7) + (9 + 7 + 7 + (6 + 8 * 4 + 4 + 6 * 4) + 8) * ((6 + 4 + 5) * 4 * 4 + 7 * 6) + 3 + 3 * 8 +(6 * 5 * (2 * 8 + 2)) * 8 + 5 + 4 + (9 * 8 + 8 + 4 + 8) +2 * 7 * ((4 * 6) + 8 * 8 + (7 * 3 * 9 + 2 + 6 * 3) + 9) + 3 +2 * 7 * (2 + 2 * 6) * 9 +5 * ((9 * 6 * 5) * 5 * 3) * 2 +9 * (3 * 2 + (7 + 5 * 7 + 4 + 8 + 7) * 8 + 8 + 4) + 4 + (2 * 4 * 4 + 4 + (8 + 2 + 8)) + 8 + 3 +(5 * 8 * 4) + 3 * 4 + 8 +7 + 7 * 9 * 6 + (2 + 8 + (4 * 8 + 3)) +(5 * 6 * 5 * 5 * 3 + 7) * 4 + 9 +(3 + 4 * 7 + 6 + (7 + 9 * 6 + 4)) * 6 +9 + (9 * 2 + (2 + 9 + 6 + 3 * 4 + 6) + (4 + 8 + 2 + 6 * 2 + 7)) * 9 +4 + (5 * 8) +4 * 3 + 7 * (8 * 8 + 4) * 5 +4 * 6 * 4 + (2 + 6 + 4 * (9 + 8) * (6 * 3) * (3 * 3)) + 9 + 5 +5 * 5 + 6 * (9 * (9 + 3 * 7 * 6 * 6 * 3)) * 4 * 8 +2 + 8 + 3 * 7 + (3 + 6 * (3 + 9) + (9 + 5 * 4 + 6 + 8 * 3)) +7 + 3 * 3 + ((3 * 2 + 2 + 2 * 5 + 8) + (8 * 8 * 5 + 5) * 7 * 4 + 2) + 7 +4 * 5 + 7 + 7 * (5 + 5 * 9) * 4 +9 + 6 + 6 * ((2 + 2 * 8) + 8 + 3 + 3 * 9) * 4 +9 + ((3 * 2) * 3) * 9 + 8 + 4 +(6 + (4 * 9 * 4 + 2 + 3) * (9 + 5 + 2) + 5) + 6 * 4 + 5 * 6 + 8 +3 + 8 * 9 + 3 + 5 +(6 + (3 * 9 * 3 + 2 * 7 * 9) * (5 + 7 + 2 * 7 * 8)) + 2 + 8 * 2 + 7 + 2 +6 * (5 * 9 + 8 + 5) * (5 + 9 * 7 + 7 * 9 * (2 + 6 * 2)) * 5 +6 * ((6 * 3 + 6 * 2 + 8) + 8 + (3 + 2 * 5 * 7 * 4) + (8 + 7) + 4) +5 + ((2 * 4 + 4) + 9) + (2 * 6 + 5 + 8 * 2) + 5 * 4 * 6 +(8 * 6 * 6 + 4) * 7 + 5 * (7 + 8 + (4 * 6 + 7 * 3 * 6 * 7) * (9 + 6) * 7) + 7 +3 * (4 * 3 * 9 + 3 * 6) * (6 * 5) + 4 + 2 * 9 +(9 * (4 + 2 * 5)) * 7 * 9 + 4 +(9 * (9 * 2 * 3 * 5 + 6 * 6) + 6 + (6 * 9 * 2)) * 6 * 7 +(8 + (3 + 9 * 6 * 3)) * (3 + (2 + 2 + 5) * 2 + 3) + 8 * 4 + 5 * 2 +3 * 6 + (4 * 8) +(5 * 4 + 2 * (2 + 8 * 7 * 8 * 7) * 7) * (7 * 7) +6 * 9 * 2 + 2 + 6 * ((6 + 6 + 9 * 5) + 2) +6 + 8 * (5 + (9 * 3 + 3) * (9 * 9 + 3 + 6 * 3 + 2) * 5 + 4 * 4) +(5 * 3 * 5) * (3 * 4) +6 + (5 * 2 * 3 + 6) + 5 * 3 +7 * (7 + 2 + 5) +(3 + 3) + 2 + (2 * 4 + 3) + 5 + (8 + 4 + 4 * 2 * 4) +5 + 4 + (9 * 3 + (7 * 9 + 6 + 3)) * 2 * (3 + 9 * 7 + 9) + 9 +(6 * 8 * 6 * 2 * 3 + 9) * 3 + 2 + 7 + 9 +(5 * 3) * (4 + 8 + 3 * 5) +(4 * (3 * 3 * 9 * 6 * 9) + 6 + 7) * 4 * 2 +6 + (3 + 7 + 7 + 9 + 5 * 6) * (3 + (6 * 6 * 2 + 7 * 9) + (2 + 8 * 2 + 2) + (7 + 7) + 3) * (2 + 2) + 8 +4 * 9 * 7 * 7 + ((4 * 3 * 9) * 6 + (7 * 8) * 3 * (5 + 9 + 9 * 8 + 6) + 8) +8 + 6 * 4 +(3 * 6) * 9 +((6 * 3 * 8 + 2 * 3 + 7) * 4) * 2 + 7 * 3 * 8 + (5 * 6 + 4) +8 + 4 + (4 * (6 * 7 * 9 + 7 + 3) * (2 + 7 + 7 + 5 * 6) + 6 + 7) * 3 * 3 +(6 * 3 * 9 * 6 * 8) * 8 * (6 * 7) + 6 +(8 + 2 + 2) * 7 * 4 + 9 * (3 + 7 + 7 + (2 * 9 * 4 * 9 * 5) * 4) +6 + 7 + (2 * 3 * 5 + 7 + 2 + 6) + 2 +5 + (8 + 3) + (6 * 2 + 9 + 9 + 3) * (9 + 7 * 2 + 7 * 7 * 7) +3 * ((2 + 6 + 2 * 2 * 4) + 4 + (3 + 3 + 6) * 5 + 4) + 9 + 3 * 8 * (7 + 8 + 9 + 7 + 7) +(6 + 9 * 2 + 3 * 2) + 4 * 3 * 6 * 8 * 6 +7 * ((3 * 8 + 3 + 3) + 8) * 4 * 9 * 9 +4 + 4 + (8 * 4 * 9 + (2 * 9 * 6 * 3) + 6) + 2 * 7 * 5 +(4 + 5 + 9 + 9 * 2 * 5) + 5 * 6 + 8 + (4 * 2 * 5 + 9) +8 + (5 + 2 + 4) + 7 + (8 + 2 + (2 * 3 * 7 * 6 * 5 * 8) * 4 + 4 * 6) +5 * 8 + 3 * (5 * 6 * (4 + 7 * 2 * 5 + 5 * 6) + 7) +6 * ((3 + 8 * 3 * 9) * 4 * 8) * 4 + 8 * 4 + 3 +4 + (9 * 8 * 9 * 4 + 5 * (5 * 2 + 2)) + 8 * 2 +6 + 3 + 9 + (4 * 4 + 3 * 6) +9 * 3 + (6 * 6) + 6 + 6 +((2 + 3 * 3 * 4 + 4 * 4) + 8 + (8 * 2 * 5) * (7 * 3 * 2 + 4 * 7 * 9) * (3 * 6)) * 9 * 6 +9 * (6 * 5 + 3 * 6 + 8 + 7) + 5 * 2 +9 * ((6 * 7 * 8 + 2 + 7 * 5) + 4 * 9 + 8 * 3 + 3) + (7 * 6 * 4 + 8 * 9 + 8) +5 + ((3 + 2 * 3 * 3 + 4 * 3) * 9 * 4 + 5) +4 + 7 + (9 * 5) + 5 + (5 * 4 + 9 * 9) +9 * 6 + 2 + (3 + 7 * (9 * 4 + 7 + 2) + 7 + (7 * 9 * 5 * 6 * 6)) * 6 * 8 +(6 * 2 + 7 * 2) * 6 * 9 + 3 +2 + 2 + 2 * (6 * 6 + 3 * 9) + (5 * 3 + 7 * 4 + 8 * 8) * 7 +(5 + 7 + 7 * (8 + 5 * 5) * 8 * 3) + ((6 * 9) + 5) + 8 + 3 * 9 * (2 * 5 * 2) +(3 + (5 * 5 * 2 * 2 + 4) + 7) + (8 * 6 * 8 * (7 + 9 + 3 + 8 + 3)) + (8 * 7) * (8 * 3 + 3 + 2 * (8 * 7 + 8 + 5) + 3) * 8 +6 + ((3 + 9 + 9 + 4) * (2 + 3 + 6 * 8 * 8 + 3) + 4 + 7 * 3 + 2) + 8 +(2 * 3) + 4 + 7 + (8 + 8) +3 + 6 * (6 + (5 * 9 + 3 * 8 * 6) + 5) +(8 * 5 + 7) + 2 * 4 +4 * 6 * 7 * 4 * (4 * (8 + 6 + 8) + 2 * 2 * (3 + 6 * 4 + 5 * 9 + 7) + 5) +2 + ((5 + 4 * 4 + 3 + 5) * (3 * 9 + 7 * 2 * 3 * 6) * (9 * 7 + 2 * 2 + 5 * 3) + 6 + 2 * 9) * 3 + 9 * 3 * 9 +6 * 3 * (7 * 8 * 7) +7 * 3 * ((6 * 2 + 9) * 3 * 3 * (9 + 2) + (7 + 5 * 5 + 6 + 5) + 6) +(5 + (9 * 7 + 9 * 6 + 3 * 5) * 7 * 9) * 5 + 8 + (6 + 3) + (6 + 9 * (6 * 7 * 5 * 3 * 5)) +(3 + (6 + 9 + 7 + 6 * 8 + 7) + 3 * 5 * (7 * 3 + 8)) * 2 + 2 * 3 * 5 +6 + 7 * 7 + (9 * 3 + (5 * 8 * 9 * 9) + 3) * (7 + 2) +2 + ((2 + 6 + 9 + 3) * (6 + 3) * 3) * 6 * 3 +(8 + 3 * 2 * 3 + (4 * 7 + 9 * 5 * 9 * 5)) + 3 + 6 * 8 +6 * (3 + 2 * 9) * 6 + 4 +(5 + 6 * 8 * 8 + 4) * 4 + (7 + 5) + 9 + 2 +(9 * (6 * 9 * 9 * 3 * 2 + 4) * 9 + 2 * 2 * 5) * 3 + 8 * (2 * 9 * 9 * 7 + 5) + 7 +8 + 7 * ((4 * 5 * 6 + 4 + 9) * 5) + 6 * ((8 + 2 * 4 * 9 * 8) * 6 * (4 + 2 * 8 + 2) * 9 + 3 * 2) +5 * 7 + (4 * (8 + 6 + 9 * 4 + 4 + 6) * 6) +(7 * 8 * (3 + 3) * 4 * 6) * 6 + 9 * 8 * 3 +5 + ((7 + 6 + 2) * 7 + (2 * 7 + 7 * 9 + 8)) * 2 * 8 +((2 + 3 + 7 * 8) * 3 * (9 * 2 + 9)) + (6 * 9 * 3 * 7 + 5) * 7 * 9 +(5 * (8 * 2) * 3 * (4 * 2) + 8) + 3 * (5 * 3) + (8 + 4 * 8 * (5 * 6)) + 3 * 6 +2 + ((7 * 9 + 2 * 5 * 9 + 8) + (6 * 4 * 5 * 7 + 3 + 7) * 8 + 7 * (9 * 3 + 9 * 3 * 2)) +5 + 6 * 6 * (5 + 9 + (5 + 6 * 4) + 8) +(7 * 8 * (8 + 2) + (3 + 9 + 4 + 8)) + (6 * (2 * 5 * 3 + 6 * 6) * 7 + 5 * 8 * (9 + 4 * 5 + 8 + 6 * 4)) +(8 * 6 + 8 * 5) * 7 * 6 +9 + 8 + (2 * 6 * 4 * (6 + 5 * 5) * 3 + 9) + 4 +7 + 6 + (2 * (7 + 9 + 6) * 7 + 5) +(2 * (9 * 2 + 2 * 8 + 6) * 6 * 4) * 3 * 3 + ((7 * 9 + 9 + 2 + 6 + 8) * (9 * 5 * 9 + 6) + (2 * 9) * 9 + 4 + (9 * 4)) +6 * (9 * 5 * 4 + 7 * 6) * 4 * 7 +((8 + 6) * 5 * 2) * 9 + (7 * 8) + 9 + ((8 * 3 * 7) * 7 * 2 + 3 * 7) * 2 +5 + (7 + (7 * 3 + 2 * 5 + 6) + 7) * 4 * 5 + 2 + 7 +4 * 7 * ((8 + 2 * 3 + 2 * 9 * 8) + (2 * 9) * (2 * 8 + 2) * 8 + 6 * 4) + (2 * (8 * 8) * 4 + 3) +9 + 5 * (4 + 7 * 3 + 3 * 2) +6 * 9 + 3 + (6 + 6 * (4 + 6 + 8 * 7 * 5)) + 6 +(5 * 4 + 4 + (4 + 6) + (5 + 7)) + 7 + 6 * 3 * (8 + 5) + (5 + 5 + (5 + 5 * 4 * 9 + 4 * 4) + 4 + 5 * 8) +9 + (4 + (3 * 7 * 7 * 3)) * 4 * (8 * 5 * 9 * 3 + 5 + 9) * 2 +2 + 6 * 9 * 5 * 4 +7 * (5 * 4) + 3 * 8 + 8 +(8 + 3 + (3 * 4 * 4 + 9 * 5) + 7) * (3 * 2 + 9 + 7 + 9) * 6 + 6 +2 * 3 * 2 + 4 +(4 * (9 * 3 + 9 + 3 + 8 + 4)) * 7 + 2 * 8 +7 * (2 + 5 + 9 * 6 + 5) + 4 * (6 + 2 * 2) +(6 * 7 * 5 + 5 * 2) + 9 +(2 + 4 + 4) * 4 + 9 + 2 * 8 +6 * 9 * (9 + (9 * 4 + 2 + 7 * 5 + 3) * 6) * 5 + 4 + 7 +6 * 8 * (2 * (7 + 6 * 3 * 8) * (6 * 8 * 3)) +9 * 8 * 4 + 5 + ((7 + 4 + 6 + 9 + 6) * 5 * 2) + (9 * 2 + (7 + 9 * 6) + 6) +7 + 8 * (5 * 5) * 9 +7 * 2 * 9 + 6 + 9 + (3 * 9 + 8 + 8 * 9 * 5) +6 + 3 * (6 * 5 * 8 * 8) * 7 +4 * (4 + 7 + 4 * (9 * 2 + 3 * 9 * 8 * 7)) * (7 * 6 * 8) + 7 + 4 * 6 +5 * 7 * 6 +6 * 4 +8 * ((8 * 8 + 4 * 3) * 9 + 6 * 7 + 4 + (4 * 8)) * 9 +((3 + 3 * 2 * 8) * 9) + 7 + 4 + 8 +3 * 7 + 9 * (3 + (5 * 3 + 2)) +7 + 9 + 4 * 2 +2 * (6 * 6 + (2 * 8 + 4 * 5) + 4 + 5 * 6) * 2 * 8 +(5 * 2 * (8 * 9 + 5 * 4 + 9 * 4) + 7) * 9 + 6 +4 * 5 + 9 + 7 * 8 +2 * 6 * 5 * 6 +2 + 9 * (6 * 4 + 6 + (7 + 9 * 7 * 5 + 7) * 6 + (8 * 2 * 9 * 7 * 9 * 4)) +5 * 2 + 4 + 5 * 9 +9 + 6 + 5 + (2 * (7 + 3) + (3 * 8) * 8 * 8 * 4) + 9 +3 * (2 + 8) * 2 + 3 * 9 * 2 +9 + ((9 + 2 * 4 + 7) * 4 + 8) + 3 + 2 + 2 + (5 * (5 * 9 * 4 * 8 * 8 * 9) * 2 * 5) +((9 * 8 * 2 * 2 * 2 + 7) + 7 + 7) + 2 + 5 * 2 +7 + (7 + 6 * 9 * 5 + 9) * 6 + 6 + (8 + 9) + 7 +(7 + 6 + 5 * 5 + 6) + 2 + 2 + 2 * 2 +(4 + 2 * 9 * 6 + 8 + (5 * 7)) + 6 * 8 + 3 * 5 +(8 * 6) * 6 * 9 * 6 + 7 +3 * 8 + (4 + (2 + 8) * (3 * 6 + 3 * 5 + 9 * 3) * (9 * 6 * 6 * 2 + 5) + (9 + 9)) +4 * (4 * 8 * 6 * 8 * 3) * 2 +3 + (5 * 5 * 5 * (6 * 6) * 6 + 3) + 9 * 8 +9 + 5 * 3 * (2 + 3 * 6 + 4 * (6 + 7 + 6 * 6) + 4) * 8 + 9 +(5 + 5) * (2 + 3 * 3 * 8 * 9 * 7) * 4 + 4 * 8 + 9 +7 + (4 + 6) + 5 + 6 +(8 + (6 + 8 + 2 + 9 * 6 * 7) + 2) * 8 + 6 * (3 + 5) + 2 +9 + 9 * 8 * (7 + 7 * 9 + 9 + 6 + (8 * 5)) +5 * 9 * 3 * 5 * 3 + ((8 + 9 + 9) * 3 * 6 + 9 + 6) +(8 * 9 + 3 * 8) * 3 + (5 + 3 * (8 * 9 + 8) * (3 + 7 + 7 + 7) * 9) +4 * 7 + 7 + (6 * (2 * 8) * 2 + 4) +(3 + 9 * 2 * (5 * 8)) * 9 +3 + 3 * 6 * 2 * (9 * 9) * 6 +3 * 8 + (7 + 7 + (8 + 3) + (7 * 6 * 2) + 3) diff --git a/data/advent2020/input19.txt b/data/advent2020/input19.txt new file mode 100644 index 00000000..c41dfe27 --- /dev/null +++ b/data/advent2020/input19.txt @@ -0,0 +1,465 @@ +90: 86 86 +122: 86 1 | 99 20 +116: 86 58 | 99 75 +20: 86 123 +62: 99 95 | 86 113 +81: 76 99 | 90 86 +106: 120 86 | 93 99 +73: 99 72 | 86 45 +117: 131 99 | 72 86 +92: 86 96 | 99 98 +13: 3 99 | 118 86 +56: 90 86 | 58 99 +85: 72 99 | 51 86 +51: 99 99 | 86 86 +59: 99 25 | 86 62 +65: 99 15 | 86 97 +112: 86 13 | 99 38 +46: 33 86 | 2 99 +10: 67 86 | 68 99 +33: 120 99 | 76 86 +38: 35 86 | 125 99 +26: 86 10 | 99 55 +1: 33 99 | 60 86 +8: 42 +16: 51 86 | 93 99 +107: 40 99 | 2 86 +40: 17 120 +34: 86 82 | 99 127 +88: 93 17 +2: 99 51 | 86 120 +32: 100 99 | 7 86 +113: 86 127 | 99 82 +14: 73 86 | 44 99 +25: 86 101 | 99 56 +130: 110 86 | 109 99 +19: 86 4 | 99 49 +30: 86 92 | 99 70 +27: 17 86 | 86 99 +94: 47 86 | 53 99 +115: 86 107 | 99 84 +15: 76 99 | 58 86 +58: 86 99 +105: 130 86 | 32 99 +71: 120 99 | 131 86 +12: 99 131 | 86 82 +60: 72 86 | 93 99 +84: 86 102 | 99 80 +44: 99 76 | 86 72 +125: 76 99 | 131 86 +18: 99 71 | 86 52 +129: 37 86 | 111 99 +102: 99 131 | 86 76 +66: 86 105 | 99 41 +99: "a" +9: 99 18 | 86 65 +131: 17 99 | 99 86 +39: 76 99 | 93 86 +64: 115 99 | 114 86 +57: 86 48 | 99 94 +35: 72 86 | 51 99 +0: 8 11 +77: 86 83 | 99 106 +118: 72 86 | 75 99 +47: 99 103 | 86 85 +23: 99 27 | 86 76 +48: 119 99 | 78 86 +49: 86 51 | 99 45 +67: 86 120 +61: 86 72 | 99 127 +108: 72 99 | 72 86 +95: 86 58 | 99 90 +83: 86 27 | 99 131 +75: 86 99 | 99 99 +101: 51 99 | 27 86 +103: 90 99 | 90 86 +128: 86 69 | 99 33 +70: 99 14 | 86 19 +52: 127 86 | 90 99 +21: 86 24 | 99 59 +22: 86 63 | 99 12 +42: 79 86 | 66 99 +97: 51 17 +104: 86 33 | 99 28 +100: 99 16 | 86 39 +72: 99 86 +78: 86 43 | 99 50 +55: 86 6 | 99 34 +45: 99 99 +5: 86 46 | 99 77 +93: 99 99 | 99 86 +6: 131 99 | 51 86 +110: 71 86 | 28 99 +68: 90 86 | 27 99 +29: 87 86 | 122 99 +80: 86 93 | 99 131 +54: 120 86 | 75 99 +43: 93 86 +98: 99 103 | 86 117 +7: 101 86 | 88 99 +127: 17 86 | 99 99 +96: 86 12 | 99 61 +41: 99 5 | 86 112 +79: 86 57 | 99 21 +11: 42 31 +86: "b" +111: 45 99 | 72 86 +63: 76 99 | 127 86 +124: 86 81 | 99 116 +28: 86 75 | 99 58 +82: 99 86 | 86 99 +121: 64 86 | 74 99 +87: 86 124 | 99 104 +74: 99 26 | 86 9 +31: 126 99 | 121 86 +50: 99 72 +119: 34 86 | 36 99 +36: 86 82 | 99 75 +91: 86 131 +3: 58 99 | 27 86 +114: 99 129 | 86 22 +24: 86 89 | 99 128 +53: 91 99 | 95 86 +126: 29 86 | 30 99 +109: 99 108 | 86 23 +17: 86 | 99 +76: 86 86 | 99 86 +120: 17 17 +89: 54 86 | 37 99 +4: 99 131 | 86 58 +69: 27 17 +37: 99 58 +123: 86 76 | 99 82 + +bbababbaabbaaabaaaabbabbbbbababbbababaaaabbaabaaaaaabaaaabbaabba +aaabbbabbabbbbbbaabbabababaaaaabaaabaaaaabaaaabbbbabbabb +babaabaabbabaaaaabbababb +babbabbaababbaaaababbaabbbbbaabaabbbababaabbbabbbabababaabbabbabaabbbaababbbbbbb +bababbbabaaabbaabbababab +aaaaabaaaabbaabaaaaabbaa +aabbbaaaaababbaaabaabbbbabbbaaaaabbaaaab +baaaabaaaabbababbaaabbab +ababababaaaaabaaaaabbaaa +baabaababaaabbaabbbababb +abbbabbbbbabaaabaabbabbb +aaababbbabababbbaabbaaaabababbaa +babbaaabbaaaabaababbbabb +bbbabbbabbabaaaabaabaaab +bbbbaaabaaaabbbaabbbbabb +aaaaaaaaaaaaabaabaaaabbb +babaabbababbabaababbaaba +bbabaaaabaaabbaaaabbbbbbbabbabbbbaaaabab +babaabbbbbbbbbaabbaaabaa +baabbbabababbababaabbbaa +baaaabaaaabaaaaaaaaaaaab +aaabbbbbbbabbbabbbbbabbb +bbabaaabaaababaabbbbbbba +baaabaaabbabbaaaaaaababb +abbabaabbaaaaaaaaabaabba +aaaabababbbbbbaabababbab +bbbbbbabababbaabaabbbabaaaabbabbaabbabbbbaababbbabaabbbbabbabaabababaabaaaaaabab +bbbabbaaaababbabaabaabbbabbbabab +bbbabbbababbbbaabbbbbbab +baabaaaaabaabbbbaaabaaaabbbbbbab +bbbbaaaaaabaaaaaabbbabaababbaabb +bbbbbabaabaaaaababbaaabbbaababbbbbaaabaa +aaabaabaaaabaaaaababbaaaaaababbbaaababab +bbaaaababbbaaabbabbabbabbabbbbabbababaabbbabbabbabaaabbabaaaabba +aababbbaaaabbbaabbbbababbabbaaaa +abbbaabbabaaaaababaaaaaa +babbabbabbaabababbabaaaaaabbbabbbabaabbbbabbbaabbaaaaaba +aabbbaabaaabbabbbbaabaaabbbabbababbaababababbbba +baabbabbbaabbbbbbbaaaaaababababaaabbbbabaabaabbaaaaabbab +bbabaaabbbbbaaaababbabbb +baabaabaaababbbabaaababa +aaaabbbbabbbaabbababaaaa +babbababaaaababababaabab +bbbaabbbabbbabaabbbabbbaaabbaabbabbbbbbbaaaabaaabaaabbaabbbbabbb +aabbaabbabbabbbabaaaabba +abaabbaaaaabbabbaaabbbabbabbaaaa +bababaabbaaabaaababbababbbbbbabbbaaabaab +aaababbbaabbaabbbbaaabbaaababaaabaabbbaa +abbaaababbaaababbaaaabba +bbaababaaabbabaaababbaabbaabbbbaaabbaabbabaaabbabbabbbbbabbbaaabbbababbb +bbaaabbbbbaaabbabaaaabba +abbbabaabbaabaaaaaabbaaa +bbbabaabbbbbbbaababbbbaaabbbabba +abbabbaaaaaabbbbbbabaaabbaaaaaab +bbaababaaaababaabaabbababbbbbaab +aabbababaaabbbaaaaabbabbaabbbbbbbabbbabb +aaabbbaaaababbabbababbbb +aababbababaaabaabababbbb +bbabbbabbbabbbabababbbba +aaabaaaaabbbbbbbbaaaaaab +babaabbbaaabbbabbaaaaaab +bbaabbbaaabbababbbaaabaa +aabbbaaaaaaaaaaaaaaaabaaaabbbbbabbabaaaaabbbbbab +abaaaaabaabbbaaaabbbaaab +abaabbabbabbbbbabbababaa +baaabbaaaabbbabbaaaabaaa +abbbbbaabbaaababbbbabaab +aababbaaaabbbbbabaababaabababaabbabbbaba +abaabaaabbabababababababbaabaaabbbaabaabaabbbababbbabbbabbabbbbbabababaabbabbaba +aaaaaabaaaaabababbbabbabbbaabbabaababbbb +babaaaababaaababaabbabba +ababbaaaabaaabbbbababaaa +baababbbabbbbaaabaababbbabbbbaababaaabaaaabbaabababababaaaaababa +bbaabbababbabaabbbabbabb +bbabbbbaababbaabbbbabbbbbabbabaaaaabbbababbbbaabaaaaaabbbababbbbbabbbabb +baaaaaaababaaaabbbbbaaaaabaabbbbbaababbb +aabbabaaabbbbbaabbbaabab +ababbabbbbaabaaabababaabaaaabbab +aaabbabaaaaabbbbabbbbaaa +bbaaaaabbaaaabaaabbbaaaa +abbbaaaaabbbabbbabbabaaa +bbaaaabbaaaababababaababaaaabbbaaabaabaaaababbabbbaaaabaabaaabbaababbbaaabaabbaababbbaabaabaabbb +bbaabbaaaababbababbaaabbbabbbababbbbbbaabbaabababbababaababbaababbbaaabbaabbbbab +aababbabaaabaaaabbaabbaa +babaaabbaaabaababbabbbbabbbaabaabbaabbbababbabaabababaabbbababbabbbbaababbaabaaa +baabbabbbbaabbbaaabbaaab +abaaaaabbbaababaabbaabab +aaabbbbbaaababaaabababaabbaababb +bbaaababbaabbbbababbbbbabbaabbabbbbbaaabbbabbabb +bbabbbbaabbbbbbbbaaaabba +aababbabaaabaababaabbabbabaaaabaaabbbabaaabbbabbbabaaaaa +babbbbbbaabbbaabbabbbabb +baabbbbaababbaabaaabbabb +aaabaabaabbbaabababbbbaaaaaabaabbabaabbbabaaabbbaaaabababaababbbababbabaaaaaabab +aabbabaabaaaaaaababbababaabaabba +ababbababbaabbbaabaabaababbaabbbaaaabbaa +aabbababaabbbbbbbaababaababbabba +baabbabbbaaaaaaaaaaabaaa +baabbbabaaabbabbbbbbbabb +babaabaaaabaaaaabbbaaaab +baaaaaaababbbbbaabbbbbab +bbabbbabababbaabbaaababa +bbbbabababaaaaababbabbbababbabaaabbaabababbababaaaaabbab +aabbbbbababbabaaabababaaaaabaababbbabbab +babbbbaabaabbbbabbbbbabb +aaabbbabbabaabbbabaaababbaaabaab +abbaaabbbbaaabbbbabbbbbbbbbbabaa +bbabbabaaaabbabbbbbababababbaaabbabaaaaababaaaba +bbaabaaaaabaaababaababbb +baabbaaaaaababbababbaabaabababbbabaaabbbbbbaaabbbbababaababaabbbbbabaaababbaaaabbbaaaaaa +aaabaaabbbbbaaaabbbbabba +abbbaabbbabbbaaaaabaabab +aaabbbaabbaabbabbaabbbbbbbabbaaaaaaabbbaaaaaabab +aaaaaaaaaabbaabaaabbbbaabbaaaaabaaabbaababbbbbab +bbbbababbabababbbbababba +abaaaabaabbbbaaaabbbbbbbbaababbabbbbaabbaabbbbbabaaabbbaaaaaabab +bbbbbbaabaabaaaaaaaaabbaaaaaaababbabbabaabbabbab +abbbbbbbbaaaabaaaababbabbbbbaabb +bababaabaababbbaabbaabab +abaaaabaabaabbabaaabbbbbbbaaaaaa +aaaaaabaababababbbaabbbabbaaaaba +abaabaabbbababbababbaabb +baaabbaabbbaabbbbabbabbb +baababaabaaabaaaabbabbbabababbaabbbbbbba +bbbaabbabbbabaabbaaabbaaaabababaaabbbbaaababbaab +abaabbbbabbabbbbaaaaabab +bbbabaababaabbbbbbbaaaab +abbaaabaaaaaaabaabaaaabaabbaaabbabbabbbbaabaabab +aabaaaaababbbaaaaaaababb +aaabbbaaabaabbbabbbbabaa +aaaaabaababaabbabaaaabaaabbaaaaa +aaaabaabababbbbbaaaaaaaaaabbbbbbbbbbbbababbbbabbbaaabaab +bbabbbabbaabbbbaaaabaabaabaaabbbaaaaaaababbbaaab +aabaaabaaabbababbabababa +babbbaaaaabbbaabbbabbababbbbbbbaabbababa +abbaabaabaabbaaaabaaaaaaababbaab +abaaaababbaabababaabbbababbabaabaaababbbbbbbabba +bbaaaabababbabababbabaabbbaaabbbbbbabbaa +aabbaabbaaabbbaabaaaaaab +bbaabbabaaaabbbabbabbabb +abbaaabbabbbaaaabbbbbaaabbabbabababbbbbbabaabbbbbabbaaaaabaababb +ababbaabbabbbbbbbbabaaaabbbbababbaaabbbabaabaabb +aaabbabaaabbbabaaaaabaabaaababbaabbbabbababbbbabaabbabbb +abbabbaaabababababbbabaaaaaabaabbabaabab +babaabaaababbaaaaabbaaab +aaaaaababababaababbaaaab +ababbabaaababbaaabbbaababaaaaabb +bbaaabbabaaaabaabbabaaaaaaaababbbbbabaaa +bababbbabbaabbabbbbbabba +bbaaabbaaabbbbaabababaabbabbaaaa +aaaabaabaaaaabbaababbaabababbaaa +ababbabaabbabbbbbbaababb +aabbbbbbbaaabbbababababa +bababbbaabbabbaabaaaabab +bbaaabbbaabbbbbaaabaabba +aabbbbaaababbbabbbaabbbb +baaaabaaabaaabbbababbbabaabbbabbaabbbaabbbbbbbabaaaabbaababbaabaaababbbb +babbbbabbbbababbabaaabba +babbbbaaababbbbbbabbbaaabaabbaab +bbbbbbaaaabbbabbaaabaaaabbbabaaaaabaabab +babbbbbabbabaaaaaaaaabbb +ababbbabbabaabbaaaabbabbaaaabbaa +bbbabbbabababbbabbaaabbbbbbbaaba +abbabbaaabaaababbaaaaabb +bbababbabababaaaaababbbbbabbbaabababbaabaabbbaababbaaaba +babbababaabbbaaaabbaaaab +abbaaabbbaaaaaaabbababab +bbbabbbabbabbabababbbbab +babbbaaabababaabaababbbababbbbbaabbbbaba +bbbababaabaabaabababbbbbabaaaababbabbbabbbaaabaababbaaaaabaaaabbaaaabbab +babababbabbabbbaaaaabbab +baabbabbabaabbaaababbbbb +aabbabaaaaaaabbaabbabbbaababbaabababbbbbbabbbababbbaaaba +aababababbbabbbaabbaaaaa +aabababaaabaaabaaabbaababbbabbaabbaaababbbbbbbababababbaabbbbbab +abbbaabbbbabbbbaabbabbab +aaaabbbbaabbaabbbabaaaaa +aababbababaabbbaaabaabba +baaaaabaaaaaabbababaabbbabaaaabbabaabbbaabaaabbaabaababaaaabbaaa +ababbaaabaababaabbbbbababaaabbbb +babbabababbbaaaabbbaabaa +baabbabbbaabbabaaabbbbaabbbaabbaabbabaababaaabaabbaababbbaaaabbb +abaabbbbaaaabaabbbbbbbba +baabbabaaaababaaabbaabbbbbbbbbbb +abbaaaabababbbbabababaabbbaaabbaababaabbbaaaaaaaaabaaaab +bbbabbabaaaabbababbaabababaaaabaaabbaaaabbbababa +bbbababababbbbbbababbbba +bbbbbbaaaaabbbaabaababab +aaaabbbaabbaaababaaababa +bbaaabbabbabaabaaaabaaaaabaaabbabaaababb +ababbabaabaabbaababaaaaa +bbbaabbaaaababbaabbbbabaaabaaaab +abbbabbbbbbabbaaabbaabbbababbbbaaabababb +bbbbbaaabaaabaabaabbaaab +bbaabbababaaababaaabbbabaaaababaabbaaababaabaaab +abbbabbbaabbbbbabbababbb +bbbaabbabbabbbabbaaaabba +bbabaabaababbbaababababaaabaabababaaaaaabaaababb +babaabaaaaaaabaaaabaabba +babbbbbaaabbbaaaaabbababbaababba +aababbaaababbbbbbabbabba +bbabbbabaabbaabbbbbbabaa +ababbababbbababaababbbaa +aaabbbaabbabaabaababbbba +bbaabbabbbabbaaabaabbbababaaabaabbbbbabbbbaaabaaababaaba +baababaabbaaabbabaaababb +abbaabbbababababaaababbbbaabaabb +baabbbbbaaabaababaababba +babaabaababaabbbbaabaabaaaababaababbabba +bbaaaaabaababbaaaabbaabaaabbabbbbababbaa +abbaaabbaaabbbbaaabbbbaaabbaaaabaabbaaabbaababbbabbabbabaaaababb +aaabbaabababaaaabaabaaab +bbaabbaabbbabaaabbabbbbbbbbabaabbabaaabababbbbabbaabbabbbbbabbaa +bbbabbbbbbabbbaabaababab +bbabbbbabbaabbbababbabba +aaabbbaabaabaababaabbabababbaaaabbbbbbba +babbaabababbabababbbbbbaababaabbbaabbbbababaaaabbbaaaaababbabaaabbbbaaaaabaaababbbbaabba +babbbabbbaaaaaaabbaabbbbabbbbabbaaabababaabbbbab +bbaaaaababaaabbaabbbaaaaaababbabbbaabaabaaabaaabbabaabab +baabbbbbabbaaababbbbaaabbbbbbaabbbbbbaabbaaaaababbaaaaaaaabbabba +bbabbbaaabaaabbbabbbabaaaababbaaaabbbaabababbbbabbababaaaaaababb +baaabaaaaabbababbbabbbbaabaabbbaaabbbaabbaaabbabbaaabaab +aaaaaabaaaaabbbabbbaabaa +bbaaabbbbabaaaabbabaaaabaabaaaaababaababaaaabaaaaababbbb +babbaaababbbaabaabbbbaab +aaabbaababbbbbabaaabbaaaaabbbbbaabaabaababababababbabbbb +babababbbaabaaaabaaabbbb +babbabaaaaabbbabbbbbbbaabbbaaaaa +aabbabaabaaabbbaaaaaabab +bbbabbaaabbbbabbbababbabaaabababaababaab +bbabaaaabaabbabbbbbabaabaaababbb +baababbbbaaaabbabbaabbbbbbbbbaaabbbbaaba +aabbaababaaaabaabaabbaba +bbbabbaababaabaaabbbaaaaabaaaabaaabaaababababaaabbababbbbbbbabba +bbabaabaabaaabaabbabbaab +aabaaaaaaaababbbaaababbbbbbaabab +baaaabaaabbbabbbabaaababbaabbaaa +baabbbbabababbbaaababbbabbabbbbabbaabbbaabbabababaaabababaabaabbbabbabba +baabaabaabababaabaaaabbb +abbaabbbbabaabaaababbababaabbabbbabbbbabbbbbaabababbaabb +abbbabbbbbbababaabbbabbabbbbbaab +abaaabbbbbbaabbbaabbaaab +ababbbabbbabbbaaabaaabaababababa +bbbbbbaaabbbaaaaaaabbabaabbbbaabbbbaaaab +bababbbbbabbbbbbbaabbbbbbbababbbbabbabbbabbbbaabbaaaabba +baaabbaaaaaaaababaaabbbaabaabaaabaabababaaabbaaaabbaabaa +aabbaabbbbbabaababaabaaaababbaaabbabbababbbbaabb +abbbbbaabbbabbbbbbbbaaba +aaabbabbbbbabbbababaaabb +abaabaaaaabbaaaababbbaab +aaaabaabbbbbaabababaaaaaaaaaaabb +bbbababaabbbabaabaababba +abbbaabbabaaababbbbbbabb +babbabbbaaaaabbbaababbabbaabbbbbbaaabbaaaabbbbbaabaababbbbaaaaba +aaaaaababbbababababaabab +bbaabaabbbaaaabbabbababaaaaaababaabaaabb +aabbabaababaaaababbbabab +ababbbababaabbbbbaaaabbbbbbbbaababbbbaaabbabbbaaabbbabbbbaaaabbbaaaaaaaaababaaab +bbbabaabaaaaabbaaaabaabb +babbaaabbaabaababbbbaaba +bbabaabababbbbbaabaabaaabbaaabbabbbabaaa +abbabaabbaaaabaabbbaaaba +aabbabaabaaabbbaaaabbbabbabababbbbbaabbb +aabbbbbbabababababbbbbab +abbabbbabbabaababaaabbbb +baaabbaaababbaaabaabaabb +bbbabbbaaaabaaaaabaaababaaaabbbbaabbaaaaabbbabab +aabbbabaaaababaabaaaaaba +abbbabbbababbabbbbaabbaa +abbbbbabaabababbbabababa +bbaabaabaababbaabababaaa +bbabaaabaababbbaaababbbaaaababba +abbaabaababbababaaaabbbaabbabaababbbaabaaaabaaabaabbbbab +babbbaaabbabbbaababbbbaaaabaababaaaabaaa +babababbabaaaabaaabbbabaaabbbabababaaaabbbabbaab +aabbbaababbaaabaababbaababaaabbbaaaaaabaababbaaaaabaaabbbbababaa +abbbabbbaaabbbbaaabaabab +abaabbaaaabbaabbbbbaaaaa +bbabaaabaaaabbbbaabbbaaaaabbbbbbabbbbbbabbbabaaa +bbbabbaababbbbbabbaaaaabbabaabaaababaababaaaaabb +abbbabbbababbaaabbabaaaaabbabbbabbabaabbbaaaaabbabbabaaabbbbbbbb +bababbbaaaabaabaabbababb +abbbbbbbabababaaabbaababbabaaababbaaaaaa +abbaabbbabaaaaabaaaaabbaabaaaaabababbbababbbabab +abbabbbbbbabaaaabbbabbbabbbbaaba +abbaabbbbaabaababaababba +bbabaaababaabbbaaaaaabbb +baabbabaaaaabbabaabbbbabbabbabbabbaaaaaa +babbbbbbababbababbabbbabaabbaaab +aaabaaabbbbabbbbaabbabbbbaaaaaabaabbbaabbaababaa +baabbbbbaaabaababababbab +babbaaabaaaabaababbabbaaaabaabaa +abaabbbbbbabaaaaaabaabab +aaaaabbaabababaabbbbbababbbababbbbaababb +abababababaabaaabbaaababbabbabbb +abaaaaabbbbbbabaaaaabbaa +aaaabbbbbbbbababbbabaabb +bbabbabaabaaabaaaaababab +aaabbbbbabbabbbbbabaababbbaabaababbababb +bbabaabaabbabbaaaabaabba +abbabaaababbaabaaaaabbbabbaaaaabbbaabbabbababaaabaabbaabbbbaaabaaaabbbaabbbbabba +ababbbabaaabbabbaaabbabaaabaabba +bbbabbbbbabbbbbbabaaabaaaaababbbbababaaa +babbabaaabbaaabbabbabaaa +babbbbaaabbbbbaaabaaabaabbbbababbaaababb +abbabbbbabababbbbbabbaaabaaababb +babbababbbaababaabbabbab +bbaaababbbbbaaababbbbabb +baaaabaababaabbbabaabbbaaabbbaabaaaabbab +abbaabbbbbaaaaabbbaabbabbaabbaab +aaaaaababbaababaaabaaabababbbabb +baaabbaabbbababaaababbbaaaaaabba +bbbbabaaaaabaaaaaaababbaaaababbbbbaabaaaaabaaaabaaaabbaabbbbbbbb +abaaabbbbaaabaaababbabba +aaaaabaaaaabbbaabbabaaaaabababaaabbbbbaabbaaaaba +ababbabababbbaaaaaaaabbb +aaababaaabaabbaababbabbb +ababababaabbbabbbaaabaab +baabbbabbaaabaaabaaabbbabbabbabb +bbbabbaabbabbababaabbbbaabaabbabaabaaabbbaaabbbb +aaabbbabaaabbbbbabbabbbbbbbaaaaa +aaabbababbaaababaaaabbaa +bbbabbaaababbbabaaabaabb +baababbabbbabaaababaaababababbaaaababaabbbbaaaabbabaaababbbabaababbabbbbbaaabbab +bbbabbaababaabbabbbbbaaa +abababaabaaaabaaabababbbbaababbbbbabbaaaaaabbaabbbbabababbabaabb +babbbababaaabbbabaababbbaaabababaaaababbbabbaabbabaabbba +bbbabbaabaabbbbaaaaaabaabaaabbab +bbbabbbbaabbaabaaaaabbbbbaabbabbabbaabaababbaabbaaabbaaa +aaababbbbaaaabaaabbabbbbabbbbaba +aaaaabbababaabbabaaaaaaaaaaaaababbbbbbaaababbaaaaabaabab +babbababbaaabbabbabbaaaabbaabaabbaaabbab diff --git a/data/advent2020/input2.txt b/data/advent2020/input2.txt new file mode 100644 index 00000000..1ebcffb2 --- /dev/null +++ b/data/advent2020/input2.txt @@ -0,0 +1,1000 @@ +3-7 r: mxvlzcjrsqst +1-3 c: ccpc +6-12 f: mqcccdhxfbrhfpf +14-15 l: llllllllllllldgll +11-16 n: tnsznnfscnwtsdwn +1-5 v: jvlgm +6-8 f: ffffhfdg +5-6 w: xmwwhw +16-18 p: ppppppppppppppptpjp +1-3 z: zszlzbjdcwvnr +4-18 t: svptbwvbkqvpzbcxtc +6-10 g: rhtwpsxrzgpgxhk +19-20 j: zpjxfwvkjjktpkrbpdkj +10-11 p: prppppppppnppb +8-12 b: pzsdlxgbfkdb +8-11 k: ktkkkjkkwknp +5-10 w: wwwwwwwfwwww +6-8 k: kkklmrkqsk +14-16 z: zzsdzzzrzgkblkzw +14-17 h: hhhhhhhhhhhhhmhhwh +3-11 c: mjvvwjzqbwc +2-10 k: kkkkkkkkkkkkkkkkk +8-10 c: rjtvnjccwc +4-6 l: wmlljl +1-2 t: lsfz +1-2 k: zkkq +16-17 k: kkkdkkkkkkkkxkknkkk +1-2 x: pcnrxx +6-16 t: dttttttttttttttttt +2-4 m: rrhmrkwhdfsmjxq +12-19 v: dxvgvcgszzxvpczvxsp +7-11 d: xddfqnddgnd +8-9 z: zzzzzzzsz +2-4 q: qqqqqq +8-11 j: jkfgjkljjvd +5-12 h: hhjhmfhrhhhh +12-13 b: bbbbbbbbbbbrpbbb +10-14 r: bmrttrbrmvfgcrrrj +7-8 l: ljlllpll +8-10 m: mmzmmmmmmh +11-12 f: qpfffffnfffmff +2-7 c: qcwcdns +3-4 t: tctt +11-20 z: zzhzzzczzzpzprzkzzlk +5-6 v: vdvvtvv +10-13 z: zqzzzdcjzbzzzszh +11-20 k: xmckvrzfwrkkkjlhvtfk +1-9 d: dwddcdddqxrdqddqd +2-5 p: gwlpprkqkdnt +7-9 h: hbrhphhhhkhphhh +6-8 f: ffffxhfmw +1-10 p: pppppppppjp +1-3 k: wkrk +4-9 r: rrvrrrrrrrkrqrskr +5-20 c: dpclkznjtqdcvscwcnml +15-17 t: ttttttttttktttrtxzt +3-10 z: gjpszrzkkz +5-8 f: fffffffffkff +3-8 b: btjpwbxn +1-6 k: zkmkkskkktkkp +10-12 f: ffffffffffffffvfbh +8-12 b: jxkfhgllbbtbv +1-10 z: gcswlzkgxzxd +4-19 p: pjppbpljprptcppvcngp +1-16 v: trjvcgvvvvqvndmn +7-14 x: xrxxmzxvtxnlxx +2-3 q: wqnq +2-5 w: mwxswhpfwnmrm +13-14 w: wwwwwwwwwwwlwww +8-10 q: qqpqqqqrqs +6-9 k: sdhqvvpbfcx +1-5 v: vvqcw +2-3 k: tkfwjzrk +8-14 v: vsvvfvvfvvmlvvtvv +6-9 v: vvtvhvvvv +6-9 x: xxxxxvxxzx +14-15 z: dtdsfssszznpczb +2-3 q: qjqg +18-19 b: bbbbbbbbkbbbbbbbgpbt +2-4 j: vtjjnvpnvmmtddqznml +12-15 k: fknkkkkkkkkkkkk +9-11 c: tffkcwkdrvpd +9-10 x: xxqjxxxznx +5-6 m: mmmmmd +3-10 q: qzcqqjxlmjqqqqq +9-13 r: rbbbmkmpbkwzc +6-11 v: vvvhvvvvvvvvvvvvv +6-11 r: rrrrlrrtrrszrr +4-11 n: znpjndnvnnzc +9-13 r: mrxrwwkhkrrhbrrb +4-10 v: vvvvvvvvvvvvvv +5-8 r: kmppsrxk +5-6 k: lkksjk +2-6 d: gzdthhpglpgjdj +1-4 b: bnbb +8-10 b: bbbbjbbrbbb +14-16 f: fffffffffffffffff +5-15 j: jpxjjjgjjjjjpfjjj +3-5 z: gvxzz +18-19 g: wggggggggggggggggdgg +1-2 x: xpxxxc +13-16 f: ffdffxvfffwfxmfmfrf +6-8 b: bbbbrcbj +5-9 q: qrmgkqbql +3-6 q: qfqkvq +4-6 c: cccwgc +1-16 c: pccccccccccccccscc +7-10 m: mmmmmmdpmcmmmmmmmmm +6-7 r: rrprrpb +4-5 s: sxdsn +12-16 h: hhhxhhhhhhhbhhcq +2-4 l: rlccllz +12-14 g: gggggggggggmgmggggg +11-12 b: bbbbbbbbbbjxbbjb +3-5 r: rwcdz +3-5 d: ddddd +3-4 z: zzzzzz +7-8 c: cccccczhc +11-12 r: rrqrrrrrrtrrrhr +3-5 g: ggggnwgp +5-6 f: ffmfbf +2-5 g: zgfgggtgg +1-8 z: zwjmtrtgnzsjdmkzvk +1-6 q: qqjjqqk +7-10 j: jjmjjjjkgg +16-18 g: gggggggggggggggggggl +1-3 s: jhchssfsqs +11-12 m: mmmmmmzmmmzb +18-19 t: tttttttttttxtttttsht +8-9 t: tmttttttc +12-14 g: mmdzgggqwnwxmg +6-8 x: csmvxkfxkg +4-5 r: crrrz +2-4 f: fxpq +6-13 v: xvvvwvkvvvlvvdvg +3-7 j: wjjxjjkjcwjpjjj +12-16 g: xgblggrgggggggggpg +4-5 r: wrrrr +2-12 l: lllllllllllllllllkll +4-6 g: sbvghg +3-7 j: sjjccjlcsb +2-10 j: nhjssggdrv +1-2 n: nnnnnn +4-9 x: xxqvgxsgnn +18-20 m: mmmmmbmllmmmmmmmrmgn +8-9 n: nnnnnnnnqnnn +1-4 x: nxxzxxx +2-12 l: lsllllllllldllxllll +7-9 t: jvtjqtqkstttk +15-18 m: mmmmmmzmmmmmfmcmmwm +7-9 n: nnnnnnnnn +1-2 k: qkbm +5-11 m: msznmlmmmhghn +17-18 n: nnnnnnnnnhnnnnnnlknk +2-3 r: rrrr +1-5 n: nslzn +18-19 b: hnbcxvbbbmjgmrtbxbz +5-7 r: rrrrfrjr +8-13 x: xxkxxxxxxxxxxx +2-4 s: qjqg +2-14 h: hhhhhhhhchhhhmhhhh +2-5 k: kfjqgkvmkgxkn +10-14 v: vvvvvvvvvqvvvfv +5-14 b: bbbbbkbjbbdbbbbb +6-8 r: trrqqsrvz +13-15 d: ddwdnjdcqckdzdr +1-9 r: rrrrrrrrzrqzqrrrrrr +16-17 v: vvvvvvvpvvvvvmvjvb +2-3 t: xttsckjbbdtt +8-9 h: hhhhhhhhhh +8-10 x: cwxnpxsxpf +3-4 w: wwww +2-10 v: rvcgnvtpsv +12-17 f: ffffffffkfftffffn +4-6 n: hjdxnvbjrb +2-3 b: bsrb +3-8 g: kttgwvwfgdhkt +11-12 k: kkspkkkkkdckbkzkkk +3-4 g: ggjl +7-9 r: rrrsrptrrrrrprcrw +9-15 l: llhlxfldlclfzswgjlk +4-5 p: ppppdp +10-20 g: vhsxgvgwzkfsngszbgfm +8-9 b: vhxlqfbwbsxkbjmc +11-13 p: ppppppspkprplpppp +2-5 d: pbffwd +14-17 p: jplkcfzphzcdlpcplm +3-11 m: jmmwtzmwmbmm +4-8 j: xnsvfcrjsj +8-9 d: ddddmdgdt +2-12 w: wtwwwwwwwwwww +11-17 m: mmmmmmmmmmmfmmmmw +17-18 d: dddddddddddddddwfd +2-3 m: mrhmmm +3-15 l: zmvlldsrflxfhlll +6-10 z: zzzzztzzzz +4-5 j: sbrjj +4-9 s: hdssssbkmsrrkw +16-17 d: ddddddddddzddddbdd +8-11 l: lllkqlnkwcmw +17-18 c: ccccccccccccccccls +14-17 n: hjxnnpnhftlxshnjw +14-15 x: xxxxxxxxxxxgxdpxx +10-12 n: rnnnnnnnnjnpnnn +3-4 l: hvjk +1-7 k: kkkkkkrk +2-8 t: tvzgpsztkjxgzsqddqp +13-17 b: bbbbbbbbbbbbbbbbj +16-17 b: bbbbbbbnbbbbbbdbfbb +3-4 v: vnvvt +3-13 d: dkpdddddddddpdddd +7-12 f: ffffftfwfffffffffbfr +1-4 k: gppr +1-3 t: tttt +5-12 d: ddndddcpqjkddqwlddd +3-8 h: rphprwhhdh +5-6 b: jxbbwn +5-8 x: xlxxscmwxz +4-19 m: tlhhjnhjblzjrxpxgmm +7-10 f: fffffffffsfff +13-14 g: ggggggggggggdlgggg +3-7 j: kjjpmwl +4-6 t: zrtdgtf +4-6 l: lsllll +8-9 j: jjjbjqjzjjjjwj +4-14 x: xxxdxxxxxxxxxfxxx +6-7 w: wwxkzwwjzb +4-7 q: bcqxkhw +14-16 f: fdffzlffbfffpffffff +12-13 l: gllxlllnllxlrxzllll +3-4 m: kmdhnphcm +2-8 m: tmnpfmlm +7-14 x: xxxxxxxxxxxxxxx +2-3 z: zzcf +7-11 s: zvsrsstpssfhfmssss +2-11 j: njmlkghhrjjx +9-12 w: wwwwwwwwbwwww +12-13 l: llllllllllllb +1-4 j: jjjj +2-4 j: jjjxr +5-8 n: nnnffnvcnvbsnnw +18-19 h: hhhhhfhhhmhhhhhchqh +5-7 d: zdddzjcf +7-11 g: ggggggggggggg +1-3 t: ftrt +1-2 x: pxpxmxxxxfxxj +6-7 v: nkphvvv +6-7 x: rxxqxmx +3-7 j: pjfjjjxjjjj +14-15 p: zwpctlgtldwdppjhf +2-8 m: xmlhvvcmrbzfxmn +8-17 w: wwwwwbwwwwvgwhwsww +13-17 n: nnndnnnnnsnsnnnns +7-9 c: xnrnfzddc +1-5 s: ssssssss +8-10 z: zjzzzzhdzd +10-13 c: bvmrccnxcwdcz +5-9 p: pppphppppp +5-6 r: zdnmcrqkw +1-3 m: mmmm +3-8 l: ndllbnwdfmgvm +2-5 p: kpprp +2-3 s: sqfsssssssb +7-8 q: qqdqjwqqc +1-2 p: ppppp +6-7 j: jjjjjqjjjj +1-2 z: zzzz +4-11 p: pvgrdzppmqwzpptptrwk +3-4 r: rrvzr +1-11 r: rrrrrrrrrrrrrrrrrrrr +7-8 p: ppxppppp +15-19 v: vvqvdvlmhqvsnvvvnvdv +1-2 f: hfpljw +2-3 j: cjjjx +13-16 v: vvsvvvvsvvvvvjvkvvq +7-12 d: ddgdddrddqddnddddd +7-11 w: wwwwwwxwwwmwnt +4-6 h: lfrczh +6-7 r: rrtrhrrrrrrrh +3-8 m: lmwmmnjmmzs +5-6 k: bwkrkkkc +2-4 v: cqvz +3-4 f: pjjf +4-7 m: rmmjzct +1-3 t: tsttsxxhds +5-7 g: ggggdllggg +4-13 n: fjtmcnmvcrnfnxnwrfmq +5-8 w: schwwlhb +3-4 q: glqqwq +2-7 r: tkwdmwrxkrz +9-11 k: rbkvkkkdhlkkk +6-7 x: xxxxxjzx +10-16 r: rdhtslrmrrfkdcbq +6-8 w: bjjjwwwtvwwxwm +8-11 t: tvncrcktktts +6-8 c: ccccchcqc +9-12 x: xxxxxxxxxxxxx +7-16 d: hxljdhdqkwmnhfjd +10-12 l: lllvlxllllfmllmll +1-9 d: ddndsdsgd +2-9 g: ggqkpwmkc +15-17 s: sspszcsksssgzsmls +13-15 z: znzxzzvkpxzzzqzz +6-7 d: tcddfdjrwzrxgdnjcd +11-13 q: zbdbqxcqvpqgntmxq +2-5 k: kkkkfk +3-6 k: tkgxpsxjbkzcs +10-12 x: fxxxxgxxxsxwx +1-9 h: hhbbppghhhlmlxhw +6-8 w: wwwwxwwvnqw +13-16 g: gghgbggggdnggggg +4-12 p: pbpbppppqppqppppp +13-14 c: bcccccccccccdzcc +10-11 p: pppbppjpppp +5-6 p: pppppw +3-4 p: gdppzmcpcp +8-14 d: gdhddkldddxdddtdd +3-16 g: ggdgggggfgggggghgg +1-16 x: wgjdllqkjxxhnbvxmw +5-18 n: nnlnhngnsnnnnnnnndn +4-5 k: rkjvk +9-10 j: mpxjjjjjjjjqjzjkjp +7-8 k: kkhkbskk +8-11 b: bbbbbbbbbbbbbb +2-4 k: krskw +8-10 x: xxxxxxxxxxx +1-5 x: xfxxxtkxx +18-19 m: mmmmmmmmmmmmmmmmmxm +3-10 w: nwxlwvzsgkwkq +1-3 l: ktlll +11-12 z: sbslzvtzlzzzhg +3-10 z: wrzzrqwlzzg +2-6 k: kswbxkjtcqxwvxz +3-4 t: nvtt +3-5 w: wwnwg +11-18 f: mtfffjpffffgmvfslfv +7-9 m: brgcmrpxmzxttxnt +2-3 s: hssgzs +6-7 v: svvnbvv +16-17 s: csfmdrsgscjvbsqqq +7-14 g: ggggggggdggsggggg +2-3 p: dprwpp +4-5 s: sssxs +7-11 f: ffffffffffnf +6-7 n: njnlnnn +4-5 c: cccvccn +11-13 k: xswkdfpkkbkhskkkkmrm +5-8 l: lldlflllllllll +1-4 b: hbbx +3-9 m: mmmmmmmmmm +1-8 c: cprcfbrr +3-4 h: dvhh +1-2 l: lwlltl +4-6 q: qqvqqqqqqqq +4-9 b: vprbbbbxkgrqnn +9-11 t: qttxztttgtttztttt +5-10 r: rbqzrkctlhrr +1-6 p: zppfpqpppnp +5-7 r: rrrrxrhrrrrrrr +3-4 q: qqlq +1-9 s: vvsvsrsslsmssdqsjss +1-3 m: mmrqm +1-6 n: nnnnntn +3-10 n: lhnbhnpgvxqfbk +7-15 g: qhgbvggkggjggggjfwg +3-12 t: tdtwtdptndttqcjtdtl +4-10 x: xzxjsxxxxcxtxw +3-10 p: fpphpvlltk +1-4 s: dssstskszsssss +4-5 f: cffjtf +1-4 x: gxxxpx +3-7 h: gwxlrhhw +4-7 t: tttttttt +1-3 h: hgmhh +5-6 v: vvvvgbv +2-4 j: ncjjsf +3-6 j: tjfjmjc +1-3 p: fxbwnp +1-6 b: kfbbxb +1-4 x: pxxnx +10-12 r: rrrrbrrrrjrv +1-4 b: lbbbbbb +1-5 l: blzlt +13-17 g: gvgggggggggzfptgg +5-12 p: mlphpgdlmmjpnfrdj +4-10 h: xmphdjnxzh +15-18 m: smmmxmlmljwvmxlmkj +11-14 g: ggfgsgggvgdgggn +3-5 f: mffkf +3-7 d: dndhwqdpkdstpghdrc +5-7 f: fffflfff +3-9 w: kbwmvhpbwgtqbfdswkl +4-10 r: qjzrqfnvpmd +7-16 h: tshsnbhhlhmhhhhh +6-8 t: dcxtttkttttt +1-3 d: dcmcdqx +2-5 m: mmrmq +5-6 j: jjjjjkj +2-4 f: fdlprf +2-4 f: dfrfc +17-18 h: hkhhhhhhhhdhhhhhhhhh +8-18 s: sxpstpssrrrssblsdv +5-7 z: zzzzzzpzzzz +2-4 t: tggt +4-6 v: wrcbkv +3-4 b: wgbx +6-7 f: ffjbvfbg +1-14 b: rbbbbbbbbbbbbzbl +10-11 j: jjjjjjjjjdkj +6-7 b: zdbjhbh +3-4 c: wccccgc +7-8 n: fnnnnnwnmnnnnnfndnnn +7-8 b: bbbbbbtbb +4-16 j: rrjjmgnvsvddqkjk +3-5 j: pfjjs +2-5 k: hkkkd +4-12 l: lllczlllllllllll +7-15 p: thdkpvqpppmlppppv +6-7 x: xxxxjxcfx +11-13 s: tssssfsbdsbss +4-5 h: dlsmhlbwjhh +4-16 z: gcdzjwlxtnccsvngjzm +8-11 q: qdqtqqqkqtmqqqq +5-11 h: hhhhlhhhhhxhh +3-10 s: ssksssssnxsss +3-4 g: ttgh +2-5 j: skjxjnrb +1-4 l: lllklq +2-4 h: nhwzbffshjjqdhqgfd +6-9 l: llxslllrlhzwfbl +3-4 v: vvkb +7-12 t: rhtzdltmdgbfptcvfr +8-9 f: pfsfcffmgfffx +12-13 n: nnnnnngnnnntfc +3-5 z: dgzszvgzffswkjwnp +5-6 p: tvvphcj +10-11 s: gfpxwclsgvz +16-17 n: nrhcnnnlnrcnncnsn +6-8 d: dkcdzdzdsdncdddd +5-9 t: pgtttktwt +8-17 m: kczbmbkpxrpmbqpmmzd +12-15 g: gggtgggggggcgggxgg +5-15 r: hrznshmtrxwhqmf +2-9 k: ntjmwhqbmz +2-3 p: bprvhqpv +4-5 p: pvhfp +6-10 v: vtmcvvhcvt +1-2 p: gpphz +16-17 l: ppvhzpwtrkldlnsnlnl +16-17 m: kqbmmtmmmzmmmqmjw +18-20 k: khcsktxdxkbbvmkkkcxk +2-8 f: fqfqpfff +1-8 p: pktpkppphppppppppcc +2-4 g: fhgcf +4-6 g: ggggggggg +2-3 c: ccxf +7-16 r: rrrrrrtrrrrrrrrrrrr +2-4 n: nnqnn +3-4 l: llllllllllll +1-7 k: kzrbfgdb +9-11 q: qqqqqqkqhmdq +5-7 x: kpvkxgpnngx +5-8 r: wrtjcnnn +7-9 r: rrrrrrzrc +8-10 t: kgckbkgtst +7-12 g: gglgggggggggggg +3-9 t: dttgrtrttjj +6-12 c: cccccfcccccgpcccxr +7-8 b: vbbvbbpg +6-7 p: pjxpppkpd +12-14 z: zzzfkhmpzzfzdzz +14-20 b: bdbvbcbbbbfsbjhbrbhb +2-3 n: kqjvnn +4-5 m: mmmgm +2-4 q: xqwq +6-7 b: xbfbpmb +13-15 j: ghgxhdjngckxwzj +1-7 c: wnxnndbctg +2-7 g: ggggggggg +1-8 t: ttntttttmtnntt +4-7 j: jjjnzcjqbjjvjpdxjmx +14-15 d: ddddczddddsdddxdd +3-8 k: kkckkkkkk +6-14 q: qqqqqsqzqkqqqw +3-5 q: qqqqb +5-11 h: tdpkhpxqqgmnkhxlfl +7-9 r: jrxdqdcrrr +1-10 z: lwsllcvzbzzzzdzzgzr +4-9 w: wwsjbwwdhc +2-5 f: wjsffff +7-8 n: rbtktkmbnnt +2-3 k: kkkjcszknc +3-4 v: nqvlxkwrjblmgbvncvz +9-10 g: sglkwwxggmt +2-7 s: srcvkjxdtn +1-2 j: mdjjj +2-15 x: qxxsfddqknrbgmggm +7-8 h: hhshhqhl +4-5 p: kpppwp +4-9 p: czcdmbwnhztncrhgnmhb +7-14 z: gzzzqzzzjzdzzzzbzvfz +17-18 d: dddddnddddddddddcd +13-15 g: kxscchzmtgsvpnfbnrbt +12-15 n: nnnjnnngnknxnnfnhn +4-6 b: dczcbxf +12-13 b: bbbwbsbbblbbbbbbqbt +1-13 l: hlcnlllkgbltllf +4-14 k: vkxbzxqkmhdksw +10-12 z: zzzdzzzzzxvz +11-12 c: kcpncwcccbqc +5-8 j: jmzrzsjn +14-15 c: ccccccccccccccccc +11-12 v: vvvbvvllfpgn +15-16 t: thtttttwttttpttl +3-5 n: nnnnmnt +2-4 x: txknc +7-8 x: xxxxxxskxx +11-12 n: nlwnnpzgnnnnnnnnnn +4-5 b: bbbmb +5-8 g: gwggfcmcbgp +10-11 p: gpppzppdpvvppp +5-6 h: hhhhhch +5-6 p: gnkjsp +8-16 w: wcswwwwwwwwwtwww +7-8 h: hdhhhhhh +9-10 g: gggmggsglc +2-7 t: shbblrx +8-9 r: rhrwrkwrrcrrrr +9-11 b: bbbbbbbbbbbb +3-10 c: czbzjpsnvcwl +11-19 c: pccxcdncrtcccdbncbnc +7-17 p: ppppppppppppppppmp +10-12 c: ccchsfcccccc +18-19 b: bdtrbqbwkrlblxhcrbm +3-4 g: gggrgg +7-12 w: wthwwwwfwwfzkwhwwwww +3-5 d: jzddf +7-8 q: qqqwqwqv +4-7 d: dddddvddd +9-12 k: jxjcfmzkkwmkmhrr +8-13 d: dtdzwhgwzzmgv +9-12 z: trvwkzsjwzfzcp +12-13 r: rrrlrrrrrprdfxrrtz +7-8 f: gzbmlnkffkgjkrq +8-13 j: xslbjjgzrjbjms +2-4 n: nnjnn +1-4 f: djfgff +4-5 w: wwwww +5-6 m: mjmmwcw +3-6 v: vvhvmf +4-15 h: bhrktjhsgqfldbh +1-10 c: zccccccccjcrcccc +2-4 c: ccps +12-13 v: vvbvvvsvvvcvvv +6-7 r: rrrrrjs +9-12 w: wwwwwwwlwwwwww +1-3 w: wgwcwwwgxbnwwwtbms +3-4 p: qvpnp +14-15 h: hhhhhhhhhhhhhrq +6-11 q: qjdkqpqtqsq +4-6 t: xtltxg +2-4 g: gkgp +9-13 k: kkkkkkkkkkkkvkk +8-10 p: lnzkglhmdglppnzlrs +12-15 b: bbbbbbbbbbbjbvbbbbbb +1-3 j: jtzsjj +9-13 k: gkdkjkkdxxkkfk +2-5 g: dgkxh +2-10 j: zjjjxlkjjjpjqjzxnjss +14-18 h: tvhhrzhsggdgxhrxvhv +1-9 g: gggggggnggggggg +7-9 z: zzzzzzzzfz +9-11 v: vvvvvvvvrvx +13-14 b: bmrtbbtbbbdbbnbbbcr +12-13 k: kkkkkkkkkkjpmk +1-8 z: nnzzzzzlzz +3-5 g: mgcqv +2-3 m: wgmmpm +3-6 l: sllhsk +3-4 v: vlmv +2-5 t: gstgn +1-2 v: vtvv +8-9 j: jzjjjjjjl +7-8 z: zzzzzzxr +3-7 x: xxxnxxxxw +1-4 x: xxxlx +3-5 l: ldlmlkv +5-11 q: npqlqqqqbdkmqwq +2-6 m: mmmmmmm +4-5 d: bqbdddmphblbdtdh +4-7 l: lklllrl +7-9 d: mjdlgfwndnqr +2-10 w: wwwhwwwwwwwww +4-7 j: jjjbjpd +3-9 k: lwvkjxdkk +13-15 f: bdrtfvlfzfqgfmff +5-12 t: lldmbbtbrmtttrw +9-10 q: qvqvqqqtwpqxrqq +6-10 k: kckcsgtkrkcksz +17-18 t: tttttttttttttztttt +2-4 l: kdcvvsvqlx +12-15 z: zzzzzzzzzzzzzzlz +8-10 h: rhdkfxhflh +14-16 f: fffffffffffffxfcfff +8-11 k: kbfkkkkkdkkk +1-7 k: bkkkkktrk +9-10 b: bbbbbbbfbzb +1-3 t: tkmtt +3-4 m: mbwlmm +5-6 n: npnvndr +4-16 m: mtmmwmzmmmmtmmpnwmm +12-16 w: wwwwwwwwwwwzwwwcwkww +3-4 w: wwrpwmwwc +1-2 h: hhhh +5-9 t: tnvtrtrbfcvtx +2-11 q: qgqcstqbqkq +8-9 p: ppcgcxkppm +13-16 n: nnnnpndnnlnprnnfbnnn +7-13 x: xxcxxxpvxxxxwxvx +3-4 q: qqqz +17-18 v: vvvvfvhvxvvtvvvvvf +1-9 s: cssssssssds +2-9 z: zzpvwzzmzszmfwd +14-20 g: cghxgggggggggnggcsld +8-9 k: kkkkkkkxkkkkkk +4-5 b: blbnb +2-3 n: nnnn +3-4 b: bjqb +13-14 h: hhhhhhhhhhhhhhh +12-18 g: xggggggggggsgggglxgg +3-6 b: bbbbbbbbbbbbbbbbhd +7-13 v: vvvdvrnvcvvvwn +12-15 r: wrpcdrrrdrrrkfr +3-4 d: ddhd +12-13 k: kkkkkgkkkhkkk +8-9 z: dbzzzzzwfzjtzzzzxzdc +5-6 f: qfffkw +4-5 l: lllpwcvlx +2-10 m: nkchlsdsmt +4-8 t: tttmttttxtd +3-5 w: wlhwl +9-12 x: ggqlcwxbqtgx +2-10 b: rbpgvzwjtbj +2-7 h: hhhnhvl +8-13 m: cmmlsmlcmmsmk +3-5 s: hbsjstss +7-10 z: mtmzbtncjqzzz +3-4 p: hpppp +9-12 z: zznzzzzfpzzzzzz +9-16 s: sswcsssmtqsstlffqx +15-19 b: bbbbbbbbbbdbbbdbbbbd +13-16 b: bbbbbbbbbbbbbbbb +3-8 m: mmmmmmmmm +2-3 v: qvgzgrjgfvln +15-17 v: vwfvvvvvvvbmvvzvwvv +4-8 d: fddldwgbddddgddd +6-9 v: tvvxmmfzz +8-9 k: kkkkkkkfwk +4-6 d: dddldt +3-6 r: lrrrjrjn +1-6 t: tnttpgtt +1-16 g: rgggggggggggggggg +10-11 r: rtfdrqtrdkr +6-7 c: jcccczh +1-2 m: vnmmmm +14-15 f: ffffffffffffffb +1-7 m: smmvmmhxrmmwm +1-6 n: nnnnnnnnnnnnngznn +1-15 z: zzphzkhzzznzxzgznz +2-8 z: zhwfhkbgqr +6-7 f: ffsjfffff +5-6 r: rrdrrsrrrr +2-4 l: lllll +6-8 w: wxzvzqwg +3-10 l: gmxmtkkknlrlz +2-4 w: cmls +1-10 k: kkxkxkkkkkhfpkkhk +1-2 x: nxxx +3-8 x: llpxfhkxnsllggs +7-13 c: cghxfmcqcsrbx +2-4 l: lzll +9-11 f: qffbftpbgff +2-4 w: gwxndqdccmwwwzrmzq +10-15 w: khfvrdbpvfmwflww +15-18 n: nnnnnnnnnnnnnnnnnn +2-5 z: kkzrq +3-14 c: tcjmkcfdckqgbcw +13-18 b: bzgqmmgrzbbvbxtwgbxd +6-7 z: nvzmrqxbz +1-4 x: txxxb +1-10 z: hzzzzzqzzzzzz +1-7 n: nnnnwngnn +10-14 h: zmghfhnlhkqbwh +3-5 r: zkrnr +2-4 x: bxbw +5-7 t: rzmkvtttpttdzvvt +11-14 t: tttttxttttxttztmt +2-3 c: wvdvvc +1-4 d: qdhs +1-2 j: flfz +4-6 s: cdssrq +1-11 q: qvnpngslnqqwnvtmlk +8-9 n: mncnsnrjbl +2-9 r: pxjjzpmxm +2-4 q: nqzqnqfqsmw +2-14 p: djtfdmwphwkxwb +4-5 t: lbttt +8-9 n: nncnnnnvxnnxv +10-11 f: ffftffffffcfmfffz +3-9 l: rllszlqdl +7-11 h: hhnzdhhghhx +2-3 h: hsnb +3-9 v: pgxpfqsvg +5-6 q: qqqqqkqq +4-5 g: lgsxg +3-5 f: ftfsbd +1-16 p: xppppppppppjpppkpppp +1-19 z: xzzzzzzzzzzqzzzzzzrz +7-14 s: skmsmssjnssssv +10-11 d: vdtddmrdtdx +1-3 r: hmrwwn +1-5 b: vbbbbcbb +5-11 q: bxwlqgfqmgqcqn +6-7 g: hkgkkrbgddw +1-3 z: kzxz +9-11 n: nnnnnnnnrnnn +2-3 b: blbh +11-13 g: ggzgpggrqpgggggbtggg +12-15 w: wwwglwwwdjwcwwh +6-8 p: pppppfppx +10-12 f: fffffflfpwff +1-6 x: nlxxxx +1-3 m: vmxmmm +7-19 n: nnmdnnnnntznnnnnnzd +4-5 r: rrrsw +4-5 z: nxszzppxcdldz +3-5 q: tfsdqdklq +1-3 x: mxxx +6-10 w: wwwwwnwwwww +16-17 h: hhhzhhhhhhhhhhhzx +12-16 l: lllljlfllllllwllll +2-7 c: pcvchxpf +9-14 z: gxzjrzzzpszhzzz +7-8 z: zzzzzzzzv +3-14 l: llhllllllllllll +2-5 l: wpfgl +2-4 p: vfpqplbxpspzpmlf +8-9 h: bxxcwhcbq +12-13 c: xrdjccztqvvlc +3-6 f: xfrwfffmffzvwf +11-14 f: ffffgfflkkfffxfffff +7-9 c: zrlhgcgcbnbrt +8-20 r: rrfjmzgrrmprbrrcrgnr +6-7 v: rnhvqvv +2-4 x: xcxxwxxvxxxpxxxgv +3-4 m: zmvmm +1-4 l: llznls +4-5 h: rhcsh +7-10 c: rnjlmccrlm +3-7 q: qqhpxcg +1-4 f: fbfff +10-11 g: lgggggggglp +12-13 s: sssssssssssxs +12-13 w: wwwwwwwwwwwwk +4-8 r: rrrnrrrrrkr +2-9 d: mddgrdddddddddddddm +4-5 g: ggggz +16-19 k: kkkkkkkkkkkkkkktkkkk +7-13 n: qnnwgnnlnnspb +6-10 w: gzwwmfwxgrw +12-20 k: kkkkkkkkkkkjkkkkkkkk +6-9 f: fffjfnffbff +8-9 w: wwwwwrwswww +6-15 q: qqpqnqnqxjzqtvqgwkp +3-10 f: ffrffffffff +2-3 c: xccgfnxz +4-5 z: zzzxmz +3-5 f: xmxzpwzt +2-5 h: nghhhbsbhhh +7-9 f: jfffffffff +11-12 d: ddddddrdddrzd +9-12 d: dkxkdddddddvd +15-16 t: ttttttttttttttvt +2-3 b: bjsdvx +11-16 f: ffffffffpfmfffffff +7-13 z: kpvzczcgpcnjwmmspzz +3-4 w: thwdwwzx +2-3 t: tttstdz +4-5 k: kkgpkqkkrmk +13-18 b: kzvgqbfsdpkhkpdszbxm +8-9 h: hhhhmbhhjh +1-4 k: kkkkk +12-17 s: jdqnxssklhtnkttsm +4-11 n: nnnmnnnnnnrn +1-6 m: bmzbmlmmkmmtbmm +6-13 p: pfppprpppmlphpzp +3-4 w: wbws +2-7 p: fjxvpfq +1-3 g: ngxggggg +3-12 p: fvpzpcblqjhp +2-9 s: nfssdshhp +7-9 d: lxbszxdkvpwvfdn +11-12 b: bbbrzbqbqmgcl +5-8 l: rlllfllfll +18-19 t: tttttnbtttmtrttttqx +4-6 w: vzwqxwrwwm +7-9 c: hncwvgqccqphzcmqct +5-10 x: btxsfrqxxx +7-8 h: hhhhhhhthh +3-8 n: mbddzbvnxczhbnlx +2-9 d: dbmjjxzmfsdd +6-7 h: xpcbthhxrszqgzzh +9-11 d: dgdjmsdjdddddtdddd +6-7 b: bbbbbbsbb +4-6 z: zttxvz +4-8 l: rmdllsllxldckgl +9-10 r: rrxsrpfrtk +4-9 q: qqgpqknqxqqqqsqgr +5-7 t: mhhmttr +11-14 t: ttttttktttcttttttttt +1-6 l: llllltlllh +1-13 t: jttttrthtttvpttttttt +6-7 k: wkgkqjk +2-15 g: gqmlgtjqwgbgdgg +5-7 d: dqdjddd +17-18 c: ccccccccdccccccctcc +5-6 z: zzzzjs +11-12 c: cvzckcssnvcs +2-5 x: jxtqxcsppqmkkddkx +7-8 d: pddzhmfdddccxj +1-7 t: tgttttt +9-10 b: bbbbbbbbdb +14-17 c: cccccccccccccrccnccc +11-13 j: jhtjfdwwbjjjj +17-18 j: jjjjjjjjjjjjjjjjjj +4-16 m: mtmqmmmspmxmmmmvm +3-12 h: hzpjcdtnqcvchkx +4-17 r: rrrxrrjrrrrrrdhrjrr +10-11 v: jgvvrvvvvnvvnn +8-11 h: hhhhphhjhlhhwhh +7-13 h: cqwjhfkmrkqwcxdr +5-9 t: dttccdsthzctbvqw +7-9 d: fddhdthmdd +3-11 d: djdmdfpdrwds +6-12 t: klhgbgnrkttq +4-5 k: kkkkk +10-12 c: scjhrwzgcccb +11-12 l: lwllllllllmtl +3-8 j: jjjjjjjljj +2-9 v: rjmxfglqcgq +2-4 h: whhr +4-8 t: hwxtstdvxb +2-9 x: xxxxxxxxxxxxxxxxxx +6-7 l: llvrvsl +15-16 h: hhhhhhhlhhhhhhwn +1-2 p: kpppppppppp +10-14 g: xblfrggggggzjtg +8-9 v: vvvvvvvvz +8-16 m: mmmmmmmnmmmmmmmmm +8-15 b: lgzzqnhpzbmvfqb +8-10 j: jjjjjjjcjj +1-4 v: vvvcvvv +9-11 s: ssssstssmss +18-19 d: xdwnjcnwrdvfftdfzdm +3-5 h: zdxhb +1-2 s: brstss +3-4 l: llbl +7-12 m: pgmfvpmsmqmmhnhm +15-17 k: kklkkkkkkknkgnpfnl +6-7 c: jqcqjthbcqnz +4-6 p: pjwpkfbp +8-9 h: htkptkfrw +10-17 r: rrrrrrrrrrrrrrrrvr +6-11 h: nhhqjvkhwzxdf +2-4 n: hnvgdfnnvkn +3-9 l: llsllllljllml +6-8 r: rrrrrkrrj +6-8 n: ncnnnnsn +7-9 q: qqqqqgqqjqqqqqqqq +6-8 p: sptppppp +10-12 q: hfnwqvsqljqq +4-6 z: zszzbhzzzkg +3-5 b: bbhbbbb +6-10 v: svwvvnvmmvcj +3-7 q: qcbmqsqqqjqqd +11-12 w: wwwwwwwbwwdwwl +13-14 h: hhhhhhhhhhhhhbhh +2-9 x: kndwpxxxqxhxsfxcg +1-3 z: zzzzzzz +10-12 q: qqqqqqqqqqqzqqq +9-11 k: kknbkdkdhkkzk +6-7 g: gggvgcwg +6-7 s: bjtsscxs +5-7 x: xxcxxxrxx +9-12 w: wrwwwwwwpwwww +15-20 m: mdpgmbmsxfbhmvmzmmmm +11-14 k: kkkkkkkkkpkkkrkkk +17-20 n: nnnnnnnnhnnnnnnnnbnn +10-11 w: zwwwwwwwwhg +9-11 r: grrzcnsvsrk +9-15 l: glrdqzqjlfprpdldgsvc +2-6 r: rrgplr +5-7 q: kpqdbqk +7-9 t: jttttgnkt +2-13 x: xwxchfxdpxzlfxxxxxx +4-8 z: zzzzzzzvzk +11-13 g: ggggggggggkgxggkgg +2-3 w: kwkww +16-17 c: cccnvccccchjslcghccc +4-5 q: bqbdmlqkqmtltfl +2-6 x: gphkxx +5-6 w: wwbqwxwwxxvgtzgbf +9-13 q: qrqqqvqdqrbrq +1-2 w: wwtflrlzrnckcczdsw +16-17 j: jjjjjjjjjjjjjjjfj +1-4 s: sssssss +11-12 r: rmfrrrzrrrfd +4-11 k: kkkskdhkkkh +13-14 k: lzhkgbjxhlmljknc +2-7 k: xmwfmkk +9-11 v: kvzvvvwvpdvlvvlbv +4-11 s: shsblxpqczqhwtscqc +6-9 v: bzmqcvcfvwmh +4-5 m: mmmxhm +4-6 p: pqppqp +5-9 g: rghbksgggnns +4-11 q: qqqqqqqqrqqqqfqqxwjq +1-8 p: pppppppzppppppppppp +2-9 b: bbbbbrbbj +6-7 x: cxxfxxrxdpdhx +1-5 r: qrrrrrx +10-15 k: kkkkkkkkkkkkkkkkkk +6-10 r: rrrrrgrrrj +4-10 f: pjqfldsfzbgff +13-17 q: tbqntpzbqgsjqxqxq +5-10 f: fcrfsdxpfffff +5-11 s: sfxwrzcdzsngpjwwpp +5-7 w: cjwhwwwww +3-4 c: ccgt +1-8 c: nccfcccd +1-3 q: fqlqm +9-10 f: fftflsffbf +8-9 q: jfqkqqqns +1-3 r: rfrjr +1-13 f: ffffffffffdfzfffff +6-7 k: bkzdmkv +5-6 q: rpqqllqqbqqq +4-10 l: lblfvpkwmgqlfshqnpfj +6-7 g: gmhhhgg +1-6 q: qqqqqkq +9-11 p: pppppppgppphmbpk +3-8 n: nnghfhnnjn +2-3 d: vrdmd +9-10 g: gggggzggkvggg +3-4 g: gpgg +16-17 z: zzzzzzzzzzzzzzzzr +2-4 b: cvpbmnwnbrcbhbkgchkh +12-13 p: pppppppppppppp +2-3 c: ctzc +1-7 b: wbbbbbbb +7-9 d: dbddddddgd +12-15 q: mhqwpqqqqqqqsgl +4-5 h: bjhhhxpn +4-5 h: kmhqh +4-15 s: svsjtbsssssqsss +9-16 r: rrrrrrrrqrrrrrrrr +5-9 h: hgjzhllvhrn +5-8 d: ddhddmvzsq +2-4 p: pmqp +3-9 b: nrbnqmbdbnb +5-7 s: wstqqsbcss +1-14 x: fxrxxxxxxfxlxn +3-4 j: wjlb +1-2 h: hhghhvhhnhh +9-12 q: nqfgfkrsqxswwp +5-8 b: bbbbpbbbb +3-4 j: vzsv +3-5 m: nmmmzmhtdg +5-9 n: jdnxqkzfnj +6-7 m: rmmfcmnlm +7-8 t: tttthwtt +15-18 j: jjjjjjjjjjjjjjjjjzjj +3-5 d: rbcsdcvwx +5-6 z: zzzzgzzzz +3-4 t: tttqtt +1-7 h: hhlnhfhzxhhphhdhh +6-7 t: wtnttst +2-4 p: zvpl +3-4 k: swxgk +5-7 k: kkcrkkkkkp +3-9 x: xxhxxxxxnxxx +11-13 p: pdpppppppphpm +11-13 m: snglklmpcmmmm +5-10 j: cxjfwpxjwgjh +4-6 f: ffhffzfnf +11-15 p: pppppppppppppppp +3-6 h: hhhhmhhhhhw +6-7 q: vgldrqp +4-7 p: npzgpppdpjj +6-7 w: wwwwwwqww diff --git a/data/advent2020/input20.txt b/data/advent2020/input20.txt new file mode 100644 index 00000000..00964ce8 --- /dev/null +++ b/data/advent2020/input20.txt @@ -0,0 +1,1727 @@ +Tile 2473: +.#.##.#.## +.......#.. +.####.##.. +#...###..# +...#.....# +#........# +.##.##...# +........## +#.##...#.# +.#####.#.# + +Tile 3257: +##.#..###. +.##...#... +#.#.#...#. +#...#...## +##.#.....# +..#....#.. +...#..##.. +..##.....# +...###.... +##.#..#### + +Tile 1049: +..##...### +#........# +#.#..#...# +.........# +....#..... +.....##..# +..#.###.#. +..#......# +.##.#..#.. +.###....## + +Tile 3109: +..#..##.#. +........#. +##.#..##.# +##...#.#.. +.##.#...#. +...#...... +#.##..##.. +.....#..## +#..#.#.#.. +..######.# + +Tile 1409: +.###.#.#.. +........## +.........# +.......... +..#......# +#.#..#.#.# +#.#...#.## +..#..##... +.........# +#..#..#... + +Tile 1949: +#..#.###.. +.....#.#.. +#...#..... +##.#....## +#......#.. +#...#.#..# +#...#..#.. +.###..#### +#.#......# +.#...#.#.. + +Tile 2999: +####.#.##. +..##..##.# +..##.##.#. +#...#...## +#..#...### +.##..##... +##..#.##.# +#..#.....# +...#...... +###....#.. + +Tile 1867: +###.##.... +.#.#....## +##.....#.# +###......# +#.....#... +#....#.#.. +...#....#. +#...#.##.# +..#....#.# +.##.#.#..# + +Tile 2539: +#.#.##.##. +#......... +#....#..## +#..#...#.# +....#.#..# +.##..##... +#....##..# +#......... +.........# +..#..####. + +Tile 2801: +.#.#.#.... +#..#..#..# +..##....## +###....#.# +##.......# +.......... +...##....# +#.##...... +#.....##.# +.....#.#.. + +Tile 3079: +.####..### +#.#.....#. +...#..#..# +........#. +#........# +..#......# +#...###... +###...##.# +........#. +...#..##.. + +Tile 1621: +.##.#..... +.#.....##. +##.#....#. +....#..... +###....#.# +.#.....##. +.........# +##........ +..#......# +#.#.#..##. + +Tile 3989: +##.#...### +.......### +#..#..#... +#.......## +#.#..##... +##.#.....# +..#..#..## +#.#..#..#. +.#...#.#.. +..#######. + +Tile 3691: +..##.##### +#......#.. +#......#.. +#...#....# +#...#..... +##..##.... +###.....#. +##.......# +.#...#...# +##.##.###. + +Tile 2551: +.###.#..#. +......##.# +.....#..#. +.....#.#.. +......#.#. +##.#.....# +#...#..#.# +......#.## +#...##.... +.#.##..#.# + +Tile 2557: +.##...#.#. +#......... +##........ +#....#.#.# +.#.#...#.# +.#####...# +#..#...... +#....#.... +.#...#.... +#..#.#.##. + +Tile 1381: +....##.### +#.#....#.. +.......... +.#...###.. +..#..#...# +..#..#...# +.......... +..#......# +#......... +#.....#..# + +Tile 1447: +...####### +#..#..#..# +..#..##### +.#...##... +.#.##....# +.#..#..#.. +....#..... +#.##...### +#...#..... +#.....#.#. + +Tile 1987: +.#.###.... +.........# +#.#..#..## +.#.##....# +...##..#.. +#..##..... +........#. +.###.#...# +.#....###. +..##.##.#. + +Tile 2297: +###.#.#.#. +...#....#. +.....#..## +....#....# +#.....#..# +.#........ +###.#.##.# +........#. +#...##..#. +.##.....#. + +Tile 3697: +.##...#.#. +....#...## +##...###.# +#.#.#..... +...##....# +#.#....#.. +...#.#.#.. +.......#.# +#......... +.######.#. + +Tile 2143: +.#..#...## +..#.#..### +.......##. +#.#....#.# +...#...... +#...#..... +##..###..# +#...##.... +#......... +##...#.#.# + +Tile 3673: +######.#.# +#.......## +##..#..#.# +........## +.......#.. +..#.#..#.. +...#..#... +..#...##.# +.##..#..## +...#.##.#. + +Tile 3613: +....#.###. +#.#....#.. +#..#...... +####...### +.#.#....#. +#......... +.......#.# +#......... +#......#.# +.##....### + +Tile 1823: +..##.....# +........#. +..#.##...# +.........# +.........# +#......##. +....##..## +.......#.# +.......#.# +....#.#..# + +Tile 1559: +.#.....#.# +.........# +..#....#.# +..#.....## +#..#...... +##.....#.. +....###.#. +#.#..#.#.. +#..#...#.. +.##.##..## + +Tile 3083: +#.##.##.## +..#....#.. +#.#.#...#. +#.##..#..# +#........# +...#...... +#..##..#.. +..#..#.#.. +#.#......# +#.#####.## + +Tile 3739: +..#.#.#.#. +#..#..#.## +......##.. +...#...... +.......### +....#..... +..#.#..### +#........# +.#.......# +.#.##.###. + +Tile 3557: +..###.#### +.......... +#..#.#..## +##........ +#..##....# +#.#......# +.#....#... +..#...#.#. +#...###..# +..#.#.#.#. + +Tile 1289: +##.#.###.. +#..#.#.... +#.##...#.# +..#...#.#. +##........ +#...##.... +....#...#. +.......#.. +#...#..... +##.#.#.#.. + +Tile 3769: +..####.#.. +#......#.# +#........# +#....#.#.. +.#....#... +......###. +#....#.#.# +#.#....#.# +##..#.#... +#..#.#.... + +Tile 1733: +........#. +....#..... +#.#.#..... +.#......## +#.##....## +#......... +......#... +###..#.##. +.#.......# +#..##..##. + +Tile 2087: +..##....#. +#........# +##.#....#. +.........# +#........# +##..#..#.# +.#....#.## +...#.#.#.# +.........# +##..#..##. + +Tile 2309: +###......# +......#... +#.#......# +.#.#.....# +...#.....# +##..#.#... +.#....#..# +###.#....# +#.##.#.... +....#..#.# + +Tile 1511: +..####...# +...#..#... +..#.#...#. +.......... +#......#.# +#.....#... +..#......# +#.#....#.# +##.##..#.. +.####.#... + +Tile 1553: +####.#.### +#...#...## +...#....## +####...... +...#..#... +#.#......# +.##.....## +#....#..## +..###..#.# +#...#.#.## + +Tile 2017: +.###....#. +##..#..#.. +#.....###. +##.#...##. +#..#.....# +....#....# +....#..#.. +.#.#.....# +#.......#. +.###.##... + +Tile 1291: +#....#.### +.......... +.#.#.#..#. +....#...## +.#...#...# +#...#.#.#. +.#.....#.. +#.....#### +.##.#..##. +...#...... + +Tile 2797: +.###.#.#.. +#...##...# +#..#...... +#.##..#..# +...#.##... +...###.... +..#..#.... +.....#...# +....####.. +####.#.##. + +Tile 2879: +.#.###..## +#.##.....# +....####.# +#...##...# +#.#....#.. +......#... +.#..#..#.# +##..#.##.. +.........# +.#...#.##. + +Tile 1723: +.#..##.### +#.##...... +......#.## +..#.#.#... +........## +#...##..#. +...#...... +###..#.#.. +##.#....## +.#..#..### + +Tile 2441: +#...##.##. +#.##..###. +.#.#.....# +..###..... +...##....# +##.##..#.. +#..##...#. +.###.#.##. +.#.##..##. +.###...##. + +Tile 2741: +#####..##. +.###.#.... +#..#.#...# +.#..#.#... +.#....##.# +##.......# +.#.##.##.. +#....#.##. +....##...# +...###..## + +Tile 1283: +.##.#..##. +.....##... +#..#...#.. +#..####... +.##....##. +##.#.....# +#.......## +#.#.#..... +.....##..# +###.#..#.# + +Tile 3761: +#####.#..# +.......##. +#...#####. +#...#.##.# +##........ +#......#.# +#..#.#..## +...#.#..## +.#........ +...##..##. + +Tile 3119: +.#.###.#.# +....#....# +......#... +.#.##..##. +.#.#...... +#...#...#. +.##....... +##......## +#.##...### +######.##. + +Tile 1973: +.....##.## +##.##...#. +.###...#.# +...#.##... +#..#.#.... +....####.. +#..###.... +.#..#....# +##..#.##.. +..##...#.. + +Tile 3407: +.#..##.... +###.#....# +#...##...# +#....##... +.#..#.##.. +.......... +.........# +#....#...# +###....#.# +.###.#..## + +Tile 2803: +.#..##.... +..##.##..# +.....#.#.# +##.#...#.. +#..#..#..# +###.#.###. +..#......# +#.#....#.. +#........# +.#.#..###. + +Tile 3821: +#...#..##. +#..#...... +##......#. +#......... +....##...# +.#........ +###.##...# +........#. +###..#.#.. +..##.#.#.. + +Tile 1889: +.#...#.... +..#..#.#.# +#.#...#..# +##........ +........#. +.#....##.. +##.##.#..# +..#....... +...#...#.# +##.#.##### + +Tile 2333: +#.##..#.#. +###.#.#... +#.....#.#. +......##.# +###....#.. +...##..#.# +..##.....# +..#.##.... +....##.... +#..####### + +Tile 1307: +..#..##..# +#.##...... +.#.....#.# +........## +##........ +.#..#..#.. +##.#.....# +#.....#... +#.##.##... +######.#.. + +Tile 2593: +##.###.### +.......#.# +..#..#.... +#.#...#... +#.#....... +#.....#... +###...#... +.....#.... +##.#..###. +...#...... + +Tile 1543: +#.##..#.#. +...##..#.# +#..#..#... +#..#..#..# +....#.#... +..#..#...# +#####..#.. +..#....... +.#...#..## +.##.#.##.. + +Tile 2851: +...#.##.## +#....#.... +..#..#..## +#......##. +#.##.#.##. +..#......# +##.#.....# +......#..# +##.......# +#....#.#.. + +Tile 3299: +##..##...# +#.....#..# +#....#.... +.#...#..## +....##.... +#....#..## +#...##.### +#..##..#.# +##.#..#.## +####.##... + +Tile 1913: +####...### +.....#.#.. +.......... +#...#....# +#........# +#.....#..# +.#........ +#......#.. +......#... +###...##.# + +Tile 3361: +#......### +#...#...#. +...#.#.... +.......... +......#.#. +#...##.... +.#...#.#.# +....#...#. +..#.....## +.####..##. + +Tile 3517: +...#.###.# +.#.#..#... +...####... +#...#....# +....#...## +#..#..##.# +.##..#..#. +##..#.##.# +#.#.#....# +.#.##.#.#. + +Tile 2083: +.#######.. +..####.#.. +#......... +......###. +.#.......# +....#....# +....#....# +...#...##. +...##..#.. +..#####... + +Tile 1327: +..#.###... +#...#...## +.......... +......##.# +.##.#..... +#...##.#.# +###..#..## +.....#.... +...##..... +....#..#.# + +Tile 1789: +..#.##...# +.#.#....#. +###...#... +#.#......# +#....#...# +#........# +#.......#. +##.#..#... +.###.#...# +#.#..#.### + +Tile 3797: +##.#...### +....#...## +........#. +.....##... +#......... +#.#..#...# +...#....#. +#.##...##. +.....#.### +###...##.. + +Tile 1171: +###.#.#.#. +.....#...# +#.#....... +.#.#..##.. +.....#.### +...#...#.. +...####### +..#.....#. +####...... +##...###.. + +Tile 2003: +...#...### +#..#...... +##.##...## +###....... +#.......## +##.##..... +#....#.### +.#........ +##.#.###.. +#....##..# + +Tile 1597: +.#...#.#.. +##...##..# +##.#.###.. +.#..##.... +....###.#. +#.....##.# +###.#...## +#..#...#.. +#.#..#...# +#####..#.. + +Tile 2179: +..#.#.#### +..##.#.##. +.#.......# +#.#.##.#.. +.....#.... +###......# +#.#..#.#.. +.###.#.... +.......#.. +.#.#...### + +Tile 1997: +##.##....# +...##.#..# +##.#...... +.#..#.#... +##.....#.# +..#......# +#.....#.#. +##...#.#.. +##.....##. +#..#.....# + +Tile 1163: +.#.....##. +.#...#...# +...#...... +.......... +##...#.... +..##...... +#.....#..# +..#......# +.......... +.####...## + +Tile 1933: +#.##.##### +#...#..... +#.#...#.## +.....#.... +.....#.... +#...#.#.## +.......... +...#.##.#. +....#..... +.#..###### + +Tile 3359: +#..#..#... +.#..#..#.. +.##......# +#..#.#..## +##..#....# +#...#..#.. +...#.###.. +..#..#...# +...##.#... +...###.#.. + +Tile 1499: +#.#.##.### +.###.....# +...###.... +##....#... +#..##....# +.......### +#.......## +.....#..## +.........# +#.#.#..### + +Tile 1663: +###.##.##. +#..#.#.... +...#...... +##...#...# +#..##.##.# +........## +......#... +.#..#..#.. +.......#.. +###.#.#### + +Tile 1493: +##.###.... +#..##....# +#.#....... +....#.##.# +.....#...# +#.#....... +#...#....# +#.......## +#.##..#... +.##..#..## + +Tile 1427: +#..#.##.## +##..#..... +.....#...# +...#....#. +......##.# +#.#....... +.#.##..#.. +#.....#..# +##..###... +####.....# + +Tile 2663: +..###.###. +##...#.#.. +....#..#.. +.....#.... +.......... +..#....... +..#.#..... +#..#...... +###..#...# +#.#..#.##. + +Tile 3089: +.#.#..#.## +#......... +##........ +...#.#.... +.##..#.#.# +.#....#... +##.##....# +#.#....... +..#.#.#..# +..##...#.# + +Tile 3121: +..#.#.#### +.###...... +.###.#..#. +.#........ +.#.#....#. +###...##.# +..#..##.## +###....... +##..#.#..# +#..###.##. + +Tile 1567: +##.#.####. +#....#.... +.#...#..## +......##.# +.........# +......#.#. +........#. +........## +#...#.##.. +...#.#..## + +Tile 2957: +######.#.. +.#....#... +###.#..... +.#...#...# +...#..#..# +..#...#... +#.#......# +....####.. +##.....#.# +.###...... + +Tile 2617: +..####.... +...##....# +###.#..#.. +#.##...### +....#....# +#......... +#....#.... +.....#...# +#.#..#..## +##..#.###. + +Tile 1847: +#....###.# +...#....#. +..###....# +#....##.## +#.....#... +##...#.### +.........# +.....##... +###..##..# +##..#.##.# + +Tile 1753: +...#..#### +.......#.# +..#....... +......#... +........#. +#......... +##....#.## +#.##....#. +.##.#..#.. +..###..##. + +Tile 2549: +..##..#..# +#..##..... +...#.#.... +##........ +#..#.....# +......#..# +...##....# +...#.#..## +#.##.....# +.#.##.#.#. + +Tile 2917: +..##.....# +.#.......# +..##..#..# +..##...... +.....##.## +.......##. +#....###.. +.#..#..... +#......#.# +.##..####. + +Tile 3301: +#.#..#.#.# +#.#.#..### +#.##....#. +.......#.. +#........# +##.#.....# +.......### +..##.....# +.....#.... +#....##..# + +Tile 3041: +..###.#... +#..#.#.#.# +#...###..# +##..#..... +###...#... +#...#....# +......#... +#####.#... +.......... +####.##### + +Tile 2693: +.#..#..##. +#...####.. +.#......## +.......... +..#......# +.#..###.#. +#.#.....#. +#...###.## +.##.....## +.#.#.####. + +Tile 3037: +.#.#.###.. +.#....#... +.#.....#.# +.......#.# +.......... +........## +.##..#.... +#..#....#. +#.#...#..# +...#.##### + +Tile 2399: +.....####. +##....##.# +##.....#.. +........#. +#...#...## +#.#......# +#..#.....# +.....##... +#.#......# +....#..##. + +Tile 1811: +###...###. +......#.#. +#.#....... +###.##...# +##......#. +#..#..#..# +...#....#. +....##.... +#..#..#.## +...####### + +Tile 3659: +##.#..#### +...#...#.# +.#.....#.. +..#..#.... +#.......## +#......#.# +.......#.. +#.......## +.....#.#.# +.##.#...## + +Tile 3643: +...##..#.# +.#.####.## +.#..#..#.. +#..####.## +#.#.#..... +....#....# +.....#.... +#........# +.##..##... +..##.#.... + +Tile 2647: +..#..####. +##..#.##.# +......##.# +#..#....## +.##....... +......#... +#...#..... +........#. +...###...# +.##.##.### + +Tile 2699: +..#.#.##.# +#....##... +###...#..# +#.#...##.# +.......... +#...#.#..# +#......#.. +#...#.#... +###.#.#... +..###.##.. + +Tile 3541: +.....###.. +#......### +#.......#. +.....#..## +#......#.. +......##.# +...##.#### +#..#.#.#.. +#..#...... +..##.#.##. + +Tile 3923: +#..#.#.### +#.#.....#. +#...##.... +..#.###..# +.#..##.... +.##..##..# +.......... +#...##..#. +.##.#..##. +....#....# + +Tile 1019: +###..#..## +.##..####. +...#....## +#...##...# +.......#.# +.....##... +#.#...#... +##.......# +#.....##.# +###.#..### + +Tile 1741: +#.#.#...#. +#.....#... +.......... +#....##.## +#.....#.#. +#...#..... +.....#..## +.###...##. +#.....#..# +#.#.#..### + +Tile 2843: +.##.....## +........## +#.....#..# +#####..#.# +#........# +.##.#....# +#..#.##..# +##..#.###. +..#.....## +.#.##..... + +Tile 2683: +.####..... +#..##.#..# +...#...... +#.#.#..#.# +...#...... +.#...##.#. +#.#..#.... +#.##.....# +#..#...... +.###...#.. + +Tile 1039: +#..##..### +....#..... +...##.#..# +..#..#...# +#..#..#.#. +#..###.#.# +#.#......# +#.....#..# +#####....# +.#.##....# + +Tile 3907: +#..###.### +#.#..#.... +.#......## +#......#.# +#.#..#..#. +...#...... +#....#.#.. +.....#...# +.#....#..# +#.#......# + +Tile 3163: +#.##.###.. +#..#...#.. +..#...#.#. +.........# +...#.#.#.. +..#.#..... +#.##...#.. +#..#....## +...#.#...# +#..#.##### + +Tile 1213: +#..##.#..# +###.....## +#.#...#.#. +###...#### +#.##.##... +..#....#.. +#..#...... +.####.###. +#..#..###. +#..##..### + +Tile 2389: +...##.###. +#........# +#.....#..# +.#......#. +.#.......# +.###.#..#. +#.#..#...# +..#.#....# +.......#.# +#..#..#.#. + +Tile 3637: +..###.#.## +.#....##.. +...#.##... +#...#....# +##........ +........## +#..#...... +.#..###... +##..#....# +##.#..#..# + +Tile 3677: +##..###.## +#.....###. +.###...... +#..#..#..# +.......##. +.....#...# +.##.....## +.#......## +....#...## +###..#.... + +Tile 2347: +.###.##.#. +#.##.#.#.. +..##.....# +#..#.#.... +#.#.#...## +##...##.## +#......... +#.#....#.# +##......## +###.#.##.. + +Tile 3469: +#.#.###.#. +#....#.... +#......#.. +...#..#..# +##..#..... +.....#...# +##..#.##.# +##........ +.#.....##. +..#...#... + +Tile 2887: +#..#....## +..#..#..#. +.#.....#.. +.#.....#.. +#..#....## +.#..#...#. +#...##.#.# +#..###...# +.##..#...# +.#.#...#.# + +Tile 3331: +.#....###. +#......##. +...##..... +#.#.#.#### +#.#.#..... +#....##..# +...#....## +...##.#.#. +.#..####.# +.#.#.#.##. + +Tile 1901: +##..#.#..# +##.......# +#.#....#.. +..#.#..... +##....#... +#....#.#.# +..##....#. +.....#.### +##.......# +..##..#.#. + +Tile 1009: +##.#...##. +.......... +#..#..#..# +.##.##...# +##.#...... +##.##.##.# +..#......# +#.#.##.... +##.#....## +######.#.# + +Tile 2423: +#.##...#.# +....#..... +..#...#... +#..#.#...# +..#....#.# +..##..#.## +#.#.....## +#......... +#..#.#.### +#.#..####. + +Tile 2029: +#...#.#### +.........# +####..#..# +##.......# +#....##... +###.#.#.## +###...#... +.#.....#.. +....#..### +##........ + +Tile 3767: +.##..#.#.# +..#..##.## +.....#...# +...##.#.## +#...#...## +#..#.####. +##.#..##.. +#....#..## +.......... +....#...#. + +Tile 1223: +.#....#.#. +.#..####.. +.##..#..## +..#....#.# +.#.#...#.# +..#...#.#. +#.#.....#. +.#.#.....# +#.....#.#. +..#..#.### + +Tile 1583: +..#..###.. +#.#.#...#. +#.#....#.. +.....#.... +..#......# +#...#.##.. +#.#...#... +..##.....# +...##....# +##.###.... + +Tile 3181: +##...####. +.....##... +..##..#..# +...#....#. +###.#..#.# +...#...#.# +.#.####..# +#..##....# +#.###....# +#.#.##.##. + +Tile 1181: +.##.###### +#......... +#..##....# +#........# +##.#.....# +.....#.... +#...##...# +#..##..#.. +#..##..... +...##..##. + +Tile 2749: +...##.#### +#.#...##.. +.#.###...# +##..#...#. +......##.. +...##...#. +...###.#.# +.#.##..#.# +##.#.##.#. +.....#.... + +Tile 1579: +###..#..#. +#.#....... +...#.....# +...#.##..# +#.#.#.#.#. +...#.#..## +#.####..#. +#.#...#..# +..#....... +.#####.#.. + +Tile 2777: +##...###.. +#......##. +...#...... +.........# +#...#..... +.###.#..## +..#..#...# +...#...#.. +#........# +###..#.### + +Tile 3049: +#.#####... +.#...##... +#..#....## +........#. +####.....# +.#.....##. +#.#.....## +..#......# +..#....... +#...#....# + +Tile 1657: +..#...##.. +##....#... +....#..##. +#.#......# +##........ +#...#..#.# +..#....#.# +..#..#.#.. +##........ +#####.#### + +Tile 1483: +#.....##.# +#.#....##. +#........# +#...#.##.# +.##.#..... +...#.....# +#.....#... +......#... +..###....# +..##.###.# + +Tile 1367: +###.###..# +###..#.#.# +.......... +##.###.... +....###..# +#.#..#...# +#..#.....# +..#......# +#.##..#... +#....#...# + +Tile 3061: +.#.##..#.# +..#..#.... +.#..#.#... +.#.....### +##...#...# +..#...#..# +#.#..#.... +#.#..#..#. +......#... +##.##.#.## + +Tile 1487: +..###.##.# +#....#.### +#......#.. +..#.#.###. +.......... +..#...#..# +....#.#.## +#.###..##. +...#..###. +#.....##.# + +Tile 1693: +...#...##. +...##....# +..#.#.#..# +#..#...... +#.....#..# +..#....#.. +.#........ +#..#.#.... +.......... +..#.#..##. + +Tile 3671: +....#.##.. +.#.......# +#.#......# +#.#....... +#.......#. +#......### +#.#....#.. +........#. +.....##..# +.##.#..#.. + +Tile 3169: +.#.#####.# +..#...#... +#........# +.#..#....# +######.#.. +#.#####... +.......##. +.#...#.... +#..#.....# +#.#####.## + +Tile 1061: +###...#### +...#.#..#. +#......#.# +#.#..#..#. +#......#.. +...#...### +...#...... +...#...... +#.#....#.# +.#..##.#.# + +Tile 2477: +...#..##.. +#....#...# +#..#...#.# +##...###.# +..#....##. +......##.# +#........# +##.#..#.## +......##.. +#.####..#. + +Tile 1783: +###....##. +#..#..#.## +#...#.#.#. +##.#..#... +#.##...#.. +##.......# +...##....# +....#....# +##.#.##..# +###....... + +Tile 2713: +##..###... +#..#....## +.........# +###.....#. +.###.##.#. +#..##.#... +##..##.#.# +##..##..#. +.......#.. +##.#..###. + +Tile 1097: +#..#.#...# +...##..... +#..#.....# +#...##...# +#........# +##.......# +....#....# +#.#..##..# +..#...##.# +####.####. + +Tile 1861: +##.##.###. +.##...#... +.#...#...# +.#.#...... +..#..#.#.# +#.#..##..# +......###. +..#....##. +.#..#.#... +....#..#.. + +Tile 2069: +##.######. +...#...### +.#.......# +.#..#..... +......###. +..##.##... +....###... +#....#...# +.#....#... +...#....## + +Tile 2657: +.#..###... +#..#...#.. +##...#...# +.......... +##.##..... +#.......#. +.....#..#. +..#....... +##..#..... +###.##...# + +Tile 3527: +...###..#. +#....#..## +##....#.## +...#..#### +...#...### +#......... +#....#...# +#..#...... +......#.#. +......###. + +Tile 2927: +...###.##. +....##...# +.......##. +#####..... +#...#...## +.....#...# +.#...###.# +.#...#.... +#..#.#.#.# +#.##.##.#. diff --git a/data/advent2020/input21.txt b/data/advent2020/input21.txt new file mode 100644 index 00000000..5bd9097e --- /dev/null +++ b/data/advent2020/input21.txt @@ -0,0 +1,38 @@ +qqskn vqm rxhxs xhzr lpxb plc sksqn hcfjt xjqd vgnf shln ccvnlbp btnmj lvntbhnk kl pdvqq pcbls jnqcd xbvm fdbd thpt thjblh dhcbcm kltmhv zxql hnfpxh kcvsl bkbpjf stkqcn lkkb bnj psxb pxmrdg fhcms cdl xkbzbsf rfhz pvkmx qjqb jzfxc glrps kqxmv lvdhspf bsqxjk xdtt cjxv jhzllk bhbhz rfhrps zgsm lccs mnz grnm bgvx xkjng pkzjv vmskhmg dssdlb fnnkfq gbmldv rplg qmgbz nzbbzd kgzjj gq nhclz (contains dairy) +nfngm ccvnlbp fnnkfq dnz vrjmh tldgnn lbgc cjxv kbcc qqskn zgxrt zks xkvcq qjqb hsjfvb klpvh sksqn xjqd thjblh rlcjkc rplg qmjjb fzqds hdmx fzksgr hcfjt pxmrdg btnmj skg llszv qkgj hngv xxvg bjtftkjv zfxsbphz tbvpmf tcm jnqcd kshmt vpfjnk qrrz vfcq tknpg pkj mnrks kqxmv gphf (contains nuts, soy, peanuts) +qxxtt pvtmb tkbl tldgnn xbvm lxzs lflgp kpnmg pkzjv qjqb nbcdr qqskn glrps jvzjzb jzfxc xhr thpt dlhj cdl kl bqrkh cmkj hnln dgdr mtcgr jnqcd nfngm cjxv hmg gbmldv nskx jrjshr qmgbz ccvnlbp vpdk xkvcq qzftq bzzl mcdgk pvkmx rplg nhclz fvmql sfvhg zxql hngv fhnxhq srhqgm rgv zks tbvpmf xhzr kshmt lxfqzvk hsbvtfvf pcbls bnj lpxb hmvcc rfhrps rjppgdl tnhfjhj mmh gphf bjtftkjv fszzx hdmx lzhqznp bxqxs tcm bkbpjf klpvh pdvqq (contains fish, nuts, eggs) +tdssg nxnbq tsglv tkxn mbpfmjcl dskp gq srhqgm xkjng tnhfjhj jnqcd dgdr kgzjj rplg hdmx cjxv mmh pxmrdg fzqds rfhrps qqskn sxqvc qmvblt bltcxf xhzr vfcq sdjnd txhgkp bkbpjf grnm fhcms skg qjqb jhzllk fvmql xhr ccrd rxhxs xdtt dlhj rjppgdl dssdlb vrjmh bgvrr ccvnlbp grmzrf fpxqm fsjk hldjv srzq sksqn qmgbz zcf xjhjtt thpt qkgj fdrl hmg tcm llszv xhlxtg cdl dnz (contains nuts, eggs) +bxqxs llszv xxvg ttvkj zgxrt lpxb fdrl kljktfm cjxv lccs hmg zbpmtj ccvnlbp xkvcq kgzjj fskxb qqskn hsbvtfvf hnfpxh tnhfjhj hmvcc cmkj hcpdd vrjmh xhzr fdbd vpdk vgnf xjqd pkzjv thpt rfhz bnnxlfn pvtmb cqd plc mnrks bgvx tcm jnqcd nbcdr grnm hsjfvb jzfxc bqrkh rlsvj rvmqk pdvqq bnj vtqm rjppgdl jjbkfh bltcxf fkchxn btnmj lbgc gvxnm (contains fish) +jgz svrs sfvhg xkjng cqd mcdgk kljktfm mnz xjqd tcm xhzr lxzs xbpl dssdlb nbcdr rgv fdrl jzfxc bjtftkjv lkkb rvmqk bqrkh pdvqq djkfgqv txhgkp kbcc lfsf srhqgm rfhrps gphf hldjv xhlxtg qrrz cgmdhkb dlhj qqskn kgzjj cmkj hppdqbr tknpg jjbkfh lzhqznp jrjshr jnqcd qknvdk hmg tkbl hdmx zgxrt zks bzzl xbvm lflgp gq rjppgdl bkbpjf glrps fnnkfq xdtt srzq rplg qjqb ccrd bxqxs hngv dskp cjxv (contains dairy) +qxxtt xxvg klpvh fdbd jnqcd cjxv tnhfjhj dhcbcm qjqb hppdqbr vmskhmg tknpg rfhz hcfjt sxqvc kljktfm bhbhz hcpdd ccrd vzfvp jzhs xjqd ccvnlbp txhgkp mxkfgxj tsglv mmh rvjpn vhdm qmgbz rvmqk vxsrx xhr zxql lflgp bsqxjk tbvpmf glrps nskx gq tcm qqskn vrjmh jhzllk hrgzhpk qmjjb tkbl xkjng sdjnd srhqgm vtqm kshmt frprgrh pvtmb bnnxlfn lkkb jrjshr xbvm zcf (contains peanuts, eggs, soy) +xhr bnnxlfn slrxkmd rlcjkc pvtmb srzq zcf lbgc zgsm hnfpxh vxsrx txhgkp bltcxf xjqd jjbkfh hsbvtfvf llszv mtcgr cjxv dnz pkj vtqm xhzr mmh bhbhz nskx lzhqznp ttvkj cdl pdvqq fdrl hppdqbr hcfjt xdgmppd vpfjnk pkzjv rfhz qzftq zkdd gvkkqs xkvcq thpt fzg qjqb gvxnm qqskn lccs qxxtt psxb mcdgk pvkmx ccvnlbp kcvsl xkjng jhzllk xbpl xkbzbsf dgdr qmgbz fhcms klpvh vqm fnnkfq rgv dssdlb gphf kshmt btnmj bxqxs nbcdr jnqcd fzksgr qmvblt jrjshr lxzs kbcc bzzl vpdk (contains soy, eggs) +mnrks bqdtq kqxmv fzg qzftq dskp xhr zgxrt kljktfm pvkmx jjbkfh lxfqzvk xkbzbsf vqm rplg vpfjnk xhzr cfklrp rvmqk lvntbhnk kl cqd xbvm sdjnd hsbvtfvf txhgkp xdgmppd thjblh kltmhv hsjfvb svrs bqrkh pkj rfhz sxqvc bzzl mmh nhclz tcm vrjmh tldgnn qkgj xbpl nxnbq xjqd kgzjj lpxb cjxv cgmdhkb xkjng hcpdd rlcjkc hppdqbr qqskn klpvh fkchxn rxhxs qmjjb jnqcd pcbls lvdhspf fhnxhq bxqxs lccs sksqn vhdm zbpmtj qknvdk hnln grmzrf gvxnm vmskhmg nzbbzd ccvnlbp kshmt xhlxtg fzksgr vxsrx jgz (contains soy) +zks dnz dlhj rfhrps vpfjnk qqskn tkxn vpdk qmjjb hcfjt sxqvc dgdr zfxsbphz tcm bxqxs dssdlb lvntbhnk zxql hnln hsjfvb cjxv fpxqm ccvnlbp sfvhg xhzr plc grnm vzfvp hcpdd fvmql qxxtt dhcbcm fzg xjqd qmgbz thpt lzhqznp nxnbq pkzjv mnrks tnhfjhj gphf mmh fdbd jnqcd xhr (contains nuts, fish) +kpnmg hnfpxh vmskhmg hnln xbpl hmg ttvkj dgdr thpt nbcdr pdvqq llszv kqxmv tcm tnhfjhj hcpdd hdmx qqskn rjppgdl jzhs thjblh srzq fszzx rplg txhgkp bltcxf kljktfm xkjng xhzr mtcgr djkfgqv zcf zfxsbphz bqdtq lkkb vqm kl lxhrj bhbhz xdtt kcvsl xjqd rgv lpxb klpvh vpfjnk kltmhv nxnbq pvtmb fhcms tvsdc zgsm dskp vfcq fzg fnnkfq qjqb bjtftkjv xjhjtt zgxrt stkqcn mxkfgxj lvdhspf ccvnlbp tkbl vrjmh qrrz gbmldv cjxv bxqxs bkbpjf lxzs lfsf hrgzhpk zks hngv (contains soy) +mbpfmjcl kshmt qjqb zkdd srhqgm zks fzg tvsdc bnj hdmx glrps gvxnm hmvcc jjbkfh pkj rvmqk qmjjb jnqcd xdgmppd lfsf lvntbhnk cjxv qmgbz dssdlb hmg tknpg qqskn fdrl tdssg jvzjzb thjblh xhzr fkchxn tbvpmf lxhrj nskx nbcdr cqd vzfvp cdl lflgp zfxsbphz lvdhspf djkfgqv zcf hsjfvb jhzllk hldjv ccrd kpnmg vfcq mtcgr qmvblt sksqn fhcms lzhqznp jzhs bqrkh dhcbcm vhdm qrrz kcvsl xbpl hnln xxvg xjhjtt kl rxhxs frprgrh qxxtt llszv gbmldv gphf ccvnlbp vpfjnk xjqd bhjn bgvx lccs bxqxs kgzjj vpdk fhnxhq (contains soy) +vqm pcbls qkgj hngv qjqb bqrkh rjppgdl dhcbcm zbpmtj mmh jnqcd lzhqznp zfxsbphz xkbzbsf jhzllk txhgkp rfhrps pvkmx kpnmg ccvnlbp bqdtq hppdqbr vpfjnk bgvrr tcm rvjpn mxkfgxj fvmql bhjn rplg lxfqzvk qqskn tdssg sdjnd xhzr nskx zcf xbvm pvtmb mcdgk xhr mbpfmjcl cmkj zks qmjjb btnmj hnfpxh fzksgr bxqxs kcvsl xjqd bltcxf bgvx tldgnn dnz hsbvtfvf lflgp tbvpmf (contains fish) +qmvblt tldgnn pcbls bsqxjk vqm lzhqznp klpvh vpfjnk xkbzbsf jzfxc pkj rjppgdl nfngm nhclz sksqn kltmhv zkdd kcvsl hcpdd fhnxhq mcdgk zbpmtj lvdhspf rplg zxql bnnxlfn xhlxtg hmg ttvkj dlhj crmn qmjjb dssdlb cjxv xhr slrxkmd vpdk tknpg xbpl cgmdhkb sxqvc bhbhz xdtt hsjfvb pkzjv fzg fszzx mtcgr qqskn ccvnlbp zgxrt rfhrps jrjshr stkqcn xkvcq tcm tvsdc xjqd mxkfgxj bzzl thjblh xbvm glrps jnqcd bgvx qzftq xkjng rfhz hcfjt srhqgm fkchxn vrjmh rvmqk zfxsbphz tkxn vfcq vzfvp hppdqbr tkbl bkbpjf kshmt pvtmb pxmrdg hsbvtfvf vhdm zks xhzr (contains dairy, sesame) +mtcgr lzhqznp xjqd vqm qmvblt xhzr xbvm ccvnlbp tknpg bnnxlfn sfvhg kljktfm lvdhspf hnln vrclpzm xxvg vrcrg pkj tcm zcf svrs vfcq nfngm pvkmx cjxv dssdlb klpvh cgmdhkb vmskhmg bjtftkjv ccrd nskx fsjk qqskn gvkkqs qxxtt fszzx srzq tsglv xkbzbsf kqxmv qjqb vgnf fpxqm mmh bqrkh bqdtq zfxsbphz fhnxhq fkchxn vxsrx jjbkfh cfklrp mnz (contains fish, eggs, dairy) +ccvnlbp zgsm bltcxf jnqcd grmzrf hsbvtfvf kqxmv qkgj tcm fzksgr vpfjnk mxkfgxj qqskn qjqb zxql tldgnn vgnf lpxb grnm thjblh psxb cfklrp lfsf xhr lxhrj xkvcq mtcgr tkbl rvmqk slrxkmd bnj xjqd fsjk qmjjb zbpmtj pcbls kgzjj pvtmb lbgc kshmt vtqm hnln xxvg fhcms fszzx jzfxc hnfpxh bgvx bqdtq bgvrr rfhrps xkjng hmvcc plc cmkj bzzl xbpl qknvdk ttvkj tdssg xhlxtg klpvh hrgzhpk xkbzbsf glrps srzq cjxv hcpdd pkzjv rfhz (contains nuts, dairy) +zbpmtj xjqd nbcdr fkchxn hppdqbr qjqb hldjv rgv hmvcc rfhz bkbpjf vrcrg hsbvtfvf qmjjb srzq xhzr stkqcn zks mnz ccvnlbp cjxv bltcxf zxql qqskn tcm klpvh lzhqznp pvtmb lflgp rvjpn rplg mmh mtcgr (contains soy) +dhcbcm dlhj zfxsbphz xjqd jjbkfh lbgc tcm bnnxlfn qmvblt nfngm hcpdd pkj lxzs psxb rlcjkc hmg kltmhv gvxnm fhcms qjqb fzg bzzl lfsf vpdk vpfjnk qxxtt ccvnlbp srhqgm kbcc jnqcd cgmdhkb hngv hrgzhpk nxnbq vqm xhzr pdvqq cjxv gq rvmqk rfhrps tkbl txhgkp kgzjj vrclpzm (contains shellfish) +xhr jnqcd vfcq hdmx hcpdd bqrkh xjhjtt vtqm dskp fszzx rplg skg dhcbcm qmgbz rfhrps pkzjv jgz pkj vpfjnk slrxkmd rgv kltmhv xxvg xhlxtg fnnkfq kqxmv hmvcc lzhqznp gq tbvpmf cdl kshmt rvmqk xhzr qrrz mnz hsbvtfvf fhcms xkvcq dgdr nbcdr fsjk fdrl thjblh cjxv gvxnm vpdk xbpl kbcc txhgkp sxqvc qqskn jhzllk djkfgqv gbmldv qxxtt pdvqq lflgp ccvnlbp qkgj gphf xdgmppd shln psxb tsglv rlcjkc lccs vxsrx jzfxc qjqb hcfjt pxmrdg lbgc vrjmh tcm jjbkfh mtcgr qzftq qknvdk bgvx (contains soy, peanuts, shellfish) +qjqb lkkb lvdhspf zbpmtj sxqvc frprgrh lbgc bltcxf qknvdk kqxmv svrs bjtftkjv pkj zgsm fdrl kbcc rjppgdl hrgzhpk nbcdr vpdk fsjk tcm vrclpzm plc nfngm kshmt xhlxtg dssdlb qzftq pdvqq lxhrj kltmhv sfvhg nzbbzd tkbl ccvnlbp xkbzbsf pcbls skg cjxv tldgnn xjqd zxql qqskn xhzr dgdr nhclz hsjfvb hmvcc fdbd bnj rxhxs (contains soy, shellfish, peanuts) +crmn zbpmtj vrcrg rvjpn jvzjzb hppdqbr slrxkmd hrgzhpk lvdhspf rfhrps cfklrp kpnmg jgz gvkkqs mxkfgxj fvmql btnmj mmh xhr qknvdk hnfpxh nskx tldgnn xjqd jnqcd kcvsl qqskn rxhxs dhcbcm nxnbq qmgbz bsqxjk ccvnlbp lxzs lkkb srhqgm tvsdc xdgmppd qxxtt pkj rlcjkc hngv gvxnm tkbl fdbd nhclz hcpdd zxql jjbkfh thjblh lccs zfxsbphz lvntbhnk qzftq bhjn tknpg fsjk bqdtq gq hmg hsjfvb gbmldv tcm mnz hdmx rlsvj qjqb qmvblt tkxn bltcxf qkgj rvmqk cgmdhkb lxhrj xhzr kqxmv grnm xhlxtg plc pvkmx (contains nuts) +sfvhg xhzr cmkj tldgnn nskx dssdlb nzbbzd dhcbcm zks cgmdhkb rfhz glrps rgv hrgzhpk hmvcc zxql qzftq srzq vgnf gq cjxv bhjn qjqb tknpg xxvg fzg xkjng psxb hcfjt bqrkh crmn vqm rfhrps xkbzbsf hcpdd xhr sksqn tcm lkkb xjqd pvtmb qknvdk qqskn rjppgdl rvjpn zgsm djkfgqv jnqcd bltcxf vhdm grmzrf slrxkmd (contains peanuts, nuts, shellfish) +rvmqk hppdqbr vzfvp ccvnlbp tkbl hldjv fhcms xhlxtg grnm vxsrx qknvdk mxkfgxj zgxrt pdvqq slrxkmd dgdr zgsm hdmx vrclpzm xbpl lxzs cjxv xdtt kltmhv rfhrps zxql pcbls fszzx qxxtt thpt lfsf qjqb mcdgk kpnmg lpxb fskxb xkjng bgvx lflgp hmg cfklrp mnz zkdd bzzl vrjmh bnj grmzrf tcm srhqgm btnmj hcfjt cmkj hsjfvb xkvcq tbvpmf tvsdc crmn lzhqznp srzq kcvsl kqxmv rvjpn dlhj dskp bkbpjf rxhxs zfxsbphz tknpg fvmql fpxqm qqskn ccrd xhzr xjqd hsbvtfvf kbcc klpvh hngv dnz cgmdhkb (contains peanuts, eggs) +jnqcd lxhrj qjqb gbmldv xbpl kshmt djkfgqv mcdgk rlcjkc rplg jhzllk lvntbhnk fkchxn xjqd tkxn grnm cjxv vrclpzm xhzr llszv ccrd lkkb lbgc bxqxs vmskhmg fhcms vxsrx qqskn ccvnlbp vtqm cgmdhkb bnj lxzs lpxb gvkkqs tnhfjhj fszzx pxmrdg tvsdc (contains dairy) +lflgp bsqxjk btnmj tcm xxvg qmgbz ccvnlbp frprgrh glrps tdssg jnqcd xjqd lvntbhnk mcdgk qjqb cjxv zks plc mnz bnj fskxb vrcrg jgz nhclz grnm gbmldv stkqcn qrrz rlsvj mmh xdgmppd tkbl gq cgmdhkb kljktfm bhbhz vpfjnk rvmqk tknpg qknvdk tkxn tvsdc mbpfmjcl qqskn crmn rfhz srhqgm vqm gphf cqd pkzjv qkgj tldgnn fzqds bqrkh vtqm sfvhg hcfjt nbcdr hppdqbr fsjk bqdtq ccrd (contains soy, nuts, fish) +cjxv kljktfm lfsf fszzx lzhqznp pkzjv dskp stkqcn xdtt lkkb xjqd qqskn dhcbcm pcbls dgdr kltmhv bqdtq gvkkqs kbcc vmskhmg mbpfmjcl fzqds tsglv hnln qjqb gphf llszv btnmj pvtmb psxb nfngm qmvblt hngv tknpg dnz frprgrh xhzr pdvqq tcm nxnbq sdjnd vrcrg qmjjb lccs plc cmkj txhgkp tbvpmf hldjv rlcjkc jgz nhclz xjhjtt fsjk kpnmg srhqgm sxqvc xkjng vrclpzm mnz rlsvj tkxn ccvnlbp (contains sesame, peanuts, dairy) +jjbkfh hmvcc qzftq tbvpmf qqskn grnm nskx jzhs dhcbcm bqdtq cqd cfklrp qmjjb rxhxs tvsdc cjxv zks kgzjj vrjmh grmzrf sxqvc fzg lkkb xjqd zkdd mbpfmjcl pvtmb srzq hcfjt bsqxjk nxnbq hnfpxh jgz xdgmppd nhclz pxmrdg fvmql djkfgqv jvzjzb fzksgr qjqb rlsvj zfxsbphz rlcjkc bltcxf ccvnlbp tcm kpnmg rvjpn kshmt jnqcd qmgbz mnrks txhgkp mxkfgxj lbgc tdssg qxxtt rgv jrjshr bkbpjf vqm qkgj sdjnd fdrl klpvh (contains nuts) +hnln bgvrr bqrkh dssdlb lvntbhnk hrgzhpk lvdhspf qqskn vxsrx lxfqzvk llszv crmn fzg tnhfjhj nfngm bxqxs hsjfvb mxkfgxj shln lbgc qmjjb fkchxn vpdk rvmqk xhlxtg qkgj hmg glrps fpxqm grnm thjblh xkvcq jnqcd hcpdd fhcms rlsvj rfhrps gvxnm rgv xdgmppd vrclpzm ccvnlbp xjqd xhr hsbvtfvf nskx sdjnd hngv lkkb cfklrp tkxn lfsf nxnbq hcfjt tvsdc bzzl nhclz zkdd ttvkj vqm jzfxc fhnxhq gphf sksqn fszzx svrs zbpmtj hnfpxh lflgp qmvblt rvjpn qjqb dskp rfhz cjxv xbvm tcm kbcc lxhrj (contains eggs) +jrjshr dhcbcm fpxqm lbgc slrxkmd vrclpzm fsjk fkchxn qjqb hmg hnln tbvpmf xxvg xhzr xkbzbsf bsqxjk kcvsl qmjjb xjqd zxql jgz srzq sfvhg bnnxlfn lkkb qrrz hcpdd mcdgk tkbl nxnbq plc vpfjnk svrs dgdr tcm kbcc nfngm stkqcn grmzrf pvkmx pkzjv xdgmppd mxkfgxj lvntbhnk qqskn cgmdhkb rfhz ccvnlbp gphf rxhxs vrcrg lvdhspf gq bkbpjf bltcxf qmgbz mnrks lxhrj qknvdk xkjng dlhj cfklrp vxsrx gvxnm cqd bhjn vgnf xhr fhcms cmkj bqrkh kshmt shln cjxv bgvx vfcq vpdk bnj fdrl hsbvtfvf btnmj rvmqk fzg vzfvp djkfgqv fszzx xhlxtg frprgrh (contains shellfish) +vrjmh pcbls lbgc vgnf kqxmv bjtftkjv kljktfm tknpg jnqcd hnln rvmqk rlcjkc fzqds fsjk xhr tcm hsjfvb vtqm ccvnlbp tkbl fpxqm dhcbcm kl dnz hcfjt cjxv mbpfmjcl nskx svrs bkbpjf rfhrps tsglv qqskn txhgkp fzksgr nbcdr zkdd btnmj cfklrp nfngm bgvx xbpl thpt qrrz gbmldv qmvblt lpxb vhdm hsbvtfvf lvdhspf qjqb pvkmx jhzllk rgv tvsdc jzfxc tbvpmf kshmt xxvg rxhxs xhzr jgz bqdtq gvxnm zks lccs hcpdd glrps (contains dairy) +nbcdr kl mbpfmjcl bzzl jhzllk hrgzhpk kljktfm xhzr srzq vmskhmg fzqds ccvnlbp lflgp lzhqznp vfcq hmg xbpl stkqcn lpxb zgsm vpfjnk qjqb vhdm vqm dhcbcm tcm vrjmh fdrl dnz zfxsbphz pxmrdg sfvhg nzbbzd tnhfjhj dssdlb svrs rvjpn zkdd jzfxc sdjnd rgv lxzs mcdgk mtcgr jrjshr fkchxn fvmql rlsvj tkxn xbvm jvzjzb ttvkj gvkkqs bhbhz jnqcd hppdqbr qkgj rfhrps skg pkj qqskn fszzx pkzjv fsjk lxhrj vzfvp pvkmx qmgbz xjqd (contains dairy, fish) +fskxb sxqvc gq lfsf rvjpn xbvm zxql bltcxf mcdgk skg slrxkmd xhr xjqd bgvrr bqdtq fhcms lkkb psxb rfhz fhnxhq tcm lbgc xdgmppd fzg nzbbzd nskx jzfxc zkdd kbcc dskp mxkfgxj qjqb xhzr kqxmv kljktfm hcfjt hppdqbr sdjnd hldjv bkbpjf jzhs lccs ccvnlbp tkbl btnmj xhlxtg tsglv fdbd sksqn hmvcc stkqcn xjhjtt bzzl pvtmb zks hmg jnqcd hnln fzqds jgz qqskn rfhrps xkjng thpt lflgp srzq mmh cmkj mbpfmjcl cqd dgdr zcf xkvcq tvsdc bnj lxzs gvxnm (contains fish, nuts) +tbvpmf svrs qjqb fnnkfq dlhj tkbl lkkb jnqcd hsjfvb hrgzhpk xjqd nbcdr kgzjj pcbls stkqcn lxhrj mbpfmjcl fhnxhq tknpg plc cdl nxnbq rjppgdl lfsf tcm tldgnn bqrkh gphf slrxkmd vzfvp bhjn kshmt rfhrps zcf fszzx kl qmvblt grnm bgvx ccvnlbp gvxnm qqskn jgz jzfxc kpnmg lvntbhnk hldjv dssdlb jvzjzb kltmhv sfvhg gq ccrd fsjk lpxb lvdhspf vgnf sxqvc mtcgr xhlxtg bgvrr gbmldv xhzr qxxtt (contains sesame) +lbgc vpfjnk xbvm psxb jvzjzb xdtt qqskn rxhxs bnj qrrz svrs vrjmh jhzllk cjxv jnqcd tcm mtcgr fnnkfq thpt xhr jjbkfh kshmt ccvnlbp pxmrdg glrps tkxn mmh nhclz xjqd xjhjtt vrcrg xhzr hsbvtfvf qmvblt djkfgqv bhbhz nxnbq rlcjkc bsqxjk dgdr vpdk (contains eggs, fish, dairy) +pxmrdg tcm jjbkfh bxqxs rvjpn mxkfgxj qknvdk tkxn lxzs rxhxs hppdqbr vrcrg mcdgk hmg xbvm lpxb bhjn bjtftkjv vzfvp rgv cfklrp bltcxf kljktfm tdssg qjqb lkkb cdl sdjnd klpvh qmjjb rplg stkqcn bgvrr tvsdc jzfxc kshmt kcvsl fdrl lzhqznp xjqd zxql vrclpzm pkj nhclz kltmhv zgsm zcf vrjmh xhzr psxb tnhfjhj jnqcd vxsrx bgvx cgmdhkb sxqvc fskxb fhcms lxfqzvk dgdr llszv jgz xjhjtt qqskn qxxtt hcpdd grnm bnj vgnf bqrkh hdmx ccvnlbp (contains fish, eggs) +rplg qqskn lxfqzvk hnln thjblh sdjnd pvkmx vpdk cdl txhgkp ccvnlbp zgsm bxqxs tkxn cjxv zks btnmj ttvkj rlsvj sfvhg mtcgr shln kshmt qmjjb mnz tcm lflgp xdtt djkfgqv pdvqq vpfjnk jrjshr kgzjj nbcdr rvjpn rxhxs skg hcpdd crmn grnm gvxnm tnhfjhj kljktfm dnz jnqcd cgmdhkb kltmhv rvmqk klpvh bsqxjk zgxrt jjbkfh fzqds xhzr qrrz xjqd hppdqbr fsjk hsjfvb kbcc cqd svrs fzg jvzjzb zxql lkkb fhcms vrcrg mnrks hdmx kcvsl jzhs (contains nuts, soy) +kltmhv cdl vpfjnk lpxb kqxmv nfngm xjqd pxmrdg fzg pvkmx slrxkmd lvdhspf jnqcd vrjmh sfvhg qknvdk gq fkchxn bqdtq lvntbhnk lfsf bjtftkjv ttvkj ccvnlbp tknpg hmg bgvx fdrl zks kgzjj mmh mcdgk xbpl zgxrt nhclz rlcjkc kshmt xkbzbsf qjqb hngv hsbvtfvf vfcq kl tcm kpnmg dnz rvmqk tvsdc bkbpjf crmn cfklrp btnmj ccrd vrclpzm dskp tdssg klpvh xjhjtt qkgj grnm tbvpmf shln xhlxtg cjxv fdbd gbmldv hrgzhpk qqskn dgdr (contains peanuts, soy, sesame) +qmjjb slrxkmd qjqb xdgmppd vfcq vrclpzm hsbvtfvf vxsrx grmzrf kljktfm xdtt tcm bzzl vqm mtcgr rgv nbcdr lkkb xhr thjblh btnmj ccvnlbp svrs gbmldv qknvdk jzhs dssdlb srzq qmgbz zxql bltcxf glrps bnnxlfn hnfpxh bhbhz cfklrp lfsf rplg fzksgr rfhrps hmg gvkkqs sksqn nhclz rlcjkc mcdgk pcbls jvzjzb xhzr xhlxtg pkj lzhqznp bsqxjk hngv jnqcd bgvx vtqm tnhfjhj fdbd hmvcc xkvcq xbvm zfxsbphz vrcrg jrjshr bqrkh xjqd qqskn crmn rvmqk fvmql rfhz tkxn hsjfvb pvtmb zgsm fhnxhq vgnf bgvrr jhzllk bnj (contains fish, sesame, nuts) diff --git a/data/advent2020/input22.txt b/data/advent2020/input22.txt new file mode 100644 index 00000000..aa6f3cc8 --- /dev/null +++ b/data/advent2020/input22.txt @@ -0,0 +1,53 @@ +Player 1: +41 +33 +20 +32 +7 +45 +2 +12 +14 +29 +49 +37 +6 +11 +39 +46 +47 +38 +23 +22 +28 +10 +36 +35 +24 + +Player 2: +17 +4 +44 +9 +27 +18 +30 +42 +21 +26 +16 +48 +8 +15 +34 +50 +19 +43 +25 +1 +13 +31 +3 +5 +40 diff --git a/data/advent2020/input23.txt b/data/advent2020/input23.txt new file mode 100644 index 00000000..3d0ceda8 --- /dev/null +++ b/data/advent2020/input23.txt @@ -0,0 +1 @@ +712643589 diff --git a/data/advent2020/input24.txt b/data/advent2020/input24.txt new file mode 100644 index 00000000..c715aadf --- /dev/null +++ b/data/advent2020/input24.txt @@ -0,0 +1,539 @@ +swswswswseswswseseswswnwsesw +nwewsewneswenwesenesenw +neeeenwseseewwnenenesweeeeene +seseewnwseseseneswseeseseseesesesese +swseswswswswswswswswweneswswsw +seswsesesenwsesenesenwseseseseseseseesew +nwneenwneswnwneneneseneswnwnewnwsenene +wswswwwswswsewneswnwnwsenwswswewesw +eeseeneeneeeneew +swnewnwneneeneneseneneneneneneenenenene +seewswnwseneswnenenwww +eneneswnenenwnwwneneneseneneneswneswne +nwewswesewseseeewneseseseseeese +enwsenesweswwsesewsesesesesewnewsene +wseeseseseseseseseseswsesenesesesesesese +nenewnenenesenwsenewneneneswneesw +eseeneseneesesesesweseseeseewsewe +nenenenenenewneneneneneseeneswnenenenenee +nwsenwnwnwnwnweneeswnwenenwwnwnwwnw +neewnewneeeneneseeneseneeneneneeww +neswswswneswseswwwnwwwwswseswsewnene +wnwnwenwwewswwnwnwwneswwsenwese +wnwsewewwwnenwwwwnwnwnwswnwnwnwnw +wewwwwwwswwnwsewwnwnw +wsenenewsewwnese +wnenenwswseesweene +nwnwnwnenenwnwnwnwnwnwnwnweswnwswnenwnwnenw +swseeewnenweenwenenwswsenesw +wswswswswnwsewswneswswseswneswneswsesww +seswneseswswswseswwwseswswneseswswswnesw +sesweseswnwswsweseswswwnenwnesenwsew +newwseneseeseeseseseseseesesesewse +swswewwswsweswswswwwwswwnwswsewnesw +seneeeeeseeseeseseeeesesesw +swsesenwnwseswwseswswseseseseseswseseswne +wswwwneesewnesenwwswwnwwswnw +eneeeneeeeeneneneneneneeesewwnene +swswswsweswnwswswswswswswswswswneswswsw +sweswwswswwswswswswswswswswswneneswwsw +wswwswswenenwewnesweesenesesenenwe +sweneneswnwnweswneneeneeneswneeee +swwsweswswnwswswswswsw +nenewnwsenenenenenenenesewnenenenenene +nwenenenenwnwneneenenwnwswswnenewnenw +seswwsweswseneswswnwswwnenenenwswsewswse +seneswsenwnwnwnenwnwnew +esweseneeewseweeseenesenwnwswe +wswswsenewenwswwwwwnewswswesewwsw +seesewenweeeweseswwseseeneese +wwwswwnewswwewwsenwneswwwwsesw +wseseseseneneseswswseseseseswe +enenenenenewswneneneeneneneenweew +ewseneseenwneseneswsewnww +ewwwwswwwswwswwwwswwswwwnw +neewseswesesesewsewwnwseseseeswe +swwswwswswwwswswswwswswnwwswswsewe +wneesenesweenwsenwsweneeeeseew +wseneseenenwwwneesweewnenenenese +seenwwneneenesenewswnenesewnesenesew +nwnenwsenwnwenenwnenww +nwnwneeswnwnwewnwwswswnwnewnwsenwnenw +swswwwwneswswsweswswneswswsewswswwsw +eneneeeeewneee +seswswswesweswwswswswswsenwsw +wswswseswwwnesweswsweswswwswwwsww +eeesweeneeewnwneeseeesweneeee +nenenenenenenwneswnenenenwnenenenenesenene +nwwnwwwwwwwwwwew +eseseseswswsewswsesenwswswseswsweseswse +nwwswnenenenwneneneneenesenenenenenesene +seseseseswneseswswnwseneseneweeneswse +nenewnwnwnwwnwwnwwwnwsenwnwsenwnwnw +wwwswnwnwwnwnwewnw +neswsenesewsesesesesesesesesesewsesese +esesesweseeseeeseseeeenwesewese +wnewewnwwnwswnenwswwswwnw +wnenesenwnenenenwsenenwswnesenenenenene +eneseeeeneeneenwneneneeweswenee +seswnwwswneswseswseswseseswswswesesesw +nwswseseeswswewswswsesenwwswwswesesw +wewsenwnwwnwnwnwnwwenwwwwnwew +enwwnwnwnwnwnwnwnwnwwnwswnwnwnwnenwsenw +nwsewewwnwnwswnwnwswwnwsenwnwneee +wwewwswsesenwwwswewwneeeneww +wnewsewsenwwwnwwwnwnwwwwwwnewsw +wnewnwnweewnwsenwnwnewswswnenwswenwnw +wnwwswswwwnwwwwwnewnweww +wwswseswwwswwswnwwwnenewwenww +wswwswwenwwswwswwswswwswswswesw +ewswwwwenwwsenewnwwww +sewnwneswseswseswwswsewswneswnwswseswnee +neenwswewsenwwswnwswswwswneewswwe +wwwnwwwwnewewwwnwwwswwww +esesenwseseeeswseeeseenweseesesese +esesesewseseseneseeseeswseesesesesese +seseseseseseseneseswseseseswsesesesewse +sesesewseeseseneeseseseeeewnesesese +swswswswswswswnwswswswwnwswweeswswsw +seseseswwseseseseseseseenesewseeenew +neeswnwswneewnenenenenenenwneswne +nenwnwenwnwnwnwnwnwnwnwnwnwnwswnwnwnwnw +sweeeeseeeeenweeeseenweseeee +nenwseneneeenenesweneesenenenwneenene +wwneswswwwwwswwswnewwseswwwwsw +swsenenwseswnwseseseneswnesesesesenewsenww +nweswwseseseseswnwnwsesesesenesesesesesw +eneseseswwsweseswswsesewseeswswswnw +nwnwnwwnwwnewwnenwnwsewnwseesewnw +seseeeeeesewnweeeeesweesese +eeeswneneneneswnenenenenenenwneeene +nwseseseseseseseseseeseseswseseseseesenw +swewwwnwswsweeswnwwwnwwwseww +nenenewewseswneneeneneswneenenene +sewnewwwwwwwwnwwwwnwwwsweww +nesenewneneneneneneneneswenwweeenesw +swswwwneswnesewseswswwswswnwwswsww +nenwnwnenwsenwnwnenwnwnwnwnwwnwnwneewswne +eenweeeeswseeenwseeseseseeesee +seewenenenenwswseneeneenwwneewnee +seseseeeeeseneseseseesesesewseese +wwwenwseswswswswswswewswswswwnew +swwwsewnwesewswneewwesenwnwwne +neseesenwneswenweeesew +nenwesewwneswseseeswseeseeeseese +wwwnwnwwswnewwnwww +eseseseeenwseeeeeeseeeseenewee +nwsenenewnwnwnwnenwnene +swswswswswseswswwweswseswseneseswswsw +nwnenwnenesenwnwnwsenenenwsenwwenwww +neswwwwwwswswnewswswsww +nenwsenenewwnwnwnenwnenwseseenwnenewne +wnwwwwsewnwnwnwnwewwwswnenwww +nwnwwnwnwnwsesenwnwnwnese +wwwnwwwewwwnwweswnwwswnwwnwnwnw +nwnenwnwnwneenwneswnwnwnenwneeswnenenwnw +sesewswswswneneswnwwsewswswnwswwnee +nwneneneneenenesweneeneneneeswnenee +neeswenenwweesenwseneswee +nenenwneswnenwnenenesw +nwwwnwswsewwnwwewewsenwnwnwwnw +nwnenwenenenenenwwnenenwnenwnwswneenene +wwnwwwwwwnwnwwwwwwewwwwe +eeneeeeeeeeweseeesweswnwnene +enenenenenenenenenwwnewnenenenenenwe +esweeswsenenenwswswswwwseswneswswsww +eeeesweneeneeweeeneeee +nwseseswswswwwnwenewnenwsw +sweeeswnwseneeeeeesweeneseweee +swswswswneweswswswswswsw +swwsewnwsweneswweswnwswwseswswswww +nwnenenenenenenenwnwnwsenenenwnesewnwnenw +swseeeseweseseseseseesesesenwsewnee +neneneswnenenwnenenenwnwsenewenwswseswsw +sweseseswnwswenwsesweseeeseesenenese +seewenwsesenweeeseeneseeseseeswee +eneeeseseeeeeseeswweeseeeswenw +wwswswswneswswswwwswwswswswswsw +eeneenenwneeeneneeeeneeswenene +swwswwwnwswwseewswswwswswwswswswwnw +nenenwnenenewnwnenwnenwnesenenenene +neeswnweswneneewneeneeeeeee +swneneswseswswseswswwswswswswswnwneswsw +enwenwnweeseeweswswnwsweeenweswe +newswnenesewwwsweswwswswwswswswsww +nwwwwwnewwwwwsewwwwwwewse +eneeenenenwneneeeneseswnenenenenene +wswwneswnwwsewswseww +nwnwnwnwsenwsenwnwenwwnwwnwewnwnwwnw +wseneneenewnweenewwnenenenwsenwne +eswneneneneenenenenwnenwnenwnenwnwwnenene +swseneseseswsweswseswsewseseseseseswsese +swswswwswwwswswswsewswwswswswsweswnw +swneewenenwneewnweseswnwwnw +wswwwwwewwwwwwwww +nenenenenenenenwswnenewswnwneneneneese +sewsesewsesesenwseneneseseeesesewe +swswswswewswswswswswswswnwswswswwwsw +wnwsenenesewnenenesewnwnenenenenenenenene +newwwsewsenwnwnwwwnwnw +neswswwswneswswswneswswseswswswwswww +nwsewwwswweswswwwwswnewswswwwwsw +seseseswseseswneswswseseseseswsesesesenw +senwwwseswswseseswwswnesewnwnenene +eneeeeeswneneeneesweeneenenene +eeeeeeeeeneeweeeeesee +nesenwneneenenenwnenwswnenenenenwnwnene +neenwnenenwwnwswnwnenwwswenwnwnwswnw +neeneneeneeneeeneeneneenwewenesw +nwseswswnweenewwnenwnwnwswneeswwnw +swnewwwnwnwseewweswwnwwsww +nwsesweweewwnwwwsenewnewwwnwwsw +seeswsenwnwwswseswswsenwesweenwsese +nwwseeeeeeeeeeeeeeeeeene +swneswswswseswswwseswneswswswseseswswsww +esesesesesesenwseseswsesenesewwsesesw +eneeneneneneeneewneeneneneneene +wwnwnwnwwnwnwsewnwnwenwwnwww +seeseseesesesesesesesenwnwseseswse +nwwnwewseswnwwswwnwnwwnwsenenwsese +nwneswnwnenwnwnwnwwnwnwwnwnwnwnwnwseenw +wsenwnewswwwneseweswnwwwsenenwnew +swesesewsewswswsweswswswenwswseswswsw +eweeseneeeeseeeseeeeee +swwwsweweewneswswnwsenwswswwswswsw +sweswnewnwneenwswweseeeneseseseew +nenenesenenenwneneseneneswnenenwnenenenwnw +swswswsweswwswswswswswseswswswnwswswnwsw +eeweeeseneeneeneeeneswwsee +ewwwwwnenwwwwwwwsewwwwnww +nenwswnenenenenenenenwnwnenweseneswnewnw +wswwnwwswwswnwwwwwwwswesesw +sweeneneswsewneeeneneneneneenenene +enenwnwsenwwnwswnwnenenweswne +eenwswwnwenwenwesweswnweswswsesww +swwseseswnwsesweseswseseswswswnwnesesese +seeeeeeeeeeswnee +newsesesenesesweswsesesesesewne +enwnenwnwnwwnwwswwnwsenenwnwnwnwnwsw +nwswseneeseswwnwswnwsweenwneswnene +neswswswseswswswwewsww +seseseseseseswseseseseseswnenwseseseesesese +seswseeneswnwswsewswseswseneswswswseswnw +neneesweeneenenwneseesweneeneneenw +swsenwswsenwseneesw +wnwwwswwswwwswswswswsewwneswswsw +wswwwswwwnwwwwwnesewswwwwe +swseswseneswsenesesewswseswseswwsenwe +newnweneneneneneneneseeneneneneneewe +eseseseseneeseswsenwsesesesesewenwew +wseeenwseseneseewswseenwseseseseese +wswwnewewseswwswwswnewwwneswsww +wsenenenwesenewewnwewseeeseswswsese +nenenenenesenenenesenenenenenwenwnenenene +eweseneneeewewne +seseswsenwesesesenwweeeseseeeesese +swenwwneseseweseneweswswseseswnwswswse +seeewnwnenwwswnwnwnwenewnwwswsene +seneswswneseeswnesesesenesesewnewseesese +swnenwnweneeswnwnwnwnw +nenenenwneenesenene +swsweswsenwseseswnwseneseseseswseseseswse +swneswswswswwswwswswnwewswsweswnwsw +nwenenewnwnwseeeseseswewnenenwswswnew +eeneseweseseseseewee +nwseseseswswwseswneseseseseseswse +nwwswswswwswwwwswnwswewwsewswe +eeeseewseeeeeeeeeeneeee +eweeeeseneeneneeneeneneeewew +nwsenwnenenenwnwnenenenwnwnwnwnenenewne +swswswswseswswseswswswswswswswswswnwnwswsw +swswswseswseseswseswswseswsenwnwswsesesesw +swnenenenenwneneneneneneneswneneneneneenene +neneneeeenenesenewneeneeneenenee +eesesesesesesesenwwnwseeesenwswswse +senwswnenwseneeswwseswe +eeeweeewseneneneeeeneeneee +eeeeneeenesweewenew +nwswwwenwsenwsenenwswwweswsewwnwne +swswswseswneseseneswnwseseswsesesweswswswsw +eneenwneneeeneseneneneeeesenwnee +swwnwwnwsenwswwswseenesewseenewwe +eeseseweeeewsenesesesewee +nwsenwnwnwnwnwnwnwwwwnwwwnwnwnwwenw +neneswneenenenesenenenenenenwnenwnwnesew +eseseeeseswswweesweeeneesenwne +swswswseswwswsenwneneseseseeswseswnwsw +nwnwnwnwwnwwnwnwwswnwnwnwnwnwnwenwnwe +wnenwnwnesenwnwswneneenenwwneenwnwnene +seewseseseseeeenweeeeneseseswsee +swsenwsenwnwseseseswesweseswnw +swseswswswsweswswseswswswswseswsenewswsw +seswseseseswwesesesesesesesesesenwswnese +wswnewwseswswwswwwswswneswswwseswsw +nwwsesweeseseeseenesesenweeeesesese +neseeeseewseeseseesewseeese +nwnwnenwnenenenwnenwnenenenwswnwsenenenw +eseeseeseeswseneseseseeeseew +swswswswsesweswsesesenwswseswsesesesesw +wnenwneseseesenwwnenwswswneneweee +newnenenenwnwenwenwswneneseneneswnene +nwwnenwneneneswnwneenenwnenenwnese +eweewwwwwnewwwewwwwnwwswse +ewsweenenwnwswswnwnwnwswwnwnw +esenwnwnenwnwwnwnwwwwewseswwwnwsene +wseeeeeeseseseenwseeeseeseswee +sesesesesenwnwsewswseswseeeseseswnewne +neneneeneswnenenenenewnenwnenenesenenene +wseneseweneeeeew +sesewseseeseswsenewsesewsesenesese +neeneneswseneesweeseeneneneenwnwe +swswseswswswswwneswswswswswswswswswsw +wwwwsewswwswswwswneswwwwswww +seseseseswneseseseseseeseseswsesewsesesew +nwnwnwswnwnwnwnwnesenwnwnwsweenwnwnwswnwnw +seesewnwswneweeenweeseeeseseneswe +seesesesesesewseneewesesesesesesese +nwneeeewewneneeenenesenwswswswe +seseewneneeneneneneneneswwnwneewse +sesweeswwnweseeeenweeeenwee +wwswwswwwnewsewwwnewswweww +swswswnwswnenweseseswswswnenwswswseswswsw +eseswneeeeeneseeenenweeswesesesw +seseseseswswseswseswswswsenwswesesesesw +sweeenenenenwswnwsweeneneswnweeesee +wnenwnwnenwnwwswnenwnwseee +newweneeeeeseneeneswneweneenee +wswswsweseeswneseswswswenewnewwse +swswswweeneswenwswnw +swswsenwswseswswsesenwsesesesesesesesee +nwnwsenwnwnwnwnwwnwnwnwnwnenwnwsenwnw +seswenwnenwsewnwwnenwsewwnwnwesene +enwseweenweseseseeswswseneswesene +newnesenewneneseneneneneswnewneneneenee +swwwswwnwewneswwwwswswwseswww +sesenwweneneeswesenwwewnenw +seneseeseswseseneseswsesesesesesesesee +neneeeeneseneweneneneseseewewwe +eseeseseseseseeswswseseneseneseesee +eseneswnewswneswwsenenenwnwsenwwsww +nwnwsenenenwnwnwnwnenwnwnwswnenwnwnenenenw +nenwenwnwnwswnenenenwnenenwwnenwesenenenw +swswswseswswswswswswneneseswswswseswwnwnw +eeeewneeeeeneeneswnwesesw +eneneneeesenenesenwnwneeeeseeenew +seswseswsweswswswswseswswnwseswswse +nenwswwswswswswwswnewswwswswwwswwe +nwwnwswseewwwwnwwnewswweenwnwnw +wsenwnwswnwnwwnwsenwenwwnwnwnwnwwwnenw +swsweswswseswswswnwswswswswswnwseeswneswsw +swneswswwswwswswneswswwseswseswswneswswsw +wwwnwwwnwwseewewwnwwswweswne +wwnwnewsenwnwwwwwnwnwnwnwnwnwnwnw +swnwnwnwneneneneeneenwswnwnenwnenenese +nenwsenenenenenewnenwnenenenenene +swswswwwwswswene +neneeneeneneswneswnwnesewneenwnwnenesw +wswwwwswwswneswswwseeswswwwww +nenenwswsenwnwsesenwnenenenwnwnwsene +nwenwseeeenesweswseweseseseenwnesee +esenwsesesewseseneseseseseswseseseswsese +eeeweenwnewseeeeseswsenenwesesese +weeeeneewseeneeeeesweeswne +seseswsenesesesesesewsesesesesesesesese +neneenwneweseseeeeweeeeeneeee +eeesweeenwneeswnenweeeeeeenee +ewwnwwnewweswnwwsewewwnweww +eseneeeweeeeeeeeenesweenene +swswswswswwwwwswwneswneswswswswswww +sweeeeeneeeeeeeeeeneswsee +swseswseswneswswswseswswswswswswswswwsw +swnwsenwnenwnwwnwnwnwnwwsenenwenenwnenenw +nwseseswseseseeswnwswseswseswseswsenwse +swswenwnwswwseswnwsewseeneswseneswswnw +newseseesewnwsweneseeseseewseseew +wwwwnwwwwwwwwwewewwwww +nwswnenwwnwwnwnweesewnwnenwnenwnwnwnw +swneeseewsesewseewseseneneseseeeee +senweswnwswesesweswsewseeswswnwse +neeneeeeeeneswneneeweeseeneee +nwwnwwnwwswwwnesenwnwwwwwnwwnwse +nenwnewnwnenenwsenenenwnwnwnwewnwnwne +wnenwnwwnwwwewswswnwwwwnwnwwwww +neneseneneswnenenwwneneneeeneeneeenew +swswwswswswneseswswswswswnwswnwesweswsw +eweweeeeeeneseeewee +nwwswwwsenwnewswwseswnewswnweww +swswsesewsweseneeswswswsweswnwnwnwswwsw +swseswswswswseseseseswswseseswnwnesesesw +nwsenesweswnwnwsesweeswewsesesenesese +nwseseswseseneswsesenwseseseswsesesesenwe +seseeseseseseseseeseseesew +nenwnenenewnenenwnenwneneeneswenenwnenw +wnewwswswseswnenweswswswswswnwswswswswe +neenwswwnenenenwnwswenwenwnene +nwnwnwenwnwnwnwnwnenwswnwnwswnwnwnwnwne +seewwsenwwwwweswswwnwwwwswww +nwnwwwnwnwsesenwneenwsenenwswwnwsenwne +nwnewnwenwwneswwnewwswswwnwwnwswnwnw +seeeeeeeswseseseseeseeenwsesee +wnesenwwwwwnewwwsewwswwwwww +nwnwnenwnenwnwnwnwnwnwwnwnwnesenwnwne +nenewnwnenwswsenwenwnwnwnwneewnenwne +neeenwneneeneswweeeeneeeneeeee +nwswenenwnwnwswnenenwnwnwnwnenwnenwnwne +neeswswswswswswswwswnwswwswswswswesw +nwnwnwnwnwnwswnwenwnwswnwnenwnwnwnwnwnwnwnw +newwnwwsewwwwsewwewwwswsenwsw +nwseswneswwswswwswwwswswwwwseswwsw +wwswswwwwwwsewswwnewwwwww +seseseesesesesewsesewsene +wswswswewswswwewwwswswnwwswnwww +swswseswswswnwswswswswwswswswswswswsw +nwsesesweewnwneswwnenwnwnwsenenwswsenw +swswseseseswswseseseseseswswsesesene +nwesewwnwneseeseneswsesesweneseenwswsw +eeseeesenwnweesweeeseeeesesw +neeswwnenwnenenenwneenenenenwneswsesw +nwwwesenwwnwnwwwnwwnw +nwwswwwwenwwnesesesewenewswsww +swswwwwswsewwswneswswswwwsewneswswsw +eneeneneswnwnenewseeneseneesenenewene +nwwswwnwnwwnwnwnwewwnewnwnwnwwnwe +nwsweswnewwwwsweswswwesw +nwneenenenenenenewswsewenenewsenenene +seswseeseseseneewsesweseseneseesesese +swswswsweeneeewewnewwnwswnewsw +wneswswwsewswneseswswswswwsw +eneneeneeeneseneneswneenwneneenene +enwnenwswsweneeswenwwseeee +nwnwnwnwnenenwenwnwswnenwnwnwsenwnwnwnenwnw +sesewsenwseseesewnwsenesesesesesesese +nesenwneneswenenenenewnesesenwewsenew +seseswnewswesenwneswwewwneeseeswse +wseeseenweeeeeeeewswneeee +nwsesesweswsewseseswsesesesewswseneese +nwnwwwwswwwnesewneewsw +nwwnwsenenwneneneswnenenwnwnwswnwnw +swnwnesewwwnwwwwnwwneenwswwwwww +seseseswwneswswsenewneswswwswseswswse +eseseweenenewseneseseseseswseesew +seswswswnwseseswswseseswswswswsenwsenwnwe +swswswwweswwswswwswswwwswswswsw +wnwwnwwwnwwseenwesenwwnwswnwnenw +nwnwnwnwenwnwnenwnwnwwnenwneenwnenwswnenw +nwwsesesenwweesese +nwswnwnwnenewsewse +eswswneswwwwwwwwwnewwwwswnew +wwwswsewwwwwnww +swswswwwwwewnwwsewswwnwewswnee +nenwewneswnenwswnwswewneneneseswenwene +wnewwwewswsewwwwswnwwwwwwwsw +seeseseesenwewseseseseseseseesesee +wwnwwwnwwwwsewnwwwswwnwnwwe +ewsenenenwswswswswnweseewnwswsesenwsw +wwewwwwwsewswwwnwswwnwwwww +neswsweneseneswwwenesewswswewwsw +neneenenwnwnwswneswneswneneneneswneene +seswnwsesweswsewswnwnwneswnwswnwseswnesw +neswnwnwnenwnwnenenenesenwneneenenenwswne +esenwsesweseneswesewswenweswnesewne +enwnwnwnwnwnwswnwnwnwnwnwswnwneneenene +eneeneswnwneeweneseeesweneneenene +seseweeneswnwseseenwseseseseseeese +eswenwneeenwneseeneeneee +seseswseseseseneeseseswwswwswseseesese +nwseswswswswseseseseneswseseseseseseswswse +nenwswnwswnwnwnwnenwnwnwnenwenwnwnwnwsene +seswwesesweswswswsenwnewwsweswsww +eeeeseseeseeeeesenweesweese +eesenwesweeeeneenweeseeeeee +esesesesweseeesesenesewseseeesee +neneeeneenewnenenenenenesewse +nenwsenwnwwnwenwnenwnwswnwenwnwnwnwnw +wwseneneswnenwneswnwsesenwweseenewnw +swwswnwswwsewswswswswwswsewswswnesw +seeeeneesweweeneeeeneneneeenee +swswswnwseswswswswswnwswswswneswseswesw +wnenwwnesewwswwwsewwwnw +nwsenenwnwwnesweseswnesenwnwnenewsew +ewnwswswwwswwswwnwswesweewww +seeseswsesenwsesenwnweswswswswsewswsene +nwnwnwswnenwnenwnwnenenwnesenwesenwwnew +nwnwwnwnwnwnwwenwsenwnwwwnwnwwnwnwnw +wwwnwwwwseewwwwewewnewww +neswwwswwwswswsenewswswwwwwswwsw +swsewseeseeswseswwswswsesw +swswwswesewswnwswswswwsww +swseswswseswswsweseseseseswnwseswswswsw +wsesesesesesesesesesesesesesee +wnwwswseseneneneenesenenenenenenwee +ewsweswsenwseswwwnweenwnewnwnesew +nwsewneswwwwswneeswwsw +nwnwnwnwnenwnwenwnwneeswnwnwnwnwswnwnwnwnw +ewneneswesenesenwnwnewseww +nwnenwnwnwnenwnwsenwnwnwnenenw +eeeeeeenweseenweeeenwseseesw +wswwswewswwswwswwsw +nweesewseweseenwseseee +nwnenwnwnenenenwnwswnenwsenwnenwnwnwwnenw +nwnenwnwnwnwsenwnwnwsewnwnwnwnwnwnwnwnw +nenwnwnwnwswnenwnwnwnwenwnwnwnwnwnenenw +sweeeeeneneweeeeeeneeeenw +neswsewnenwneswnenenenenwnwenenwnwnenwne +nwwnwswnwswnwnwnwnwnwnwnwnwnenwnwnwnenw +wsweenwenwewneeweeswswwewee +sweswnwwswswswnweswswneswseswswswsesw +swneswswwwswwswewewwswwwwwnese +nwswswswswswswswswswseswswnewswswswsw +nenwnewweewnwnwswnwwsewwwswsenw +seseeewewseseseseseseesesesesesesese +swseswseswswseseswnwseneseeswnweswsesw +wenwnwnwnwnwnwsenwnwnwwwwnwwnwnwswne +nenenenenwnenwnewnenwswnwneneneneneenenw +nwnenenenesenwsenewnewnenwnesenenwnenenw +neneneneeneesweeeneneneneeswenwne +neneenwneeneneeswneeeeenenenenene +swseswseswneswswseseswsesesewnesewneseswsw +swneseewneseswnwneenwswseseseeswese +nwswnwnwnwwnwnwnwnwnwwnwnwewnwnwnwse +nwswnwwnwwnwwwewwnwwwewseenwnw +eeewneneneneeeswseneeweneenew +nwswswswswswswswswswswswwswneseeneswswsw +nwwwnwnwwnwswswnwneewwnwnwnwnwnwnwnw +swswseseeswseswseswswsesew +seesesesesesesesesewseswseseseseene +eesweseeneseswnweseweenwseesesee +enwenwswnenwnwnenwwnenenenewnwswesenwnw +enwweeseenweseeeeswesweeeneee +nwnwseswnewenwnewwsesenwnewnwnwnenwnw +swswswseswweswswswswseeseswneseswsenwne +nenwnwnenwnwnenenesenewneenenenwnewne +swnwwnwswewnwwnenwsewewwwnwnwwww +swneswswwwswnesww +eeeswwnweseweseneeeswsesesesesee +swswwseeseswswswswswsenesenwswswsesenesw +swnewwesenwneswenwenwe +wnwnewwwsewwwwswseswwwswwwsww +swwnwenwnwwnwnwsewwnenwnwwnwwww +nwnwnwnwnenenewnwnenwnwsenenwnwnwnenwne +nwnwnwnwswnwnwnwnwswnwwwenwnwnwsenenwnw +neneneswneseswneeneswnwnenewenwenwswnwne +sweeneseseeseseeneswnweeseseseeee +enesesewwenwwwnewneswsewsewnwnw +swseseseseseseeseseseenwenwswswenwnw +swseseseeneseseswswseseseseswsewsesesese +nweseneswseesenwseswseseswse +swewswseseswwwseneswnesesene +sesesesweseseeneeseeseseseswenwsese +nenwwnenwnwwswwswswwnwnewnwwwnwnww +swswswswwsweswswewswswwswswnwswsww +swwnwswseswsweseswswnwnenwnwsweswee +nesewnwnwnwenwnwwnwwswnwnwnwnwnwnwnwnw +newnenenenenwnenenenenenenwnenenesenene +wwswewwwwswswwwswwnwwwewsw +seeeseeseeeseeseeseeesenwsesesw +neneswseeneneenenwnwnenwnenesenenenewne +nwwneneseswnenenesw +nwnwnwswnwnwnwnenenenwnwnwnwnwnwnwsenwsw +swnwwwnwewwwnwnwwnewwwwnwwnw diff --git a/data/advent2020/input25.txt b/data/advent2020/input25.txt new file mode 100644 index 00000000..b179e230 --- /dev/null +++ b/data/advent2020/input25.txt @@ -0,0 +1,2 @@ +16915772 +18447943 diff --git a/data/advent2020/input3.txt b/data/advent2020/input3.txt new file mode 100644 index 00000000..a9618979 --- /dev/null +++ b/data/advent2020/input3.txt @@ -0,0 +1,323 @@ +............#....#............. +...........##....#......#..#..# +......#.......#......#......... +..#.#....#....#.............##. +..#........####....#...#....... +..##.....#.#.#..#.........#.... +...#.#..#..#....#..#..#........ +#.......#.........#....##.###.. +......##..#.#...#.......#.#.... +................##.........#.## +..##..........#...#.........#.# +..........#...##............... +#...#......#..#.#..#...##..#... +..##....#.......#......#..#.... +....#......#......#....#....... +.........#.....#..#............ +.#...#.#.........#........#.... +#..........####.....#.......... +......##.....#....#..#........# +#......#......#...........#.... +....#.........#....#...#..#..#. +.#........#......#.#.....#..... +..#.#.#..........#....#.......# +......#.#........##....##....## +.....#.#..#...#................ +......#......##...............# +..#..##.............#...##..... +......##......##..#......#..... +....#.............#..##.....##. +........#...............##..... +..#......#.##..#...#....#...#.. +#......#.......#.............#. +.....#....##..............#.... +#.#.........#....#..##....#.... +.#...#...#....#.#............#. +...#...#.#..##.##.......##..... +......#..#....##..#.#..#..#.... +.......##..#..#......#..#.....# +.##..#......#..........#....#.. +.....#................#..#....# +........#..#....#.......#....#. +..#......#.......#......#....#. +....#...#.##........##....#.... +.....#........#...........#.... +...#....##..........#..#...#.#. +...#.......#......#...##...#... +.#.....#........#........#.#..# +.#.........#..##.....#.......#. +....#..#....#.......#......#... +.#.#...##..##................## +......#.#...#.......#....#....# +........#....#..#.....#......#. +.......#..........#......#..... +............................... +..#..#####..#..#..........#.#.. +.....#....##................#.# +.................##............ +.#...#...#..#...........#...##. +..#..#.#...........#.....##.... +.#.......#.....#..##..#.#....#. +..........#.#......##...##..... +........##..#......##...#...... +#......................#....... +............#.....#....#.#...#. +#......#..........##..#........ +.........#.......#...#.#....... +...........##....#........#.... +#........#.....#...#........##. +.#......##......#.##.......#..# +.....#......#.#......#.......#. +.....#.#.........#............. +...........#..#....#.....#.#... +...#............#...#.......... +..#..#...#..................... +......#..#...#....#............ +.#.#.#........#..#...#......... +..........#........#..#........ +..............#...#....#....... +..#....#....##.......#...#.##.. +.#.........#...#......#........ +..#......#...#.........##.#...# +...#.....#...#..#.............# +.##........#.#.#.............#. +..#.............#..#.#...#....# +#...#.........#......#......#.. +.......##..#.#..........#...#.. +.......#.............#..#.#.... +.#..#....#.#................... +....##...#..#....#..#.......... +....#.#............#........... +###........##..#.#..#.......... +.#.#.#.......#...........#..#.# +..........##..#.............#.. +.#...........#......#.#..#..##. +...###......#.##........#.....# +....#..#..#...#................ +...#.....#........#............ +....#...#...#..#..##.##.......# +#.......#......#....#.......#.. +#.............#...#............ +##......#..#...#....##.#...#... +.##....................#....#.. +..#.....#....#.#....#......#... +.......#..#..#............#...# +.#.....#.......#..#..#..#...... +......##....................... +#..#...#.#.#....#.....#..#..... +...................#...#...#... +........#....##..#....#........ +##......#.#......##.###........ +.........#...##................ +.......#...#...#.......##...... +....#.......#......#.........## +....#....#.#..#.....#.......... +...........#.......#........#.. +..#.........###.#........#..... +.......#...........#.#.....##.. +..#...#..#..........#.......... +..........#.#....#............. +.##....#........##............. +.............#.#####........#.# +.................##...#........ +##...#.#.......##........#..... +.#...#...#..#..#....#....#..... +..#...#........#..#............ +##...#.#........#......##.#..## +.##......#..............##.#..# +.........#...#............#...# +....#..#....#...........#...... +........#..#....#...##...#..... +..#..............#...#.#.....#. +.#.......#.#.....#..###.......# +...................#.......#... +........##.....#..#.......##... +.....#....................#...# +...#.#....#............#.#..... +#.......#.......#....#......... +..#...............#............ +##...#...#...#..............#.. +...#..........#..#....##....... +#............##.##......#.#.#.. +.#...........#.........#....##. +..##....##.#....#.#.#.##...##.# +........#.#.#.............#.... +.#...........#....##...#...#.#. +.##...#.................#...... +....#.#..#....................# +.##......#........#..#......... +...#...............#........... +.#.#..##..##.#........#........ +...........#....#.#.#......#... +...................#........#.# +..#............#...#.#........# +....#....#.#.##......#...#..... +..................#............ +..........................#.... +........#...................... +......#.#...#.#..##......#.#.#. +.........#...#..#.............. +..#.......#..........##..#..... +.........#............#........ +......#..#..#...###....#....#.. +#..#..............##.###..##..# +.#..................#.....#...# +........#........#........#.... +.........#........#.##......#.. +..#.....#.#..###...#....#...... +..#................##....#..... +..#.#....##.....#......##...#.. +...#.......#........##......... +#........#...#.#..........##..# +................#...#.#.....#.. +.........#..#..#.#..#.#...#.... +##....#...##.........#.#...#.## +....#..#.....##.....#.....##... +................#............#. +..#..#...#.....#......#.....##. +....#.......#...#...#...#..#... +....#..##....#.###.#...#..#.... +#..##.....#.....#.##..##...##.# +.............###..........#.... +..................#.....###.... +..........#....#...#......#.... +...#..##.......#......#.#...#.. +..#.......................##.#. +..#..#..#....#......#...#...##. +#.............#................ +..........#.#.#.........#.#.... +.....##..#......##.#........... +.#.#.#.#....#.#...#.....#.#...# +......#.....##..............##. +#..#.......##..##.............. +#..#..#................###..... +.....#......#.........#........ +#...........#........#.#....... +#........#.#...#....#....###..# +###..#.#...........#.##.....#.# +..#..........#..#............#. +...#....#.......#..#.....###... +.#....#.##.#..###.............. +.....#.##.##.......###.##...#.# +..#..##.......###.............. +.#.........###..#.............. +..................###.....#..#. +#....#....#.........#.....#.... +.........#.#..#....#.....#..... +....##.......##.......#.#...... +.....#...#.##.....#............ +....#.#.#.......#.............. +.##..#.#..#.......##........... +....#....##..#.....##.......#.# +.....##....#..#.#........#..... +........#.#.#....#....##...#..# +..#......#.#.#..#.##....#.#.#.. +..#...#........#..#..........#. +.........#...................#. +........#.....##..#....#....#.. +#..............#..........#.... +#........#.#...........#.#..... +..#......................#.#..# +.........#.#.....#.#..........# +......#....#.#.##........#..... +.#....##......##..#...#.......# +..#........#...#.##....#..#.#.. +.......#.....#..........#.....# +.........#.#..#.........#....#. +..........#.##.........##..#... +......#.#..#.....#.#..........# +......#.#.#..#..#.#............ +...##.#..#..............#....#. +#..........#................... +.#....#..#.#.......#........#.. +...#...#......#....#......#.... +..#.#.......#.......#.......#.# +...#.#...#........#.....#...... +#.......#..#................... +#..#..#.............#..#..#..#. +#.......................#....## +.#.........#....#....#......... +...............#...#..#....#..# +#.....#.#...#.#.....#.......... +....##.#..#...#.#....###...#.#. +.................#....#........ +####.......##...##.......#.##.. +#..#....#....##............#... +..##......#..#........#........ +....#..#..........#......#...## +..#.#.............#...........# +#...............#...#.......#.# +#..#.........#.##.#.......#...# +......#.....#.............#...# +......#.##.........##...#...... +..#......##.#........#.......#. +#..#.........#.##.............. +..#....#...#...#..#.....#.#.... +................#.......#...... +#.....#..............##....#.## +##.....#...#.#.....#..##...#... +#.#............##..........#..# +..#.##......#..#....#.......... +....##.#....#.......##.....#... +......#.#....###...#........... +..................#......#....# +..............##............... +......#..#....#.....#.......... +.......#........#...#.......... +..#......#......##..#.##..#.... +..#.#...#...............#...... +....#.#.............#.#......#. +....#.#.....#......#..#.......# +........................#..#... +.................#...........#. +#......#......#.#.#.....##..... +..#....##...#.....##.#.....#..# +....#.........#....#.##.#.#.... +..#....###..................... +.....#.#....#......#....##....# +#.......#...#......##.......#.. +#....#.........##.....#........ +#.....#...........#..#.....#... +.................#.....#..##..# +..#...#......####...##......... +............................... +#........#.....#............... +.#.........#....#.#......##.... +...#..........#.........#.#.#.# +......##......#....###........# +.....................#.#.#..... +......#..#..#.......#...#...... +...##.#.............#.#.......# +..#.#...#..#....#.....#.....#.. +..#..#.....................#..# +........#....#..........#..#... +#.##....#..#.#..#............#. +..............###.............# +.#.#..........#.#....#...#....# +....#..........#.#..#......#... +.........##.#...#.............. +..................#.....#.#.... +.#....#.......#.##.#.........#. +.##..#...#......#..#........... +.#.........#..........#.#...... +#.#......#.#.#.#.......#...#.#. +.......#....#.#......#......#.. +...#..#....#.#..#..##...##..... +#.#.#.......#....#.........##.. +#..#....#........###....#.#.... +....#..#.........#....#...#.... +...#.#.#.#..#..##.....#.##..... +.......#.......#............... +#.#.#......##....#............. +...#.##........#.....#...##.#.. +...#.#.###..........#.......#.. +.....#...#.......#.........#... +............#..#...#..##....... +...#....#..##.##..........#.##. +..................#........#... +....#.##.#.##........#.#....... +.#...........##.....##.......#. +#...#.........#.....##......... +#..#....#.#.........#.......... +..#......#.#.#......#.....#..#. +..##......#..............#..... diff --git a/data/advent2020/input4.txt b/data/advent2020/input4.txt new file mode 100644 index 00000000..5b0a490b --- /dev/null +++ b/data/advent2020/input4.txt @@ -0,0 +1,1068 @@ +hgt:159cm +pid:561068005 eyr:2025 iyr:2017 cid:139 ecl:blu hcl:#ceb3a1 +byr:1940 + +iyr:2014 +byr:1986 pid:960679613 eyr:2025 ecl:hzl + +cid:211 ecl:blu hcl:#7d3b0c iyr:2011 pid:006632702 +byr:1982 eyr:2023 hgt:68in + +hcl:#341e13 hgt:192 iyr:2028 +ecl:utc +eyr:2027 byr:1979 pid:653515689 + +eyr:2026 hgt:161cm ecl:#1850b8 +pid:298779494 hcl:b2114e iyr:1953 + +hgt:155cm +hcl:#a97842 iyr:2019 +ecl:gry byr:1939 +pid:935099157 eyr:2027 + +eyr:2024 ecl:grn +pid:102781360 byr:1962 iyr:2013 hcl:#602927 + +hcl:#602927 hgt:152cm +pid:659074205 ecl:brn iyr:2014 byr:1951 + +iyr:2025 hcl:8464b2 byr:2030 pid:976783295 hgt:155cm ecl:dne + +hcl:#ceb3a1 byr:1984 pid:863872932 +iyr:2016 hgt:190cm ecl:grn eyr:2026 + +eyr:2030 hcl:#efcc98 +cid:166 pid:894418497 ecl:hzl +hgt:189cm iyr:2014 byr:1966 + +byr:1937 iyr:2017 eyr:2028 +ecl:amb +hgt:165cm cid:84 +pid:435289747 + +hgt:166cm hcl:#6b5442 byr:1953 eyr:2023 iyr:2010 +pid:948173962 ecl:amb + +byr:1962 cid:276 iyr:2010 hgt:183cm pid:097154397 +hcl:#341e13 eyr:2024 + +hgt:61cm +byr:1942 ecl:xry hcl:#05e97d pid:42823283 +eyr:2024 + +hcl:#888785 +pid:960190685 byr:1967 iyr:2012 cid:99 eyr:2021 +hgt:76in + +eyr:2025 byr:1958 hcl:#18171d iyr:2012 pid:759427419 +ecl:hzl + +ecl:#829d2e +cid:60 iyr:2028 +byr:1979 hcl:caff12 eyr:1931 pid:#fd7aab hgt:184cm + +cid:251 byr:1981 pid:625590775 +hcl:#a97842 eyr:2020 +ecl:amb hgt:178cm +iyr:2016 + +pid:026891577 ecl:amb byr:2014 +hcl:bc419f eyr:2026 +iyr:1948 +hgt:123 cid:67 + +ecl:hzl +hgt:152cm hcl:#efcc98 +byr:1993 +eyr:2025 + +ecl:grn iyr:1924 eyr:2039 pid:8441306576 +hgt:163in +byr:2012 +cid:193 + +ecl:#78f4fa +eyr:2020 hgt:165cm byr:1965 pid:987868257 iyr:2012 +cid:331 hcl:z + +ecl:brn cid:289 pid:868305933 +byr:1936 hgt:174cm iyr:2016 hcl:#623a2f eyr:2021 + +hcl:#2a6308 eyr:2027 hgt:154cm ecl:grn +iyr:2012 +byr:1940 +pid:675209536 + +pid:186cm eyr:2022 +hcl:#fffffd hgt:151cm iyr:2016 ecl:hzl byr:1954 + +ecl:grn hgt:177cm pid:725111435 byr:1927 eyr:2027 cid:154 iyr:2010 hcl:#623a2f + +pid:801551597 cid:55 eyr:2028 hgt:193cm hcl:#a97842 +ecl:hzl byr:1942 iyr:2015 + +cid:176 eyr:2030 iyr:2018 byr:1932 hgt:162cm pid:896180324 ecl:amb hcl:#6b5442 + +cid:239 ecl:grn iyr:1953 pid:9500162195 +byr:1998 +hgt:182cm hcl:#733820 eyr:1966 + +eyr:2030 +pid:919325322 hcl:z iyr:2024 hgt:71cm ecl:#1e935c byr:2026 + +iyr:2012 +ecl:gry eyr:2025 hcl:#602927 hgt:168cm byr:1925 +pid:303312675 + +hgt:150in iyr:2014 ecl:gry eyr:2029 +byr:2029 +cid:228 + +ecl:#9524e0 byr:2026 hcl:z +iyr:2023 +cid:325 +eyr:1996 +pid:6172325031 hgt:191 + +ecl:#689e88 +eyr:1937 +cid:75 byr:1963 iyr:2024 +pid:4980937 hgt:156cm +hcl:#fffffd + +pid:719820090 iyr:2020 hgt:165cm +hcl:#ceb3a1 byr:1997 ecl:blu eyr:2027 + +eyr:2025 +pid:241723456 +iyr:2011 +byr:1953 cid:230 hgt:185cm hcl:#efcc98 ecl:oth + +byr:1936 hcl:#623a2f +iyr:2010 hgt:156cm +eyr:2022 +pid:064253102 ecl:brn + +cid:332 hcl:#a97842 eyr:2026 ecl:gry iyr:2019 pid:#4e4a46 +hgt:150cm +byr:1987 + +ecl:grn hgt:67in +iyr:2012 +byr:1953 pid:910793005 hcl:#341e13 eyr:2020 + +iyr:2024 eyr:2030 cid:204 hgt:166cm pid:218828260 +hcl:701b48 ecl:gry byr:1930 + +hgt:162cm pid:024916763 eyr:2026 ecl:hzl +hcl:#efcc98 iyr:2019 byr:1921 + +eyr:2025 +iyr:2017 ecl:hzl hcl:#fffffd hgt:167cm pid:779214145 + +eyr:2022 +hcl:#6b5442 byr:1941 ecl:grn hgt:169cm iyr:2014 +pid:610328167 + +iyr:2026 cid:179 pid:193cm +ecl:#deb37c +byr:1958 eyr:2024 +hgt:185cm + +pid:907508207 ecl:oth byr:1941 iyr:2017 hcl:#341e13 +eyr:2030 hgt:186cm + +iyr:2018 byr:1925 +ecl:brn eyr:2023 pid:903196231 +hgt:159cm +hcl:#a97842 cid:323 + +hgt:185cm ecl:hzl eyr:2022 iyr:2020 pid:572453155 hcl:#fffffd + +hcl:#a97842 ecl:blu pid:#ab3597 eyr:1964 byr:2030 +hgt:181cm iyr:2018 + +ecl:blu +hcl:#602927 +cid:234 +hgt:68in eyr:2021 pid:257420555 iyr:2014 byr:1972 + +hcl:#7d3b0c eyr:2022 +hgt:152cm byr:1974 +iyr:2017 +pid:353127736 +ecl:gry + +iyr:2018 eyr:2028 byr:1924 hcl:#69929e ecl:gry +hgt:68in pid:942207567 + +eyr:2028 cid:90 +hgt:185cm +ecl:amb byr:1990 pid:947625812 hcl:#623a2f iyr:2011 + +eyr:2023 byr:1996 hgt:175cm +iyr:2012 +hcl:#866857 ecl:blu +pid:437669135 + +byr:1937 eyr:2030 +hcl:#866857 iyr:2017 pid:513963895 hgt:157cm +ecl:grn + +iyr:2016 hcl:#623a2f eyr:2025 +pid:559150893 hgt:176cm +byr:1920 ecl:amb + +byr:1982 +eyr:1961 ecl:hzl +hgt:167cm hcl:#888785 iyr:2011 cid:261 pid:709006236 + +pid:307171649 byr:1935 hcl:#888785 hgt:182cm ecl:brn eyr:2030 iyr:2013 +cid:256 + +ecl:hzl +eyr:1998 +byr:2009 +hgt:153cm iyr:2010 +hcl:#888785 pid:140487128 + +iyr:2019 cid:78 +hgt:169cm +hcl:#888785 ecl:hzl byr:1997 eyr:2028 + +hgt:182in eyr:2025 hcl:#cfa07d ecl:#27a1c9 byr:2005 pid:8143047758 + +byr:2013 hgt:178in +eyr:1933 +pid:829007679 iyr:2016 hcl:#783308 +ecl:grn + +cid:267 byr:1930 pid:949963673 eyr:2026 +ecl:grn iyr:2020 +hgt:188cm hcl:#6b5442 + +eyr:2022 pid:254482159 +byr:1935 iyr:2017 +ecl:hzl +hcl:#b6652a +hgt:165cm + +hcl:109d15 hgt:72cm +cid:258 byr:2023 eyr:1987 ecl:grt iyr:2022 + +byr:1969 +ecl:oth hgt:151cm +pid:578662559 +eyr:2024 iyr:2015 hcl:#602927 +cid:343 + +iyr:2011 byr:1989 +ecl:brn eyr:2029 pid:123354233 +hcl:#efcc98 + +hcl:#a97842 iyr:2010 pid:558586208 +eyr:2029 byr:2002 ecl:amb +cid:225 hgt:152cm + +eyr:2005 byr:2024 iyr:1924 ecl:gmt cid:186 pid:#886ae9 +hcl:3cf4cd hgt:74cm + +ecl:gry +eyr:2029 +iyr:2013 +hgt:178cm hcl:#7d3b0c + +byr:1970 hcl:#6b5442 hgt:155cm iyr:2020 ecl:hzl +pid:698123164 eyr:2030 cid:185 + +hcl:#6b5442 ecl:hzl +iyr:2014 cid:324 pid:149063285 hgt:64in eyr:2023 +byr:1949 + +hcl:#866857 +eyr:2025 +iyr:2012 cid:116 hgt:185cm +pid:416329937 +ecl:grn byr:1962 + +iyr:2020 cid:55 byr:1985 hcl:#733820 pid:237883033 eyr:2020 ecl:blu + +iyr:2020 hgt:71in +ecl:hzl byr:1960 cid:53 hcl:#888785 pid:590574853 eyr:2024 + +pid:834729501 iyr:2019 hgt:72in byr:1977 +hcl:#604861 ecl:oth eyr:2024 + +pid:111536282 ecl:gry +hgt:69in eyr:2021 byr:1940 +iyr:2019 +hcl:#ceb3a1 + +hgt:186cm pid:045765056 ecl:gry byr:1958 iyr:2012 +eyr:2025 hcl:#cfa07d + +hgt:61in eyr:2023 pid:4189258985 ecl:brn iyr:1995 +hcl:#602927 byr:2017 + +byr:1984 hcl:#866857 +iyr:2013 pid:927074474 hgt:168cm +eyr:2021 ecl:oth + +hgt:186cm +pid:948677443 iyr:2014 hcl:#866857 byr:1968 ecl:amb eyr:2027 + +eyr:2028 cid:260 hcl:#623a2f pid:500330326 +iyr:2018 hgt:170cm +ecl:gry +byr:1960 + +hgt:71cm +pid:6209572 byr:1927 iyr:2011 ecl:utc hcl:3bc47a eyr:1984 + +hgt:164cm cid:160 iyr:2010 +byr:1922 eyr:2024 hcl:#c0946f ecl:gry pid:867476938 + +cid:316 +iyr:2015 hcl:#b6652a hgt:72cm pid:#c37dbf byr:2022 eyr:2036 ecl:#8bd8f4 + +iyr:2016 hgt:172cm +pid:482664712 ecl:hzl eyr:2024 hcl:#602927 byr:1945 + +eyr:2029 pid:883381915 +hgt:174cm byr:1937 hcl:#fffffd ecl:gry cid:91 + +eyr:2029 pid:302832265 hcl:#ceb3a1 byr:2010 +hgt:64 iyr:1960 + +hgt:170cm eyr:2030 pid:846949920 +hcl:#ceb3a1 +ecl:hzl iyr:2016 byr:1945 + +hcl:#efcc98 +pid:406029852 eyr:2023 byr:1981 ecl:blu iyr:2013 + +pid:788563693 hcl:#a97842 hgt:172cm eyr:2022 ecl:brn iyr:2010 byr:2002 + +iyr:2013 +hgt:60cm hcl:#7d3b0c pid:6594060725 ecl:#46a7d7 eyr:2023 byr:1995 + +cid:313 byr:1964 pid:102442749 eyr:2020 +hgt:167cm +hcl:#341e13 + +ecl:grn hgt:163cm pid:405504213 cid:349 hcl:#733820 eyr:2029 iyr:2011 + +ecl:hzl pid:470689685 iyr:2015 byr:1980 hgt:180cm eyr:2027 + +eyr:2023 iyr:2013 +hgt:189cm hcl:#866857 byr:1981 +cid:313 +ecl:brn pid:386584267 + +iyr:2011 +hcl:#7d3b0c +eyr:2027 +ecl:gry byr:1931 +hgt:71in +pid:435568613 + +eyr:2021 +pid:443386140 hgt:192cm iyr:2015 byr:1974 + +byr:1989 ecl:oth iyr:2011 +eyr:2027 +pid:761106563 hcl:#efcc98 +hgt:60in + +byr:1933 ecl:brn pid:607926472 +hcl:#cfa07d eyr:2026 +iyr:2010 + +ecl:hzl eyr:2027 hgt:175cm +pid:68527368 +byr:1980 iyr:2017 hcl:#341e13 + +hgt:159cm pid:6199921925 iyr:1920 byr:1950 ecl:amb cid:229 eyr:2034 + +pid:060780170 ecl:gmt +eyr:1961 hgt:184cm hcl:#a97842 byr:2007 + +eyr:2025 byr:1970 ecl:brn hgt:183cm pid:423232940 hcl:#cfa07d cid:283 + +hcl:#18171d hgt:191cm +byr:1951 +eyr:2029 +pid:627632195 cid:268 iyr:2012 + +eyr:2025 iyr:2019 hgt:163cm +ecl:oth pid:967756889 +byr:1938 + +hgt:160cm iyr:2015 +ecl:#9cf598 pid:297446459 cid:123 byr:1968 eyr:1970 +hcl:#efcc98 + +ecl:hzl pid:311990731 hgt:171cm hcl:#602927 byr:1978 +eyr:2026 cid:254 iyr:2014 + +hcl:#8e0dfc +pid:961997362 byr:1950 eyr:2027 hgt:184in ecl:blu iyr:2015 cid:266 + +pid:953859016 iyr:2018 hcl:#341e13 ecl:grn cid:61 +hgt:192cm +eyr:2022 byr:1920 + +eyr:2026 pid:149020634 byr:1942 iyr:2021 hcl:#6b5442 +ecl:oth hgt:176in + +eyr:2025 hgt:176cm +iyr:2020 ecl:oth hcl:#efcc98 pid:196082064 byr:2002 + +hgt:172in hcl:z +pid:#b454a0 +ecl:#d7a600 +byr:1977 +eyr:2035 iyr:2014 + +cid:254 iyr:2020 +pid:716596533 +hcl:#341e13 byr:1947 +hgt:150cm ecl:hzl eyr:2028 + +iyr:2019 pid:190601635 byr:1922 hcl:#18171d hgt:71in ecl:brn eyr:2021 + +byr:1938 iyr:2019 eyr:2028 pid:568504071 hcl:#efcc98 hgt:178cm ecl:amb + +pid:921417345 eyr:2020 ecl:brn hcl:#c0946f +hgt:168cm +byr:1983 cid:170 +iyr:2018 + +iyr:2020 cid:212 eyr:2002 pid:61850316 hgt:148 hcl:#b6652a +byr:2024 ecl:grn + +hcl:z eyr:1985 iyr:2015 hgt:72cm ecl:brn pid:599880521 + +pid:166cm hcl:z +hgt:165 eyr:2036 +cid:152 iyr:1943 +ecl:zzz + +eyr:2021 iyr:2014 +hgt:156cm +pid:654181902 ecl:amb +byr:1946 +hcl:#733820 + +iyr:2019 +hgt:189cm byr:1940 pid:419593669 ecl:amb +cid:149 hcl:#fffffd eyr:2020 + +hgt:172cm +ecl:lzr pid:788208394 hcl:#341e13 cid:183 +iyr:2020 eyr:2027 byr:1988 + +byr:2030 ecl:#d82c54 iyr:2014 +hcl:#be9be7 eyr:2027 pid:1291285950 hgt:61cm + +ecl:hzl +hcl:#a97842 hgt:186cm byr:1992 eyr:2022 + +iyr:2017 hgt:191cm pid:097984693 eyr:2025 byr:1963 +cid:333 +ecl:blu + +ecl:zzz pid:425594420 +byr:1983 +hcl:z +eyr:2028 hgt:184cm +iyr:1937 + +hgt:167cm +eyr:2025 hcl:#623a2f pid:575911832 +cid:305 byr:1939 iyr:2020 + +iyr:2015 hgt:179cm hcl:d678e0 byr:2030 pid:284187009 eyr:1977 cid:285 + +pid:405789549 byr:1982 eyr:2020 hcl:#623a2f +hgt:161cm iyr:2013 ecl:amb + +pid:775860836 hgt:184cm hcl:#fffffd ecl:amb byr:1930 eyr:2022 iyr:2016 + +iyr:2020 byr:1979 +eyr:2024 hgt:171cm +ecl:brn hcl:#ceb3a1 pid:853915000 + +iyr:2015 pid:244459567 +hcl:#18171d cid:224 byr:1931 eyr:2022 hgt:169cm ecl:gry + +iyr:2017 cid:308 eyr:2026 ecl:blu hgt:59in byr:1953 +hcl:#ceb3a1 pid:466915764 + +hcl:#7d3b0c +byr:1940 iyr:2015 +eyr:2020 pid:950614940 ecl:amb +hgt:179cm + +byr:2010 +cid:106 eyr:2022 +iyr:2020 pid:336057617 ecl:brn hcl:f13e26 +hgt:182cm + +byr:1981 iyr:2017 hgt:152cm +hcl:#fffffd +eyr:2024 ecl:gry + +cid:216 hgt:193cm +byr:1975 ecl:oth pid:684529055 iyr:2018 eyr:2020 hcl:#18171d + +hgt:150cm +eyr:2028 +hcl:#cfa07d ecl:grn +iyr:2018 byr:1951 pid:749102509 + +pid:937451204 hcl:#341e13 iyr:2020 +hgt:171cm eyr:2021 +byr:1941 +ecl:hzl + +cid:69 +iyr:2014 eyr:2022 pid:174789690 hgt:157cm byr:1961 ecl:hzl +hcl:#a97842 + +hcl:#7d3b0c pid:658134059 hgt:65in byr:2005 ecl:#2dcb50 iyr:2012 +eyr:2030 + +eyr:2027 +hgt:68in ecl:oth hcl:#888785 iyr:2016 pid:181577931 + +iyr:1997 byr:1994 +hgt:189cm +ecl:gry pid:564165515 +eyr:2029 hcl:#ceb3a1 + +hcl:#602927 eyr:2024 +cid:130 +iyr:2015 ecl:blu +hgt:184cm byr:1996 +pid:897871188 + +ecl:oth hcl:#623a2f +iyr:2016 pid:012591439 byr:1937 eyr:2022 hgt:176cm + +eyr:2020 +byr:1965 +iyr:2013 hgt:193cm +hcl:#ceb3a1 +ecl:hzl pid:177120440 + +byr:1934 iyr:2015 hcl:#341e13 +pid:370860309 ecl:oth +eyr:2028 hgt:157cm + +ecl:brn +byr:2001 +iyr:2010 +eyr:2028 hcl:#866857 hgt:183cm pid:194361427 + +hgt:182cm pid:449667574 ecl:amb +byr:1958 iyr:2017 +hcl:#efcc98 + +iyr:2020 ecl:hzl eyr:2030 hgt:185cm byr:1969 hcl:#ceb3a1 pid:157651787 + +pid:893956434 eyr:2027 hgt:185cm hcl:#a97842 +byr:1944 ecl:oth + +byr:2011 +iyr:2018 +hcl:#623a2f hgt:159cm ecl:blu pid:174cm +eyr:2030 + +ecl:grt pid:520129782 eyr:2020 +byr:2020 hcl:z cid:50 iyr:2017 +hgt:156cm + +iyr:2015 +ecl:grn hcl:#83b224 eyr:2021 pid:554994156 hgt:179cm byr:1994 + +ecl:gry byr:1971 pid:772131254 +eyr:2027 cid:201 hcl:#602927 + +cid:125 +byr:1943 hgt:168cm ecl:hzl pid:418786991 +eyr:2020 iyr:2016 +hcl:#cfa07d + +pid:825704567 eyr:2032 byr:2024 +iyr:1926 +hcl:d31139 hgt:190in + +cid:243 hcl:#cfa07d byr:1951 ecl:oth pid:382615614 +iyr:2018 eyr:2030 hgt:64in + +byr:1925 hgt:187cm ecl:oth eyr:2023 hcl:#888785 + +eyr:2028 iyr:2013 ecl:brn byr:1923 cid:174 hcl:#b6652a hgt:154cm pid:274036240 + +ecl:brn hgt:183cm iyr:2016 +byr:1922 +hcl:#efcc98 eyr:2030 + +hgt:188cm +byr:1979 +ecl:amb +eyr:2025 hcl:#b6652a cid:130 +pid:646985829 iyr:2019 + +hgt:76cm hcl:z cid:112 ecl:zzz +pid:953385473 eyr:2020 +byr:1943 + +ecl:#12c807 +byr:1954 eyr:1934 hgt:73cm hcl:#ceb3a1 iyr:2015 pid:704621520 + +hgt:188cm hcl:#733820 eyr:2024 ecl:grn +iyr:2018 byr:1982 pid:522812862 + +hgt:68cm ecl:blu +byr:2023 pid:875418461 iyr:2021 eyr:2020 hcl:#623a2f + +byr:1967 +pid:313706535 ecl:amb hcl:#888785 +iyr:2012 +eyr:2026 + +eyr:2026 +pid:288363970 cid:70 byr:1932 hgt:157cm iyr:2016 ecl:hzl hcl:#ceb3a1 + +byr:1992 pid:539896055 +eyr:2023 +cid:189 hgt:70in ecl:oth iyr:2019 +hcl:#866857 + +hgt:158in +ecl:gry byr:2028 +eyr:2036 cid:188 +hcl:#cfa07d +pid:044279141 + +eyr:2024 hgt:170cm ecl:hzl +byr:1939 pid:851235247 iyr:2013 +hcl:#fffffd + +ecl:hzl hcl:#c0946f +hgt:167cm +eyr:2024 byr:1936 pid:463230636 cid:297 +iyr:2016 + +pid:291401545 ecl:grn hcl:#b6652a iyr:2014 +hgt:185cm eyr:2025 byr:1947 + +eyr:2029 pid:612595763 +iyr:2018 ecl:gry +cid:290 +byr:1991 hcl:#733820 +hgt:150cm + +hgt:151cm +pid:667532675 cid:134 +byr:1930 +hcl:#efcc98 iyr:2012 +ecl:oth + +ecl:gry +hcl:#888785 hgt:161cm +eyr:2023 +pid:467759498 cid:274 + +eyr:2023 byr:1956 hgt:188cm iyr:2014 hcl:#b6652a pid:382721925 ecl:brn + +byr:1947 ecl:gry eyr:2020 +pid:874004905 hcl:#602927 hgt:161cm iyr:2029 + +pid:164334257 +iyr:2014 cid:286 eyr:2020 +hcl:#733820 +ecl:gry byr:1959 hgt:165cm + +hgt:59in +pid:#5b1362 +eyr:2028 iyr:1980 hcl:z byr:2030 +ecl:utc + +pid:604128460 iyr:2016 byr:1952 hgt:152cm ecl:grn hcl:#7d3b0c eyr:2021 + +pid:7483106309 eyr:2005 hgt:158in byr:2024 iyr:1935 hcl:z +ecl:#158994 + +hcl:22207f eyr:1994 +cid:166 pid:#d8e64c ecl:utc +byr:1966 hgt:70cm +iyr:1980 + +iyr:2012 pid:045892410 hgt:70in ecl:dne hcl:1a323a byr:1920 eyr:2022 + +hcl:#18171d iyr:2019 eyr:2026 +hgt:191cm pid:514596186 cid:327 byr:1938 ecl:grn + +pid:904148746 hcl:#a97842 hgt:161cm +cid:181 +iyr:2012 eyr:2020 ecl:oth + +iyr:2028 +eyr:2034 +cid:276 pid:#0e7ee2 byr:2020 +hgt:63cm ecl:gry +hcl:z + +pid:4270554593 eyr:2031 ecl:lzr hgt:72cm +iyr:2027 hcl:ffc210 cid:132 +byr:2008 + +iyr:2018 pid:174cm cid:144 +ecl:#10b2ed byr:1931 eyr:2040 hcl:z hgt:68in + +pid:446746712 +iyr:1957 +ecl:oth cid:213 hgt:184cm byr:2008 hcl:z + +hcl:#7d3b0c iyr:2012 ecl:hzl +eyr:2023 pid:270148060 + +pid:832184923 +eyr:2023 hgt:180cm +byr:1965 ecl:hzl cid:189 hcl:#a97842 +iyr:2016 + +pid:688867083 +iyr:2011 hcl:#733820 cid:147 eyr:2021 +byr:1986 ecl:oth + +hgt:166in ecl:amb byr:2014 +pid:169cm hcl:#cfa07d iyr:1976 + +hgt:64in byr:1987 hcl:01f3d7 +pid:553206412 eyr:2027 ecl:grn cid:336 +iyr:2012 + +cid:336 +ecl:oth byr:1975 +pid:296100726 hcl:#6b5442 iyr:2016 hgt:180cm eyr:2029 + +hcl:#ceb3a1 hgt:181cm pid:364719801 byr:1922 eyr:2029 +iyr:2010 cid:346 ecl:gry + +hcl:#1c7f1d cid:205 +hgt:184cm +byr:1928 +pid:694275035 iyr:2018 ecl:blu eyr:2023 + +eyr:1970 +hcl:z byr:2001 +pid:9244596 iyr:2030 hgt:187in ecl:blu + +hgt:96 +byr:2030 ecl:zzz eyr:1920 pid:115437655 hcl:z +iyr:2017 +cid:344 + +iyr:2018 +eyr:2023 +hcl:#888785 hgt:188cm +ecl:amb byr:1992 pid:602211075 + +pid:848099019 hgt:168cm iyr:2016 +eyr:2026 ecl:amb +hcl:#866857 byr:1981 + +iyr:2013 hcl:#623a2f hgt:151cm cid:135 byr:1974 eyr:2026 ecl:gry +pid:313553018 + +hcl:#733820 +byr:1986 hgt:182cm +ecl:brn eyr:2024 iyr:2017 +pid:676008782 + +eyr:2030 pid:833874339 iyr:2011 byr:1949 hgt:159cm +ecl:brn hcl:#602927 + +hgt:182cm hcl:#6b5442 pid:131549376 eyr:2029 iyr:2012 +ecl:gry byr:1926 + +cid:55 ecl:amb iyr:2015 hgt:192cm hcl:#a97842 +byr:1944 +eyr:2027 + +iyr:1944 eyr:2038 hcl:a2adf2 cid:99 byr:2006 hgt:67cm +pid:154cm +ecl:dne + +eyr:2005 hcl:#1495bd ecl:grt byr:2028 +iyr:2016 hgt:155 pid:182cm +cid:326 + +hgt:136 +pid:599182089 eyr:2020 byr:1945 +iyr:2012 +ecl:oth hcl:#18171d + +pid:4695182580 +iyr:2012 +ecl:brn eyr:2039 byr:1936 +hcl:#cfa07d + +ecl:hzl byr:1949 cid:133 hgt:159cm hcl:#b6652a pid:9833212692 iyr:2011 eyr:2030 + +eyr:2020 +hgt:175cm +cid:140 iyr:2014 byr:1980 hcl:#7d3b0c +ecl:grn pid:400508366 + +pid:#100a75 iyr:2016 +hgt:65 +eyr:2037 ecl:hzl +byr:1962 + +eyr:2024 pid:180cm hcl:#6b5442 hgt:154cm +iyr:1964 + +byr:1986 hgt:159cm ecl:brn +pid:856817592 hcl:#cfa07d eyr:2024 +iyr:2017 + +hgt:166cm +byr:1996 hcl:#410645 +ecl:hzl iyr:2010 cid:178 pid:337713295 +eyr:2026 + +iyr:2017 byr:1964 hgt:167cm hcl:#7d3b0c cid:298 ecl:brn pid:371416367 + +byr:1929 iyr:2011 hcl:#fffffd ecl:blu +pid:013408674 hgt:187cm eyr:2021 + +hcl:#cfa07d byr:1986 cid:331 +iyr:2010 ecl:gry pid:616063053 hgt:150cm +eyr:2028 + +pid:013835033 iyr:2017 byr:1991 +hgt:154cm hcl:#efcc98 eyr:2020 + +byr:1978 eyr:2024 +hgt:155cm iyr:2012 hcl:#694989 pid:914726069 +ecl:amb + +ecl:blu pid:139464317 hcl:#fffffd eyr:2024 byr:1970 hgt:72in iyr:2012 + +byr:1965 hcl:#ceb3a1 ecl:hzl iyr:2019 pid:910593212 eyr:2029 + +byr:1994 cid:228 +ecl:grn hgt:171cm pid:538884417 eyr:2025 iyr:2011 hcl:#6b5442 + +cid:264 hcl:#623a2f +hgt:186cm iyr:2012 ecl:brn eyr:2024 pid:304101929 byr:1954 + +hgt:183cm byr:1987 hcl:z ecl:gry eyr:2020 pid:384983241 iyr:2015 + +pid:#885c1a +byr:2012 eyr:2034 ecl:#8ea705 iyr:2028 hgt:61cm hcl:z + +eyr:2023 hgt:156cm byr:1939 hcl:#cd2220 ecl:brn pid:484163297 + +hgt:158in +byr:2000 ecl:lzr +iyr:2014 +eyr:2033 pid:50157400 + +byr:1974 hcl:#c0946f +iyr:2018 pid:285451524 cid:299 eyr:2029 hgt:184cm ecl:hzl + +byr:1974 hcl:#602927 hgt:151cm iyr:2013 pid:322935162 ecl:amb +cid:209 +eyr:2026 + +hcl:#341e13 iyr:2015 +ecl:gry byr:1970 +hgt:186cm +pid:330151070 eyr:2034 + +ecl:gry eyr:2023 +hgt:160cm hcl:#c0946f +iyr:2011 byr:1926 pid:727347794 + +iyr:2012 +byr:1974 hcl:#866857 +eyr:2025 +pid:933155590 hgt:167cm +ecl:grn + +iyr:2015 ecl:gry eyr:2029 +byr:1967 hcl:#f9f576 hgt:170cm pid:439696954 cid:173 + +eyr:2029 byr:1935 ecl:brn pid:165587982 +hcl:#6b5442 +iyr:2020 + +eyr:2029 ecl:hzl hcl:#866857 byr:1994 +pid:308548232 hgt:162cm iyr:2012 + +byr:1924 cid:274 +pid:028266367 eyr:2025 iyr:2017 hgt:169cm +hcl:#cfa07d ecl:gry + +eyr:2025 byr:1995 +ecl:brn +hgt:160cm +pid:819047484 +hcl:#602927 iyr:2011 + +pid:660383456 +iyr:2016 eyr:2022 hgt:158cm byr:1942 ecl:amb cid:334 hcl:#efcc98 + +hcl:#6b5442 iyr:2024 cid:180 ecl:grn pid:167cm hgt:169 + +eyr:2024 iyr:2017 hgt:165cm hcl:#7d3b0c byr:1920 +ecl:amb pid:236377188 + +pid:063113952 +ecl:grn hcl:#341e13 hgt:166cm +byr:1977 iyr:2017 + +ecl:amb hgt:174cm +eyr:2028 byr:2002 +hcl:#7d3b0c +pid:428826816 iyr:2017 + +byr:2025 ecl:dne hgt:167in pid:706379338 +iyr:2019 hcl:240e75 eyr:1971 + +eyr:2021 +hcl:#efcc98 iyr:2014 +pid:358236477 +byr:1923 cid:73 hgt:165cm ecl:amb + +eyr:2030 cid:267 +ecl:brn +pid:282023612 hcl:#c0946f iyr:2018 byr:1989 +hgt:72cm + +ecl:utc hcl:ea4b34 byr:2013 +pid:#d58d54 +hgt:107 iyr:2027 cid:296 eyr:2038 + +byr:1946 eyr:2024 iyr:2012 +hcl:#341e13 +pid:765835791 hgt:159cm + +hcl:#341e13 byr:1927 +ecl:grn iyr:2011 +hgt:175cm eyr:2023 pid:638808763 cid:339 + +eyr:2030 cid:160 byr:1994 hgt:163cm ecl:hzl iyr:2016 hcl:#623a2f pid:569304871 + +byr:1965 +eyr:2020 hgt:157cm hcl:#a97842 +cid:271 iyr:2014 pid:326802068 ecl:#a16571 + +byr:1965 +ecl:hzl eyr:2029 iyr:2010 hgt:157cm +hcl:#7d3b0c pid:617693914 + +pid:547158528 byr:1956 +ecl:gry hgt:189cm +eyr:2029 +hcl:#602927 +iyr:2011 + +hcl:#efcc98 +ecl:#1ecd0e pid:160cm eyr:2027 hgt:183cm byr:2027 iyr:1963 + +hcl:#fffffd eyr:2021 iyr:2014 byr:1959 ecl:amb +pid:102521439 hgt:190cm + +cid:112 hcl:#fffffd byr:2025 +pid:016603375 +eyr:1942 hgt:145 +iyr:1994 + +ecl:xry +pid:#5be367 +hgt:171cm cid:144 iyr:1946 eyr:2034 hcl:z byr:2022 + +ecl:oth +iyr:2014 hcl:#7d3b0c +cid:316 +byr:1936 pid:088295340 +eyr:2029 + +iyr:2019 +hgt:183cm ecl:brn hcl:#efcc98 pid:821190245 cid:251 eyr:2023 +byr:1993 + +ecl:oth iyr:2018 +cid:131 +hcl:#524e2e byr:1981 hgt:183cm eyr:2022 pid:037981572 + +hcl:#18171d byr:1934 eyr:2020 hgt:62in +cid:64 +ecl:oth pid:343039563 iyr:2010 + +hcl:#733820 pid:374199356 +hgt:169cm eyr:2026 byr:1994 iyr:2015 ecl:brn + +pid:394267581 +hcl:#a97842 iyr:2010 byr:1988 +hgt:185cm ecl:amb +eyr:2022 + +ecl:#be3b70 iyr:2025 +hcl:z +eyr:2010 +byr:2023 +hgt:65 cid:220 pid:#d6af49 + +eyr:2029 +hcl:#a97842 ecl:amb hgt:159cm +cid:228 byr:1946 iyr:2012 +pid:805319194 + +hcl:#c0946f eyr:2020 hgt:171cm ecl:oth iyr:2010 byr:1958 pid:276122958 + +iyr:2017 +hcl:#da47a1 byr:2007 ecl:utc +eyr:1945 cid:327 hgt:192cm pid:549704477 + +iyr:1923 hgt:174in hcl:z byr:1974 +eyr:2026 +ecl:xry pid:158cm + +iyr:2022 +ecl:#ae10f9 +hgt:108 +eyr:2035 hcl:z byr:2019 pid:#1f4f7c + +eyr:2021 pid:959352732 cid:306 hgt:178cm ecl:amb +iyr:2012 +byr:1953 + +byr:2016 ecl:lzr eyr:2021 hcl:z iyr:1977 hgt:181cm cid:164 + +cid:242 byr:2008 hcl:#866857 hgt:172cm iyr:2011 +ecl:blu eyr:2026 pid:350658669 + +hgt:67in eyr:2030 +ecl:gry pid:156329184 iyr:2010 byr:1936 hcl:#efcc98 + +cid:110 hgt:76in iyr:2018 +eyr:2029 pid:474249956 byr:2002 hcl:#866857 +ecl:oth + +iyr:2016 hgt:193cm eyr:2029 +byr:1934 hcl:#b6652a pid:901756621 +ecl:brn + +eyr:2017 hcl:z pid:#2f9848 iyr:2024 +hgt:170cm + +hgt:60in eyr:2026 byr:1922 hcl:#18171d iyr:2016 +pid:921038878 diff --git a/data/advent2020/input5.txt b/data/advent2020/input5.txt new file mode 100644 index 00000000..18ce979c --- /dev/null +++ b/data/advent2020/input5.txt @@ -0,0 +1,872 @@ +BFFFFFFLLR +FBBFFFFLRL +BFFFBFFLRL +BBBFBFFLLL +FBBBFFFRLR +FFBFBFFLLR +FBFBFBBLLR +BFBBFFFRLL +FFFBFBBLRR +BFFBBBBLRR +FFBFBFBRRL +BBFBBFFRLR +BFBFBBFLRR +BFFFBFFLLL +FBBBFFFRRL +BFFBFBBLRL +BFBFBFFRRR +FFBFBFBRLL +FFFBBFBLLL +BBFFBBBRLL +FBFBBBFLRR +FBFFFBFRRR +FBFBBBBRLL +BBBFFFFRRL +FBFBFFBRLL +BFBFBBFLLR +BBFBFFBRRR +FFFBBBFRRR +FFBBFFBLLL +BFBBBBBRLR +BFBBFFFLLL +BFFFFBFRRL +FFFBBBFLLR +BBFFBFBRRR +BBFFFBFLRL +BBFFBFBLLL +FFBFBBFLLL +BBBFFBFLRR +BBFBFFFRLR +FBFBBBBRRR +BFBBBBBLLL +BBBFFBBLLL +BBFBFBFRRL +BBFFFBFRRL +BBFFFBBRRR +BBBFBFFLLR +FFBBFFBLRL +BFBBBBFRRL +FFBBBBBLLL +FBBFBBBLRL +BBFFFFBRLL +FBFFBBBLRR +FBBFFBFLRL +FFFBFFBRRR +FFFBFBBRLL +FFBFFBBLLR +FFFBBFBRRR +BBFBBFFLRR +FBBBBFBRRL +BFBBFBFRRL +FBBBBBBLRL +BFBBFBFRLR +FBBFFBBRLR +FBBFBFFLRL +FBBBBFFLLR +BBBFFBBRLL +BFFBFBBRLL +BFFFBFBRLL +BFBBFBFLRL +BFBBBBFLRR +BBFBFBBLRL +FFBFBBFRLR +BFBFFFBRRR +BFFBFFBLLL +FBFFFFFRLR +FFBBFFFLLR +BFFBFFFRRR +FFFBBFBLRL +BFFBBFBRLR +BBFBFBBLLR +FFFBFBFLLR +FFBBFFFLRR +FBBBBBFLLL +FFBBBFBLLR +FBFBFBFRRR +BFBFFBBLRR +FFBFFBBLRR +BBFFBFFRLL +FFFBFBFRLL +FBBBBBBRRR +BBBFFFFRLL +FBFBBFFRLR +FFBBBBFRRL +BFBFBBFLLL +BBFBBFBLRR +BFBBBBBRRL +FBBFBBBRLL +FFBFFFFRLR +FBFFBFFLLL +FBFFBFFRRL +BFFFFBBRLR +BFFBBBFRRR +BBFBFFBRRL +BFBBFBFLLR +BBBFFBBRRR +BFBBFFFRRR +FBBBFFFLLR +FBBBBBBLLR +BFBBBBFRLR +FBBBFBBRLL +BBBFFBBRLR +BBFFBBFRRR +BBBFFFBRLL +FFFBBBBRRL +BFFFFBBRRL +FFBBFBFRRL +BFFFFBFLRL +FBBBBFBRLL +BFFBBBBRRL +BFFBBBBRLR +FBBFFBBLRR +BFBBFFBLLR +BFBBFBFRRR +FBFBFFFLRL +BBFFFFBRRL +FBFFBFFRLR +BBFFFFFLLR +FBFFBBBRRL +FBBFBFFLLR +FBBFFFFRLR +FBBBBFBRLR +FBFFBFFRLL +BFBFFBFRLR +BBFBFBBLRR +FBBFBFBLLR +FFBFFBFRRL +BFFBBBFRLR +FBFBFBBLRR +FBFFBBBLLR +FBFFBFBRRL +FBBFBFFRLR +FBBBFBBRRL +FFFBFFBRRL +BBFFBFFLRL +FBBFBBFRLR +BFFFFFBRLL +FBBFFFFLRR +FBBBBFFLLL +BFBFBFFRLR +BFFFFFBLRL +FFBFBBFRLL +BFBBFBBRRR +FBFFBBFLLR +BBFFBFBLRL +FFFBFFBLLL +BFBFFFFRLL +BBFBFBFRLR +FBBFBBFRRL +BFBFFBBRLL +FBFFFFBRLR +BBFFFFFRRL +BFFBBBBLLL +FFBBBBFLRL +FBFFBFBRLR +FBBFBFFLLL +FBBFBBFLRR +FFBBFBFRLR +FFBBFBBLRR +BFFBBFFLRR +FFFBBBBLRL +BFFFFFFRRR +FBFFFFBLRR +FBFBBFBRLR +BBFBFFFRRL +FBBFBFBLRL +BFFBFFBRRL +BFFFBFBLRL +FBBBFBFLLL +BFFFBFFRRL +BFFFBBBLRR +FFFBFBFLLL +BBFFBFBRLL +BBBFFFFRRR +BFFFFBBRLL +BBFBFFBLRL +FBFFFBBLLL +FFBBBFBLRL +BBFBBFBRLL +FFFBBFBRRL +BFFBFBFLRR +BBFBFFBLRR +BBFBBBBRLR +BFBBFFBLRR +FBBBFBBRLR +BBFFFBFLLR +FBFFBBFRLR +BFBBFBBRLL +BFBBFFBRLL +FFBBBBBRLL +BBFFFFBLLR +FBFFFBBRRL +BFBFFFBLRL +FBBBFFBLLR +BBFBFBBRLR +FBFBFFFRRL +BBFBFFFRLL +BBFBFFFLRR +BFBBFFFLRL +FBFBFFFRRR +BFBBBFBLRR +FBBFFFFRRR +BFBFBBBLLL +BFFFFFBRRL +BBFFFFBLLL +FBFFFFFLLR +BFBBBFBRLL +FBBFBBFLRL +FFFBFFFRLL +BBFBBFBLRL +BFFFFBFLLR +FBBBBFBLRR +BFBFFFBLRR +FFFBBFFRRL +BFBFBBFRRR +FBFFBBBLLL +FBFBFFBRRR +BBFFFFBRLR +BFFBFFFLLR +BFBBFFBRLR +FFBBFFFLLL +FBBFBFFRRR +FBFFBFBLLL +BFFFFFFRRL +FFFBFBBLRL +BFBFFBBLLL +FBBFBFBRRR +FBBBBBFLRR +FBFBFBFLRR +BBBFBFFLRL +FBBBFBFLRR +BBFBBBFRLR +BBFFBBBLRR +FFBFBFFRRL +BBBFFFBLLR +BFBBFBFLRR +FFBFFFBRRR +FBFBBBBRLR +FBBFFBFLLL +FBBFBBFRLL +FFFBBFBLRR +FFBBFFBRLR +FBFBBBFLLR +FBFBFBBRRL +BFFBBFBLLL +BFBFBFBLRL +FFBFBFBLRR +FBFFBBFRLL +FFBBFBBLRL +BFBBFBBLRR +BBFFBFFRRL +FBBFFBFRLR +BFBFBFBLLL +FBFFFFBLLL +FBFBBFBRRR +FFFBFFBRLR +BBFFBFFLRR +BBFBBFBLLR +BFFFFFBLLL +FBBFBFBLLL +FFBFBBFRRR +BBFBFFFLLL +FFBFBBFLRL +FFFBFFBLRL +BFFBFFBRLL +FFFBFFBLRR +FFBBFFBRRR +BFBFBBBRRR +BFBFBFFLLL +FBFBBFFRLL +FFBFFBFLRL +FBBFFFBLRR +BFBBFBBLRL +FBFBBFBLRR +FFBFBFFLLL +FFFBBBFLLL +BFBBFFFLLR +BBFBFBFLLR +FBFFBFBLLR +BFBBBBFRRR +FBBBBBFRLL +BBFBFBBRRR +FBBFFBBRRR +FFFBBBBLLR +BFFFFFBRRR +BFFFFFBLLR +BFFFBFBLLR +BBFFFFFLLL +BFBFFBBLRL +BFFBBBFRLL +FBFBBFBRLL +FFFBBFFLLL +FBBFFBBRLL +BBFFFBBRLL +FBBBBFBLLR +FBBBBBBLRR +BFFBBFFLLL +BFFBBBFLLR +BBFFBFBRLR +BFFBFBFLRL +FFBBFFBLLR +BFFFBFFRRR +FFBBFFFRLR +BFFFFBFLLL +BBFFBFFRRR +BBBFFFBLRL +BFFBBBFRRL +FFBFFFFRLL +BBBFFFFLLL +BBFFBBBRRL +FFFBFFFRRL +FBFBBBFLLL +BFFFBFBRLR +FBBFFBFLLR +BBFFBFBRRL +FBFFFBFLRR +FFBBFBFRRR +BBFBBBFLLL +BBFBBFBRRR +BFBFFFFLRL +FBBBFBBLLL +FFBFBFFRLL +FBFFBBFLRL +BBFFBBFRLR +BFFFBBBRRR +FBFBBBFRRR +FFBBFBBRLR +FFBFBBBRLL +BFBBFBFLLL +FBFFBFFLRR +BFBFBBFRRL +BFFBBBFLRL +BFBFFBBLLR +BBBFFFBRRR +BFFFBBFLLR +FBBBBBFLLR +FBFBFBFLRL +FFBBFFFRRL +BFBFFBFLRR +FBFBFFFLLR +BFFFFFBRLR +BFBFFBBRLR +BFBFFFBRLR +FBBFBFBRLL +FFBFFFBLRL +FBFFFFBRRL +BBBFFBBLLR +BBFFFBBLLR +FFBFFBFLLR +FBFFFFBLLR +FBFBFBBLRL +FFBBBFFRRL +FFBFFFFLLL +FBFFFFBRRR +BFBBBFBRLR +FBBFBBFRRR +FBBFBFBLRR +BFBFBFBLRR +BBBFFFBLLL +FFBFBFBLLL +FFFBBFBLLR +BFBFBFFLRL +FFFBBBBRRR +BBFBFBBLLL +FBBFFFBRRR +BFBBFBBRLR +BFFBBBBLRL +BFBBBBFLLL +BFBFFBFRRR +BFFFBFFLRR +BFBBFFBRRR +BFFFBBFRRL +BFFFBBFRLR +FBBFFBBLLL +BBFBBFBLLL +BBBFFBFLRL +BFBBBFBRRL +BBFBBBFRLL +FBFBFFBRRL +BFBBFBBLLR +BFFBBFBLLR +FBBBFBFRLR +FBBFFFBRLR +BBFBFFBLLL +FBBBBBFLRL +BBFFFBFLRR +FFFBFBBLLR +BBFBBBFLRR +FFFBBBBRLL +FBBBFFFRLL +FFBFBFFRLR +FBBBFBBLLR +BBBFFBFRRR +BFFBFBFRLR +FBBBBBBLLL +FFBFBBBRRR +FFBBFFBRLL +BBBFBFFRRL +BFFFBFFRLR +BFFFBFFRLL +BFBBBFBLLL +FBFBBBBLRR +FBBFBBFLLL +FBBFFBBRRL +BBFBFBFLLL +FBBBFFBRLL +FBBFBFBRRL +BFFFFFFRLR +BBFBFBFLRL +FFBBBFFRLR +FFFBBBFRRL +FBFFFBBRLL +FBBFFBBLLR +BFBFFFFLRR +FFBFBBBLRL +FFBBBFBRRR +BBFBFFBRLR +FBBBBBFRRL +FBFBBFBLLR +BFBFBBFLRL +BFBBBBBRRR +BFBBBBFLLR +FBBFBFFRLL +FFBBBFFRRR +FBFFFBFLLR +BBFFFBFLLL +FBFFFFFLLL +BFFBFBBLLL +FFBBFFBRRL +BBFBFFBRLL +BBFBBFBRLR +FFFBFBFRLR +BFFBBBBRLL +FBFFBBFLLL +BBFFFBFRLL +FBFFBBFLRR +BFBFFBFRRL +BFFBBFBRRR +FBFBBFFLRL +FFFBBBBLRR +FFBBBFFLLR +FBFFFBFLLL +FBFBFBBRLL +FBFFFBFLRL +BBFBBBBLRR +FFBFFFBLLR +BFFFFBFRRR +FBFFFBBRLR +FFBBBFBRRL +BFFFFBFLRR +FBBFFBFRLL +BBFBFBFRRR +FBFFFFBRLL +FFBBFFFLRL +FBFFFFFRRR +BFFFBBFLRL +FFBBFBFRLL +FBBBBFFRRR +FBFBBBBLLR +FFBBBFBLRR +FBFFFFFRRL +BFBFFFFLLL +BBFBFBBRLL +FBBBBFFRRL +FFBFFBFRLR +FFBBFBBRRR +BBFBBBBRRR +BFFBFFFRLL +BFFFFFFLRR +BBFFBBFLRL +FFBBFFFRRR +BBFBFBFLRR +FFBFFFFRRL +FBFBBFFLLR +FBBBFFBRLR +FBFBBBFLRL +BFBFBFFLLR +FFFBFFFLLR +FBFFBFBRRR +BFBBBBBLRR +BFFBBBBLLR +BBFFFFFRLR +BFFFFBBLRR +BFFBBFFRRR +BBFBBBBRRL +BFBFFFFRRL +FFBFBBBRRL +FBFFFBFRLL +FFBFFBBRRR +FBBBFBBLRL +FFFBFFFRRR +FBFBFFBRLR +FBFBFFFLRR +FBFFBFFRRR +FFFBFBFRRR +FFBBBBBRRL +BFBBBBFRLL +FFFBFBBLLL +BBBFFFBRRL +FFBFBBFLRR +FBBBFFFLRR +BFFBBFBLRL +FFBFBBBLLL +FBFBBBFRLL +FFBFFFFLLR +FFBFBFFRRR +FBBFBBBLLR +BFBFBFBRLR +BFBBFFFRRL +FBFBBFBLLL +BFFFBBBLLR +BFFBFFBLLR +FBBBBBFRLR +FBBBFFBRRL +BFBFBBBLRR +BFFFBBBRLR +FBFBFBBRRR +FBFBFFFRLR +FBBFFFFLLR +FFBFBBBRLR +BBFBBBBRLL +FBBBFFFLRL +FFBFBFBLRL +BBFFBBFRLL +FFBFFFBLRR +BFFBFFFLRR +FBFFFBBLRL +BFBFFFBRLL +BFBFFFBLLR +FFFBBBFLRR +FFBBBFBLLL +FFBBBBBLRR +FBBBBFFRLL +FBFFFFFLRL +FBBBBFFRLR +FFFBBFFLLR +BBFFFFFRLL +FFBFFBBRLR +FFFBFBFRRL +BBFBBBFLLR +BFBFFFFRRR +BFFBFFFRLR +FFBBFFFRLL +FBFBFBBRLR +FFBFBBBLRR +BFBFBBBRLR +FFBFBBBLLR +FFBFBFBRRR +FBBBFFBLRR +FBFBBBFRLR +FBBBBBBRRL +FFBFFFBRLL +BFBFFBFRLL +FFBBBBBLRL +FBBBBFBRRR +BFFBFBFRLL +BBBFFFBLRR +FBBFFFBRRL +BFBBBBBRLL +BBFFBFFLLR +FBFFBBBRLL +FBBBFBFRRL +BFFFBBBRLL +FBBBFBFRLL +BBFFFFBRRR +FBBBFBFLLR +FBBBBBFRRR +FFBFFBFLRR +FFBBFBFLLL +BFFFBBFLLL +BFBFFFBRRL +FFBFFBBRLL +BFBBBBBLRL +BFBFFBFLLR +FBFBFBFRLL +BFFBBFFLRL +BBFFFFBLRR +BFBFFFFRLR +BBFBBFFRLL +BFBBBFFRRL +BBFFBBBRRR +BBBFFBBLRL +FBBBFFBLLL +BFFFFBBRRR +FBFBFFBLRL +FBBFFFBLLR +FFBFFBFRLL +BFFFFFFLRL +BBFFFBBLLL +BBFFFBBLRR +BBBFFBFRLL +FBFBFFFRLL +FBBBFFFLLL +BBFFFBBLRL +FBBBFFBLRL +FFBFFBBLRL +FFBBBFFLRR +BBFBBFFLRL +BFFFBBBLLL +BBFBBBBLLL +FFBFFFFLRR +BFBFBBBRLL +FFBBFBBRLL +FFBBFFBLRR +FBFBBBBLLL +BFBBFBBRRL +BFFBFFBRLR +BFFFFBFRLL +BBFBFFFRRR +FFBBFBBLLR +FFBFBFFLRL +BBFBBFFRRR +FFFBBBFRLL +FFBFBFBLLR +FFBBBFBRLR +BFBFBFBLLR +FFFBBBBLLL +FBBBFFFRRR +FBFFFBFRLR +BFFFFBBLRL +FFFBFFFRLR +BFBFFBFLRL +BBBFBFFRLL +BFFBFFFLRL +BFFBFFBRRR +FFBBBBFLRR +BBFBFFFLRL +FBFBBFFLRR +FBFFBFBLRL +BFFFBBFLRR +FBFBBFFRRR +FBFBBFFLLL +BBFFBBFLRR +BBBFFBFLLL +BFFBBBFLRR +FFBBBBFRLR +FBFFFBBRRR +FBFFBBBRLR +FFFBBFFLRL +FBFBBBBRRL +FBBBBFFLRR +FBBBFBBLRR +BFFBBFBRRL +BFBBFFBRRL +BFBFFBBRRR +BFBFFFFLLR +BBFBBBBLRL +FFBBFBFLRL +FBFFFBBLRR +BFFBFBFRRL +BFFFFBBLLL +FBBFBBBRLR +FFBFFFBRRL +BFFFFFFLLL +BFFFFFBLRR +FFBBBFFLRL +FBBBFBFRRR +BFBBFBBLLL +BBFFBBBLLL +BFBBFFFRLR +BBFBFFFLLR +FFBFFFBLLL +BFBBBFBRRR +BBFBBFFLLR +FFBFBFBRLR +FFFBFBBRRL +BFFFBBBRRL +FBBFFFFRLL +FFBFFBBLLL +BFBBBFFLLR +BBBFFBFLLR +FBBFFBFRRR +FFBFBBFLLR +BFFBBFFLLR +BFFBFBBLRR +FBBFBBBRRL +FBBFBBBLRR +FBFFBBBRRR +FBBFFFBRLL +BFFBBFFRLL +FFBBFBFLRR +FBFFFFBLRL +FBFFBBFRRR +BFFBBFFRRL +BBBFFBBLRR +BFFFBBBLRL +FFBBFBFLLR +BFFBFBBRLR +FBFFBFBRLL +FFFBBBFLRL +FFBBBBBLLR +BFBFBBFRLR +FBFBFFBLRR +FFFFBBBRRR +BBFFBFBLLR +BFFFBFBRRR +BFFFBFBRRL +BBFFFBBRLR +FFBBBFFLLL +FBBBBFBLRL +BFBFFFBLLL +FFFBFBFLRR +FBBFBFFLRR +FBBFFFBLLL +BFFBBFBRLL +FBFFBFFLLR +BFFFFFFRLL +FFFBBFFRRR +FFFBBFBRLL +FBFBFBFLLL +BFBFBFBRRL +FBFFBFBLRR +FFFBBBBRLR +BFFFBBFRLL +FBBBFFBRRR +BFBBBFFLRR +BFBBBFFRLR +BFBFBFFRRL +FBBFBFFRRL +BFFFBFFLLR +FFBFFBFRRR +BFBFBBBLLR +BBFBBBFLRL +BBFFFFBLRL +BFFBBFFRLR +BBBFFBFRLR +BFFBBBFLLL +BBFFBBBRLR +BBFBBBFRRL +BBFFFFFRRR +BBFFBBFLLL +FFFBBFFRLR +BFFBFFBLRR +BBFFBFBLRR +BBBFFFFLLR +FBBBFBFLRL +FBBFBBBLLL +BFFFBFBLRR +FBBBBFBLLL +FFFBFBBRRR +BFFBFBFLLL +BFBFBFBRRR +FFBFFFFLRL +FBBBFBBRRR +FFBBBBFRLL +BBFBBBBLLR +BFBBFFBLLL +BFBFBBBLRL +BBBFBFFRRR +FBBFFFBLRL +FBFFBBFRRL +FFFBFBBRLR +FBFBBFFRRL +FBFBBFBLRL +BBFBBFFLLL +BFFBFBBRRL +FBFBBBBLRL +FFFBFBFLRL +BFFBFFFLLL +FFBBBBFLLR +FFBBBBFLLL +FBFBFFFLLL +FFBFBBFRRL +BBBFBFFLRR +BFFBBBBRRR +FFBBBFBRLL +FFFBBFFLRR +BBFFBFFLLL +BBBFFBFRRL +FBBFBFBRLR +FBBFBBFLLR +FBBFBBBRRR +FBFBBFBRRL +BFFFFBFRLR +FBBFFFFLLL +BBFBBFBRRL +BFBFFBFLLL +FBBBBBBRLR +FBFFFBFRRL +BBFFFBBRRL +FFBBBBBRLR +FFFBBBFRLR +BBFBFFBLLR +BFFBFBFRRR +BFFFBFBLLL +FBFFFBBLLR +FFBFBFFLRR +FFFBFFFLLL +BBFFFBFRLR +BBBFFBBRRL +FFBBFBBLLL +BFFBFFBLRL +FBFBFBFRLR +BFFBFBFLLR +FBBBBBBRLL +BBFBFBBRRL +BBBFFFFLRR +FBFBFFBLLR +BFBFBFFRLL +FFBBBBBRRR +BFBBBFFLRL +BFFFFBBLLR +BFBBBFBLRL +BFBBBFFRLL +BBFBBFFRRL +BFBFBFFLRR +BFBBBBFLRL +FBBBBFFLRL +BBFBBBFRRR +FFBBBFFRLL +FFFBFFFLRL +BFBBFFFLRR +FBFFBFFLRL +BFBBFBFRLL +FFBFFBFLLL +FBFFFFFRLL +BFFBBFBLRR +FBFFFFFLRR +FBFBFBFRRL +BBBFBFFRLR +FBFBFFBLLL +BBFFFFFLRL +BFBFBBBRRL +FBBFFBFLRR +BBBFFFFLRL +BFBBBBBLLR +BBFFFFFLRR +FFFBBFFRLL +BFBFBBFRLL +BFBBBFFLLL +BBFFBBBLRL +BBFBFBFRLL +FFBFFBBRRL +FBFBFBBLLL +BBFFBBBLLR +FFBBFBBRRL +FFFBFFBRLL +BFBFFBBRRL +BBBFFFBRLR +BFBBFFBLRL +FFFBFFBLLR +BFFBFBBLLR +FBFBFBFLLR +BFFBFFFRRL +FBBFFBBLRL +BBFFFBFRRR +FFBFFFFRRR +BFFBFBBRRR +FBFFBBBLRL +BFFFBBFRRR +BBBFFFFRLR +BFBFBFBRLL +FBBFFFFRRL +BBFFBBFRRL +BFBBBFBLLR +FFBFFFBRLR +FFFBBFBRLR +FBFBBBFRRL +BBFFBBFLLR +BBFFBFFRLR +FBBFFBFRRL +FFFBFFFLRR +FFBBBBFRRR diff --git a/data/advent2020/input6.txt b/data/advent2020/input6.txt new file mode 100644 index 00000000..426ea848 --- /dev/null +++ b/data/advent2020/input6.txt @@ -0,0 +1,2233 @@ +bapocnysdr +lpandcmb +bplndca + +rgi +ci +i +iv + +xdgwtsc +gtcxswd +sdcxtwg + +g +j +k + +drcmwzh +aostudi + +qziunh +hgkaslmyz + +fovlpdhurzqsway +zvciokytxbaf + +y +y +yp +y +y + +gqouslwfihtxvke +bapdmyncjzr + +ywirnpmozqle +jhapfdzuvgc + +ce +evn +yzsem + +phdcuxgtosjier +jfixnurtyopdh + +mxjs +mxkjis +jxsm +xvmbsj +sxjcmh + +sgrbtmqxpwkacnzd +brncqxtskawgpzdm +mxqjtcpzbswgrnka + +fxijprlkbhte +herpxfbikmtlj + +ltuyidqkcrevanw +whbqavirludxtye +vfirqwmsaopyzld + +q +q +q + +faxhswigtprou +xhlusnijytkrwza +xaqsburiftwh +rtahxwcsiu + +cuplrimdtxke +letpjuimzrvkcyx +cpleiuxdktmar +wrfgkubeoqxsihpntmc + +zpbjimulvrdwxsog +hfmspnuokbxe + +ctm +ctm +mct + +tvkocqebls +qcnbktsveo +fnvkbscqyeot +mbcsoevkthqj + +tyjgd +tydjg +tgdyj +dtgyj + +xgiybeuhtkfdonq +diuqvfycrokhgxbt +igfdbhpqklxuyntjo +zxqkymfohstuiwdgb +kgoutiyhfxqcbd + +wzfiaexksp +fizxyskw + +azsqntcghjmio +mgksdwpcitvxqjr + +ctwzu +jwctuzes + +bpymqfisrvtuheljwadx +iejsubvxhdmwpqgfrltya +jbxmfshuvyegwqlpridta +vpxbwlqumetdrijhfnays + +w +i +i +i +i + +fctbvjmnroypuxhlakzw +cbpnmyzrtjuavfohkxlw +znoptxwakjfucmhrlvy +nkmlrhygxcazowtpquvjf + +ibanduczjfmpt +gqimbtadcuoszjfprl +mtaizxcdjpbfu +mjfaiubcdzpt + +kdxav +maxvudr +adxv +qxavdi + +uajvepgoxhwsqkym +hwesxqvpuzgb + +lp +pl +pl +lp + +tawk +suwtc +stw +ixltp +wto + +phrawmes +bscrhki + +xhwurk +hwea +bhwe + +tuhvebm +bemtuhv + +prziuqhcye +qipyrhezcu +ueqzyprhci +yurseihcqpz + +mnfotvpzdxbaglye +nbjlomxzacfqgey +glxhuwoskyrabi + +tohbrluismcagnypqdv +duqbhylatcvosnprimg +qtpbduycrlosngivhma +nvgucpayidlhsomrbqt + +grslqxjdytzficnuo +klarqjpxfscgyouzi + +qozstka +pjnruvic +fchup + +yjautz +ajue +vlufjx +ujy + +inythxv +bhxvytin +htlnxviy + +mhcqvt +sqtvchm +htqmvc + +vswymdnahrq +hrnqvysawmd +ndsmqvwyrah +mraywhsvndq + +jtxayp +atjxp +jpraxgt +jatpx +adbwpjltx + +vbni +ivgfn +avyqtmsikn +nhwivrf + +fkygvtsbpazdjwxrmqoi +btyfwsvpdiarjqoxmg +wvqyiaprsmftgxdojb + +a +a +an + +pynvsfcbherzqiwumjaod +dsivqjmurcfnzebyhopaw +mqsvnueoihczyrfdwpbja +gjqsaiwdczpvublmnokfryeh + +drawsthnfvzylebo +jmkzqhbgicxsu + +pg +hdob +nq + +gdbxpwmtvhoaely +omvdgatwbxlpyeh +gtbyxrvwmhladpeo + +ugowlqebtcpdxz +wzobutlqgdxep +tulbvxwfadjpogqze +qubdxgztpknolwe +epztwlbxqgodu + +rsvebtycq +becltsrnvw + +tgsljhz +zhltjs +hsjltxz + +daguc +fbpudxyg +glidjuo +goadus +udjgaz + +qkpwetasjfbdvh +glixc + +pufekjh +xegpq +poewviyn +enlbvp +tpesm + +zqfiwx +zqfriw +wfzxil +zwxu +dznwktpb + +kcaomdbszyi +ildpzaqsbx +xsdqirazb + +mqebolfk +peqmgf +deqfmw + +grcqpi +dvpmqte +ohlwfujxkanbsyz + +txnhgzuwaicrfl +qtnwizslxuahocgr +mcxhglnibardwtkuz + +cvjbyrewa +wczb +zbwc +wcb + +psvotmiaqyuhdnrekw +aovnrqwsiyjmdutpehx +gaephqunbrwdsmyiltov +rmftshdpcznwiyuoaveq +pyatoimwhxeusnvrqd + +wsjvydieaurhqxofzlgpmbk +kemhzfusnpajxirywlo + +ypiz +ipz +jwiz +iz + +pxoedfk +pxogkd +tkjsdocpex + +lsoz +zxc +z +wkz +zpw + +frmcndwyeix +qritwfuymc +mzrwyfixc +mfczprywi + +ygvtslukaeoinhwd +vnepzqmcwyjlufrdobk + +bi +itb +bi + +wy +qomwberkixc +gw +hswg +lpw + +krifxwcusnjmle +cnijrwxkmspf +cnrfiegmqswkxjh +skiyrmwxcdzjnf + +ifwqlzhrudsmn +fzblomnwspjvk + +vnjsxdiobeuhcgfw +dhwienfjsobgcvux +wsinxchtegujbdvof +cioehdxvnjgwbusf +gdcsfeobjrunhxwviy + +lpzntyhsxruiqjckwv +ixyprghzqfvjsuotlw +ayltehsxubqpmwrdjivz + +r +lmb + +n +n +n +k + +lfsxwgkeioztnuydmqbc +wkosmqcxtdnluebigyfz +olekfdcyxgqtsbumzwin +kwqzfedxblcitgmnuoys +ibdetugcmfzoknwlxsyq + +c +c +c +c + +nmrohgpcwsjadkyqzl +mgjhdwcpoknsqyazr +chnajzmwopkgdyrqs +bdcnhgamkjqysropfzw + +yqtid +ujgkz +rmas +jk +og + +f +crj +cyo +neqhmb +f + +uwxc +wpcu + +bkhpcqyeljvftxnz +kpvxqcjin + +eqjzkctynvo +qyovecnjgkt +xjckqenybvhpto +jnkmezvyctqo + +lon +w +vwh +h + +zrosv +oblzfats +cuozbmak +dpyegwhnjz +oztiqx + +bvlwgjrixaskqpuzyonth +hatusdrovjgwcyipeqkmzln + +vhneajldr +apnvjderl +lynrjcae + +qodczyfijam +fkdxpgrcnmio + +oai +iao +oia +oai +ioa + +nhgewpbozmjascrk +vsocxumhryfnbqwkaj + +jxrls +sycjpwr +bdcrqenuhtsz +sravkif + +bymwecxqrloj +lhofkz +vzldo +klof +oulk + +lfxobdwcji +odbpnilxjcw + +pbcr +rcpb + +msp +esm +sm +psm +dcsm + +clkiabts +hskec +sckgf +kfncs +sekc + +dyckmholpqbtaunf +lacdqknfhuymtopb +kntfqadpjlbcyhumo +qoflmbpdhauykctn +dphmolaynqcfbtku + +whkzitxfqem +ftixzqmrwek +mitabqyxkzjwfpne +qzwekxtmfi +iztmkfwxeqd + +wxktrn +txr + +tapvryqbecdklwsjzxug +mwjgatucpvydsnqbklxr + +tw +wt +wt + +irsehx +ehsxri +rhxise + +ekwyuzsvpfjg +lcspakbhnmiod + +qifdbzapc +rwpvkbd + +f +f +f +f +f + +yskpcdmber +bnpdelmcryksu +eqcbzdpkgyrmsixj + +ibt +iez +cz +b +xvls + +d +d +d +d +dq + +ubfpqyrkhceo +yfhqckubre + +zyhnmseuivlbxgfk +nviufhobsyelxzkm + +agbdzfsqetclpw +wctbfaqeszpgdl +csbtraldqepvgzfiw + +dmatzvowqcklbgirf +ldiczavboqgwmfktr +gkaditvmclqrwfboz +dvrfntlcijagmzobuqkw +iwzrtblvdoamqkfcg + +xhjydaekowcgsmruftbpqvln +wzryxjmfdloqvskubanh + +skglcvahyx +xyp +yx + +tvsguaxobzkd +txoguzsmkbv +soegkitjbxyuzv +kvobgsztux +gtxvcspoukqfhznb + +osca +osai + +sjv +sjv +vusofja +vjs +sjv + +ipwxnmkbzhscarlejtdoufqyg +ujlxyqzkgtpfrdnihwaomscbe +dyslimrkjqxnftcpbewzuohga +gyphacbxnqdriweumloszjktf +czbroamputiwjdnqhleyksgxf + +dygktjflepbcqm +zfwsneviuo + +usz +usez +usz +zscu + +jkbies +ejikm +ejphkoi +kmjseiz +jike + +qwjvbzmypcif +hveligmbpatow + +aumeftxligdy +tylfgicdx +wlditgfyx +tcxdgrilfsy + +wi +iw +iw +iw +wi + +zsd +cbmoz +ouwbaq +ghexrpyf +asmz + +ax +w +wrd +vqclmnjfob + +sy +aumz +azs +hvoecbdfgq + +p +p +p +po +p + +sydzgpwourlbqfcj +mnzcjkeubaprofg + +kiatxsph +iphktsa +waplhikjt +thapik + +cpv +pcve +vpc +lmtcv + +eyghlrunfctbqzos +nsryfzuqtmecol + +zayxpivkctudsmgrhqfl +ynfsuctxhakdpjglmovq +fdvgeskyaublpmhctrwqx + +egymspiuwoarnlj +poidtzjyglwume + +tmlv +motv +mvthn + +vh +vh +vh +vh +vh + +vthobzjux +ojutxvhbz +vxhojbzut +zhtvbxouj + +k +k +e +k + +bkwvlpt +xormzn + +aforqletdymv +eyorqmflvdta +ytvaqoejmdlrf + +rqakhn +khrqusmaj +rkhqa + +bmyztkxldgiosnw +tsoyzwixdmlbnkg +btimzdlywknsgxo + +mqifeszchaoxjygvdrklubwn +zjdhxnboagfrc +cgarozjxdnbfph +xbnrhcjzfgaod +fzdhrxtancjobg + +gzdvh +gztvmch +zgdhv +ghzv + +yjldgioabsr +musahntecwl + +fujnlstvgcbwio +clgkwmijsupqzbo + +cqi +iqga +qza +elgyxq +dujqtkprvf + +dzrawsxvhgtflnjeikoubqypm +pryqevnbkiusghjlofadztxw +eawipgrutyohqvsbcknjzfxld +bavdzsphqugykftnjeorilxw + +q +vxoln +feq + +y +s +s +l + +gfdp +pgd +aep +pdfsb + +watcn +tawn + +l +nly +loy +gwsvl +l + +ehfqltbkvizcmpaxn +vzqkecthbmnfxliap + +l +lrx +l +el + +mznoqpxfvedutclhar +gsibywkj + +gft +dqs +rm +rbe +dnsrh + +dgwncrbfo +uboewdjnagxcr +ogrcdbnyw +bwgrdnoc +orwbcgnd + +xlnyqidbvfuopwsmetkaz +axsnipqkotbydfvuzle +zsyaohudvqweikfpljxnbt +aezfhxqipvkdtbnoyuwsl +qsneybxfzidcagokulptv + +phnrogdiuwlqtmfvjcb +sdmufyklricxpg +ifdxpmkruealgzc + +xdiushclzbkvnfw +bjmzunysickrfvxd +xciutvyksbldfzn +xfqpzabiuecnogsvkd + +olv +ovl +lov +ovl + +jirywmg +jnxmg +jfbgm +mjhg + +sjfvbhimpyauqctgx +xasifmnuqtyvgwojclp +jxyqabfuismptgcv + +spgmtcvwlxyfaq +gpnqlctymxw + +xthqemkfpyls +pqhtsymrgzoef +yskhmtfpqe + +xcsqaokhpt +hcopsqtxak +pqoaxstchk + +oqexlariumftkcg +xceqoumklaiwnhtf +xekitmlufoqcag + +zkjmutfxryowbnv +euomntlvzxiqydrgwspa +whcyrmvozxktun + +hxqncgbjrsl +bnlxcjrqhs +cjqngsblxhr +ihpsnrblcxqj + +rjtlufdmxiqkn +afmrkuindxljt +uktrmjilxnfd + +ypxqris +hpgk +budwp + +oqulm +u +u +iu + +kahocwxnueyri +rzesvkxyltmbpqg + +pkxjboidfvymngzrts +rsizgmydxkpfvbtnjo +bopgismxvrzntydfjk +ovgfdztnspyxibkrmj +oecxdvmgrfkzbnypijts + +ruvmcpojzsqtayw +rqotdwzmpjcuys +ptnscirkowujyzqfm +ocszmjwrtyqpu + +nzxqdbwvpkioaj +bqijkzpxwonadv +kivqoujwxdzpntab +inxabjvzpqdkow + +ochlv +covl +covyl + +qsoypnvewrhjkdgtb +jpgwdknqeytbhsovr +bdpwyrjuhoqgevtsnk +rkoeypwbvgjnhsqdt +qgtnyodrepsvkbwjh + +u +i +o +o +rx + +ecikgqxbyjhupozvdnrstawfm +cnuiyopkzwmsbtadgeqrfxvj +omkbnwrszvaetclqdpxfiygju +wimrdtexbnjspgokuvzaqcyf +veacgjpzmnioqksfwybxurdt + +egfkhxi +gkshf + +shiayxrwutmzf +isyatmhuzf + +tfgmicrqnpxz +jeurkptlyh +kvtphwr + +tyqrx +hotsrdyqz +yptqr +tyqr +ryxtq + +lxtdzqwcakvm +xdkqrlzv + +ipujabzkmldhfrwg +bjmpkavhlgqrwfdiz +ofhizbrtdcagljwmp +bfgvdaesjpwrlzumhi + +s +s +s +s +hs + +nobqduvlcjtw +dyrbtpzwng + +iohlwxgfs +zokfn + +uawlqejvnfkzhor +rqhkanfvexlwzoju +avqekulojnfrzwh +kljwrhonqfzauev + +ln +nl +nl +ln +ln + +qyxi +fmxbo +qxo +pkvnutje + +tjsz +zjr +gydfxcjliq + +ufa +dohwy +f +kau + +ezjqncv +jqvzenc + +pnhlasjrztw +rlswpatnjz +hpntrjslazw +zjnrwtlapcs + +i +i +i +i +i + +aovitgfucj +bowihz +iol +iweoz +iyo + +bdgmouhjvyxr +inpshdz +nhdfia +htdl + +pnzawmosg +zganost + +emrakn +glveamkr +rkgames +akfqmper +imudroeak + +tibgokrjpxmy +iydtpmjkx +dkcjpxseiymt + +imfnqegj +mcp +nwgkhmbrpjac +szovdtxl + +qnosfwmzpiubkxdhctg +msutibqnakhgczfopxw +xtnowmgicfqsuzbhkp +pwbkcqiutxfshzngmo + +jgaqubtpokrn +jpqgotluzna + +siblotrefupcmyajdwxhvn +tdxpnfrbuivjchlsawoeym + +gvbfkphuqwsrdoejlt +ixpkoqzldfncbahwt + +rdlfmyaejnswgopv +ysjfvmazeilonurbpwx +jayvlrwcmpefnos +yowvefjknltqamscprh + +r +d +d +d +d + +iry +gi +lri + +kzopchbqgf +phcifmsbgz +canbyhlvdfpg + +ljmtd +stlxdvmkjqy +otcljbfehmd + +zgkiqsjrm +rmqosfenz +zqdmrsig + +jaegcxl +delcpxa +lktzbxcea +pdclajxe + +gdrfnb +dngbqriyh +ojnbgrzd +fdnrbg + +ixnhlufgkqojyrcdwms +uvfmspygeizlkhxcawrbdotq + +cfzy +zfcy +czfy + +kfbqdvgacxnluszhejiowmytr +durgtzlkjpwnechqibxfamvoys + +njcgoslbyutihpqxwe +wrbgpdquiykhnofvecztl + +cozxyqbvugrmkdwlh +rxcdwuylztbvgmqhk +urmhkcdlxvgyqzbw + +okzsvutdehimnc +mednkuhxgqwvizots + +sogfalbukwvchqmjdtypzix +pyfazktchbmvsqguojwxild +imsgakcotjpdhuwbfyzxlqv + +yzpafqijdchrvosxkt +tqvsdrxzojhipfkyc +tsfqokvphixzdcryj +pjfqzhtxocrdkvyis + +ysmndq +qdsnm +rskilmn + +q +q +q +q + +fygruq +fxckylwohur +fspaznjvbmdt + +ztqa +a +nma +a +a + +erml +ejrm +rem +emr + +qkmpeuatxdbrcghnjlo +xnlmcohutkdbeaqvpfrj +rboxcdpaujeqhknmtl + +bpmiwjrs + +tyr +ry + +jkyolgr +dv +anwid +idzv + +z +xzpnb +z +z +hz + +mwxibru +dxrwzobi +wixqvrb +sbrxwi +baixrw + +yzcdlgujxrpmbs +iadjzpcnyrm + +nq +qn + +sbwtamevgyicuhxrlfz +uzxkpmitwvlfqhcgjn + +xvhbkanc +bozyjftqrl + +vpcougdijwlxtsmznarqfy +qyroagjdmsicwlftvxunpz +nylpitxuqdwrszamfgjcvo +amogspxyvrdniztqfuwlcj +fuoiwmpvtlxdszqncrjayg + +ocmqey +yqoce + +mvulfyk +fxyuivlmk +afvulokym +xufvjmykl + +wjz +owpfqnsrgt +ewycah +webhjid +bwi + +ucxqaszovj +xacvqjskizuo + +auxsjhkiq +zcymv + +qyljukpbitdx +pxqjlduitkyb +utbpqxjyklid +yjkdqxptbluir +puliqbtkdjxy + +ljurghymqktvpenzsbofwdxc +ofyrjptgnczlwebdxvqmkuhs +blopcvezhdsjnxgyktqfmrwu +dwmqkuhtjsofnzgbrvelxcpy + +zn +ndz +tzn +nkdz +nzvk + +vmyrlzxcwkjp +mkqlvyrcp + +xduvzyfarpkewscjqlmh +fzcyvxkmhwqreapds + +nt +cs +c + +jxraviqybmgutesdwkfohlp +hnkfweosqvbijpymuxdtalrg + +fcjz +mnwvo + +mfqnkiaj +nakqfimj +arikjubnmqf +zfqikanjxm + +pjetdfwsxohlz +wpkzntbfsdcai + +zoifjgyxkluhbrtq +yjolrgquihbnxktfz +zoibyqghrjxtkufl +iuklgxbyrtmjfqhovz + +r +r +r + +ytqzlvcwseb +bcvqntlswyez +cvqbtewyszl + +hfyj +jsbrzyhiwknfg +vfyajhd +djfhlym +fohyjux + +dzcjlgutfoipaexkmn +koetcadiuznpmljf +ctnilkamodfpzjue +cofuezanjlpktdim + +nvtjmurwhfzex +thxnrwmvuejaz +jexztumwrhnv + +r +r +r +a + +enoclavqmypruwkb +tzspyhlawuimvrq + +yxcbvjpsgt +crxgvitlzjbop +gukcdbjtwvexp +bgjcmqspztoxv + +w +w +w +w +w + +qmocdhri +qpwioderm +dvmocjruiq + +nvghcjxd +nbcvdp +nvhcd +djcvn + +yfzukw +kuywf +kwsyu + +adjzmqebokxhtuspwgiynf +fmshwkpoguljtyrziabqn +anyofkgzsbvpuiqthwmj +qfbhkytzgnwoicjsapmu + +tlmn +nlti +tyehjn + +s +r +s +s +s + +n +u +u + +tie +jet +et + +achjyurqb +jpcbrhutqy +rbjyuhcqp +ybfucqjhrw +qujrhbcy + +o +o +i + +migypa +pyimag +pmgiya +agypim +yaimgp + +kdzafylcnst +aznrtshxgylcb +cstzyaln +anetplcsyzq + +hilubmsyznrtvqxpjo +yqbirxnpzslojvtumh +tyxlnibhzmsovrjqup + +zloiuyekfpx +aqtxzmig +wsgxinqbzj +bavthrdxsiz + +acwdny +ghrxysndq +ovdncy + +p +glxy + +ksnzbjyxgwtvm +nbwzvtkjysgxemro +bvnykztsxjwcmg +qyzbmxjhtakgnwfdvs +xzjmbsevgwytnklo + +uolyhfmwcpnk +ykuchfolpnwm +lnckhofpyumw +ylnfuowmrcphk + +oumqj +ulzybvfsp +um +u + +zh +gh +zh +hns +hg + +xlvaqwncsizrbopukyegdmh +lxmsgzqyothupikvrbn + +lhqdviu +qafnemdvlzbrpk +qlvyxdw +sdluoqygv + +v +v +v +v +v + +blqcsyup +clmpubs + +noumlji +nouji + +wkvj +d +ghy +x +k + +ohbjykuena +jbyahkpez +jyafhevbk +yeajhkb + +auqjksywpcthxf +zchkqmanpd +kvaephqcn + +ygrvwtleidhapqcoxjzkbm +uvmtjkcxphybegzqrawiold +dpckejybntqgvhzaomwixlr + +wuvknho +wunhkv +awhuixnkv + +xtsglwhpkozumein +tiwzoklpxheumsgn + +kdicmfpsejygzlraqh +rgpqkamdfecyiljzs +fgjrczaedymqliksp +adlgcpfieqrmsyjzk +mfwincakdjelorbygqszp + +jhtufzbolnrpgiv +rymwi + +bcdfkrgujzqwheptivls +wlzfyvtimksqcdujngorb + +eruyigjwb +wojeybiulrg +ygujbwvzei + +fizsg +jnue + +yalxikzg +iagxkz +xizkga +zikaxg +ikxzag + +pjzlhqwixksnovbtygr +ljnvgzykoswbtrhm +rjtnogykswczhlbv +ychwztvrgsonebaljk + +wcmyzldhtfrposgnj +fcrmtyphngjlzs +gpalbicyvfnmjxekrz + +ysmpe +yemps +stype + +meruv +mbrse +ryvmsei +laremdjq +bremck + +jaeutopnmdhvfklscirqgx +selpyhdginkxfouq +difgepshqlukonx + +oyz +yoz +yoz +yoz + +kohdfzpsj +rjkphfdzog +jopfsukhbdz + +cpvr +cvy + +xavdpsto +bweoysidhp +rndplvsukoca +odgusp + +ofzgbwqdnkjp +vcbnlqwofisg +enbrymdqpogjwf + +ukrdtiphflv +fvdlnuirtkh + +s +s +s +ms +s + +smodvglcpenzbtw +vgwcmfdnlobi +dobmzclwvng +convbglwdim +wrcojghvdblnmx + +euy +iey +hrkyowpesz +qeuyn +ylfe + +jd +ygd +d +d + +ifxlcevjr +muqybvdntl + +hpjdqw +wjcmqdp +pkojqud +djpqm + +fz +z +z +auzlgh +zf + +oadfixtrspzymgkjvhc +kureodwxjzvqcagmflt + +umdbplaejicognthw +mldwpqitgubajnecho +gdrhabsmketcwpolunij + +utpjbioagl +pujgaobsti + +wzqkmfigsenp +btdpmnrhaix + +g +h +fmy + +qfdshywubmn +asnjyumvhfepqwbd + +tko +k +ki +k +kvj + +ajrftpclemziyx +tyfcpmzxjrael +rlymxejactzpf +xpfzalrmjteyc + +lngatvoimxerfs +xvsyefntoli +ixvdqstzlonbefk + +dytmarichvj +tvhdurymj +mefohydrtjpvx +yajumrtvhd +mjrvthdy + +mdizkcbhuqxfpew +lciqkhpdzwumfxbe +dmwbhzqpojuexikcf + +av +a +a +a +a + +buwiq +wbqi +bqviw +wbjifuq + +szyogteivkjmubnl +gnmeioyhdjzkutvwqb + +vetwlrjnzuxfamsydoqbhpcigk +lhagxseotdcqbyrwnpfkizmjvu + +ikt +sxuik +rigbk + +ixzofbapunser +umbfxasovni +oansfubxi +xsoauibnfk + +ebzhanm +rsywcgfuaoqxjvz + +dygrvauxpemhosqkwtfji +pxafqktysdjvgriwuehom +ikurtagpdqswmfjvhyxeo +mhqlyugsravkxoptdwzfjei +wejrsutgikxqpfvydhaom + +ynam +ny +nys + +exwzkcjqnvp +ekpzvqxjwacn +wqnjveazxpkc +zjvbqkwcrnepx +ecnvywqzjsxkp + +qmfe +qmep + +dlwymbrsvgxefi +gxeyfiqmr + +mjgkdnbqzcrtfvue +ujgvnrtedqkzfobmc +nerkmbcuztivgfdpjqy +bktnacmqvjredfuzg +jgdecrktqnbvmufz + +desyfjcwkgpabomrxluq +uecwxsrgybalkpqofjm +gmlaojpwqxsebufrcyk +sxfoakcyjlmrghqepwub +gmwouepvzjsirxaylfqbkc + +lugbrcezj +ekzuhpxtl + +bzurvkdm +gkzbdvmuwq + +vihtwalesoqmgzrfub +dqogrhlvueimaszbtw +lmbiwygzaenursotvhq + +fagwlnujrsv +ujhnvmcrpsqwl + +dsoq +odzqs +oxehvgqunspa +smoqd +dsroq + +lw +qnlwbze + +zcs +dpalw +oqevmritxf + +hw +wh +mhz +h + +xwpkgiureobdvamtlcs +sumvltgxoerdpwbacki +faozilpxetcbvwnsrkugdm +dioulrkpawstcbxgevm + +cfziqrvtghejx +zahecstbvjrqy +gcqrzvjnteolfhd + +jronwks +kjwrso + +xtfp +aqwzv + +gjvrecbxaqns +koficxqpjsvnalzb +vcjbqxtunsa +bvjxnqcas + +n +n +k +if + +hnzquyjxadotim +ctrmnlvfugjkoziqy +ubnfoyqctmzpij +gyqzvjwimunot +nzmoluqikjywt + +wykxduqrzl +drklx + +xdr +xrd + +sdrbokn +rsnbdkio + +qespuyziargjdlwnkbv +iaorexbukcmtnwhf + +gti +dit +itb + +tzmwbguraxjcieodnf +gmitqzdsnekjoxaf + +kdeziwsnf +lgzkiwen + +fbvikdpshltegu +kpfvidlguehtsb +gdysepktuihlvfb + +jzegrfyducaospkltvwq +crzgkleptvuwsfyoqjda +rogqtajuweylsdfkzcpv +zwacrlsptgqfoveydukj +ufokdrzglqjcewtaypvs + +hsqnofzvt +ahvpn + +umaznoshrwf +hzosundfr +ushfnzor + +w +ie + +byandqklvw +wadvyxbqikn + +xspcwfvnkuoydagthjmzbq +ahnprtxeojdmgfqvwzuikscyb + +txpwbvjacrzifgshyluo +hgytapvojfsbrxwilcuz +wpvxzshcrabfjtygliou +bvourjgzfytpiwchlaxs + +ufesbdavpn +siunvefpdab +nspafhdvbue +vednpusafb +sufvpbande + +lnzxudorwykfqs +vckufbqxhwjmtga + +twz +twz +twz +tzw +zwt + +nuaeqphyvo +ovaqetnphu +wvhulnpsxroqi +ntvqephou +hyvuqpon + +szky +kz +kz +kz +kz + +uekpcxjqrbzy +ewiyrkobtl + +rghuyp +ntyzexi +yjnq +sy +eysao + +yohactxlqbvsfe +yacfqtxlsvbeho +qxtaesbfhlovyc +ybotxfqschvela +tsxbqlcyvfohea + +crvkbef +efbvkc +erfvbkc +fvbikec +ecvfkb + +eziafud +odfeiz +feizd +rmeflzidc +zeifdo + +uh +u +u +u + +slzwuvhqnbpogia +bhviznawou +ufazbvinhwo +ariwbuvzhon +vawnobztduhif + +lyi +syi +imy + +igx +qfz + +yugfqtepvxwdocijlzmhka +ymdleizpjgxcvtfhoakuwq +utenhymdcgjqzlorxfvakiwp +zwlvymtgfxeqcopuahjkdi +auzpqtcifejhomdklyvwgx + +xfvdiwqpktjlaborgez +mlcubagjpwzynxekqfiotd +fadoezjwqxtpgbkli +osldxpzbqeifajtkgw + +mfxjtn +pqesvmxf +xmbojhft +xbmafc +acbfxhm + +bsua +uasb + +dtmpiwjkuahzryfvqgx +iavzqyhgmrxwtdukjp +thzkaxwjpydqmviurg + +uabgmyoidlekzcqnfvxsrw +kcybroagdmufqxiseznvl +eroscxuqvglanbikzyfdm +gfmdeibnkvuaqryzloxcs + +wtmds +cxm +wqdrmz +voahgpkfml + +qmougypvzh +yoqsgdpnmhuz +gauxyzpkoqmjbwfl +qguzoivyrdmpt + +uyerotgj +wqszinpyv + +rosx +ors +ors +osr + +dtcuiwlse +bgaosqntxuwfpvrc +uymskctjwz + +cshbnzoduxlpfrayj +hcasypofnrxblduj +pjyuoxrfbsaldhnc +uharfpoxcdysbnlj + +bsklgcdmpxio +ojbpdlcmtugskx +exdkmpboclgy +aipogmwxdkrclb +dilmqcpkxnwbgo + +xsajoug +pxujgatso +guxojsa +mbxuwzjosga +pxjsugoa + +tgfw +xemdgvyfu +jfga +lfg + +khvg +kghv +vghk +ghkv +vgkh + +xfogcwnvkey +kvxwomyfeqc +woxycvafkbe +yovafwxcke +ekvfyxnwco + +ezpfkoxycuwgimqvabdtjnsrh +nmpoxgwdyruecazsfjbhqktiv +qtjzmaycsgnibdxeuwrfkhvop +yfaqredhbxinsvucogwtkmpzjl + +mhlnsrfadjpekczwquvo +vsdneluworhbqjfztamcp +smthfdwjznvqpclogaure +cevkfuzqxjmwrlasphnod +ijrnwqpvudzalfoesmch + +icmdtnrpq +tmdqnirp +mdintrqp +rtpmniqd + +clspvk +xclpsw + +rmdoajtxvc +vurmjotdsa +mdrovatj +nadvmrjlot +drjotavm + +kl +hfjkblv +cklr +lrsk +glk + +xpoawenkc +yrkpnzjocxue +pskncodex + +b +b +bq +bh +b + +kngbuqcyijvxeh +kbcmngjshaxiyve +enybjkvqtucgixh +zhrevfodplyxnwikjgbc + +vizojfmup +mfzhjqpuoiv +uvtmfzipjgol + +ysobmzkthjdw +qlncxwamrtujevfpzgbhkdo + +gz +gd +ickxr + +brenfplc +rzpvwumik +rjctp + +hfwcruyoa +ihyduxfw + +zlumthynfkjixo +kgxnbhztfyojmli +kifzxhtlymngoj + +rqpdbzgjsowakvt +gdzoyhjetcfbqkl +nbjgqftozkud +zxbogjqktd + +writbe +etri +dtfkern + +ctwyqdi +j +me +nkgzau +sxkare + +qlwakzuxsnfjc +ufzkhmwax + +njuysxmhdzivfgqb +uamlqxdhnyvgjibfz + +eigl +lige +elig +geli +legi + +vrmhebiqupxoclfatdkg +ytaoiknwcgrsdzevxj + +rhac +dcajbr +oxizsuykfvlwn + +a +na +a +nka +zdua + +zedtlhmj +yqoxn + +wyqhegrp +wypqhegdr +unrypgwqhez +hypqrgbwe +yrgpeqhw + +mxjkhbqgwuniftedzvcl +jciqfnbeumlkhgtvzxwd +njwquxidvbhctzmklefg +hqfwtcmkuxvbjdelgzni + +lsigyrmjndapwtehux +mtwpirehgfxuasdjnoly +hpdlgjnimeusbtyawxr +agywjlsmktzihxuceprdn +njwhigapyexmdlutvrsb + +wiaejbsdzncytol +cjelwafyindtbzos +zalobneisywctdj + +jbsipuwdcyth +thbauysdcgpiw + +bw +b +o +lr + +ojkmnthfzlvg +vhpzmgtonw +yjovmnfwthz +fnzhtmoav +zcosivnmhdetx + +hdkofir +kanxoflugziyd +kodfcrwi + +qxpmckuelwtarij +spxmvqwjrileckuat +tuiqrajpwlmekxc +taeupwljxricqmk + +dn +dn +nd +pnd + +fvyxadu +fwxmny + +vsxgc +vscxg +scgvx + +wovudbian +dyeosauvinbw +auvdwinbyo +uaxoqnwirbvzc + +aosvcdn +osna +sano + +shqt +sqth + +ktlracvqpeju +tukcwearql +trealcukq + +rsezcvdbal +zebvamcdrp +cbedrvafxzn +vxnibedzrac +dbirvczae + +gbpzy +ubglkzp +pbgz + +jtxhnfge +xgfhevjtwn +tjhngfxe + +pvodec +goedfvamlx +eyovd +evdorpn +vedot + +lsyqpjuviohbz +luzjybidopvx +yiplobzvj +zobwtpjlvnyi +bzoilvpjyu + +cevybwgdmuahsqzp +ucpnimw +owunkcpm +pmwoucf + +uqchtxvoaze +ehocxtvza +cetazvhxo +ztvxcaeoh + +cgsonqxtdfwhzymv +qbkncfmuxapdwl +mfxjztcwryqdne + +zbkyrc +ckrzb +crkzb +zkbrc + +mca +cam +mca +cafm + +z +z +z +z + +zytoupbkxdhmgcsflweai +smpikvyzcxlawobhefudgjnt +dolpihwzxqckmaufytgbse + +ktsr +ktfs +itsxvkb + +n +i +aklsuty + +wkgtem +mewgtk +gkemwt +emwgtokb + +mbuxkiycz +fhronqjexplgwa + +hu +emlw + +vkuwrqnj +hys +mzet + +fmclnjvsaexpkg +zjwpxevkmacsglf +xsamjlvkcenfgp +vapjkcmglxefs + +legmbjuqsdkihtv +dlsqkegihbcjtvm +hqgdmvljsrktebi +ehlbvgidqtjkms +btmshvdikljgqe + +k +kr +lfi + +obmup +ubm + +azqdrvjimbfnoyp +zbejcqxfkotplndv +pbojdfsnzvuwq +gjpounhvqdfsbrz + +minxopwrsbvqegyuajcdth +oahnukmgepbtdriscxwvyj +xmbtcwgrasnozhdjiupeyv + +jitgzlokacv +vzkushynclojtxgep + +ntj +ntj +tjn +jtn +jnt + +gdzxykoialsqurtj +kigupewoxqjaztcdy +zugyaqksiojtxd +hyjqxgzdauktio +kygqutaszdbxjoi + +orsfkumexiq +rsbjepxmi +smrxqgeik +arnsetyiomxv +mwighaxsdrce + +mcuzkqvsdpltxe +pklvsuexmgqwizd +zdqxseckmtyvlwgrp +dvslkezanoqxmpb + +tcbqprkjgnihzs +ivgmxyzaernhwcqdjlt +otqhfjgcunsrzpi + +omqbwvktlsxjcfzaphyeid +zijtkyxhqvowpulmbgenrdca + +igrz +irzg +rzgi + +kefw +kewa +akew +xtekw +ewkf + +lvxahjydcer +sobnzgkp +musqfg + +orijnpvwm +obqzv +ulvo +ozuvt +zcbolkqv + +ouzpgsxejbmqkat +btiuxyojspgzqalrek +ekbqupzaxfotjgvs + +t +tb +t + +ksyegbpm +slmpgdetzbk +gbseumpyxk +ekvphnbcjgms +wgqrmispobkefa + +gwexf +wfxeg +xwfeg +gfewhxb + +oephijmkngbxw +kxobwjhiegpm +wehixbgkjmop + +rmvtujdxhki +lkunxhme +mafxsbhuogkypw + +rpimb +prbi +ipbr +brpi +ribp + +hvjdeyw +jhecqpbyvsdw +wvhdjye +wvjedhy + +uodmbcpvr +wvhk + +j +j +j +j + +crzngwqm +zqgrwnc +rcgnwqz + +xstoyzgvaefqclbuhi +ywbmiguzthefkvqo +pcuezdviyoqfbjght +ubigqfztyohve +zovpgfueibjtqsyh + +qatefihbypn +xwvskd diff --git a/data/advent2020/input7.txt b/data/advent2020/input7.txt new file mode 100644 index 00000000..21ad81da --- /dev/null +++ b/data/advent2020/input7.txt @@ -0,0 +1,594 @@ +light salmon bags contain 5 dotted olive bags, 4 wavy lavender bags. +dark purple bags contain 5 striped maroon bags, 1 wavy maroon bag. +muted lime bags contain 4 drab lavender bags, 1 clear orange bag, 2 striped black bags. +light green bags contain 5 dull gray bags, 3 dark crimson bags. +bright violet bags contain 1 bright purple bag. +dotted magenta bags contain 2 wavy beige bags, 1 dotted bronze bag. +wavy bronze bags contain 4 clear fuchsia bags. +bright plum bags contain 2 dim violet bags. +shiny yellow bags contain 5 clear violet bags, 3 drab maroon bags. +pale tomato bags contain 3 bright aqua bags. +light chartreuse bags contain 3 vibrant fuchsia bags. +mirrored blue bags contain 2 pale aqua bags. +muted maroon bags contain 3 muted indigo bags, 1 vibrant gold bag. +clear green bags contain 4 dotted beige bags. +muted indigo bags contain 1 dull green bag. +faded orange bags contain 1 shiny gold bag, 4 dim tomato bags. +posh purple bags contain 3 posh turquoise bags, 4 dull lime bags, 3 vibrant fuchsia bags, 2 dull green bags. +dim beige bags contain 4 dull fuchsia bags, 5 pale silver bags, 3 shiny silver bags. +dark tomato bags contain 5 dotted magenta bags. +muted chartreuse bags contain 2 plaid chartreuse bags, 3 faded orange bags. +drab teal bags contain 2 dotted blue bags, 2 striped maroon bags, 5 dotted tomato bags, 5 striped gold bags. +shiny olive bags contain 5 dim blue bags, 3 dotted violet bags. +bright magenta bags contain 2 dotted silver bags, 4 plaid black bags, 4 posh tomato bags, 4 dark salmon bags. +striped crimson bags contain 3 muted tomato bags, 2 mirrored black bags, 2 wavy yellow bags, 2 faded green bags. +shiny bronze bags contain 5 striped turquoise bags, 5 light coral bags, 4 striped aqua bags, 5 dim bronze bags. +striped gray bags contain 2 faded coral bags. +striped yellow bags contain 4 clear chartreuse bags, 2 shiny violet bags, 2 faded gold bags. +clear tan bags contain 4 dim green bags, 3 dull white bags, 2 posh turquoise bags. +dark bronze bags contain 1 shiny purple bag, 2 dark coral bags, 5 plaid gold bags. +light orange bags contain 3 clear green bags, 2 muted blue bags, 3 drab gray bags. +wavy turquoise bags contain 3 clear gold bags, 5 wavy tomato bags, 5 dotted coral bags. +drab tan bags contain 1 striped lime bag, 1 clear orange bag, 3 pale white bags, 3 bright yellow bags. +dark plum bags contain 2 striped blue bags, 4 bright fuchsia bags. +dotted blue bags contain 2 pale aqua bags, 1 dotted orange bag, 4 dotted indigo bags, 1 plaid blue bag. +light white bags contain 5 dull red bags, 4 faded salmon bags. +posh olive bags contain 4 shiny silver bags, 5 dark bronze bags. +dull olive bags contain 4 dark plum bags, 2 dotted coral bags, 4 clear blue bags, 2 dull maroon bags. +dim tomato bags contain 2 dim chartreuse bags, 3 shiny gold bags. +clear lavender bags contain 5 light aqua bags, 5 dull tan bags. +wavy teal bags contain 4 dotted beige bags. +mirrored orange bags contain 2 pale beige bags. +dim purple bags contain 2 striped gold bags. +dark chartreuse bags contain 2 wavy tomato bags. +bright coral bags contain 4 muted violet bags. +drab yellow bags contain 1 dark gold bag, 5 dotted gold bags, 3 mirrored chartreuse bags. +clear orange bags contain 3 bright cyan bags, 1 dull lavender bag. +bright brown bags contain 1 light teal bag, 4 dotted salmon bags. +drab violet bags contain 5 bright crimson bags, 2 wavy bronze bags, 1 wavy lavender bag. +dull turquoise bags contain 3 vibrant tomato bags, 4 light indigo bags, 4 shiny green bags. +muted cyan bags contain 5 muted plum bags, 3 drab red bags, 5 mirrored plum bags. +pale indigo bags contain 4 dim yellow bags, 1 bright red bag. +vibrant green bags contain 3 shiny white bags, 3 faded fuchsia bags, 4 clear orange bags. +dotted crimson bags contain 5 clear fuchsia bags, 1 clear tan bag. +drab maroon bags contain 4 muted olive bags. +dull bronze bags contain 5 shiny indigo bags, 2 dim chartreuse bags. +wavy brown bags contain 1 bright teal bag. +posh blue bags contain 3 striped blue bags, 3 drab teal bags, 5 shiny black bags. +clear chartreuse bags contain 1 clear tan bag, 2 dim cyan bags, 1 drab lime bag. +faded coral bags contain 4 dotted green bags, 3 plaid cyan bags, 2 bright cyan bags. +dotted green bags contain 4 drab gray bags. +wavy orange bags contain 5 striped coral bags, 5 striped blue bags, 5 wavy green bags. +dotted tomato bags contain 1 light crimson bag, 5 light lime bags, 3 vibrant purple bags, 5 clear plum bags. +pale fuchsia bags contain 2 muted orange bags, 3 dull orange bags, 4 posh bronze bags, 2 faded purple bags. +wavy lavender bags contain 1 dull lime bag. +dull blue bags contain 5 striped silver bags, 5 bright brown bags, 5 dotted green bags, 3 dark brown bags. +muted beige bags contain 5 dim tomato bags, 2 shiny purple bags. +pale lime bags contain 1 vibrant crimson bag, 1 pale plum bag, 4 mirrored gold bags, 3 bright chartreuse bags. +mirrored plum bags contain 2 dim white bags, 3 posh cyan bags, 3 dark lime bags. +light coral bags contain 4 clear silver bags, 5 dim green bags, 1 striped tomato bag. +faded lavender bags contain 2 dark tan bags, 2 wavy tomato bags, 2 light coral bags, 5 dotted silver bags. +plaid lime bags contain 3 light orange bags, 5 drab black bags, 2 drab lime bags. +vibrant cyan bags contain 1 vibrant gray bag, 5 wavy teal bags. +dark blue bags contain 5 clear tan bags, 5 clear silver bags, 3 drab black bags. +plaid coral bags contain 2 plaid aqua bags, 3 drab gold bags, 5 mirrored plum bags, 2 dim bronze bags. +light maroon bags contain 3 dim yellow bags, 1 light red bag. +plaid silver bags contain 1 pale maroon bag, 5 shiny black bags, 2 dark coral bags, 3 posh violet bags. +clear violet bags contain 2 vibrant fuchsia bags. +clear cyan bags contain 2 plaid yellow bags, 4 plaid olive bags, 5 dull green bags. +dim magenta bags contain 1 wavy plum bag. +drab salmon bags contain 5 dull white bags, 4 dark brown bags. +pale magenta bags contain 1 muted olive bag, 5 mirrored fuchsia bags, 3 shiny purple bags. +drab coral bags contain 2 striped silver bags. +light gold bags contain 4 shiny aqua bags, 5 dim violet bags, 2 dotted orange bags. +shiny cyan bags contain 4 muted aqua bags, 3 striped maroon bags, 5 light salmon bags. +drab beige bags contain 4 light gold bags, 5 dull white bags. +plaid fuchsia bags contain no other bags. +vibrant teal bags contain 4 muted maroon bags, 5 posh violet bags, 2 clear tan bags, 1 dull orange bag. +dim cyan bags contain 1 dark turquoise bag. +mirrored chartreuse bags contain 1 dull lavender bag, 4 pale red bags, 4 plaid chartreuse bags. +plaid gold bags contain 5 dark turquoise bags, 4 dim turquoise bags, 4 plaid fuchsia bags. +wavy gold bags contain 2 light lime bags, 5 wavy tomato bags. +wavy red bags contain 4 dotted lavender bags, 3 dotted blue bags, 4 striped brown bags, 2 faded orange bags. +dull red bags contain 5 drab green bags. +light red bags contain 2 dark coral bags. +wavy crimson bags contain 2 shiny gold bags, 1 drab white bag. +drab turquoise bags contain 4 posh gold bags, 2 pale plum bags, 3 wavy beige bags, 2 drab beige bags. +dim lavender bags contain 4 dark olive bags. +shiny tan bags contain 1 shiny teal bag, 1 clear tan bag, 4 wavy beige bags, 5 posh coral bags. +mirrored fuchsia bags contain 3 bright brown bags. +clear white bags contain 2 bright cyan bags, 1 pale orange bag, 3 vibrant gold bags, 3 dim cyan bags. +clear magenta bags contain 3 dull violet bags, 2 dull coral bags, 1 dull olive bag, 1 pale cyan bag. +mirrored salmon bags contain 5 drab gray bags, 1 striped magenta bag. +vibrant crimson bags contain 4 shiny aqua bags, 5 faded bronze bags. +clear yellow bags contain 3 bright beige bags. +striped olive bags contain 2 clear silver bags, 5 dim orange bags, 2 posh black bags, 2 striped lavender bags. +pale olive bags contain 3 dotted blue bags, 2 faded indigo bags, 3 pale crimson bags, 4 clear tan bags. +striped white bags contain 2 drab silver bags, 2 clear brown bags. +dotted chartreuse bags contain 4 dark brown bags, 4 dim maroon bags, 3 plaid chartreuse bags, 2 dark red bags. +dim fuchsia bags contain 3 posh indigo bags, 5 clear purple bags. +shiny lime bags contain 3 muted gold bags, 3 vibrant crimson bags, 3 mirrored green bags. +striped blue bags contain 2 clear coral bags, 4 drab green bags, 2 dull green bags. +shiny beige bags contain 3 wavy lime bags. +dim tan bags contain 2 clear green bags, 2 dull green bags. +posh cyan bags contain 4 faded purple bags. +striped violet bags contain 2 faded orange bags, 5 plaid crimson bags, 2 dull fuchsia bags, 2 bright black bags. +mirrored crimson bags contain 1 drab gray bag, 3 faded crimson bags, 2 dim white bags, 4 dull green bags. +dim orange bags contain 4 dim lime bags, 1 drab black bag. +drab cyan bags contain 2 shiny salmon bags, 4 muted plum bags, 4 dotted lavender bags, 2 plaid gray bags. +drab brown bags contain 2 muted purple bags. +mirrored white bags contain 4 mirrored crimson bags, 5 pale plum bags, 2 bright maroon bags. +vibrant silver bags contain 3 dark bronze bags, 2 light olive bags, 3 posh cyan bags. +wavy magenta bags contain 3 muted aqua bags, 3 clear beige bags, 5 drab beige bags, 1 faded teal bag. +striped purple bags contain 3 pale crimson bags, 1 bright maroon bag, 2 striped bronze bags, 4 pale gold bags. +dark teal bags contain 4 shiny aqua bags, 1 dull white bag, 2 dotted orange bags, 2 dull green bags. +dotted coral bags contain 5 dark turquoise bags. +vibrant lime bags contain 3 dim purple bags, 5 shiny black bags, 3 dotted black bags, 1 mirrored coral bag. +bright gold bags contain 3 posh tan bags, 4 drab gray bags, 1 dotted maroon bag, 2 clear fuchsia bags. +dark fuchsia bags contain 2 dull yellow bags, 1 dim orange bag, 4 muted beige bags. +muted tomato bags contain 1 posh teal bag, 5 shiny olive bags. +dull indigo bags contain 4 muted maroon bags. +bright purple bags contain 1 dotted olive bag, 1 wavy chartreuse bag, 1 clear tan bag, 2 dotted green bags. +wavy violet bags contain 3 striped silver bags, 1 pale plum bag. +shiny orange bags contain 2 drab black bags, 3 drab lime bags, 2 shiny black bags, 4 faded purple bags. +light beige bags contain 5 dim coral bags, 1 dark white bag, 1 light crimson bag, 3 mirrored coral bags. +drab tomato bags contain 5 shiny teal bags, 2 drab beige bags, 2 shiny purple bags. +drab lavender bags contain 3 striped tomato bags, 1 bright brown bag. +shiny plum bags contain 4 plaid magenta bags, 5 posh indigo bags, 1 wavy violet bag, 5 clear white bags. +dotted brown bags contain 3 mirrored olive bags, 5 light yellow bags, 3 light tomato bags. +wavy coral bags contain 2 mirrored plum bags, 4 posh purple bags. +shiny maroon bags contain 4 muted cyan bags, 1 wavy blue bag, 2 clear lime bags, 3 plaid orange bags. +posh bronze bags contain 1 plaid gold bag, 1 posh yellow bag, 4 wavy lime bags, 2 dull white bags. +bright fuchsia bags contain 3 dull silver bags, 2 light lime bags. +dull plum bags contain 1 dotted salmon bag, 4 shiny lavender bags, 5 mirrored purple bags, 2 bright cyan bags. +bright aqua bags contain 5 dull salmon bags, 1 plaid crimson bag, 4 shiny tomato bags, 5 vibrant fuchsia bags. +shiny salmon bags contain 4 plaid orange bags, 5 drab green bags. +muted coral bags contain 4 dull indigo bags, 4 pale plum bags, 5 dotted black bags. +vibrant salmon bags contain 5 dark turquoise bags, 1 drab red bag. +dull black bags contain 1 dull magenta bag. +plaid white bags contain 3 shiny purple bags. +drab green bags contain 5 striped maroon bags, 4 dark crimson bags, 1 faded teal bag, 1 dull green bag. +faded purple bags contain 4 shiny gold bags. +striped lime bags contain 5 striped turquoise bags, 1 clear silver bag. +clear black bags contain 4 dark beige bags, 3 posh black bags. +vibrant purple bags contain 5 dark brown bags. +clear beige bags contain 1 light teal bag, 4 plaid fuchsia bags. +light lime bags contain 4 drab gray bags, 1 dark white bag, 3 drab tomato bags, 2 plaid maroon bags. +muted violet bags contain 1 posh turquoise bag, 4 mirrored white bags. +vibrant olive bags contain 3 clear beige bags. +bright salmon bags contain 1 plaid orange bag. +drab bronze bags contain 4 shiny turquoise bags, 1 clear fuchsia bag. +drab plum bags contain 2 muted gold bags, 5 mirrored turquoise bags, 5 faded orange bags, 5 bright magenta bags. +dotted turquoise bags contain 5 striped maroon bags, 3 mirrored violet bags, 1 dark fuchsia bag. +wavy olive bags contain 5 vibrant maroon bags, 3 shiny tan bags, 5 vibrant yellow bags, 5 dotted silver bags. +wavy tomato bags contain 1 pale white bag, 5 light yellow bags. +plaid chartreuse bags contain 3 drab black bags. +pale chartreuse bags contain 3 muted purple bags, 1 dull green bag, 3 dark brown bags, 5 light teal bags. +dotted cyan bags contain 2 pale salmon bags. +muted gold bags contain 5 plaid silver bags, 5 dotted orange bags. +posh orange bags contain 5 posh purple bags, 4 dark teal bags, 4 dotted silver bags. +pale brown bags contain 2 faded teal bags. +wavy aqua bags contain 5 muted plum bags, 5 wavy tomato bags, 3 mirrored gold bags, 5 drab tan bags. +bright blue bags contain 2 clear green bags. +dotted red bags contain 4 wavy plum bags, 5 muted green bags. +clear tomato bags contain 3 bright cyan bags, 1 dull gray bag, 5 drab maroon bags, 4 muted indigo bags. +plaid orange bags contain 4 dotted coral bags, 5 pale gray bags, 5 shiny violet bags, 2 pale aqua bags. +muted teal bags contain 2 muted maroon bags, 1 drab teal bag, 2 light teal bags. +wavy blue bags contain 5 pale chartreuse bags, 2 shiny white bags, 5 posh teal bags. +posh teal bags contain 3 pale chartreuse bags. +mirrored magenta bags contain 1 bright aqua bag. +vibrant orange bags contain 3 mirrored magenta bags, 1 mirrored violet bag, 3 posh indigo bags, 5 faded orange bags. +posh black bags contain 5 bright red bags. +pale white bags contain 3 dark teal bags, 1 dotted silver bag, 2 clear green bags. +posh tomato bags contain 1 shiny yellow bag, 3 light black bags, 2 drab blue bags, 5 wavy crimson bags. +mirrored teal bags contain 1 drab gray bag, 4 light lime bags. +muted green bags contain 5 striped brown bags. +dim gold bags contain 2 posh indigo bags, 5 clear indigo bags, 4 posh gray bags. +dull gray bags contain 4 posh orange bags, 3 shiny gold bags, 1 dim tomato bag, 3 bright crimson bags. +striped green bags contain 4 dark tan bags, 2 drab gray bags, 1 mirrored brown bag. +clear coral bags contain 2 striped brown bags, 2 light lime bags. +posh brown bags contain 3 vibrant purple bags, 3 dark chartreuse bags, 5 shiny cyan bags. +dotted black bags contain 2 bright crimson bags, 3 posh orange bags, 4 light gold bags, 5 dark brown bags. +posh chartreuse bags contain 5 wavy salmon bags, 3 striped silver bags, 2 drab violet bags. +mirrored tomato bags contain 3 pale crimson bags. +bright yellow bags contain 1 shiny coral bag, 2 muted blue bags, 4 wavy beige bags. +dull salmon bags contain 3 bright blue bags, 4 dull green bags, 5 drab salmon bags. +pale black bags contain 5 shiny salmon bags. +drab aqua bags contain 5 striped fuchsia bags, 2 light lavender bags, 1 light magenta bag. +muted yellow bags contain 4 striped plum bags, 2 faded beige bags, 1 dull salmon bag, 5 bright red bags. +striped brown bags contain 3 bright red bags, 3 shiny violet bags. +posh white bags contain 2 mirrored violet bags, 4 muted silver bags. +posh lavender bags contain 5 light crimson bags, 5 pale silver bags, 2 shiny green bags, 4 mirrored silver bags. +plaid beige bags contain 3 mirrored silver bags. +dull silver bags contain 1 dotted silver bag, 1 drab salmon bag. +dark violet bags contain 3 dotted green bags, 1 muted aqua bag, 4 bright chartreuse bags. +dotted maroon bags contain 3 clear red bags, 4 drab blue bags, 4 vibrant gray bags. +dim green bags contain 4 dotted silver bags. +vibrant fuchsia bags contain 5 shiny violet bags, 1 dim violet bag, 5 dotted beige bags. +muted salmon bags contain 5 dim white bags. +drab orange bags contain 5 dark teal bags. +vibrant violet bags contain 4 posh cyan bags, 4 mirrored brown bags, 5 dark beige bags. +bright crimson bags contain 1 plaid fuchsia bag, 2 drab black bags. +muted plum bags contain 4 striped brown bags, 4 dull green bags, 4 mirrored beige bags. +plaid violet bags contain 4 dotted indigo bags. +wavy yellow bags contain 3 plaid lime bags, 2 mirrored orange bags. +faded teal bags contain 2 clear plum bags, 2 posh purple bags, 3 muted plum bags, 2 dim tomato bags. +vibrant brown bags contain 1 light tan bag, 1 light lime bag. +vibrant turquoise bags contain 2 clear bronze bags, 2 striped gray bags, 2 pale green bags, 5 vibrant indigo bags. +dark black bags contain 3 mirrored gray bags. +muted orange bags contain 2 dull orange bags. +shiny aqua bags contain 1 posh turquoise bag. +posh fuchsia bags contain 2 shiny fuchsia bags, 5 light gold bags. +light plum bags contain 1 pale teal bag, 4 plaid maroon bags, 3 drab maroon bags. +posh plum bags contain 4 muted magenta bags. +plaid teal bags contain 1 muted gray bag, 3 clear bronze bags, 5 pale tomato bags. +pale aqua bags contain 4 posh turquoise bags, 5 light chartreuse bags, 1 pale white bag, 5 light gold bags. +bright tomato bags contain 4 bright yellow bags, 5 dark red bags, 1 shiny orange bag, 1 dim teal bag. +light teal bags contain no other bags. +dark olive bags contain 1 drab gray bag, 2 striped teal bags. +dotted tan bags contain 4 shiny salmon bags, 2 light black bags, 5 bright red bags. +light cyan bags contain 1 clear beige bag, 4 plaid orange bags, 5 wavy lavender bags. +dark indigo bags contain 5 mirrored orange bags, 3 posh brown bags. +clear fuchsia bags contain 1 dark red bag, 2 posh black bags. +dotted salmon bags contain 5 pale gray bags. +mirrored turquoise bags contain 1 light aqua bag. +plaid olive bags contain 2 dull silver bags, 2 light black bags. +posh crimson bags contain 4 drab black bags, 4 dim teal bags, 5 light cyan bags, 3 dark teal bags. +dull lime bags contain no other bags. +drab chartreuse bags contain 1 faded tan bag. +faded gray bags contain 5 dark crimson bags, 3 light lavender bags, 5 dim silver bags. +wavy indigo bags contain 3 muted chartreuse bags, 2 dim green bags, 3 light fuchsia bags, 3 shiny white bags. +light tan bags contain 1 light olive bag, 1 dim cyan bag, 5 plaid orange bags. +light fuchsia bags contain 2 shiny indigo bags, 5 wavy coral bags, 2 wavy tomato bags. +dull yellow bags contain 4 faded coral bags, 3 dim white bags, 5 dull white bags. +drab magenta bags contain 4 muted violet bags, 5 light plum bags, 4 faded orange bags. +mirrored gray bags contain 2 wavy cyan bags, 1 drab teal bag, 1 clear red bag, 5 bright lavender bags. +dull coral bags contain 1 bright yellow bag, 5 dull violet bags, 5 dark orange bags, 2 bright green bags. +mirrored olive bags contain 1 drab plum bag, 3 plaid orange bags. +muted olive bags contain 5 shiny gold bags, 2 shiny aqua bags, 5 wavy chartreuse bags, 4 wavy lavender bags. +clear gold bags contain 3 bright purple bags, 3 light cyan bags, 5 wavy tomato bags. +plaid green bags contain 4 shiny yellow bags, 2 light salmon bags, 2 light silver bags, 5 dim purple bags. +posh red bags contain 5 dark violet bags. +muted purple bags contain 3 drab salmon bags. +vibrant aqua bags contain 5 clear beige bags, 3 vibrant silver bags, 1 faded olive bag. +striped indigo bags contain 3 plaid brown bags, 4 light aqua bags, 3 pale tomato bags. +wavy tan bags contain 2 faded indigo bags, 1 vibrant chartreuse bag, 5 drab beige bags, 4 drab gold bags. +shiny gold bags contain 5 wavy chartreuse bags. +wavy purple bags contain 5 faded maroon bags, 4 pale magenta bags. +mirrored indigo bags contain 2 plaid black bags, 5 dark teal bags, 2 dull indigo bags. +plaid crimson bags contain 5 dotted green bags, 2 dull white bags. +dark aqua bags contain 1 wavy coral bag, 1 plaid crimson bag. +shiny fuchsia bags contain 1 dark olive bag, 4 wavy silver bags, 2 bright turquoise bags, 1 dull white bag. +striped orange bags contain 4 dotted green bags, 1 mirrored coral bag, 5 dull indigo bags. +drab purple bags contain 1 posh orange bag, 1 bright blue bag. +dull orange bags contain 3 dim indigo bags, 3 pale orange bags. +pale plum bags contain 2 light yellow bags. +pale cyan bags contain 4 drab salmon bags, 3 dull magenta bags, 1 clear plum bag, 1 faded tomato bag. +dotted indigo bags contain 1 mirrored beige bag, 1 drab black bag, 4 shiny aqua bags. +shiny lavender bags contain 1 muted beige bag, 5 bright cyan bags, 2 dull green bags. +drab lime bags contain 5 drab black bags, 4 dotted salmon bags. +mirrored bronze bags contain 3 dim bronze bags, 3 striped tan bags, 4 clear maroon bags, 4 dotted coral bags. +shiny brown bags contain 4 striped gold bags, 1 vibrant silver bag, 3 shiny gold bags. +striped chartreuse bags contain 5 vibrant gray bags, 1 dark cyan bag. +muted black bags contain 4 plaid indigo bags. +muted aqua bags contain 1 pale red bag, 5 pale aqua bags. +bright maroon bags contain 2 drab black bags, 1 clear violet bag, 1 dotted lavender bag, 1 mirrored turquoise bag. +vibrant chartreuse bags contain 5 pale silver bags. +dull purple bags contain 2 mirrored chartreuse bags. +clear brown bags contain 2 light coral bags, 4 plaid cyan bags, 3 dim brown bags. +shiny teal bags contain 5 drab black bags, 2 shiny silver bags, 3 muted purple bags. +dull aqua bags contain 5 dotted lime bags, 4 mirrored lime bags. +wavy green bags contain 1 striped brown bag, 2 striped turquoise bags, 4 dull silver bags, 3 drab white bags. +clear gray bags contain 5 pale tan bags, 4 posh tomato bags, 3 dark brown bags, 1 striped violet bag. +bright cyan bags contain 5 drab salmon bags, 5 light crimson bags. +clear silver bags contain 4 mirrored turquoise bags, 4 posh orange bags, 3 light gold bags, 4 clear green bags. +pale purple bags contain 5 dotted beige bags, 5 posh orange bags. +striped tomato bags contain 1 dotted green bag, 4 dark turquoise bags. +muted tan bags contain 2 faded green bags, 3 dim cyan bags. +dark coral bags contain 2 dim chartreuse bags, 1 striped plum bag. +shiny white bags contain 2 posh orange bags. +dim olive bags contain 1 faded teal bag, 4 pale lime bags, 3 dim teal bags. +faded black bags contain 4 pale cyan bags, 3 dull gray bags, 5 light teal bags, 4 shiny bronze bags. +light indigo bags contain 3 dim cyan bags, 1 shiny silver bag, 5 dull lavender bags. +dim coral bags contain 2 striped silver bags, 4 dim tomato bags. +plaid tan bags contain 2 mirrored turquoise bags, 4 dim beige bags, 5 shiny lavender bags, 4 dim bronze bags. +striped plum bags contain 2 wavy lavender bags, 1 drab white bag. +faded white bags contain 1 dim coral bag. +dotted lime bags contain 2 muted gold bags, 5 shiny violet bags, 5 plaid violet bags, 1 wavy bronze bag. +dotted violet bags contain 1 posh orange bag, 2 plaid fuchsia bags. +dull gold bags contain 5 vibrant crimson bags, 1 drab bronze bag, 3 dotted tan bags. +bright red bags contain 4 pale white bags, 4 light chartreuse bags, 3 clear beige bags, 5 dotted green bags. +wavy cyan bags contain 5 dotted chartreuse bags, 1 wavy violet bag, 1 posh coral bag, 5 dotted bronze bags. +faded fuchsia bags contain 3 posh maroon bags, 4 clear plum bags, 3 drab lime bags. +dim violet bags contain no other bags. +striped bronze bags contain 2 dim orange bags, 1 dark orange bag, 1 dark salmon bag, 4 faded teal bags. +drab olive bags contain 2 striped violet bags, 2 pale beige bags. +muted red bags contain 5 pale aqua bags, 1 wavy cyan bag, 4 clear white bags, 1 drab red bag. +shiny blue bags contain 5 plaid aqua bags, 2 drab salmon bags, 5 pale tan bags, 4 vibrant cyan bags. +dotted olive bags contain 5 dark brown bags. +shiny silver bags contain 3 light gold bags, 5 bright crimson bags, 4 dark turquoise bags. +dark beige bags contain 1 mirrored red bag, 3 dark salmon bags, 5 striped silver bags, 3 plaid orange bags. +plaid red bags contain 2 wavy fuchsia bags, 2 shiny turquoise bags, 1 shiny coral bag. +mirrored beige bags contain 1 plaid crimson bag, 4 dotted beige bags, 2 clear beige bags, 2 muted blue bags. +dim plum bags contain 4 striped cyan bags, 5 shiny beige bags, 2 vibrant olive bags, 4 light maroon bags. +dotted beige bags contain 3 shiny violet bags, 5 dim violet bags, 5 dull white bags, 2 plaid fuchsia bags. +pale beige bags contain 2 light aqua bags. +dim gray bags contain 4 dotted indigo bags, 4 dim coral bags. +light purple bags contain 5 shiny brown bags, 2 drab violet bags, 1 striped tomato bag. +dark salmon bags contain 1 dim green bag, 5 dim tan bags. +mirrored lime bags contain 5 light gold bags, 5 drab tan bags. +clear blue bags contain 3 drab tomato bags, 3 pale olive bags. +plaid lavender bags contain 5 shiny indigo bags, 3 muted crimson bags, 5 mirrored lime bags. +vibrant tomato bags contain 3 drab salmon bags, 5 faded purple bags, 1 faded bronze bag, 4 bright fuchsia bags. +posh turquoise bags contain 1 dim chartreuse bag. +clear turquoise bags contain 4 muted indigo bags, 1 dark maroon bag, 4 dull coral bags. +drab crimson bags contain 1 plaid turquoise bag, 2 faded salmon bags. +dark brown bags contain no other bags. +faded tomato bags contain 2 light cyan bags, 1 light maroon bag. +clear plum bags contain 2 drab lavender bags. +bright white bags contain 2 dim tan bags, 1 faded orange bag, 1 dim aqua bag. +shiny green bags contain 3 dotted coral bags, 1 mirrored white bag, 3 shiny gray bags. +clear olive bags contain 3 mirrored teal bags. +striped red bags contain 1 pale green bag, 4 light maroon bags. +dull tomato bags contain 3 mirrored white bags, 4 posh bronze bags. +light silver bags contain 1 mirrored plum bag, 2 dim teal bags. +striped teal bags contain 4 light bronze bags. +mirrored tan bags contain 5 light gold bags, 2 posh brown bags. +clear purple bags contain 5 clear magenta bags, 2 pale tomato bags, 2 light black bags. +faded green bags contain 5 light green bags, 5 plaid bronze bags. +shiny red bags contain 3 dark white bags, 2 posh green bags, 2 shiny indigo bags. +muted white bags contain 4 dotted coral bags, 5 wavy blue bags. +dim crimson bags contain 3 wavy blue bags, 2 pale gray bags. +striped lavender bags contain 2 dark blue bags, 2 pale aqua bags, 5 striped turquoise bags, 3 dark coral bags. +wavy gray bags contain 2 muted gray bags, 1 pale silver bag, 5 muted blue bags, 5 pale tomato bags. +mirrored silver bags contain 2 mirrored black bags, 5 mirrored plum bags, 5 striped silver bags, 3 dotted green bags. +light crimson bags contain 4 faded maroon bags, 4 dim chartreuse bags, 5 dotted violet bags. +shiny coral bags contain 4 shiny silver bags, 3 posh yellow bags, 5 plaid blue bags, 3 shiny aqua bags. +pale red bags contain 4 drab white bags, 1 dotted silver bag, 4 drab salmon bags, 3 dull green bags. +posh maroon bags contain 1 dim green bag. +posh gold bags contain 1 pale green bag, 5 striped silver bags. +light blue bags contain 2 dotted silver bags, 1 muted beige bag. +pale lavender bags contain 5 vibrant orange bags, 2 dull chartreuse bags. +faded gold bags contain 2 shiny gray bags. +bright orange bags contain 3 posh teal bags, 5 wavy green bags, 1 bright chartreuse bag, 5 dark white bags. +mirrored violet bags contain 2 pale white bags, 5 dark brown bags, 5 bright blue bags. +dim white bags contain 4 clear green bags. +light aqua bags contain no other bags. +dull chartreuse bags contain 5 striped gold bags. +clear salmon bags contain 5 pale salmon bags. +bright olive bags contain 1 posh blue bag. +bright lavender bags contain 2 pale lime bags. +pale turquoise bags contain 3 muted chartreuse bags. +vibrant white bags contain 5 light red bags. +dotted silver bags contain 1 dark brown bag, 5 dark turquoise bags, 4 dim violet bags. +dull green bags contain 2 light teal bags, 5 drab black bags. +wavy plum bags contain 4 pale indigo bags, 3 plaid yellow bags, 1 wavy green bag, 4 muted green bags. +vibrant yellow bags contain 2 bright beige bags, 2 dim brown bags, 3 dotted teal bags. +faded beige bags contain 3 dim brown bags, 4 clear gold bags. +dotted purple bags contain 4 shiny white bags. +mirrored green bags contain 5 dark red bags, 4 drab violet bags, 3 bright lavender bags. +shiny tomato bags contain 3 striped lavender bags. +bright silver bags contain 1 dotted magenta bag, 3 dim green bags, 1 muted coral bag, 4 shiny teal bags. +plaid maroon bags contain 5 dim brown bags. +dim salmon bags contain 4 pale olive bags, 5 dark crimson bags. +dark gold bags contain 3 dark orange bags, 3 bright fuchsia bags, 1 dull salmon bag, 5 dark blue bags. +striped cyan bags contain 3 plaid blue bags, 1 dark orange bag, 5 clear violet bags. +dark gray bags contain 5 light orange bags. +posh gray bags contain 1 plaid maroon bag, 4 drab gold bags, 1 muted gold bag, 4 light bronze bags. +pale gold bags contain 4 clear orange bags, 5 dim orange bags. +pale teal bags contain 1 posh teal bag, 5 pale red bags. +vibrant lavender bags contain 5 plaid silver bags, 3 clear orange bags, 2 posh silver bags, 1 wavy violet bag. +dim black bags contain 2 dark plum bags, 2 plaid turquoise bags, 3 dull salmon bags, 2 clear orange bags. +dark white bags contain 2 vibrant fuchsia bags. +dark red bags contain 3 shiny violet bags, 5 vibrant fuchsia bags, 1 pale crimson bag. +striped silver bags contain 2 posh purple bags, 4 dark white bags. +striped turquoise bags contain 1 bright brown bag, 2 dotted green bags. +wavy salmon bags contain 5 light teal bags. +muted turquoise bags contain 1 bright gray bag, 2 plaid orange bags, 5 muted blue bags, 2 dotted olive bags. +wavy black bags contain 2 mirrored black bags, 2 striped plum bags, 1 dull lime bag, 4 posh teal bags. +striped tan bags contain 5 pale green bags. +dark turquoise bags contain 5 shiny violet bags, 3 dark brown bags. +plaid black bags contain 5 plaid crimson bags, 2 dim turquoise bags, 4 dotted black bags. +light turquoise bags contain 4 plaid chartreuse bags, 4 dull violet bags. +plaid gray bags contain 1 light yellow bag, 4 striped lavender bags, 4 wavy chartreuse bags, 3 dotted salmon bags. +drab black bags contain no other bags. +plaid cyan bags contain 1 dim tan bag, 2 plaid gold bags, 1 drab gray bag. +bright tan bags contain 1 plaid olive bag, 3 mirrored black bags. +faded brown bags contain 2 dotted tomato bags. +dotted fuchsia bags contain 5 drab silver bags. +drab white bags contain 5 shiny violet bags. +posh salmon bags contain 3 striped turquoise bags. +dull maroon bags contain 2 faded indigo bags. +bright bronze bags contain 1 muted blue bag, 5 dark chartreuse bags, 2 wavy purple bags, 3 vibrant violet bags. +plaid bronze bags contain 1 dark brown bag. +dark lavender bags contain 3 dim yellow bags, 4 drab red bags, 2 bright turquoise bags, 4 shiny black bags. +wavy silver bags contain 1 light yellow bag, 2 pale red bags. +pale tan bags contain 5 dull orange bags, 5 dotted olive bags, 2 vibrant purple bags, 4 dull tan bags. +pale orange bags contain 3 light teal bags, 1 dim maroon bag. +shiny indigo bags contain 3 drab maroon bags, 2 dotted indigo bags, 1 bright purple bag, 2 striped brown bags. +muted fuchsia bags contain 4 posh crimson bags, 3 clear beige bags. +plaid plum bags contain 1 clear silver bag, 4 light cyan bags, 1 vibrant gray bag, 5 drab purple bags. +faded violet bags contain 3 dotted beige bags, 3 muted aqua bags. +dotted plum bags contain 4 plaid brown bags, 5 wavy green bags, 3 dark cyan bags, 2 pale red bags. +vibrant tan bags contain 4 clear gray bags. +drab silver bags contain 3 dull chartreuse bags. +shiny turquoise bags contain 4 dark olive bags. +dark silver bags contain 2 dotted black bags. +striped beige bags contain 5 striped magenta bags. +dotted orange bags contain 1 light aqua bag, 4 posh turquoise bags. +shiny magenta bags contain 3 drab salmon bags, 5 mirrored orange bags. +posh magenta bags contain 3 plaid fuchsia bags, 4 dim maroon bags. +clear bronze bags contain 1 wavy fuchsia bag, 2 vibrant black bags. +dull violet bags contain 1 muted indigo bag, 2 posh green bags, 4 striped white bags, 1 clear red bag. +posh lime bags contain 5 vibrant cyan bags. +pale silver bags contain 2 dark crimson bags, 1 light salmon bag, 1 clear brown bag. +posh yellow bags contain 1 dim white bag, 2 pale crimson bags. +vibrant bronze bags contain 4 faded gray bags, 1 dim gray bag, 2 posh cyan bags, 4 plaid lavender bags. +dull beige bags contain 4 wavy fuchsia bags, 4 plaid crimson bags, 2 dark blue bags, 1 wavy silver bag. +dull brown bags contain 4 pale turquoise bags, 4 clear tan bags. +faded turquoise bags contain 5 plaid gold bags, 4 wavy chartreuse bags. +dark yellow bags contain 1 wavy lavender bag, 5 dark coral bags. +dotted gray bags contain 4 posh purple bags, 5 wavy lavender bags, 5 shiny green bags, 5 plaid white bags. +dim aqua bags contain 1 dull lime bag. +posh violet bags contain 1 mirrored tomato bag, 3 posh cyan bags. +shiny gray bags contain 3 clear green bags, 1 wavy bronze bag, 4 dark turquoise bags, 3 pale white bags. +drab red bags contain 2 mirrored violet bags, 3 dotted orange bags, 5 dark lime bags, 4 bright purple bags. +striped magenta bags contain 3 striped brown bags. +dull magenta bags contain 4 dim tomato bags, 3 muted beige bags, 5 clear violet bags. +clear maroon bags contain 4 plaid lime bags. +posh silver bags contain 3 mirrored red bags. +dark crimson bags contain 2 mirrored violet bags. +pale maroon bags contain 2 shiny black bags. +dark magenta bags contain 1 dark green bag, 4 light plum bags. +bright lime bags contain 1 pale indigo bag, 3 dim yellow bags, 2 drab maroon bags, 4 light plum bags. +dark orange bags contain 1 wavy lavender bag, 1 dotted orange bag, 2 light crimson bags, 3 light yellow bags. +wavy lime bags contain 4 clear blue bags, 2 muted brown bags, 2 mirrored violet bags, 2 dotted lavender bags. +dotted lavender bags contain 1 posh teal bag, 5 dark red bags, 1 pale gray bag. +muted brown bags contain 1 dark white bag, 2 dull maroon bags, 1 faded maroon bag. +dim yellow bags contain 5 dark white bags. +faded tan bags contain 4 light coral bags, 4 light yellow bags. +faded crimson bags contain 3 plaid fuchsia bags, 5 plaid orange bags. +pale salmon bags contain 5 pale red bags, 4 dotted olive bags, 3 plaid magenta bags. +dim bronze bags contain 4 muted plum bags, 3 light cyan bags, 3 dark coral bags. +bright teal bags contain 2 vibrant violet bags, 4 striped bronze bags, 1 striped violet bag, 2 dark gray bags. +pale bronze bags contain 2 plaid brown bags, 1 plaid white bag. +vibrant plum bags contain 2 drab tan bags, 2 plaid yellow bags, 3 faded fuchsia bags. +dotted teal bags contain 5 faded coral bags, 5 faded indigo bags, 1 posh violet bag, 3 pale indigo bags. +plaid salmon bags contain 2 dark lavender bags, 3 posh bronze bags, 4 light coral bags, 1 posh orange bag. +dim red bags contain 3 light violet bags. +drab gold bags contain 4 wavy silver bags, 5 light bronze bags. +shiny violet bags contain no other bags. +mirrored maroon bags contain 1 drab yellow bag, 5 wavy beige bags. +dotted aqua bags contain 4 muted plum bags. +faded salmon bags contain 4 mirrored olive bags, 5 dim lavender bags. +light violet bags contain 2 wavy salmon bags. +plaid brown bags contain 5 faded indigo bags. +mirrored coral bags contain 4 pale gray bags. +muted lavender bags contain 1 posh beige bag, 2 clear silver bags, 1 dotted bronze bag. +bright turquoise bags contain 2 striped black bags, 3 dull maroon bags. +vibrant gold bags contain 5 bright purple bags, 1 bright red bag. +muted magenta bags contain 1 clear violet bag, 5 muted lavender bags, 4 faded aqua bags. +faded silver bags contain 4 posh brown bags, 2 mirrored silver bags. +dim teal bags contain 2 dim violet bags, 1 dark white bag, 2 dotted black bags. +striped maroon bags contain 5 shiny white bags. +dark maroon bags contain 2 plaid silver bags, 1 dull red bag, 2 shiny coral bags, 5 bright white bags. +clear crimson bags contain 4 muted salmon bags, 5 clear green bags, 1 light blue bag, 5 posh magenta bags. +dotted yellow bags contain 3 vibrant coral bags. +light tomato bags contain 4 dim chartreuse bags, 4 light gold bags, 5 dark white bags. +shiny purple bags contain 3 dark turquoise bags. +bright green bags contain 1 light chartreuse bag. +mirrored yellow bags contain 4 striped white bags. +light lavender bags contain 1 wavy crimson bag, 3 dim yellow bags, 1 plaid olive bag, 5 wavy white bags. +muted crimson bags contain 2 dark beige bags, 1 dull green bag. +muted blue bags contain 3 shiny aqua bags, 5 dark turquoise bags, 1 dotted silver bag. +striped coral bags contain 2 dark red bags, 1 drab blue bag, 2 light aqua bags, 1 striped lavender bag. +light brown bags contain 4 plaid yellow bags. +clear aqua bags contain 1 plaid olive bag, 1 plaid gold bag, 1 muted tan bag. +dotted gold bags contain 2 dark white bags. +plaid blue bags contain 5 dotted coral bags, 3 muted blue bags. +mirrored cyan bags contain 3 dark white bags, 1 striped turquoise bag, 3 light coral bags. +faded red bags contain 3 clear tan bags, 5 striped brown bags, 3 shiny cyan bags. +clear lime bags contain 4 clear silver bags. +dim lime bags contain 2 light teal bags, 1 posh turquoise bag, 3 dotted silver bags, 1 drab lavender bag. +dull teal bags contain 1 light maroon bag, 4 bright coral bags. +light gray bags contain 5 mirrored lime bags, 3 light violet bags, 1 muted olive bag, 4 striped brown bags. +dotted white bags contain 3 wavy white bags, 1 dotted beige bag, 5 clear green bags. +shiny crimson bags contain 3 pale salmon bags, 3 dark lime bags, 4 dull blue bags, 1 vibrant chartreuse bag. +dim brown bags contain 5 mirrored beige bags, 5 light orange bags, 2 faded crimson bags. +dim blue bags contain 5 pale gray bags. +striped black bags contain 2 vibrant purple bags, 4 vibrant salmon bags, 2 clear gold bags, 3 shiny yellow bags. +striped fuchsia bags contain 3 plaid fuchsia bags, 4 posh teal bags, 5 drab tomato bags, 3 dim turquoise bags. +shiny black bags contain 2 striped tomato bags. +vibrant maroon bags contain 5 bright aqua bags, 1 posh white bag, 1 pale silver bag, 2 muted tan bags. +posh coral bags contain 2 mirrored violet bags, 2 mirrored beige bags, 4 striped tomato bags, 2 drab white bags. +wavy chartreuse bags contain 5 muted blue bags, 1 bright crimson bag, 1 pale gray bag, 1 shiny silver bag. +bright chartreuse bags contain 5 striped brown bags. +bright gray bags contain 3 drab gray bags, 4 plaid cyan bags, 1 drab maroon bag. +dark lime bags contain 4 clear green bags, 4 dotted white bags. +faded maroon bags contain 5 shiny gold bags, 4 dotted green bags, 2 striped brown bags. +dim silver bags contain 5 muted tomato bags, 5 mirrored violet bags. +faded chartreuse bags contain 2 pale gray bags, 3 striped cyan bags. +posh beige bags contain 3 faded blue bags. +striped aqua bags contain 5 bright gray bags, 4 shiny aqua bags, 3 shiny gray bags. +dull tan bags contain 2 dotted green bags, 3 light crimson bags, 3 mirrored fuchsia bags, 5 shiny cyan bags. +dark green bags contain 2 drab yellow bags. +wavy fuchsia bags contain 2 wavy gray bags, 1 faded fuchsia bag, 5 bright maroon bags. +vibrant indigo bags contain 5 dotted tomato bags, 4 light coral bags, 1 dark silver bag. +drab indigo bags contain 5 pale coral bags. +faded indigo bags contain 5 vibrant fuchsia bags, 1 wavy coral bag, 3 striped teal bags. +pale violet bags contain 3 pale lime bags, 2 posh indigo bags, 5 muted blue bags, 2 plaid cyan bags. +drab blue bags contain 3 dull silver bags, 2 dotted beige bags, 1 muted aqua bag, 3 dotted orange bags. +dull crimson bags contain 2 dim brown bags, 1 mirrored black bag. +mirrored lavender bags contain 2 posh chartreuse bags, 1 vibrant blue bag, 5 dull magenta bags. +light olive bags contain 5 dotted silver bags, 5 dim white bags, 5 pale teal bags. +vibrant blue bags contain 1 dark fuchsia bag, 5 dim teal bags. +dim chartreuse bags contain no other bags. +bright black bags contain 1 dull lavender bag, 3 dark teal bags, 2 plaid blue bags, 5 dark white bags. +dark cyan bags contain 5 light beige bags, 5 bright orange bags. +light yellow bags contain 5 striped silver bags, 2 dark brown bags, 2 dotted salmon bags, 4 dim violet bags. +dotted bronze bags contain 5 dim blue bags, 2 dark chartreuse bags. +faded yellow bags contain 1 faded fuchsia bag, 4 dark brown bags, 1 muted salmon bag. +dull fuchsia bags contain 1 bright turquoise bag, 1 drab green bag. +faded blue bags contain 5 dull chartreuse bags, 1 shiny violet bag. +striped gold bags contain 2 dull silver bags, 4 dotted black bags. +mirrored black bags contain 1 wavy tomato bag, 3 posh violet bags, 4 vibrant crimson bags, 1 dull lime bag. +posh tan bags contain 2 plaid olive bags, 5 dotted white bags. +vibrant black bags contain 1 light chartreuse bag, 2 dark orange bags. +dim indigo bags contain 1 plaid crimson bag. +mirrored red bags contain 4 faded maroon bags. +vibrant beige bags contain 5 faded teal bags, 5 shiny coral bags, 4 drab teal bags. +drab gray bags contain 4 light teal bags, 1 dull white bag. +pale blue bags contain 1 posh purple bag, 4 light cyan bags. +posh indigo bags contain 4 dim gray bags, 2 striped maroon bags, 4 drab white bags, 3 light tomato bags. +dim maroon bags contain 3 pale white bags. +faded aqua bags contain 2 drab white bags, 3 faded purple bags, 4 striped maroon bags. +plaid aqua bags contain 1 striped turquoise bag, 4 light bronze bags, 3 pale chartreuse bags. +dull lavender bags contain 5 striped plum bags, 1 dotted white bag, 2 dotted salmon bags, 5 dull silver bags. +light magenta bags contain 2 drab violet bags, 5 drab coral bags, 2 vibrant lavender bags, 3 dull olive bags. +faded lime bags contain 3 mirrored coral bags, 2 wavy lavender bags, 3 light yellow bags, 1 shiny silver bag. +wavy white bags contain 4 drab white bags. +clear indigo bags contain 3 dim cyan bags. +plaid turquoise bags contain 4 drab white bags, 3 dark teal bags, 2 plaid fuchsia bags. +plaid tomato bags contain 3 drab violet bags, 5 striped salmon bags. +bright beige bags contain 5 shiny black bags, 5 posh salmon bags, 4 striped bronze bags, 3 pale plum bags. +vibrant red bags contain 4 pale fuchsia bags. +posh green bags contain 1 drab red bag. +faded plum bags contain 5 plaid chartreuse bags, 5 bright bronze bags, 4 dark blue bags, 3 clear bronze bags. +dim turquoise bags contain 3 light chartreuse bags. +clear red bags contain 1 drab blue bag, 5 striped fuchsia bags, 5 striped brown bags, 3 clear silver bags. +pale gray bags contain 1 dull green bag, 2 dotted orange bags, 2 dark turquoise bags. +plaid purple bags contain 1 dim cyan bag, 4 striped lime bags, 3 drab violet bags. +clear teal bags contain 2 dull cyan bags, 1 wavy cyan bag, 2 light blue bags. +mirrored brown bags contain 5 mirrored red bags. +light bronze bags contain 1 wavy white bag. +muted gray bags contain 5 faded lime bags, 1 pale beige bag, 1 shiny indigo bag, 1 faded tan bag. +striped salmon bags contain 5 dim teal bags, 5 dotted silver bags, 5 dim gray bags. +bright indigo bags contain 3 drab beige bags, 1 shiny red bag, 4 vibrant silver bags, 4 clear plum bags. +pale coral bags contain 5 wavy plum bags, 2 clear beige bags. +faded olive bags contain 2 bright crimson bags, 5 dotted green bags, 5 dull bronze bags, 2 posh turquoise bags. +wavy maroon bags contain 5 mirrored fuchsia bags, 5 dim olive bags. +plaid indigo bags contain 5 posh magenta bags, 1 dim bronze bag, 1 light blue bag. +posh aqua bags contain 5 clear beige bags, 3 dark lime bags. +faded cyan bags contain 1 drab tomato bag, 4 posh crimson bags, 5 pale chartreuse bags, 3 faded tan bags. +plaid yellow bags contain 3 wavy cyan bags, 3 striped black bags. +faded magenta bags contain 4 bright coral bags. +dull cyan bags contain 4 mirrored magenta bags, 3 clear chartreuse bags. +vibrant coral bags contain 2 dotted aqua bags, 1 bright cyan bag. +mirrored gold bags contain 2 shiny purple bags. +mirrored purple bags contain 3 dark beige bags. +pale yellow bags contain 5 plaid coral bags, 3 wavy silver bags, 1 mirrored salmon bag, 3 light lime bags. +dark tan bags contain 1 light yellow bag, 5 plaid turquoise bags, 4 shiny gold bags. +faded bronze bags contain 5 striped gold bags, 1 posh teal bag. +light black bags contain 2 shiny black bags, 2 mirrored coral bags. +vibrant gray bags contain 5 dark teal bags, 3 muted aqua bags, 4 shiny violet bags, 5 dark bronze bags. +wavy beige bags contain 2 pale maroon bags. +muted silver bags contain 4 plaid orange bags, 1 shiny chartreuse bag. +plaid magenta bags contain 1 dotted tan bag, 3 striped fuchsia bags, 5 light olive bags. +drab fuchsia bags contain 5 dark violet bags, 1 shiny gold bag, 3 pale cyan bags. +shiny chartreuse bags contain 5 dotted violet bags. +pale crimson bags contain 3 pale aqua bags. +dull white bags contain no other bags. +pale green bags contain 4 bright green bags, 2 dull lime bags, 1 striped lime bag. +muted bronze bags contain 5 bright tomato bags, 5 light red bags, 2 shiny yellow bags, 2 dim teal bags. +mirrored aqua bags contain 3 dim tomato bags, 1 mirrored crimson bag, 1 wavy silver bag. +vibrant magenta bags contain 2 dark lime bags. diff --git a/data/advent2020/input8.txt b/data/advent2020/input8.txt new file mode 100644 index 00000000..5288d40b --- /dev/null +++ b/data/advent2020/input8.txt @@ -0,0 +1,643 @@ +acc -15 +jmp +164 +nop +157 +acc -12 +acc -19 +acc +41 +jmp +177 +acc +36 +acc +37 +nop +471 +jmp +433 +acc +24 +acc +13 +acc -12 +jmp +556 +jmp +1 +acc -15 +acc +33 +jmp +299 +jmp +344 +acc -3 +jmp +124 +acc +10 +nop +562 +acc +45 +jmp +386 +acc -3 +jmp +206 +acc -19 +acc +12 +jmp +424 +acc -18 +acc +23 +acc +12 +acc +0 +jmp +311 +nop +327 +jmp +301 +acc +20 +nop +375 +jmp +25 +acc -13 +acc +49 +acc +23 +acc -3 +jmp +346 +acc +2 +acc +3 +jmp +123 +acc -7 +nop +183 +jmp +165 +acc +47 +acc +34 +jmp +1 +jmp +359 +acc +12 +acc +16 +acc -3 +acc +0 +jmp +556 +acc +14 +acc -3 +jmp +559 +jmp +192 +jmp +495 +nop +264 +acc +3 +acc +47 +jmp +187 +acc -18 +jmp +1 +acc -12 +jmp -58 +acc +49 +nop +288 +jmp +145 +acc +46 +jmp +294 +acc +38 +nop +400 +jmp +373 +acc +7 +acc +31 +jmp +492 +acc +40 +acc +5 +acc +11 +jmp +263 +acc +29 +acc +10 +acc +21 +acc +14 +jmp +450 +nop +458 +acc +38 +nop +432 +acc +42 +jmp +191 +jmp +279 +nop +71 +acc -17 +jmp -64 +acc +17 +jmp +1 +acc +29 +jmp +506 +jmp +354 +acc +42 +acc +32 +jmp -40 +jmp +184 +acc +41 +acc -7 +acc +10 +acc +38 +jmp +100 +jmp +104 +jmp +245 +jmp +335 +jmp +20 +acc +3 +jmp +490 +jmp -62 +acc +34 +acc +34 +acc -1 +jmp +6 +acc +5 +acc -9 +acc -19 +jmp +397 +jmp +253 +acc +9 +jmp +270 +acc +8 +acc -16 +acc +32 +acc +48 +jmp +258 +acc +4 +acc +37 +nop +319 +jmp +318 +jmp -4 +acc -5 +jmp +32 +nop -86 +jmp +306 +acc -13 +acc +50 +acc -16 +jmp -53 +acc +31 +jmp +52 +acc -11 +jmp +89 +acc +21 +jmp +126 +acc +44 +acc +49 +nop +177 +jmp +44 +acc +8 +jmp +166 +acc +20 +acc -8 +acc +38 +acc +10 +jmp +311 +jmp +21 +acc -10 +nop +84 +acc -7 +acc +13 +jmp +78 +jmp +1 +jmp +366 +acc -6 +acc -12 +jmp -142 +nop +223 +jmp +42 +acc -6 +nop +227 +nop +193 +acc +23 +jmp +83 +acc -10 +acc +12 +jmp +1 +acc -8 +acc +3 +nop +28 +jmp +301 +acc +23 +jmp -170 +nop -79 +acc +21 +acc +37 +jmp +138 +acc +37 +acc +24 +nop +413 +acc -9 +jmp -179 +acc -1 +acc -10 +nop +261 +acc -19 +jmp +168 +acc -16 +acc +19 +acc +17 +acc +21 +jmp -9 +jmp +46 +acc +4 +nop +398 +acc +28 +jmp +396 +acc +11 +jmp +384 +jmp +375 +acc +25 +acc +30 +acc -11 +jmp +371 +jmp +249 +acc -10 +acc -15 +jmp -7 +jmp +38 +acc +29 +acc +15 +acc +46 +jmp -77 +acc +43 +jmp -83 +jmp -42 +acc +30 +acc +44 +acc +33 +acc +14 +jmp +326 +acc -3 +nop +49 +acc +12 +jmp +63 +acc -13 +acc -19 +acc -17 +jmp +126 +jmp +293 +acc +16 +jmp -185 +acc -12 +jmp -92 +acc -13 +acc +19 +acc -1 +jmp -138 +acc +28 +nop -243 +nop +352 +acc +43 +jmp +249 +acc -5 +acc +36 +jmp -217 +nop +197 +nop -106 +acc +30 +jmp +194 +acc +7 +acc -16 +nop +128 +jmp -239 +jmp -258 +acc +11 +nop -74 +acc +42 +acc +40 +jmp +72 +jmp -207 +nop +337 +nop -240 +nop -169 +jmp -55 +nop +165 +acc +27 +acc +4 +jmp -169 +acc -2 +jmp +69 +acc +0 +jmp -250 +acc +11 +acc +45 +acc +31 +jmp +195 +acc -10 +acc -8 +nop -283 +acc -2 +jmp +63 +acc +17 +acc +12 +acc +0 +nop +243 +jmp +190 +acc +17 +acc -18 +jmp +78 +acc +7 +acc +33 +jmp +244 +nop +29 +acc +20 +nop +150 +acc +29 +jmp -43 +acc +45 +nop -132 +acc +16 +acc +14 +jmp -237 +jmp -199 +acc -4 +jmp +179 +acc +13 +acc +15 +acc +6 +acc +46 +jmp -222 +acc -8 +acc +15 +jmp -26 +acc +38 +jmp +1 +nop +266 +jmp +44 +acc -13 +nop +209 +acc +21 +jmp +201 +acc +8 +acc +18 +jmp +190 +acc +35 +jmp -238 +jmp +69 +acc -11 +nop -182 +jmp -221 +acc -16 +acc -5 +acc +7 +jmp +39 +acc +26 +acc +43 +acc +20 +jmp +92 +acc +22 +jmp +81 +acc +32 +acc -13 +jmp +30 +acc +1 +jmp +201 +acc +4 +jmp -165 +acc -17 +jmp -84 +acc -16 +acc +2 +acc +47 +jmp +54 +jmp -195 +acc +33 +acc -17 +jmp -18 +jmp +256 +acc +1 +jmp -244 +acc +28 +acc +35 +jmp +189 +nop +32 +acc +9 +jmp +24 +acc +21 +acc +14 +acc +17 +jmp -67 +acc +21 +jmp -297 +acc +36 +acc +14 +acc -13 +jmp +115 +acc -2 +acc -13 +jmp -182 +nop +119 +acc -4 +acc +44 +acc -14 +jmp +61 +acc +41 +jmp -13 +nop -116 +jmp -294 +jmp +7 +jmp +17 +acc -14 +acc +42 +acc -6 +acc +24 +jmp +151 +nop -374 +nop -375 +acc +4 +jmp -268 +nop -27 +acc +16 +acc +2 +jmp -206 +jmp -320 +nop -196 +jmp +168 +nop +36 +acc +34 +jmp -402 +acc +36 +acc +38 +acc -11 +nop +17 +jmp -182 +acc +15 +jmp -145 +acc +43 +jmp -79 +jmp -391 +jmp -155 +nop -94 +acc +0 +acc +9 +jmp -441 +acc +3 +acc +6 +acc +50 +nop -334 +jmp +163 +acc +18 +acc -11 +jmp +21 +acc +10 +acc +4 +nop +132 +jmp -348 +acc +18 +nop -1 +acc -4 +nop +148 +jmp +165 +jmp +146 +jmp -460 +jmp -14 +acc +26 +nop -388 +nop -353 +jmp +119 +acc +26 +acc -1 +acc +9 +jmp -285 +acc +37 +jmp -345 +jmp -178 +acc +7 +acc +13 +jmp -39 +acc +29 +nop -200 +acc +50 +acc +24 +jmp -160 +acc +18 +jmp +63 +acc -11 +acc +1 +acc -6 +acc +33 +jmp -90 +acc -3 +acc +11 +acc +45 +jmp -197 +jmp -169 +acc +7 +acc -4 +jmp -281 +acc +48 +nop +19 +nop -25 +nop +9 +jmp -274 +nop -126 +acc +22 +acc -4 +jmp -408 +acc +1 +acc +0 +jmp +98 +acc +25 +acc +12 +acc -19 +jmp -90 +acc +44 +acc +20 +acc +21 +jmp -192 +acc -12 +jmp -70 +nop +3 +acc +17 +jmp -349 +acc +20 +acc -7 +acc +6 +nop -43 +jmp +53 +acc +34 +acc +48 +acc -4 +acc +8 +jmp -126 +acc +23 +acc +25 +jmp -349 +acc -4 +jmp -272 +jmp -129 +nop -366 +jmp -292 +acc +29 +nop -269 +acc +50 +nop -254 +jmp -321 +jmp -23 +acc +11 +nop -425 +nop -150 +acc -9 +jmp -467 +acc +18 +acc +27 +jmp -338 +jmp +1 +acc +21 +acc +27 +acc -11 +jmp -160 +acc +27 +acc +15 +acc +0 +acc +41 +jmp -386 +acc -10 +acc +14 +jmp -217 +nop -484 +acc +47 +jmp -529 +acc -10 +acc +48 +acc +0 +jmp -430 +acc +45 +acc -8 +acc +3 +nop -103 +jmp -387 +acc -16 +acc +39 +jmp +1 +acc +17 +jmp -350 +jmp -328 +acc +30 +acc +28 +jmp -309 +nop -361 +acc +1 +nop -468 +jmp -212 +acc +29 +acc -4 +jmp -249 +acc +45 +acc +30 +acc +40 +acc -17 +jmp -579 +acc +25 +jmp -525 +nop -217 +acc +17 +acc +3 +jmp -142 +nop +18 +jmp -493 +jmp +1 +jmp -495 +jmp -360 +acc +7 +acc +30 +acc -3 +nop -449 +jmp -326 +acc -10 +acc -8 +jmp -371 +acc +22 +acc +48 +acc +6 +acc +18 +jmp -59 +acc +17 +acc +14 +jmp -250 +acc +19 +acc +25 +acc -14 +acc -17 +jmp -517 +acc +29 +acc -4 +acc +9 +acc +17 +jmp +1 diff --git a/data/advent2020/input9.txt b/data/advent2020/input9.txt new file mode 100644 index 00000000..24b0baf5 --- /dev/null +++ b/data/advent2020/input9.txt @@ -0,0 +1,1000 @@ +34 +15 +45 +16 +30 +43 +36 +21 +32 +18 +14 +31 +47 +41 +22 +39 +9 +38 +6 +7 +42 +46 +4 +3 +8 +10 +51 +24 +45 +17 +19 +28 +11 +12 +23 +80 +13 +15 +14 +63 +16 +20 +9 +32 +18 +7 +79 +26 +30 +21 +25 +22 +31 +24 +27 +29 +46 +35 +44 +39 +23 +28 +53 +33 +60 +34 +73 +55 +36 +95 +107 +43 +45 +48 +47 +77 +92 +61 +50 +74 +93 +67 +51 +66 +56 +57 +62 +69 +200 +70 +79 +87 +81 +83 +114 +94 +98 +95 +97 +148 +101 +106 +118 +107 +123 +113 +108 +139 +119 +195 +126 +131 +162 +176 +160 +343 +164 +175 +177 +203 +189 +296 +337 +272 +232 +246 +213 +241 +236 +227 +234 +373 +303 +351 +295 +257 +291 +352 +554 +363 +339 +536 +366 +624 +392 +402 +440 +449 +445 +459 +470 +468 +530 +686 +566 +491 +649 +831 +797 +548 +657 +768 +691 +731 +889 +1234 +758 +1276 +794 +1459 +1016 +885 +1704 +904 +927 +938 +959 +1215 +1727 +2418 +3186 +1239 +1205 +1279 +1306 +1643 +1616 +1422 +1552 +1647 +3038 +1662 +1698 +2238 +2543 +1789 +1812 +1842 +1865 +2143 +2606 +4241 +3263 +2901 +5792 +3563 +4563 +4268 +3069 +6464 +2974 +3084 +3120 +3199 +3309 +5041 +3360 +3487 +6571 +3601 +4962 +3654 +4743 +4008 +4749 +5507 +5985 +10355 +5875 +6043 +6628 +6393 +6058 +6094 +8109 +6173 +6204 +8751 +14152 +6669 +9472 +7088 +12117 +12595 +11136 +7662 +8397 +18901 +14845 +10256 +12079 +11860 +13062 +11918 +14790 +12152 +20257 +12262 +24262 +32659 +12842 +12873 +13757 +14331 +23098 +14750 +26668 +16059 +17918 +18798 +18653 +23778 +22116 +22335 +22174 +44035 +24012 +25104 +24070 +25715 +24414 +47220 +25135 +28088 +41194 +26599 +27204 +32984 +29081 +30809 +32668 +33977 +64786 +43053 +37451 +40769 +49549 +46749 +44509 +51013 +58383 +53093 +49785 +67793 +53223 +51618 +55944 +62586 +62065 +56285 +74746 +83902 +66532 +59890 +73862 +66645 +78220 +81960 +80504 +120969 +125028 +91258 +94294 +95522 +150238 +202929 +103008 +101403 +118350 +104841 +107562 +112229 +118871 +157764 +161293 +126422 +138110 +126535 +203084 +140507 +174207 +171762 +162464 +174798 +279643 +213632 +185552 +189816 +196925 +204411 +206244 +221879 +208965 +248069 +245348 +219791 +238764 +245293 +252957 +264532 +264645 +419876 +368687 +315305 +302971 +357314 +334226 +337262 +360350 +389963 +486524 +547130 +605643 +401336 +484057 +484323 +491721 +780226 +590219 +458555 +517602 +498250 +567616 +517489 +529177 +888213 +637197 +618276 +640233 +660285 +859891 +671488 +821585 +1227416 +791299 +1135447 +948466 +987732 +885393 +956805 +1096793 +950276 +1098788 +1450110 +976044 +1015739 +1027427 +1157722 +1046666 +1200665 +1255473 +1503669 +1687227 +1300518 +2003471 +1651190 +1462787 +1612884 +1964205 +1676692 +1905271 +1833859 +2704119 +1835669 +1991783 +1926320 +3799874 +2022710 +5633733 +2043166 +2062405 +2074093 +2302139 +2247331 +2501183 +3856569 +2763305 +2913402 +3075671 +3113977 +3139479 +5136687 +3448553 +3510551 +4014493 +3897054 +3669528 +3761989 +3827452 +3918103 +7566582 +5930662 +4803322 +6419286 +4806471 +7118081 +6027379 +5916859 +11132574 +6562530 +17695104 +6211858 +7090164 +6189648 +6253456 +8647238 +10080908 +7180079 +7911547 +7431517 +9678848 +21213482 +7680092 +8724574 +8721425 +9609793 +11983401 +10720181 +13643375 +10723330 +27776012 +16327330 +12106507 +12401506 +12443104 +12465314 +27403130 +21662249 +13369727 +40772857 +16404666 +15901504 +14611596 +17289885 +22829837 +16401517 +17445999 +22094301 +20827932 +33229438 +22826688 +22703582 +30933260 +25749882 +23124836 +24508013 +24549611 +24571821 +30815726 +24908418 +27076910 +33191389 +31016262 +27981323 +30513100 +66420827 +39231354 +45954673 +33691402 +39526353 +40149581 +38273931 +44920989 +43531514 +45530270 +48874718 +45828418 +50201746 +47632849 +49057624 +49079834 +49121432 +90875662 +77038947 +55058233 +72902312 +58494423 +58997585 +61672725 +64204502 +84761624 +71965333 +73217755 +134575037 +110752559 +119598182 +83194920 +88452503 +89061784 +94587894 +93461267 +94908252 +96754281 +96690473 +157979379 +108077419 +104179665 +113552656 +120670310 +114055818 +199814343 +130459756 +123202087 +193241449 +185816065 +166679022 +145183088 +172256704 +181913770 +171647423 +176656187 +179949201 +177514287 +193444754 +188049161 +243872397 +225368008 +219956368 +200870138 +231279506 +212257084 +217732321 +227608474 +316443536 +324072225 +309018152 +253661843 +268385175 +343335209 +311862110 +399865178 +408005529 +343904127 +351596624 +356605388 +367998362 +357463488 +365563448 +381493915 +413127222 +625737850 +625384306 +418602459 +454531981 +439865558 +429989405 +445340795 +375054920 +562679995 +522047018 +565523953 +580247285 +884521386 +784165907 +655766237 +695500751 +700509515 +709467575 +722168836 +714068876 +998849744 +723026936 +740618368 +794621137 +831729681 +793657379 +1162892494 +1554756617 +952036423 +1229506702 +805044325 +1239961932 +1647537174 +1084727013 +1102294303 +1411976966 +1236013522 +1377935073 +1351266988 +1418527687 +1423536451 +1962130768 +1431636411 +1952533638 +1437095812 +1463645304 +2702749136 +1534275747 +1588278516 +1598701704 +1745693802 +1757080748 +1889771338 +2838663636 +2320740535 +1907338628 +2855623499 +3374107734 +2782903399 +2338307825 +2774803439 +2587280510 +3340065841 +3209339106 +3344434440 +3177330213 +2868732223 +4448442938 +2900741116 +3035797516 +2997921051 +4746002264 +4121556257 +3186980220 +3355782452 +3502774550 +4612704247 +3797109966 +4659048360 +4228079163 +4245646453 +5193931324 +4925588335 +5515638038 +7635423158 +5362083949 +5774260730 +9312748004 +5898662167 +5866653274 +5769473339 +5936538632 +6256523568 +7648501763 +6033718567 +6184901271 +7932982484 +6858557002 +6542762672 +12858570819 +7748421003 +10655666968 +11092593491 +14189506052 +8473725616 +9171234788 +10119519659 +11414300205 +11260746116 +11131557288 +12441424839 +13831644651 +11636126613 +11668135506 +11706011971 +11803191906 +17197284748 +12218619838 +14507444183 +12576481239 +12727663943 +13401319674 +14291183675 +15016488288 +26765987291 +25321063340 +17644960404 +21201389559 +19290754447 +20839370294 +20302792076 +21251076947 +23988410059 +22966758087 +22767683901 +23304262119 +24395799449 +36935714851 +27083925422 +27018847618 +24021811744 +31867235686 +26128983617 +25304145182 +25977800913 +27692503349 +46817171207 +46968353911 +35855858582 +38896037351 +48220237177 +45268555360 +39593546523 +40130124741 +44217835034 +44018760848 +44555339066 +67723094268 +46988569831 +46071946020 +47326073863 +48417611193 +49325956926 +51281946095 +50150795361 +49999612657 +51433128799 +53821486966 +53670304262 +100658874093 +88895650008 +81927804602 +74751895933 +93951611707 +85884607182 +84347959775 +84148885589 +79723671264 +88773174100 +100810056797 +94018373505 +147688677767 +152092002892 +124902691294 +172228765157 +144102407068 +101432741456 +99325569583 +101281558752 +100150408018 +131927417259 +105103433061 +222440573700 +137819189851 +154475567197 +159099855708 +178100497296 +158900781522 +181005230016 +260381414460 +163872556853 +168496845364 +341973054149 +291791084835 +242922622912 +193343943088 +199475977601 +200607128335 +337001278818 +321766143283 +200758311039 +201431966770 +204429002644 +205253841079 +232077825277 +491476846015 +259579000258 +515101776114 +460988542795 +313376348719 +318000637230 +322773338375 +809477483245 +332369402217 +523531649414 +364630867892 +361840788452 +398597784167 +392819920689 +517805351363 +518758948269 +402039095105 +720190915039 +406685807849 +636149687094 +405187313683 +405860969414 +437331666356 +607292936184 +491656825535 +1015188474949 +572955348977 +822829331247 +965775269666 +645745750936 +729459146224 +655142740592 +1237996266402 +694210190669 +1159681336508 +835929450523 +754660709141 +1272466060504 +794859015794 +956090614625 +1361951584039 +807226408788 +811048283097 +898342633384 +1012480249867 +842518980039 +1137402576471 +928988491891 +1064612174512 +1389999458919 +1218701099913 +1228098089569 +1300888491528 +1650300805294 +1339955941605 +1349352931261 +1409803449733 +1489069206463 +1448870899810 +1995610787031 +1823528532964 +1549519724935 +1705569042172 +2169177992827 +1618274691885 +1771507471930 +1649745388827 +1653567263136 +1740861613423 +1993600666403 +1907131154551 +2157086581460 +3090214544684 +2682886866397 +2528986581097 +2446799189482 +2568054031174 +2958230633490 +2689308872866 +4076309147378 +3396200361014 +4795783586856 +4117573756109 +4391582564138 +3167794416820 +3199265113762 +3203086988071 +5137061974437 +3425074735066 +4852832376898 +3303312651963 +3390607002250 +3394428876559 +3900731820954 +4522587247500 +5696780997917 +4603885770942 +6697741528522 +4975785770579 +5014853220656 +5136108062348 +7803150884704 +6079915875116 +5857103289686 +8318165872619 +6367059530582 +7721852361262 +6370881404891 +6402352101833 +6471107068783 +6785035878809 +6506399640034 +6693919654213 +7291338823204 +10598473349476 +11607215131131 +7295160697513 +7917016124059 +8423319068454 +14092733766153 +11346667175470 +14284075654641 +9990638991235 +10111893832927 +10150961283004 +17793789875939 +16618293472961 +11937019164802 +16478953363509 +12737940935473 +13155917283700 +14388123192842 +19209048004256 +13096271756046 +12977506708817 +24487709530152 +14610935778272 +15117238722667 +14586499520717 +24324173884287 +22412399420180 +15212176821572 +16340335192513 +18413958059689 +24577138511952 +23089400541744 +22087980447806 +20102532824162 +22849834768400 +22888902218477 +24674960100275 +27564006229534 +24914525873619 +25715447644290 +25834212691519 +26073778464863 +28094745431484 +38301577363316 +27588442487089 +28189683530389 +36442868016675 +29197435298989 +42776183051106 +29798676342289 +37624576241752 +45817980468452 +33626134881261 +34754293252202 +47611393358678 +42190513271968 +48565282412690 +42952367592562 +53422655178608 +45738736986877 +52687578560766 +49589485973894 +50988304338482 +51789226109153 +51549660335809 +88008493740420 +79083049769966 +72574859393395 +55778126017478 +56785877786078 +106110233739374