summaryrefslogtreecommitdiff
path: root/2020/inputs
diff options
context:
space:
mode:
Diffstat (limited to '2020/inputs')
-rw-r--r--2020/inputs/day_1.txt200
-rw-r--r--2020/inputs/day_10.txt111
-rw-r--r--2020/inputs/day_11.txt90
-rw-r--r--2020/inputs/day_12.txt755
-rw-r--r--2020/inputs/day_2.txt1000
-rw-r--r--2020/inputs/day_3.txt323
-rw-r--r--2020/inputs/day_4.txt1023
-rw-r--r--2020/inputs/day_5.txt901
-rw-r--r--2020/inputs/day_6.txt2199
-rw-r--r--2020/inputs/day_7.txt594
-rw-r--r--2020/inputs/day_8.txt626
-rw-r--r--2020/inputs/day_9.txt1000
12 files changed, 8822 insertions, 0 deletions
diff --git a/2020/inputs/day_1.txt b/2020/inputs/day_1.txt
new file mode 100644
index 0000000..fbbfa17
--- /dev/null
+++ b/2020/inputs/day_1.txt
@@ -0,0 +1,200 @@
+1337
+1906
+2007
+1939
+818
+1556
+2005
+1722
+1484
+1381
+1682
+1253
+1967
+1718
+2002
+1398
+1439
+1689
+1746
+1979
+1985
+1387
+1509
+1566
+1276
+1625
+1853
+882
+1750
+1390
+1731
+1555
+1860
+1675
+1457
+1554
+1506
+1639
+1543
+1849
+1062
+1869
+1769
+1858
+1916
+1504
+1747
+1925
+1275
+1273
+1383
+1816
+1814
+1481
+1649
+1993
+1759
+1949
+1499
+1374
+1613
+1424
+783
+1765
+1576
+1933
+1270
+1844
+1856
+1634
+1261
+1293
+1741
+668
+1573
+1599
+1877
+1474
+1918
+476
+1515
+1029
+202
+1589
+1867
+1503
+1582
+1605
+1557
+587
+1462
+1955
+1806
+1834
+1739
+1343
+1594
+1622
+1972
+1527
+1798
+1719
+1866
+134
+2000
+1992
+1966
+1909
+1340
+1621
+1921
+1256
+1365
+1314
+1748
+1963
+1379
+1627
+1848
+1977
+1917
+1826
+1716
+1631
+1404
+1936
+1677
+1661
+1986
+1997
+1603
+1932
+1780
+1902
+2009
+1257
+1871
+1362
+1662
+1507
+1255
+1539
+1962
+1886
+1513
+1264
+1873
+1700
+807
+1426
+1697
+1698
+1519
+1791
+1240
+1542
+1497
+1761
+1640
+1502
+1770
+1437
+1333
+1805
+1591
+1644
+1420
+1809
+1587
+1421
+1540
+1942
+470
+1940
+1831
+1247
+1632
+1975
+1774
+1919
+1829
+1944
+1553
+1361
+1483
+1995
+1868
+1601
+1552
+1854
+1490
+1855
+1987
+1538
+1389
+1454
+1427
+1686
+1456
+1974
diff --git a/2020/inputs/day_10.txt b/2020/inputs/day_10.txt
new file mode 100644
index 0000000..fa8ea01
--- /dev/null
+++ b/2020/inputs/day_10.txt
@@ -0,0 +1,111 @@
+71
+183
+111
+89
+92
+142
+25
+101
+52
+86
+18
+22
+70
+2
+135
+163
+34
+143
+153
+35
+144
+24
+23
+94
+100
+102
+17
+57
+76
+182
+134
+38
+7
+103
+66
+31
+11
+121
+77
+113
+128
+82
+99
+148
+137
+41
+32
+48
+131
+60
+127
+138
+73
+28
+10
+84
+180
+63
+125
+53
+176
+165
+114
+145
+152
+72
+107
+167
+59
+164
+78
+126
+118
+136
+83
+79
+58
+14
+106
+69
+51
+39
+157
+42
+177
+173
+93
+141
+3
+33
+13
+19
+45
+154
+95
+170
+54
+181
+6
+151
+1
+112
+96
+115
+85
+108
+166
+160
+40
+122
+12
diff --git a/2020/inputs/day_11.txt b/2020/inputs/day_11.txt
new file mode 100644
index 0000000..977ae5f
--- /dev/null
+++ b/2020/inputs/day_11.txt
@@ -0,0 +1,90 @@
+LLLLL.LLLLLL.LLLLLLLLL.LLL.LL.LLLLLLL.LLLLLLLLLLLLLLLLLLLLLLLLLLL.LLLLLLLLLLL.LLLLLLLLLL.LLLLLLL
+LLLLL.LLLLLL.LLLLLLLLLLLLLLL.LLLLLLLL.LLLLL.LLL.LLLLLL.LLLL.LLLLL.LLLLLLLLLLL.LLLLLLLL.LLLLLLLLL
+LLLLL.LLLLLL.LLLLLLLLLLLLLLLLLLLLLLLL.LLLLLLLLL.LLLLLL.LLLL.LLLLL.LLLLLLLLLLLLLLLLLLLLL.LLLLLLLL
+LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL.LLLLLL.LLLLLLLLL.LLLL.L.LLLLLLLLLLLLLLLLLLLLLLLLL.LLL.LLLL
+LLLLL.L.LLLL.LLLLLLLLL.LLLLLL.LLLLLLLLLLLLLLLLL.LLLL.L.LLLLLLLLLL.LLLLLLLLLLLLLLLLLLLLL.LLLLLLLL
+LLLLLLLLLLLL.LLLLLLLLL.LLLLLL.LLLLLLL.LLLLLLLLL.LLLLLLLLLLLLLLLLL.LLLLLLLLLLL.LLLLLLLLL.LLLLLLLL
+L.LL.L.L.LL.....L.L..L.LL.L.L.L.....L..LLL.L.....L.L...LL..L.....L...L..L.LLLL..L.LL......L.L.L.
+LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL.LLLLLLLLL.LLLLLLLLLLLLLLLLLLLLLLLL.LLLLLLLLLLLLLL.LLLLLLLL
+LLLLL.LLLLLLLLLLLLLLLL.LLLLLL.LLLLLLL.LLLLLLLLL.LLLLLLLLLLL.LLLLL.LLLLLL.LLLLLLLLLLLLLLLLLLLLLLL
+LLLLL.LLLLLL.LLLLLLLLLLLLLLLL.LLLLLLL.LLLLLLLLL.LLLLLL.LLLLLLLLLL.LLLLLL.LLLL.LLLLLLLLL.LLLLLLLL
+LLLLL.LLLLLL.LLLLLLLLL.LLLLLLLLLLLLLLLLLLLLLLLL.L.LLLLLLLLL.LLLLL.LLLLLLLLLLL.LLLLLLLLL.LLLLLLL.
+LLLLL.LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL.LLLLLLLLLLLLLLLL.LLLL.LLLLLLLLLLLL.LLLLLLLLLLLLLLLLLLLLLLL
+LLLLLLLLLLLLLLLLLLLLLL.LLLLLLLLLLLLLL.LLLLLLLLLLLLLLLLLLLLL.LLLLLLLLLLLL.LLLL.LLLLLLLLL.LLLLLLLL
+......LL..LLLL.L...LL.....L.L.......L..L.LL....L.LLL........L.L.L.LL.....L.........L....L......L
+LLLLL.LLLLLL.LLLLLLLLL.LLLLLL.LLLLLLL.LLLLLLLLLLLLLLLLLL.LL.LLLLL.LLLLLLLLLLL.LLLLLLLLL.LLLLLLLL
+LLLLL.LLLLLL..LLLLLLL..LLLLLL.LLLLLLLLLLLLLLLLL.LLLLLLLLLLLLLLLLLLLL.LLL.LLLL.LLLLLLLLLLLLLLLLLL
+LLLLL.LLLLLL.LLLLLLLLL.L.LLLL.LLLLLLLLLLLLLLLLL.LLLLLL.LLLL.L.LLL.LLLLLLLLLLLLLLLLLLLLL.LLLLLLLL
+LLLLL.LLLLLLLLLLLLLLLLLLLLLLL.LLLLLL..LLLLL.LLL.LLLLLL.LLLL.LLLLL.LLLLLL.LLLLLLLLLLLLLL.LLLLLLLL
+LLLLL.LLLLLL.LLLLLLLLL.LLLL.L.LLLLLLLLLLLLLLLLLLLLLLLL.LLLLLLLLLL.LLLLLLLLLLL.LLLLLLLLL.LLLLLLLL
+LLLLLLLLLLLL.LLLLLLLLL.LLLLLL.LLLLLLL.LLLLLLLLL.LLLLLL.LLLL.LLLLLLLLLLLL.LLLLLLLLLLLLLLLLLLLLLLL
+.L...L...L.....L...L....L.LL.LLL.LL...LL.L..L...L......L..LL..L..LL..L.L......L.L.LLL......L.L..
+LLLLLLLLLLLL.LLLLLLLLL.LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL.LLLLLLLLLLLLLLLLLLLLL.LLLLLLLL
+LLLLL.LLLLL.LLLLLLLLLLLLLLLLL.L.LLLLL.LLLLLLLLLLLLLLLL.LLLL.LLLLL.LLLLLL.LLLLLLLLLLLLLLLLLLLLLLL
+LLLLLLLLLLLL.LLLLLLLLL.LLLLLLLLLLLLLL.LLLLLLLLL.LLLLLL.LLLL.LLL.L.LLLLLL.LLLLLLLLLLLLLL.LLLLLLLL
+LLLLL.LLLLLL.LLLLLLLLL.LLLLLL.LLLLLLL.LLLLLLLLL.LLLLLLL.LLL.LLLLL.LLLLLL.LLLL.LLLLLLLLL.LLLLLLLL
+LLLLL.LLLLLL.LLLLLLLLL.LLLLLL.LLLLLLL.LLLLLLLLL.LLLLLLLLLLL.LL.LL.LLLLLL.LLLL.LLLLLLLLL.LLLLLLLL
+...........LLL.....LLL.....LL.L..........L..L.L.L...L.L.....L........L......L..L..L...LL....L.L.
+LLLLL.LLLLLL.LLLLLLLLL.LLLLLL.LLLLLLL.LLLLLLLLL.LLLLLL.LLLL.LLLLL.LLLLL.LLLLL.LLLLLLLLL.LLLLLLLL
+LLLLL.LLLLLL.LLLLLLLLL.LLLLL.LLLL.L.LLLL.LLLLLL.LLLLLL.LLLL.LLLLL.LLLLLL.LLLL.LLLLLLLLL.LLLLLLLL
+LLLLL.LLLLLLLLLLLL.LLL.LLLLLL.LLLLLLL.LLLLLLLLL.LLLLLL.LLLL.LLLLLLLLLLLL.LLLL.LLLLLLL.L.LLLLLLLL
+LLLLLLLLLLLLLLLLLLLLLLLLLLLLL.LLLLLLLLLLLLLLLLL.LLLLLLLLLLLLLLLLL.LLLLLL.LLLL.LLLLLLLLLLLLLLLLLL
+LLLLL.LLLLLL.L.LLLLLLL.LLLLLL.LLLLLLL.LLLLLLLLLLLLLLLL.LLLL.LLLLLLLLLLLL.LLLL.LLLLLLLLL.LLLLLLLL
+.LLLL.LLLLLLLLLLLLLLLL.LLLLLL.LLLLLLLLLLLLLLLLL.LLLLLL.LLLL.LLLLL.LLLLLL.LLLL.LLLL.LLLLLLLLLLLLL
+L.......LL...LL...L..L.....L..LL..L.L.LLL.L.L..L.LL.L.........L....LLLL..LL..L.L..L..LLLL..LL.L.
+LLLLL.LLLLLL.LLL.LLLLLLLLLLLL.LLLLLLLLLLLLLLLLLLLLLLLL.LLLLLLLLLL.LLLLLL..LLL.LLLLLLLLL.LLLLLLLL
+LLLLL.LLLLLL.LLLLLLLLLLLLLLLL.LLLLLLL.LLLLLLLLL.LLLLLL.LLLLLLLLLLLLLLLLL.LLLL.LLLLLLLLLLLLLLLLLL
+LLLLL.LLLLLL.LLLLLLLLL.LLLLLL.LLLLLLL.LLLLLLLLL.LLLLLLLLLLL.LLLLL.LLLLLL.LLLLLLLLLLLLLL.LLLLLLLL
+LLLLL.LLLLLL.LLLLLLLLLL.LLLLLLLLLLLLL.LLLLLLLLL.LLLLLL.LLLL.LLLLL.LLLLLL.LLLL.LLLLLLLLL.LLLLLLLL
+LLLLL.LLLLLLLLLLLLLLLL.LLLLLL.LLLLLLL.LLLLLLLLL.LLLLLL.LLLLLLLLLLLLLLLLLLLLLL.LLLLLL.LL.LLLLLLLL
+LLLLLLLLLLLL.LLLLLLLLL.LLLLLL.LLLLLLL.LLLLLLLLL.LLLLLL.LLLLLLLLLL.LLLLLLLLLLL.LLLLLLLLL.LLLLLLLL
+....LLL.LL....L.L.........L.L............L..L...L.LLLL......L...L.L..L....L.......L..L..........
+LLLLLLLLLLLL.LLLLLLLLLLLLLLLL.LLLLLLL..LLLLLLLL.LLLLLL.LL.L.LLLLL.LLLLLL.LLLLLL.LLLLLLL.LLLLLLLL
+LLLLLLLLLLLL.LL.L.LLLL.LLLLLL.LLLLLLL.LLLLLLLLL.LLLLLL.LLLLLLLLLL.LLLLLL.LLLL.LLLLLLLLL.LLLLLLLL
+LLLLL.LLLLLL.LLLLLLLLLLLLLLLL.L..LLL..LLLLLLLLL.LLLLLL.LLLL.L.LLL.LLLLLL.LLLLLLLLLLLLLLLLLLLLLLL
+LLLLL.LLLLLL.LLLLLLLLL.LLLLLL.LLLLLLLLLLLLLLLLL.LLLLLL.LLLL.LLLLL..LLLLL.LLLLLLLLL.LLLL.LLLLLLLL
+LLLLL.LLLLLL.LLLLLLLLLLLLLLLL.LLLLLLL.LLLLLLLLL.LLLLLL.LLLLLLLLLLLLLLLLL.LLLLLLLLLLLLLL.LLLLLLLL
+.L..LLLL..L.L.LLL.......LL.LL.LL......L.L....L.LLL.......L...L.L.LL...LL.....L.L....L.L...L.L...
+LLLLL.LLLLLL.LLLLLLLLLLLLLLLL.LLLLLLL.LLLLLLLLLLLLLLLLLLLLL.LLLLL.LLLLLL.LLLL.LLLLLLLLL.LLLLLLLL
+LLLLLLLLLLLL.LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL.LLLLLLLLLLL.LLLLL.LLLLLL.LLLLLLLLLLLLLLLLLL.LLLL
+LLLLL.LL.LLL.LLLLLLLLL.LLLLLLLLLLLLLL.LLLLLLLLL.LLLLLLLLLLL.LLLL..LLLLLL.LLLLLLLLLLLLLLLLLLLLLLL
+LLLLL.LLLLLL..LLLLLLLL.LLLLLL.LLLLLLL.LLLLLLLLLLLLLLLLLLLLL.LLLLL.LLLLLL.LLLL.LLLLLLLLL.LLLLL.LL
+LLL.LLLLLLLL.LLLLLLLLL.LLLLLL.LLLLLLL.LLLLLLLLL.LLLLLLLLLLLLLLLLL.LLLLLL.LLLLLLL.LLLLLLLLLLLLLLL
+LLLL.LLLLLLL.LLLLLLLLLLLLLLLL.LLLLLLL.LLLLLLLLLLLLLLLL.LLLL.LLLLL.LLLLLLLLLL.LLLLLLLLLLLLLLLLLLL
+.L..L..LLL....LL......LL.L.L..LL..LL....L...L..L.L.L...L..L..L.LLLL.L....L.....L..L...L...LLL...
+LLLLL.LLLLLL.LLLLLLLLL.LLLLLL.LLLLLLL.LLLLLLLLL.LLLLLL.LLLL.LLLLL.LLLLLLLLLLL.LLLLLLLLL.LLLLLLLL
+LLLLLLLLLLLLL.LLLLLLLL.LLLLLL.LLLLLLLLLLLLLLL.L.LLLLLL.LLLL.LLL.LLLLLLLL.LLLL.LLLLLLLLL.LLLLLLLL
+LLLLLLLLLLLL.LLLLLLL.LLLLLLLL.LLLLLLLLLLLLLLLLL.LLLLLL.LLLL.LLLLLLLLLLLLLLLLLLLLLLLLLLL.LLLLLLLL
+LLLLL.LLLLLL.LLL.LLLLL.LLLLLLLLLLLLLLLLLLLLLLLL.LL.LLL.LLLLLLLLLL.LLLLLL.LLLL.LLLLLLLLLLLLLLLLLL
+LLLLL.LLLLLLLLLLLLLLLL.LLLLLL.LLLLLLL.LLLLLLLLLLLLLLLL.LLLL.LLLLLLLLLLLL.LLLLLLLL.LLLLL.LLLLLLLL
+LLLLL.LLLLLLLLLLLLLLL..LLLLLLLLLLLLLL.LLLLLL.LL.LLLLLLLLLLL.L.LLLLLLLLLL.LLLLLLLLLLLLLL.LLLLLLLL
+..LL.LL.L.LL.L...L..L..L..L...LL........L......LL.LLLL.......L..LLL.L.L....L.....L..LL..L.LL.LL.
+LLLLL.LLLL.L.LLLLL.LLL.LLLLLL.LLLLLLL.LL.LLLLLL.LLLLLL.LLLL.LLLLL.LLLLLL.LLLLLLLLLLLLLL.LLLLLLLL
+LLLLL.LLLLLL.LLLLLLLLL..LLLLL.LLLLLLL.LLLL.LLLLLLLLLLL.LLLL..LLLL.LLLLLLLLLLL.LLLLLLLLLLLLL.LLLL
+LLLLL.LLLLLLLLLLLLLLL.L.LLLLL.LLLLLLLLLLLLLLLLL.LLLLLL.LLLL.LLLLLLLLL.LL.LLLL.LLLLLLLLL.LLLLLLLL
+LLLLL.LLLLLL.LLLLLLLLL.LLLLL..LLLLLLLLLLLLLLL.L.LLLLLLLLLLL.LLLLLLLLLLLL.LLLL.LLLLLLLLLLLLLLLLLL
+LLLLL.LLLLLLLLLLLLLLLLLLLLLLL.LLLLLLL.LLLLLLLLLLLLLLLL.LLLL.LL.LL.LLL.LL.LLLLLLLLLLLLLL.LLLLLLLL
+LLLLL.LLLLLL.LLLLLLLLL.LLLLLLLLLLLLLL.LLLLLLLLL.LLLLLLLLLLLLLLLLL.LLLLLL.LLLL.LLLLLLLLL.LLLLLLLL
+LLLLL..LLLLL.LLLLLLLLL.LLLLLLLLLLLLLLLLLLLLLLLL.LLLLLLLLLLL..LLLLLLLLLLLLLLLLLLLLLLLLLL.LLLLLLLL
+.LL..LL.L.LL......L.L.LL...L..LL..LL...L..L.L..LL...L.L..L.....L.LLL..L..LL.L..L.......L..LLL...
+LLLLL.LLLLLL.LLLLLLLLL.LLLLLLLLLLLLLL.LLLLLLLLL.LLLLLLLLLLLLLLLLL.LLLLLLLLLLLLLLLLLLLLL.LLLLLLLL
+LLLLLLLLLLLL.LLLLLLLLLLLLLLLL.LLLLLLL.LLLLLLLLLLLLLLLLLLLLL.LLLLL.LLLLLL.LLLLL.LLLLLLLLLLLLLLLLL
+LLLLL.LLLLLLLLLLLLLLLL.LLLLLLLL.LLLLL.LLLLLLLLL.LLLLLL.LLLL.LLLLL.LLLLLL.LLLLLLLLLLLLLLLLLLLLLLL
+LLLLL..LLLLLLLLLLLLLLLLLLLLLL.LLLLLLL.LLLLLLLLLLLLLLLLLLLLL.LLLLLLLLLLL..LLLL.LLLLLLLLL.LLLLLLLL
+LLLLL.LLLLLLLLLLLLLLLL.LLLLLL.LLLLLLLLL.LLLLLLLLLLLLLL.LLLL.LLLLL.LLLLLL.LLLLLLLLLLLLLLLLLLLLLLL
+LLLLL.LLLLLL.LLLLLLLLL.LLLLLL.LLLLLLL.LLLLLL.LLLLLLLLL.LLLL.LLL.L.LLLLLL.LLLLLLLLLLLLLL.LLLLLLLL
+LLLLLLLLLLLLLLLLLLLLLL.LLLLLL.LLLLLLL.LLLLLLLLL.LLLLLL.LLLL.LLLLLLLLLLLL.LLLLLLLLLLLLLLLLLLLLLLL
+LLLLL.LLL.LL.LLLLLLLLL.LLLLLLLLLLLLLL.LLLLLLLLL.LL.LLL.LLLL.LLLLL.LLLLLL.LL.L.LLLLLLLLL.LLLLLLLL
+LLLLL.LLLLLL.LLLLLLLLL.L.LLLLLLLLLLLLLLLLLLLLLL.LLLLLLLLLLLLLLLLL.LLLLLL.LLLL.LLLLLLLLL.LLLLLLLL
+.L.L....LLL.L.L........L..L....L..L...LL..L..LLL..L.L....L..L.LL....LL.L.L.....L........L..L.L..
+LLLLLLLLLLLL.LLLLLLLLL.LLLLLLLLLLLLLL.LLLLLLLLL.LLLLLL.LLLLLLLLLL.LLLLLL.LLLL.LLLLLLLLL.LLLLLLLL
+LLLLLLLLLL.LLLLLLLLLLL.LLLLLLLLLLLLLL.LL.LLLLLLLLLLLLL.LLLL.LLLLL.LLLLLL.LLLLLLLLLLLLLL.LLLLLLLL
+LLLLL.LLLLLL.LLLLLLLLL.LLLLLL.LLLLLLL.LLLLLLLLL.LLLLLL.LLLL.LLLLL.LLLLLLLLLLL.LLLLLLLLLLLLLL.LLL
+LLLLL.LLLLLL.LLLLLLLLLLLLLL.L.LLLLLLL.LLLLLLLL.LLLLLLL.LLLL.LLLLL.LLLLLL.LLLL.LLLLL.LL..LLLLLLLL
+LLLLL.LLLLLL.LLLLLLLLL.L.LLLL.LLLLLLL.LLLLLLLLL.LLLLLLLLLLL.LLLLL.LLLLLLLLLLL.LLLLLLLLL.LLLLLLLL
+LLLLLLLLLLLL.LLLLLLLLLLLLL.LL.LLLLLLLLLLLLLLLLLLLLLLLLLLLLL.LLLLLLLLLLLLLLLLL.LLLLLLLLL.LLLLLLLL
+LLLLL.LLLLLLLLLLLLLLLL.LLLLLL.LLLLLLL.LLLLLLLLLLLLLLLLLLLLLLLLLLL.LLLLLL.LLLL.LLLLLLLLL.LLLLLLLL
+LLLLL.LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL.LLLLL.LLLLLLLLLLLLLLL.LLLLL.LLLLLL.LLLL.LLLLLLLLLLLLLLLLLL
+LLLL..L.LLLL.LLLLLLLLL.LLLLLL.LLLLLLL.LLLLLLLLLLLLLLLL.LLLL.LLLLL.LLLLLLLLLLL.LLLLLLLLL.LLLLLLLL
+LLLLL..LLLLL.LLLLLLLLL.LLLLLL.LLLLLLL.LLLLLLLLL.LLLLLL.LLLL.LLLLLLLLL.LLLLLL..LLLLLLLLL.LLLLLLLL
+LLLLL.LLLLLL.LLLLLLLLL.LLLLLL.LLLL.LLLLLLLLLLLLLLLLLLL.L.LL..LLLLLLLLLLL.LLLL.LLLLLLLLL.LLLLLLLL
diff --git a/2020/inputs/day_12.txt b/2020/inputs/day_12.txt
new file mode 100644
index 0000000..d7bc269
--- /dev/null
+++ b/2020/inputs/day_12.txt
@@ -0,0 +1,755 @@
+F93
+R90
+F81
+E3
+F80
+R90
+W4
+R90
+F64
+N1
+R90
+W4
+F11
+W1
+L180
+F28
+R90
+W4
+L180
+F95
+N3
+F71
+L90
+W1
+F1
+E2
+L90
+F85
+W3
+L90
+F28
+E3
+N5
+F47
+S2
+R90
+N2
+L90
+W4
+L180
+W3
+F51
+F77
+L90
+W5
+N5
+W3
+S5
+W5
+R180
+N1
+W3
+S5
+F36
+W1
+F34
+N4
+F40
+E2
+S3
+R90
+W5
+S2
+N4
+R90
+S2
+L90
+N4
+L90
+S2
+E1
+F2
+N4
+F65
+N1
+F46
+R180
+F60
+N4
+F45
+R90
+S3
+L90
+F70
+W4
+L270
+N4
+F49
+E3
+F52
+R180
+F5
+E5
+R90
+F43
+L90
+S4
+F54
+N1
+F7
+S2
+F91
+S4
+N3
+E3
+S4
+L180
+F15
+S2
+F90
+W5
+S2
+F80
+N4
+L90
+R90
+N4
+E2
+R180
+E5
+F62
+L90
+N5
+F77
+N5
+F75
+E2
+L90
+S4
+F55
+E1
+N5
+F57
+R90
+F6
+L90
+N3
+E5
+L180
+N2
+L270
+N5
+F8
+E2
+F88
+E3
+N3
+E4
+R90
+N1
+W5
+R90
+N4
+E3
+S3
+R90
+N1
+E2
+F4
+N4
+R90
+N3
+W5
+L180
+E1
+F2
+N4
+W5
+F80
+S4
+F7
+L180
+F96
+L90
+F16
+L90
+E4
+F78
+W2
+R90
+S3
+F29
+W4
+R90
+E4
+F39
+N1
+F48
+E4
+L180
+E1
+R180
+E2
+R90
+N3
+R180
+W2
+N5
+W5
+E3
+F25
+E1
+L180
+N5
+F44
+L90
+N4
+W4
+L90
+F72
+L90
+S1
+E5
+N5
+R90
+N1
+W3
+S5
+R90
+W1
+F14
+L90
+W2
+R90
+W3
+F76
+S5
+W5
+F93
+W4
+R90
+F57
+E3
+R90
+S3
+W1
+R90
+S3
+F8
+R90
+N2
+F46
+W4
+S1
+L90
+E4
+W5
+L90
+W2
+F69
+N5
+W5
+F80
+N3
+E4
+L90
+E4
+F25
+S3
+R180
+F77
+R90
+W2
+F19
+E4
+L180
+W2
+F37
+S2
+F68
+L90
+E2
+F66
+S1
+R90
+F66
+E2
+L180
+F97
+N3
+W4
+F43
+S4
+R180
+N1
+R270
+E3
+N2
+N3
+F65
+L90
+S2
+L90
+N3
+L90
+S3
+F23
+L270
+W3
+S5
+E2
+R90
+S1
+F85
+N3
+R90
+W4
+F58
+E1
+L90
+N3
+L90
+E2
+S1
+F14
+E2
+N5
+W1
+N3
+E1
+L90
+E3
+F43
+E3
+N3
+F21
+E4
+F53
+E2
+L180
+E4
+F20
+E2
+N2
+E5
+L90
+N4
+W3
+N4
+S2
+L90
+W3
+F96
+L90
+S3
+R90
+N1
+E3
+S5
+L270
+F41
+N5
+W5
+S1
+W5
+R90
+F79
+W3
+L90
+E3
+F22
+N1
+L90
+E2
+L90
+R90
+F20
+L90
+W3
+R90
+W2
+L180
+W4
+F57
+R180
+N3
+L90
+F36
+L90
+E2
+R90
+N2
+E3
+N1
+W4
+W4
+N3
+E5
+F54
+R180
+F98
+W1
+R90
+F21
+S1
+L90
+S2
+L90
+S2
+F90
+E4
+S2
+R90
+N5
+F25
+N4
+W3
+N2
+F27
+S3
+E3
+N3
+F15
+L180
+S4
+F62
+W2
+L180
+E2
+N2
+L90
+R90
+F97
+R90
+S1
+R90
+E2
+F16
+W2
+E1
+F89
+W1
+L180
+S3
+W2
+S3
+E1
+F92
+F30
+N1
+E2
+S1
+F76
+E1
+S5
+W5
+F28
+W4
+L90
+F44
+E4
+N5
+F25
+R90
+F59
+S4
+F58
+S2
+F19
+W5
+S4
+E5
+N3
+F37
+E1
+L90
+F40
+E5
+F56
+S2
+W5
+F73
+N5
+F2
+L90
+F18
+E2
+N5
+L90
+F56
+R90
+F18
+W1
+S5
+E1
+N1
+L90
+W2
+E4
+N4
+E1
+W4
+N4
+L90
+N3
+R90
+W5
+S5
+F2
+R180
+F96
+R90
+W3
+F26
+L90
+S4
+E2
+F43
+S2
+R90
+F61
+W5
+F93
+R90
+F95
+L90
+E4
+R90
+N4
+F47
+R90
+W5
+L90
+F42
+L90
+W5
+F87
+R90
+N1
+N2
+E4
+F64
+S5
+L270
+F86
+S4
+W3
+S1
+L90
+F72
+R270
+W1
+F17
+S1
+E2
+R90
+W1
+N1
+F42
+N5
+L90
+F87
+F66
+L90
+N2
+W2
+L90
+S5
+F7
+R90
+N4
+L270
+F2
+W1
+N4
+F94
+W5
+R180
+S4
+F15
+E4
+F76
+N1
+E2
+F68
+S3
+F50
+R270
+E5
+F77
+R90
+S3
+E2
+N3
+S4
+F39
+S1
+E5
+S3
+L90
+E4
+S2
+W3
+F54
+R90
+F44
+L90
+W3
+F59
+R90
+N3
+F37
+E1
+F75
+R90
+F31
+W3
+F70
+S5
+L90
+E1
+F67
+W4
+L90
+S1
+W5
+S1
+S4
+W2
+E2
+S3
+R90
+S2
+E5
+L90
+F43
+R90
+E1
+S5
+F42
+L90
+W1
+N2
+E1
+L180
+S4
+W1
+L90
+F81
+E1
+R180
+N5
+R180
+N5
+L180
+F65
+R90
+F64
+W4
+S4
+R90
+F70
+E1
+S1
+F50
+E2
+S4
+E4
+N2
+S1
+R90
+E4
+R90
+F70
+R90
+N4
+F71
+R180
+F80
+S3
+L90
+N5
+L180
+F11
+N1
+R90
+W2
+N1
+R90
+W4
+R90
+F67
+W3
+R90
+W5
+L90
+E4
+F90
+L90
+N4
+L180
+F48
+R90
+W2
+F94
+R90
+N4
+L90
+W2
+F2
+L90
+W1
+E5
+S2
+W5
+S5
+E2
+N3
+W5
+N1
+F98
+S3
+W3
+L90
+S3
+W4
+R90
+W1
+F64
+N5
+R90
+S5
+W5
+F84
+S1
+E3
+L90
+S3
+E5
+F6
+N4
+W1
+R90
+E4
+F14
+N1
+R90
+F31
+L90
+F24
+F4
+N4
+F54
+S3
+R270
+F98
+E1
+L180
+F2
+E4
+F70
+W1
+R180
+N5
+F23
diff --git a/2020/inputs/day_2.txt b/2020/inputs/day_2.txt
new file mode 100644
index 0000000..3a0963f
--- /dev/null
+++ b/2020/inputs/day_2.txt
@@ -0,0 +1,1000 @@
+15-16 l: klfbblslvjclmlnqklvg
+6-13 h: pghjchdxhnjhjd
+4-13 n: nnznntzznqnzbtzj
+10-16 r: nrrrrkrjtxwrrrwx
+1-6 t: rttftttttttttmdttttt
+4-12 l: zhllfxlmvqtnhx
+6-8 d: wxpwgdbjtffddkb
+7-9 q: rqcqxjqhsm
+6-8 x: xxxfxdxxx
+5-9 d: dwnwnbsddfmc
+2-6 j: jvdrrjchml
+8-10 x: xxxcxxxzxxxxx
+15-16 f: ffffffffffffffnfc
+3-12 v: vgvvvvvvvvfqvvvv
+2-5 p: tknppm
+11-12 r: frrnrfqtshrgw
+13-16 f: rfjmkrqkqrxmfnqj
+3-5 f: ffffxffn
+2-4 f: fffwf
+11-13 s: srslssshssssx
+1-6 c: cccdcn
+2-6 t: tthhnc
+12-17 w: wwwwwwwwwwwmwwwwg
+5-6 k: kqkksskkp
+4-5 p: ppppx
+5-12 h: hbjhqhdwnqxhhsh
+6-8 p: ppgzpppw
+3-4 z: zzcz
+6-15 x: hfvxxsqbfxxlhpxtb
+4-7 m: qmxzhgt
+18-20 b: fvzbbrbcvskxrpkwnmwb
+1-11 c: ccccccccccggccc
+1-3 p: dppp
+2-6 j: fjbmljmdb
+2-4 l: slpmqpk
+3-5 b: stbpbbndtgzxlsnbdk
+6-11 h: hlzkdhhhrhchmhbhl
+1-4 w: wwpv
+10-12 p: pmpppkpppgph
+11-14 f: fbdxffpffffffkfffjvf
+4-9 v: vkvfhfvvrvvv
+16-17 t: tmtbztrptdlvttvkt
+2-6 w: wwwwphwwwwnwwj
+6-11 x: xxxxxxxxxxkxx
+9-10 t: ttftchttnd
+2-9 w: wkwwwwwwlww
+2-4 g: ggvcgggggggggg
+5-6 d: dldddsddddddd
+5-8 j: jddjjnld
+9-12 l: xldxlklvlkll
+2-3 w: xwnrwdwndlvl
+16-18 m: mmmmrmmmmmrvvmmvmm
+3-4 t: ctts
+11-12 b: ndgjdbppcdbhhssw
+2-11 s: nssksssnssxvq
+2-5 g: qggwcvf
+10-14 l: llxlllrjlmlllwllll
+8-9 w: wwwwfpwtvtjwjw
+8-10 m: mmmmmmmmmmm
+1-11 z: rldjzzzpzzs
+16-17 v: qvsrnvvvwxgmvjjcvhcx
+14-18 k: kkkkkkkkkkkkkkkkklk
+2-3 q: qqrqqqxqqqq
+4-9 c: lclckhcgn
+2-3 b: nbbbbldlbbb
+15-18 v: vtvvrvxvvnvxhvnvvv
+4-7 q: qqqnqqqq
+3-13 j: svjjdcnkwnbpl
+4-11 q: blnqvqsngwj
+3-4 j: dxdkj
+5-7 c: dzxbsctqwclcgc
+3-4 f: jfhffff
+3-5 t: sttwk
+7-8 t: tnqtvsztqwpvtftknt
+1-12 r: grrrrrrrrrrrrrrr
+7-8 k: kkkkkkqkk
+3-4 l: llls
+1-14 h: khhhjhhhhhhhhh
+3-5 d: ttcdddd
+1-7 w: dqwhwkww
+4-5 p: pppqppppp
+10-14 l: lqlltwlllllllzjk
+15-17 d: ddddddddddddddddcdd
+1-8 z: xpbbjxrzlzznxlz
+1-2 v: vrvv
+7-11 l: llllllclllslll
+3-14 h: hhvhhhhhhhhhhhh
+6-7 m: mmgpbjmgqmm
+9-13 h: hhhhhhhhhhhhfnhhhhwh
+12-17 c: cccpfcccccnccccqscc
+6-12 x: kqfxbhxbdxxxl
+6-8 z: zqkbtzzb
+6-8 l: llllllllllllll
+6-13 d: wdzdxdddddlzdtbd
+3-8 h: gzcknrxkjgtggnqwqjs
+1-6 t: tttttvtt
+5-8 x: fjxnxrtn
+6-9 z: zzzzzzzzszzz
+2-4 v: vpvvtv
+1-7 w: wcwrxgf
+2-3 t: vxftld
+1-2 n: nnxmntsqzk
+5-11 l: nmvllllnlckl
+7-13 c: cwchccjcrfsccc
+2-3 z: dzdz
+7-8 s: sddgbhws
+3-11 w: qqsqrgmwwmwgfdhpsct
+16-17 q: qqqqzqqqqqqqqqqqh
+7-15 h: thqthdphmbhhjphhh
+6-10 k: gcflljjwkk
+9-17 f: ffffffffffffffffdf
+10-12 q: qqqqbqlpqqfdqq
+3-16 x: dbxmwtlqdmvldxlgxdhk
+1-2 x: xxjxh
+10-11 p: ppqpppkpptp
+3-5 w: wwwwwwwww
+10-11 j: xjmhqgdznjf
+9-11 n: dxnnnnnnnnmnnn
+1-5 l: mlllvllwlrblllll
+14-16 q: tqqqqqqwqqqqqmqqqqq
+2-3 b: nvbbbcf
+5-8 x: xmkxxgxq
+1-4 x: xxxfx
+1-6 n: nnnrnm
+9-17 p: pppppppppppppppppp
+2-4 d: ddqd
+13-14 p: fmpkxpprppppzhpp
+5-6 t: tttttgrttt
+10-12 r: rrrrrrrrrlrrrrrrrr
+4-7 h: gnmqvqrhwhh
+4-5 m: smsmmmm
+4-5 q: qgzqb
+6-12 c: rdnnsccnrjkcnm
+4-16 k: gfkxktpwhxzkgcdnb
+4-5 f: ffgvf
+6-13 n: nfslcrnkksfmnmvcfnnz
+15-18 s: sssqsssssmshmsmsss
+1-15 v: vvvvwvvxvvvcvvwvvvvv
+2-8 h: gphlnhph
+4-13 t: vtjvrcxqwbsrk
+2-10 t: tvttftzttttqttt
+12-13 t: dvsbstlkfpztdqs
+7-8 w: rvwncwww
+13-16 v: vlqzjlvxljrvvjvvzp
+12-13 w: wwwwwwwwnwdwwgwwwx
+14-15 d: dcpdddddddddddmdbd
+1-3 b: bbdbbbb
+11-12 t: rkdtncbtkktzmvtghb
+3-7 n: nzbfgbnnx
+5-13 v: vsvbkvvvvvvvv
+3-8 n: nltdrmbn
+14-15 p: mzkmmqdfpcptzbzc
+4-6 q: qtqkgqfmqwm
+9-10 v: vvdvvxvvxvwd
+5-7 m: mmmmmmkm
+6-7 k: kkkkkgkk
+8-9 h: shhhhhhhh
+8-11 p: pppppppppczplbwcpb
+11-17 k: kkkkkkkkkkkkkktkc
+9-17 w: mwtfbvsfnhwxqqvxw
+8-12 j: jhjjjjjrkjnjjjjjjjj
+3-5 g: sgfgqgg
+12-14 j: jjjjjjjjjjjjjjjjjjjj
+1-11 f: jsffffzfffffxffftf
+16-17 f: fffffffffftfffffff
+2-4 k: klkwkk
+5-8 g: gtjngzkhgb
+4-7 b: bbbmbbbb
+4-5 w: wwwdw
+5-15 g: tplhhgmggbhggrllqg
+9-13 v: jvvbqvsbvzhxvh
+1-3 d: ddsddn
+2-5 w: cfwds
+7-11 x: xxxxjxvvxvxhxvml
+5-6 v: jwqxvb
+3-15 s: ssqsssssssssssss
+5-9 d: dddddddddddddddd
+5-8 l: vklnlclj
+10-13 s: sltdlfbssxsss
+11-18 j: hxjxjnjcpmkppnpjpjk
+4-6 t: ttbzhvt
+2-17 v: rzmhrssrjvpncwqwl
+2-4 x: mtcxz
+11-12 d: dddddddwddbd
+2-13 h: whgpdxvkfxrhg
+5-7 d: ddddddxdtddddddhdddq
+4-8 b: lhcfbkbbdmb
+8-15 l: lvtmkgwllqttgplbgjj
+3-5 n: nqngjvw
+12-19 m: mmmmmmmmmmmmmmmmmmgm
+5-9 g: grhgsdcwgmdt
+6-9 j: msgrcrfvzksfxxjq
+6-10 s: xdssssssssssssssg
+8-9 h: hhhnhhnfhh
+12-15 f: fffffffffffffffwfff
+3-7 p: pzzpbjkfcczbmnpkf
+6-7 r: cnjlbhr
+2-5 f: dwxcftrbljgstf
+5-11 h: hhhhjhhhhhqh
+16-18 r: rrrrrrrrrrrrrrrrrmrr
+2-4 r: rxmrd
+7-9 c: ccccczccccc
+7-13 d: ddddddddddddfd
+3-11 k: mmkspkltjwm
+8-11 c: rvccccgtclc
+1-3 v: vvhhv
+4-7 t: jttnttgx
+4-16 n: nnnjnfnnnnnnnnnnnn
+5-6 m: mmmdmqmm
+9-10 x: xxxxxxxkxrx
+2-4 m: tmcmzjmvtcghlgm
+6-7 q: lqqjqqnzqqmq
+16-19 k: kjwkhkkjhkskskpnkfk
+19-20 b: pbbpsbnbbmnntbnbbbbn
+4-5 p: ppppmp
+3-4 d: grlqndd
+4-7 n: nnnnnnsn
+9-12 k: kkkkkkkkfkkkkk
+4-10 h: hfhhhxhfhd
+4-9 t: ttttxbbbcdmxsrhjj
+4-11 l: npxwbsmklbls
+17-20 d: dddddwdhdkddjdddtfdd
+3-4 s: nldssq
+4-8 s: sssdsssgs
+5-16 t: ttttprtcttttttzt
+9-17 j: tjjtjjjjgljjjcjjfj
+7-8 b: bbbbtbkbb
+2-13 l: szllllllllxllll
+8-11 n: bmpnwrnngnmsfw
+1-5 d: jddqtdwddxddjd
+10-11 s: hqgnvslssstqdnvs
+14-16 p: ppppppppvpplpgpp
+2-8 h: khhjfcqp
+6-7 d: fxdpdwvdjkd
+5-7 n: bnnprnf
+9-13 f: vfffwfffffffkfxff
+2-10 j: vjhcggzrjqt
+5-7 g: gggfggzwgg
+5-6 d: ddbsjddfsdnddxfpgdd
+12-13 g: gggqjgxgzpgsggxggxk
+1-8 l: hlslllllll
+12-13 f: sbfftpvbjsmff
+6-7 s: hqcthsb
+5-11 s: qsstnssssqsrsskdss
+2-6 x: hxrfnjfclx
+1-2 w: swwwwwwwwwwwjwmwwwww
+7-12 s: whsbkgsmvnfjnnkq
+10-12 l: fllllllllsllll
+8-9 s: lsssssssqs
+1-7 p: pdpppghqppxpppppp
+1-3 x: jhxmjhkdrxgd
+1-7 b: lbxbbbvbwbbbbt
+4-5 c: cdckcbcmqcc
+5-9 k: kkmklhlmkkgkrld
+12-18 x: dvjxqxxxxxdxxxzxhp
+5-8 h: nhfhnfqx
+15-16 k: kkkkktrkkkkkpkhqxkkd
+1-13 j: dcnbwjxllpksj
+11-13 v: wvqhznrrfgmnvz
+2-5 m: bpjbmbrmfh
+10-15 t: mgtttttqspthnttkktt
+9-10 n: nnpnnnnpnh
+8-10 b: bjbzhbbbcq
+4-12 n: nnnvnnnnnnnnnn
+13-14 v: zbkchmmvjvsgkvhcz
+2-9 j: jdqjgnnjjjvjt
+11-16 g: ggggxqglgglfhvgggn
+1-2 b: bsbm
+8-11 v: lvvvjhvmxvvvv
+5-7 x: xxsxxxpr
+2-15 t: stwqdkrqcwbmngtd
+5-8 r: rcrrvndr
+5-6 v: vvvvvr
+4-5 x: qpxxr
+1-2 k: nkkkkkd
+10-13 r: znlqhvwdvrqbrrrfzwc
+1-2 h: hwhhhchhhhhhhhhhhh
+3-6 b: bbbbbvbbbvbb
+13-14 s: ssssssssmssssdss
+7-11 x: cwxhmnhzxrxdrzzxbw
+5-16 m: rgjtmrqqmfmmckxm
+17-18 b: bbbbbbbbbbbbbbbbbk
+11-20 k: kppkqkftkgkkknbtglkb
+13-14 t: rtcfrkjvtgnrtf
+5-6 z: kdzjxzjgmd
+2-3 p: rxppj
+9-12 b: mtpbbbbbbbbgp
+8-9 b: rbbbbbsbbbbxb
+13-17 r: rxgbrrnrrrrrrkrrlrrr
+8-11 w: pzqswqwcfln
+3-4 x: xxxx
+6-9 j: fjhkjjklc
+6-7 m: ctmzmfm
+8-9 l: lllllllgllpts
+8-9 t: hgpwblqkvqtb
+4-7 d: dddpddd
+4-5 c: ccccwcccg
+1-7 q: lvvtpqqvnsqbzqpr
+8-15 q: qqqqqqqqqqpqqqlqqq
+4-8 f: frfffffffxf
+7-12 r: rrrrrrrrrrrkprrtrrrp
+14-15 j: jsjjjjjjjjjjjjl
+6-17 b: khgflbrbrjbgzjtjt
+5-7 j: jjknjpw
+2-9 h: rhlqbdklh
+5-7 j: lrtvccjbzgjh
+12-14 t: tltwtxtctttnttttft
+8-9 q: qqqqqqqqx
+4-15 p: ppppppppppppppc
+2-3 v: vvvvv
+5-7 h: djvplxb
+11-12 g: gjxlvggsgggxsgfgp
+5-6 g: gggggfg
+1-6 x: wxtxxxxxxxxxx
+1-4 r: rqrcrvrzbrxrwjr
+9-10 w: wwwmwwwwpww
+7-15 z: pzrbrxpzzzzzntzv
+4-5 q: qjqwqqnlqhclq
+12-16 g: ggccgzggggsggjgg
+11-13 b: phbmbsgkvszbbrbb
+2-3 l: xhlbhl
+1-7 q: qwdqmtv
+5-9 x: xxxxjxxxxx
+6-8 p: kvpwqbdp
+11-13 t: tqttttttttttmt
+9-16 l: wzdxdmlxlkfjknnz
+1-11 j: vjjjjjjjjjjj
+2-18 t: tsttttttttttttttthtt
+6-7 n: fnnncnl
+3-5 s: lssvgfssgsshsvstsss
+3-5 h: hhhbhhh
+4-10 x: tsxxxxxxbls
+2-4 n: nnjw
+17-18 p: bptpftnxjchrwthtppk
+14-15 d: dddddddddddddddd
+10-14 m: mmmwnmmgmdmmmmmmmmm
+8-9 k: pkpqffpkktbgkbk
+7-11 l: lllllllllqplllllllll
+11-15 n: nnnzngknbnzdnsnnn
+2-4 l: vbqm
+10-11 w: wwwwwwwwwwq
+3-5 x: xxtxxxxx
+3-15 b: spbcxjlbbbrbbbbb
+4-5 n: nvfsn
+13-16 n: bppjnncnbgjndnnntwgs
+1-8 t: mttttttttt
+6-9 d: jvmssdkdhxsd
+9-10 d: gdrllcfdnd
+7-11 c: cscxccccnztccccz
+15-16 p: pppppkphpppppspg
+2-4 n: vnkjlwwsswscmxktnj
+9-11 r: rrrrrkrzslr
+7-10 t: tttgqtnttttttttt
+4-10 b: bbrzbzpbsbnbbjnbsb
+7-8 j: jlljxtsj
+5-15 z: lzzzfqzzzzzqzzzzzz
+10-11 r: rrrrrrrrrrcrrrr
+6-8 t: tztpbttttt
+2-9 c: vcgtfxfbr
+9-16 r: vgjrwcxhrrhbzxnj
+17-18 r: bczjtmjwrtzwvmgbrl
+5-6 d: dqgddvd
+1-2 r: krzrkr
+8-9 j: rxjjjjgbj
+8-9 c: cjccccccc
+13-14 b: bbbbgbbbbbbbbvb
+5-6 p: hbhwtp
+1-2 w: wfhrfsfbjtpkqcjrwdb
+10-13 q: qqqqqqqnqrqqzqq
+3-4 m: xcmcz
+11-15 d: dldddcddddjddqd
+4-10 h: khhlhhhhhhhhhhhh
+2-4 d: bdfpmxzqzbzmxmmwg
+4-5 l: lgrbl
+9-13 s: ssssssssfsssss
+7-8 p: pplkpmkppppppxp
+3-8 j: jjjjjjjj
+7-8 f: jfffffhzfff
+2-5 p: pppppppp
+8-9 l: tlclllmlz
+4-5 m: mtrmx
+13-16 x: xxxxsxmxxxxvwxxw
+5-8 n: jknnngnv
+4-7 p: ppptppgpppp
+12-15 r: rrrrrrrrrrrxrrrhr
+2-9 s: sssssssssss
+5-6 z: zphzzr
+13-17 m: mmlmmsmzmsddbxmkb
+5-7 g: gggggggg
+8-9 f: ndzfvfkfz
+2-10 g: wtngwdkcxgrth
+6-13 r: rrqrrqrrqrrrcrrrr
+1-6 z: hfzzzz
+10-13 j: jjjjjjjjjjjjdj
+5-11 m: wfqvmhbjhhnmzdlmpjc
+6-8 d: clddzxcdghn
+8-12 n: qfqbbvkpjbznrz
+3-6 r: rrbrrrrrrx
+9-10 r: rrrrrrrrrrr
+4-5 m: chltmcm
+7-8 r: rrrnprrzrhr
+3-4 j: jfcj
+16-17 n: nnnnnnnnnnnnnnnnwnnn
+7-8 r: rrrrrrnfr
+4-12 n: nnnnspnlcnmsnnnn
+11-12 v: vvvvvvfvvvhvvv
+2-8 h: hlhhkhhchhhghh
+4-5 t: stntztttmp
+3-5 v: vvvmbvhvvvlvn
+9-14 x: srxmtbtgxgmqxxxc
+4-5 z: zrlgz
+10-11 p: phxkvklpmdp
+8-15 m: mmmmmmmpmmmmmmm
+1-13 h: mzwqkhhhphsgh
+17-19 s: qssssmssgfmssmmpssk
+6-8 b: bbbbbbbjbb
+3-4 l: rllr
+2-4 j: kvjj
+2-5 n: lnnkrm
+15-16 w: wwwkwwwwwwwwwwwc
+1-3 c: ccncc
+2-5 s: bhppmsttzcscss
+1-4 t: tttxtttt
+1-9 r: rfrrrbhtxrrbrmrmr
+12-13 s: qplrssssmfswrsswss
+2-4 h: zrhhhhzhzhch
+1-5 g: rgjgg
+11-14 t: ttttvftttttqlsttt
+3-4 s: sskss
+5-15 m: mmmmnmmmmmvmmmm
+1-8 j: sjjjjjjj
+1-4 c: ccclcc
+5-7 d: ddddhdd
+2-8 z: tczzjzzzzzzzgz
+1-5 s: qsqdz
+8-11 z: zhzpzrvzhzkzzgm
+5-9 g: nvdfgshgbgltlqggbp
+1-12 r: rrrrrrrrrrrrr
+3-4 m: xmmb
+8-10 j: jjjjdjmjshqjzk
+2-4 t: tptttftt
+4-13 t: ggqscfggftnxgjpn
+4-12 q: hvzjzqsqwqjlqx
+7-8 q: qqqlqqqkqq
+9-10 f: ffffffffdfff
+2-7 k: kgkkkkkk
+7-11 t: xbpdkrtplmfbtkwgp
+4-7 c: ccccccccc
+12-14 d: dddddddddddqdddddd
+6-7 k: xhnntkpnbkfwlr
+3-5 q: qqxxq
+13-17 d: ddddddddddddvddddd
+2-3 g: smglpgpflsrbwxcjctb
+5-9 z: zjzzznfzf
+7-13 l: lmrkvvxtltcnj
+15-16 r: vjrrrkzxrrrqrtrpzv
+2-7 x: xsxxxxxx
+7-14 m: npmnmgdvnqmgrmm
+2-4 x: pxxl
+7-15 k: nkkkckgwdkffkmb
+7-11 n: dznnmcnssmcn
+8-10 s: skssgswssmsss
+14-16 n: nnnnnnnncdnjnnhwnnn
+4-7 g: kggmgggbggggwggcqgng
+4-7 g: gggqggggg
+1-2 c: cccc
+4-8 j: mzzvwjgrbrv
+11-12 x: pksjnwlltskxlj
+1-9 k: zfkkkksrkkkkkkz
+1-6 k: xkkkkknkk
+1-6 c: gccccncbccccc
+14-15 h: hhhhhrhhgkhhhmhh
+7-8 f: qffgnfhf
+2-6 m: vmqwxzgsm
+5-8 k: kkzjkwkvk
+3-4 s: dcsss
+2-4 p: jjbps
+2-11 z: zjzzzzzzzzzz
+4-7 f: bnkhvjfff
+13-16 m: mmmmmmmmmmmmjmmmmmm
+5-10 t: kdwjmcgtvtdttmtvw
+3-12 j: jjljwjfjjjjjnhjjjjc
+13-14 f: fffffflffxfffbf
+2-6 m: zmhmsm
+4-18 n: nnnvnnnnnhnnnfnnnhnn
+3-6 n: xznnsnn
+7-11 g: ggggpgggggggsg
+6-8 l: llllltllll
+4-5 s: ssnttsrs
+6-14 w: wwwwwwwwwwwpwlwwww
+9-12 q: pxqvswnqqbsqvgsd
+1-4 j: mjjjjz
+9-19 f: fffffffflfffffffffff
+2-6 t: rttqtstct
+6-9 d: dddddtddddd
+7-12 l: lllllllllllllll
+1-12 p: gppppppplpppppp
+1-4 s: fslssssssfcd
+6-7 v: wvvzffggdfvbvvv
+2-7 t: kkwgspt
+6-16 n: nncbnnnntwrxlzzwdrsj
+3-4 z: zzszzhrqwngprjt
+4-5 v: vkvvvcfjc
+4-5 j: hcjtj
+2-4 k: kqkkkkkkkksk
+7-9 g: gzgmgpgkv
+5-9 s: kjnwsrjrzssssdlnsqs
+2-8 j: jtjxxgmjkjx
+5-12 r: bfrcrtjkzqffsjtvwj
+1-2 v: xvvvmvvvv
+5-9 v: vzrgdldfvx
+3-5 m: mqsfmmlmvdfj
+12-15 v: wswvvbqqhlvqvwx
+6-7 b: bbmjdhb
+2-4 b: hbjmjr
+6-7 n: pnnnnln
+13-15 z: zzlgzpmztfzqzzl
+5-6 c: pcppscccccc
+6-7 z: zzzzzzz
+6-14 l: lllllllllllllqllqlll
+13-16 r: rrrrrwrrrrrrhrrr
+11-12 r: rrrrhrvhqmqrwr
+15-19 w: wwwwwwwwwwwwwwwwwwdw
+3-6 w: wwqxkw
+17-18 z: zzzzzzzzszzzzzzczvz
+3-4 g: lgxx
+4-5 x: nsdxdskjxtrz
+11-12 w: wvdgqppfwwdf
+2-3 w: qgrz
+7-8 w: wwrppwfwwrcwr
+2-6 n: gtspnngz
+3-7 j: jjpjjjzjjjjj
+1-2 l: pllblvgmfjvv
+15-18 r: rrlgctrrrcrqqgldpr
+3-6 v: vvvvvt
+2-10 s: vslltcxpbg
+5-8 j: blvzjtjnfmjnjtsrzmc
+9-13 b: bbbbbbbbbbbbsb
+3-4 w: wwfjw
+6-7 x: xxxxxxmx
+7-15 g: ggggggrgggggggfggg
+16-18 f: zffffffffffffffwfff
+3-4 q: qcqn
+3-4 k: kvzqk
+4-18 z: wpclkbsxwbmbmkdpzzcm
+1-8 z: zkzzzzzgzzzzz
+7-16 x: xxxxxxxxxxxxxxjkxxx
+3-6 t: xwcjztz
+8-9 r: rdrprrtrs
+1-7 v: dvvvvvcvvd
+6-8 t: tttttkttt
+1-5 w: xzwww
+6-7 c: ctdjbwcc
+3-4 t: ttnttt
+9-10 q: qmcqqqsqqqvqqq
+11-12 d: dpftdmdmdmld
+7-8 j: tbjmbjlj
+3-6 t: tttttqtt
+6-8 t: tdttthbnqt
+2-5 q: qqqqp
+1-3 t: ttht
+13-17 n: nnnnnnnnnnnnnnnndnn
+4-6 j: ftkvjj
+5-10 c: hvccfcsccb
+7-11 v: vmqvqnnnvzglvvvv
+5-8 k: kkkkkksckkk
+1-12 z: rzzzzzzzzzzzzzzzvzz
+17-18 t: tttttmtttmttttttpttt
+16-17 z: xljjnngmjmhprcqzw
+4-11 d: dtddbpddlhn
+17-18 t: tptttttttttttttttbtt
+9-12 w: wwwwwwwwwwwcw
+3-4 z: zdzj
+1-8 q: qlqqkqqhqtqhxqbbwcp
+6-8 r: rkrrlrrmzrcnnrk
+13-17 b: dbsbbbbbbbsbmkbbb
+5-16 q: gqnvqwwgqshmtrdbplfb
+7-9 c: mcvccccczc
+10-11 p: pppxppppppc
+1-6 v: vvvvvmvvvvv
+5-6 s: ssssks
+6-14 r: prgrbvrjrgrkrrr
+2-11 c: qbnxcvxgldcvdd
+11-15 d: ddddddddddsddddd
+13-14 w: rwwwwwwwwwwwwsw
+12-15 t: ttttttttttttttt
+5-8 g: skjgxsjpgvsgr
+5-11 g: ggddglggxgqgg
+2-4 c: cccc
+2-3 h: rvdg
+9-13 r: rrrrrrrrsrrrjrrr
+2-7 f: dflmgzsdftgkgc
+1-5 f: jffffffnfcff
+3-4 c: cccrqc
+2-7 m: kblcghm
+3-4 r: rscrnbbpfkr
+2-3 d: wdtqpd
+5-6 q: qqqpqnqq
+13-15 d: ddddsdddddddddjd
+3-4 c: cmcw
+2-7 q: qqqqqqjqqqqbqfqq
+11-14 x: txxxxpxdxxkxqcv
+10-11 b: bbbbbbbbbkbb
+7-11 p: ppppppppppmpv
+5-6 r: dnxrcvrrr
+1-4 d: rdddddd
+5-9 f: lxgfvffdf
+8-16 k: vmfksjkwkrkkkhkkvknk
+15-16 v: vvvvvqvvvvvvvvgv
+2-5 p: xpctr
+11-15 w: wfwwwwwkwwwwwpr
+11-13 x: xxxxxxxlxrfxxs
+18-19 b: bbbbbbbbbbqbbbbbbbb
+2-4 l: fgwl
+8-11 m: xmjnmmmmnmh
+4-6 g: lgvpksgq
+5-7 t: jtgtvttjlfhpljtzzstd
+7-11 p: mjcgvcmxgqpntxkpb
+2-3 r: rrgrrnr
+6-7 r: rrrrrcr
+4-14 d: dddjdddddddddpdddd
+5-7 q: qqqqkqqqq
+1-4 t: qttqt
+4-10 f: hbfjbzrfgvffq
+16-17 j: wjjwjwpsjjdvfjnhv
+3-4 v: vvtwv
+5-6 s: ssdswspdss
+1-2 r: rnrrmskrr
+4-7 h: rqxbjjhsfh
+4-9 l: llllllllhl
+4-6 w: sgtwwmcpwd
+4-11 l: fjdllznlllmdnll
+4-5 k: kkklk
+4-6 s: sszrssssssss
+12-14 w: wwwwwwwwwwwvwww
+2-4 b: vnzb
+7-18 g: ggggggggggggggggggg
+1-13 s: srjdvvpqnrsnnkzfj
+14-15 g: bmhbclmqcgtqxgg
+8-12 g: gggfhxgglgzb
+3-5 c: scrkcshctccmhm
+7-12 q: qklqqqhqvxqqqqw
+1-6 m: mlmxzwkmm
+3-16 r: rswggrrrrczxfpjt
+14-16 l: llldlblllqllllns
+2-5 w: wwwwmw
+7-9 r: rrrhrprrr
+2-3 j: zjmdfcth
+3-8 w: xwgwwwwww
+1-5 l: plllllll
+2-4 b: fbqp
+2-3 p: jwpmp
+3-4 c: kscm
+2-5 b: mbpbnfkvh
+4-15 m: qrswmmmgmvmfqtmrrn
+12-15 r: rxrrrrrdrhpfrrrrcrrr
+10-13 j: jjljjjjjjnjjjjj
+8-20 w: gjccptmwtrwxjtskrdfp
+11-14 j: jjjjjxjjjjgjjk
+1-4 g: gggzzgg
+4-8 q: wqqqqblsmsk
+1-11 h: lhhhfhhhhbvhhtjwrbh
+4-8 x: xlxqxxtxxxxx
+13-14 x: xxxxsxxxxxxxqxxx
+12-16 b: bxvbbbqbbbbfzbblb
+1-4 j: jzbd
+5-6 q: qqqqwqkkqqq
+2-5 x: xxxxgx
+8-10 n: nnnnnnnnnhn
+5-10 m: mmmmrmmmmmmmm
+2-3 c: qwcz
+3-5 n: cckvz
+18-19 q: qqqqqqlqtqqqqqqqjqv
+5-13 k: kkpkkkkkkkkklkkk
+5-10 q: jfjgqllmqzv
+15-17 l: llllllllllllllhll
+4-10 b: pgqbfrsnvbhzfmtbtw
+1-4 c: mccc
+6-16 f: fffffpfffffffcfffff
+4-9 j: qjbjlcsgljtbvv
+11-12 z: dstqbtxxvdchsg
+3-8 d: jvdpnvqs
+2-3 n: nfvnnnn
+6-12 r: zdbfdrvtmpkrjkr
+1-15 k: kbdckwtkfhvrbjk
+6-8 v: fvhsvgcv
+2-3 p: ppkppp
+2-14 r: drclhnrdhtcbmnr
+7-10 p: vchpmlpjfxbfnwsdxjr
+1-3 v: lvvv
+1-3 b: bbjbb
+2-12 q: qmxbbbgqlscqvdtpq
+7-9 l: lllllkllqlllclll
+16-17 r: hrrrrrrrrrrrrrrrr
+8-9 g: gggggggfg
+6-8 v: zvqffmkv
+9-12 t: tttttznttjtfrtsjxtd
+5-12 q: bqhbltqnjlhqqhtkq
+8-9 d: ddddddddkd
+2-8 q: tvpqmrrq
+13-16 q: qqqgmqqqqqsqmqqpqqqs
+7-9 p: pppppplppp
+4-6 h: hhxhlhhhxhp
+6-8 g: gggggdggggg
+4-5 j: jjjkjj
+4-5 x: xxxfg
+2-13 x: xxhrhxwbrgrdskghtkj
+12-19 x: cxxxxxxxxxxhxxxxxxx
+1-4 m: tmmmm
+5-11 x: mgqnkjxxscxdxr
+3-4 t: tttctt
+4-13 b: bfkbfbbwbcbpvcbkdqww
+5-7 d: dwddddqd
+4-15 l: lvvlfclwbssvsdl
+9-14 d: ndkfnddtdddfjpvdqt
+8-9 s: ssssssssk
+9-13 l: dlljknlsllbslhlml
+4-5 n: lnnwn
+8-12 v: rlvbqlwvfhvv
+6-7 f: rcpfwfvffqfcpf
+10-11 g: rnqgxbtnxqfzgggtn
+8-11 d: ntdzzddkbdhcdddrgdld
+5-6 s: xkmssxscvbpwj
+1-3 r: rrmr
+9-14 p: pvppppppppppppppp
+11-15 t: vhftnbtmwpgbcvt
+2-7 t: pmbwnrj
+10-11 c: cccccccdcvcc
+9-14 s: ssksssssssssslsss
+2-5 t: ctrtqpn
+4-6 t: mttjftttt
+4-5 z: zfbzz
+2-3 x: xwxlwstzmvvt
+4-5 b: vbsbjwpbsbbb
+3-4 x: cwxxlmdf
+5-6 z: zzzqszzzzzz
+1-4 c: ncczc
+3-6 k: kkkkkkk
+2-3 z: rjzkpxxdvzlzxjzz
+8-10 z: fzjzszzdnzbzkzzfz
+1-9 c: ccccxccjpccccc
+3-12 j: jjjjjjjjjjjcj
+10-14 l: llplllvbllllsp
+8-12 r: hnrcrxfzrkcjcprrzjbr
+17-20 q: qqkqqqqqqqqqqqqbqqqh
+6-9 l: lllljlrlpxllllll
+8-9 v: vzzmtwfgv
+3-7 v: fqdbsshw
+12-13 f: fwffnjfbfffzzqfxfffx
+1-3 m: zjmdvjjg
+5-7 r: nrswrlbw
+8-11 c: crzfvzpcbcbchgxbln
+9-17 g: ggggggzgwwjpggpgvgrk
+6-9 k: hhkrvkkqfhqwbdb
+10-16 q: mzzjqfmtkqwvgdfttj
+11-13 m: mmmmmmmmmmtmm
+1-2 j: jjhrrj
+3-12 h: hhhhhhhhhhhhh
+8-11 w: zwkrwznrppw
+7-14 d: dpxjnddbvdbcllqr
+5-8 c: ccccfcccccc
+12-16 p: tnptbppgwxxpppjb
+1-14 t: qktttttttttttttt
+9-12 t: tttttcttgjtt
+3-5 p: tcpdgwhrkxkzjjhvsgqp
+13-14 k: kkkkkkkkkkkkklk
+11-13 x: xxxxxxsxxxxxt
+5-12 n: nxxnnznnnnmlnnn
+12-14 h: hhlhhhhhhhzcnnhhhhkh
+8-10 j: jbjbjmjvjj
+6-9 c: ccccccccsc
+5-12 j: jjjjjjjjjjjcj
+1-2 f: fhffff
+13-17 x: xnlxxxxsxxxxxxxxp
+2-5 d: sddzn
+2-4 q: qqqt
+2-6 p: fmxfxnkp
+9-11 k: nkdgncqkkgwjp
+2-5 p: hpmgcfcmz
+1-3 f: ffczf
+5-9 r: rtrrprrrrrr
+2-4 p: pnpprdn
+9-11 l: ltllbllvllc
+4-5 x: xxxmxxx
+5-9 x: xxxxxxxxxx
+16-20 b: hgcbhbbhbgbbdxhdgjwb
+10-15 c: qcccpcccdcccccfccwcf
+10-11 x: xndsgkwqpxb
+15-17 f: wwbqxrffgfvffdmdffw
+5-6 q: qqqhqvqqqq
+3-4 h: hhhchc
+7-9 x: xxxxxxxxgx
+7-8 f: fmfflfgf
+12-13 v: vvvvvvvvvvvcvvvv
+3-7 g: gggbggsgg
+1-5 w: wpswsggtw
+3-5 h: hhhhkhhhhhdhw
+6-7 w: wwwwwmwwwww
+5-11 m: mfdmcwmlvpmfc
+14-15 j: jjjjjjjjjjjjjjrjj
+3-5 v: rvtvkdvqv
+3-6 p: frppxpdpg
+3-5 t: ttttrt
+2-7 x: xxwxxkfxxxxxxxxxxgxr
+6-8 k: kkkkkpkgkkkk
+10-11 f: fffffpfffkfdf
+11-12 g: gggghgnggflg
+1-7 x: xxnxxxxkxx
+3-4 h: rhhx
+6-8 r: bcwrrrrrhrxmqgrhrzm
+2-6 l: mpdlnnp
+2-4 j: jbjjdhx
+2-15 d: dfdddddddnddddfzddjd
+5-12 h: gbngwvffshph
+1-2 t: txcpth
+14-15 f: ffffkfflfffffgf
+8-9 b: bbbbbbpbj
+5-6 f: zffhfz
+8-15 j: qjjfrtjllqfjjcj
+3-5 l: llxllll
+10-15 z: tpdzhnzkzrtzrzzzrfrz
+3-5 q: qqlqq
+3-4 d: vmzddpm
+8-11 c: cmvzlxtqxcvckxqm
+2-13 r: drpppdsqsmvnlkjb
+7-9 w: wwwwwwkww
+3-6 s: svfspfnpzq
+3-4 b: fqpbbbbzpgqf
+2-4 s: smssm
+8-9 q: qqqqqlqbq
+4-7 s: stcssbw
+15-16 k: kkkkkkkkkkkkkkkk
+10-13 x: xxsxxzxzxxsxphxxxxx
+4-5 p: drpsx
+7-11 v: vvvvvvvvvvvvv
+14-15 n: nnnnnnnnnpnnnbnn
+5-8 k: blgkkkkc
+12-16 g: ggggggggggvggggggg
+1-8 c: cccccccdc
+3-9 p: ppqppppppp
+7-9 q: cxqqqbhqqzhjqv
+1-12 m: mrkvwmmsjmkmw
+2-4 s: xrrj
+2-4 w: mbww
+7-14 v: vvvvvvvvvvvvvbv
+3-8 p: kppjprpxppb
+4-10 n: znncndnnjncnrnkn
+5-7 k: kktnkks
+10-13 r: rrrrrrrrrrrrnr
+1-6 k: kkkkkrvk
+3-5 k: jhjzkbqsjwkxsvd
+5-8 p: pcqpprckrp
+2-5 f: fsjwf
+6-9 l: jxhtplclr
+4-13 x: gdxdcdmmxlfxxs
+2-10 v: vvvrvvvvvhvvvvvvvv
+11-12 v: wqnwrlvjsxvs
+1-4 m: mfqm
+3-5 d: bmddv
+8-10 h: hbhhdhfchh
+4-5 s: sssdb
+2-3 l: lsll
+10-11 k: kkkkdcpnkkgkk
+6-8 r: vrrrrxrrrrr
+3-4 s: gxsbfr
+17-18 p: ptppppppbbpbprpcqpp
+16-17 s: gpgwvvnjbdqpksnsd
+5-10 f: gfkfzqflfzffvf
+6-18 m: kxxfrxjmwmltdvxwmmb
+5-6 d: ddntbd
+11-15 b: bbbrbhbgbbltbbhb
+6-7 r: krbrrrp
+5-6 q: qqqqqkqqqqq
+3-6 k: kfkmjt
+8-10 d: drbwtrdshdbg
+13-15 n: tqnprfnndhplcjn
+2-4 w: wjwg
+10-11 p: xprpnpvhppp
+9-10 r: rrrrrrrrqrrr
+2-8 w: wjwnwhwwwwwww
+12-13 g: gggggggggggwggg
+1-6 s: sssssss
+1-9 k: xkkkkkkkkkkkkkv
+2-4 c: ccccc
+3-7 s: ftssfrm
+12-13 k: kkkkkkkkbkksk
+9-16 q: qqqmqbbqhzqwtlwqb
+7-9 p: ppppppppdppp
+4-6 b: pcvbvkhb
+9-10 g: qmchkfggmgpqgxxgxq
+2-9 t: sthtnttthtlsq
+3-4 x: xxxx
+8-14 s: ssssssssdssssssss
+1-3 m: gmbmvbmqbxvm
+10-15 s: sgwkdvnsswsszwrn
+3-4 s: gmgs
+5-11 f: fffffffffffffffff
+7-9 v: vvfvsvzdhvv
+4-8 l: lllllllpllllllllll
+11-16 x: xxxplxxxxxpxxxxxxxxx
+9-13 t: tdtftttjdtttc
+9-13 g: rknsckngkvdxg
+3-4 d: sdqwddmr
+1-3 l: lljl
+7-17 r: trhrpmrqswrmnrbrrhb
+7-8 g: ghkxwgttgk
+5-7 b: fbnbtbndb
+6-7 v: vnxlvgv
+1-6 t: txtkttg
+2-13 n: ljnnnnlpsnscfnnnnnnf
+4-11 b: bbbbbbbbbbfb
+6-9 x: wxdkxxnnnx
+2-4 w: wswww
+5-13 j: jjsjjjjjjjjjkjjjj
+1-4 f: fszhf
+5-9 z: wzgfpzzzzjszfvfpwz
+5-9 x: xxxxhxxxsx
+15-17 b: bbbbbbbbbbbbbbkbqb
+2-7 x: xvdmgxxwgxx
+3-4 q: qqqq
+6-7 m: mqmlltc
+8-10 k: kkkfkhkkkpkkkk
+2-6 n: cnxnts
+1-6 s: gsssssssssscssss
+1-9 n: bbvkmnkdn
+2-5 p: nmlhpv
+4-6 g: vnggdpgm
+7-12 b: bbbbbbvwsbbbbbbbbbbx
+2-3 b: lgbjjr
+7-12 n: chqccgnwsznngz
+4-6 v: nntkvvv
+2-5 g: qkrjgkqgljh
+1-5 f: rffffsfzxfjfzffff
+15-16 z: zpzzzzzzzzzhzzkszz
+3-4 l: lmflkl
+7-8 f: fffvzxff
+2-4 r: rrrgrrrr
+12-14 w: tjwgwkkwwwwwwwwww
+2-12 m: mzmkmmmmmhmmcmmmrmf
+5-7 q: nfqbgqqqpqqgjq
+1-4 r: ktpr
+5-6 j: jjjgbj
+9-13 d: ddpbdddwbbdmd
+8-9 r: rphfrrrsrr
+10-12 f: fffffffffffbffpff
+5-12 b: xhbbcbbbbxtbbb
+9-10 j: jjjjjjjjqjjj
+3-4 q: qqqn
+3-9 r: srrtqqprjmqgnp
+2-3 c: gcqc
+3-4 c: bclc
+3-6 n: jnxhshghnnqncgncn
+2-4 h: ckhh
+9-12 t: tdjjqcdbtkbtmb
+11-13 x: cxxkxbxktxxxkxxxpxxh
+4-14 m: hjqmqjvqgjdjzsssdkm
+6-12 r: rrrrrlrrrrrrrr
+14-16 g: gngggggkfglzgggv
+9-13 h: hvhhdzhhmhhhh
+3-15 x: xxjxxxxxxxxxxxbxx
+10-12 z: zzzzzzzzzpzzz
+3-4 h: dnhv
+13-14 g: gggggggggggggg
+7-11 r: rrrrrrrrrrr
+6-9 x: czxxlsxxx
+3-5 h: hhchh
+1-9 j: jjjjjgdjjjjjjjf
+7-10 b: ctsbpxrvwbkbjklghnbn
+10-11 g: gggggggggglg
+1-7 x: xnpsxfm
+9-10 q: xxxzqbpdqj
+4-10 q: pqsqbqcvllfn
+11-12 x: xxxkxxxxxxgxxxx
+3-12 s: pstrsssntsssssbssj
+9-12 s: wnsdfrtssllsfbsssccb
+1-6 r: nrrrrmrc
+11-13 k: kkskkkbkkkzkkk
+4-5 h: hhhhshh
+5-19 f: ffffffffffffffffffcf
+3-4 z: zczzz
+5-8 l: ghlllsllfw
+3-9 g: ggpngglkkf
+7-9 b: xwbbbhhbmgjhbbbhnbb
+4-5 c: cjmgczcccpzqr
+15-16 j: jqfqsnnvffpjjjqj
+5-6 z: zzzztvws
+3-7 t: tftxtvfzs
+1-5 l: tlllll
+5-18 n: nnnngnnnnnnnnnnnnnn
+5-6 m: bchzqm
+9-10 p: lmpsbqgzpxggltl
+2-9 h: hqdpjwpxhg
+4-6 n: nqbnbnknnzd
+2-7 q: qbqqqvq
+7-8 c: cccccclc
+8-12 r: rrkrrrprvrcqnr
+14-15 j: jkpjjnjjjwjjjjjjhjwj
+7-9 s: stsstspsn
+8-11 h: hhhhbhhhhjhhhh
+5-6 d: dddtpdd
diff --git a/2020/inputs/day_3.txt b/2020/inputs/day_3.txt
new file mode 100644
index 0000000..0fe60b0
--- /dev/null
+++ b/2020/inputs/day_3.txt
@@ -0,0 +1,323 @@
+...........#..............##...
+...#....................#......
+.....####...........#.#..#.#...
+....##.#.......................
+.......#.##......#.###.........
+.#.....#.......##.......#.....#
+...........##....##.#....#.....
+......#.........#....#.........
+..###....#.........#....#.#....
+....#....#.#..#..#.........#.#.
+..........................#...#
+.##...........#...#.#.......#..
+#....##...#.#....#.............
+....#..##......##..#.#....#....
+#..........#.............#..#.#
+...#.####.....#..#.#.#..#...#..
+..........#......#........#..#.
+............#.....#..#..#....#.
+.................#...#.........
+..#...#...................#....
+..............##...#...........
+..........................#..#.
+#...#...#............#...#.....
+.................#..##.......#.
+............#....#.............
+.#......#.#...#....#...#.......
+.....#.....##..##.....#.......#
+.#..#..##...............#..#...
+#...#...##............#........
+.......#....#.......#..........
+...............................
+#................#...#.........
+...#...#..#..#.............##.#
+......#........#..............#
+...#.....##.#...#...#..........
+.........#..#........##.#...##.
+#.........##..#.......#........
+........##.#.#.................
+.#....#............###....#....
+...#.##....#.....##..#..#....#.
+....#..#........##..#...#..##..
+..........#............#.......
+.........#........##....#..##..
+#....#.........#.#.......#..#..
+...#....#......##.#............
+........#..#...............#...
+..............#.....#........#.
+......#..#.#........#..#..#.##.
+..#........###....#.#..........
+...#..#...#.#....##..#........#
+........#..#..............#....
+#.####.................#....##.
+.#................#............
+....#....#....#................
+#......#........##....#...#....
+......#..##..#..###...#.#.#....
+.#..........##.................
+...#...#....#...#.....#.....#..
+............#......##.........#
+..............##...............
+##....#....#...#...#....#..###.
+...................#.......##..
+#.....##........#....#.........
+...#.......#...........#.......
+...............##..............
+##.......#......#.....#........
+#....#..#..##..#.......#..#..#.
+.....#.............#.......#...
+......#..#........#.......#.#..
+..#...#...........#.##.........
+..#................####.#..#...
+......##....#.........#........
+..#..#.......#...##....#......#
+#.#..........#..............#.#
+.#.#..............#.##...#.....
+................#.....#.#......
+##.........#.........#.....#...
+....#.#.....................#..
+..#..#..#........#.......#.....
+.....#..#.#....#....#.....#....
+..####....#.#.........#........
+#..##...##..#.#............#..#
+.#........#..##.#.....#......##
+.##.##.....##....#.#...........
+....#..#.#..##............#.#..
+........#.#...#....#.........#.
+.....#.#.#.....#....#.....##...
+#...#..#....##..#..............
+..#...#....#...##..#.......#...
+.#....##.......................
+.........#............##.#..#..
+....#................#...#.#...
+...................#..#...#....
+#..#...................#.......
+..##..............#..........##
+...#.##......#.............#...
+.........#.#.........#.........
+...###......#.................#
+..........#....##..............
+.##..#....#.........#.#........
+.........#.......#.......#.#...
+#........#............#......#.
+....................#..........
+.......#...##..........#...#...
+....#.#.......#.#...##..#.#....
+...#..........#..............#.
+........##..............#......
+......#...##......#....##......
+....#.....#.#.##..............#
+...#...........#.#.............
+...........#......#.#..........
+...#.#......#......#...#...#...
+..#.......................#....
+...#...#..#..................#.
+##.....#.....#..#..#.....#...#.
+.#..#.......##.#.#.............
+......##.......##............#.
+.......#..#..#.......#....#.#..
+......#.....##..##...#........#
+.....#........#.##..........#..
+#....##............#........#..
+.....#..#...#............#...#.
+##.#....#........#.............
+.##...............##......#.#..
+###..#..#.......#.#..........#.
+.....#...........#...##........
+..#.#.#.........#.....#....#...
+.....#....##.......#..#.#......
+......#.....#...#..#...##..#...
+.....#....#................#...
+......#....#.#...##......##.#.#
+.....###.............#.........
+.................#......#####..
+.#.......#..........#.#....##..
+..#..#.......#.....#..#......##
+..........#.#.##.......##....#.
+##...#...##.##......#..###.....
+..#..#..#......#....#..........
+..#...#....#......#....#....#.#
+.#...#........#.....#......#..#
+#.........#......#.##.##.......
+#.##..#.............#.....#....
+....#.......#..#..##...##......
+...#.............#.#......#....
+#.....#..........##...##.....#.
+...............#........#....#.
+#.....#...#..#.............##..
+.#....##.#.......#.#..........#
+....#....#.#.....#....#......#.
+......#......#.................
+.#.#..#.#.#...#...#..#.##.#..##
+.............#.....#...........
+............#...#..#..#.....#..
+.#..........#.......#....#.....
+......#..###.#...#.............
+......#..........#.............
+....#.................#..#.#.#.
+...##.##.#....##.##............
+####......#........###......#..
+..#.......#.#..#.##............
+.....#.....#.#.......#.....#...
+.....#..........#.#............
+#.....#.............#......##..
+......##..........##....#......
+.#..............#..........#...
+......#..#...#........#..#....#
+.#......#.......#..#...........
+..#..#....#.#.......#....##..#.
+........#.#................#...
+#.......#.##.#......#...#.....#
+..#...#.#.....##...............
+..........#.....##.............
+.......#............#........#.
+...#............#......#......#
+.#..#.......#...#...#..#..#....
+#....#.#...#......#...#......#.
+.#.......#..#.#...........#....
+...##.#...#.......#..........#.
+.....#..............#..#...#...
+...........................#...
+.............#.....#...........
+....#.#..#..#...#..#...........
+.....#.#.#..#.#....#.#.#.......
+.......#..............#.....##.
+........#..#..#.#..#...#.#.....
+.....#.#...#.#.#.....#..#...#..
+.....#....#.......#......#.#...
+.#.#...........#........#......
+.##..##......#......#......#.#.
+.....#.###.#.......##.#..#.....
+#.......##..#.........#....#...
+.#.............#.........#.#.#.
+..........#..#..#....#....#....
+#....#...........##..#.....#..#
+......#....#...###..#...#......
+.....#....#........#....#..#...
+...##..............#.##...#....
+.#............#........##......
+..##........#.#...........#...#
+..#.#...##...#..#..........##..
+.................#.......#.....
+......#.....#............#.....
+.#.....#.........#.#..#.#......
+.............#.#.#..#.......#.#
+#......#.....#..##...#.......#.
+.......#.#..#...#.........#....
+...#..##...#.........#.#....#..
+........................#..#...
+....##..##................#....
+.......#..#.......#........##..
+.....#....#.##....#............
+.#....#............#.....#...#.
+..##.....#......#......#.#....#
+...#...........#...##....#.....
+......#.##.#..##...##.#.#..##..
+.......##....#......#....#.#...
+.....####..#............#..##..
+......##..##..##.........#...#.
+.#.#...............#.........#.
+......#......#...........#.....
+.....#.......##.....#..#.......
+.....##..#..#....#.#.......#...
+...........###.###.##..#.#..#..
+.#...............##.........#..
+......##..........#..#.....##.#
+.............#....#....#..##...
+.#..............#........#.....
+.#..#.........................#
+.##..............#..........#..
+..#..#.#.#.#......#............
+....#...#.#.#....#........#..#.
+.....#........#....#.....#.....
+.#...#.#......#..#........#.##.
+.......#.....#................#
+.#.#........................#..
+............#..#.......#.......
+....##.#........#...#.#.#.#.#..
+.....#.......##................
+...##...#....#.....#.#.........
+#...#..............#.......#...
+...#.#.#.#..##....##...........
+.....##...#....#.....#.........
+#......#.....#....#............
+....#..###....#.##.......#...#.
+..................##.#......#..
+.....##..............##.#....#.
+.........#...#........#..#....#
+.##..#.........#....#..##...#..
+#.#.##................#.##.....
+..#.#....#.#.......#....#......
+..#.#.##.#.......#.............
+..#....#.#..##.#..........#.#..
+#.....#.....#.....#.........#..
+#.......##.....#....##.....#...
+..#...#.........##.#..##.......
+..#.#.........#.......#........
+#.....#.....##.#.#..#...#..#.##
+.........................#.##..
+..#.#..#..#..#........#......#.
+..#..............#.............
+.....#.......##.##.....#.......
+....#...#...............#..#...
+....#......#.#........##.#..#.#
+....................#..#.......
+.....#.......#......#.##.......
+#.......##..........#.....#....
+.#.......#....#.#......#.......
+......#...#...............#.##.
+....##.#.....#.............#.##
+#..#................##...#.....
+....###......#.#.........#..#..
+...#...#......#...##....#...#.#
+..#...#.#.##.#.................
+.....##......#..#.#....#.......
+##.......#......#.#..#.#.......
+.#.#.#.........#...#.#..#......
+#...#.#........#....#.#.....#..
+....#.......##....#......##....
+.....#..........#......#....#..
+#...#....#...#.....#.#.........
+...#..##.....##....#.....#.#...
+..................#.....##.....
+.....#............#............
+...#.....#..#........#.#..##...
+.......#.#.....................
+......#...#.......#..#...#..#..
+.#..#...#.....##.....#.#.#....#
+....##...#.#............#..#..#
+...........#............#..#...
+.......#.....#................#
+..#......#.#.......#.#.........
+.....#..#.#.##.................
+.....#..#......................
+...#....#...#..#.#..#....#.....
+.#............#.....#..........
+#.##..#..#.......#......#.....#
+.#.........#....#....#.........
+...#.#.#........#.#....#...#...
+#........#..#..#..........#..#.
+.....#..#.....##......##..##.#.
+..............#.......#..#..#..
+....#........#.##.#...#........
+..#.#..#....#........##.....##.
+...##.....#...#.......#.#....#.
+#.....#..##.##.#...##.......#..
+.....#........#.#.#....#.......
+.#................#####..#.#...
+..........##..#..###....#......
+.....#.......#..........#..#...
+..#....#....................#..
+#.....#..#.....#...##.#.....#.#
+...#..##............#.....#....
+##.#..#.......##...............
+........##...#.#.....#......#..
+........#...#..................
+#......#................#.#....
+...........#...#..#.........#..
+...#.##..#.##..................
+.....#......###......#..#......
+..#.#.....#...#..#.##........#.
+....#..........#.#.....#.......
+..#..........#..........#.#....
+..#.##.......#......#..........
diff --git a/2020/inputs/day_4.txt b/2020/inputs/day_4.txt
new file mode 100644
index 0000000..b17cdcd
--- /dev/null
+++ b/2020/inputs/day_4.txt
@@ -0,0 +1,1023 @@
+ecl:#eef340 eyr:2023 hcl:#c0946f pid:244684338 iyr:2020 cid:57 byr:1969 hgt:152cm
+
+pid:303807545 cid:213 ecl:gry hcl:#fffffd
+eyr:2038 byr:1951
+hgt:171cm iyr:2011
+
+hcl:#c0946f byr:1933 eyr:2025 pid:517067213 hgt:173cm
+ecl:hzl
+iyr:2018
+
+pid:5253256652 byr:2009 hgt:152cm iyr:1989 eyr:1968 hcl:64cb63 ecl:hzl
+
+iyr:2013
+pid:862607211 eyr:2020
+hgt:174cm
+byr:1990
+ecl:blu hcl:#888785
+
+ecl:grn byr:1955
+pid:608098408 eyr:2027 iyr:2020 hcl:#b6652a cid:264
+hgt:181cm
+
+byr:1998 ecl:hzl eyr:2021
+hcl:#866857 hgt:189cm iyr:2030
+pid:013735467
+
+pid:075417314 hcl:#b6652a byr:1957
+iyr:2011
+hgt:154cm
+eyr:2025
+ecl:amb
+
+iyr:1993 hgt:74cm eyr:1960
+byr:2029
+hcl:293244 ecl:#3cb5e5 pid:4861232363
+
+hgt:153cm hcl:#6b5442 pid:065240897 byr:1932
+cid:196 ecl:blu eyr:2028 iyr:2019
+
+eyr:2024 ecl:amb
+hcl:#866857 byr:1922 pid:496904942 hgt:164cm iyr:2020
+
+pid:847705161 byr:1951 cid:124 iyr:1991
+eyr:2028 ecl:dne
+hcl:6b2d28 hgt:172cm
+
+byr:2007 iyr:2029 ecl:hzl eyr:2026 hgt:168in
+hcl:z
+pid:63151612
+
+iyr:2027 hgt:172in
+cid:174 byr:2014 hcl:z eyr:1921
+ecl:grt pid:#cebdc2
+
+ecl:amb hcl:#d09c0f
+iyr:2015 hgt:156cm eyr:2026 byr:1962
+pid:086120872
+
+cid:125
+pid:837849996
+byr:1958 ecl:brn hgt:166cm hcl:#ceb3a1 eyr:2028 iyr:2012
+
+ecl:gry hgt:180cm
+pid:939059935 eyr:2023 byr:1977 hcl:#b6652a
+
+hgt:190in byr:2029 eyr:1984
+ecl:gry hcl:z pid:055092916 iyr:2010
+
+hgt:63in ecl:blu byr:1940 iyr:2012 eyr:2029 hcl:#7d3b0c
+pid:163033394
+
+eyr:2040 pid:181cm
+iyr:1928 hgt:76cm hcl:d8aafb byr:1949 cid:275 ecl:xry
+
+hcl:#cfa07d ecl:oth byr:1948 eyr:2021
+pid:719690182 hgt:179cm iyr:2020
+
+byr:1939 cid:266
+eyr:2026 iyr:2017 hcl:#f116d2
+ecl:hzl pid:522421825
+hgt:68in
+
+hcl:z hgt:61in
+cid:115 pid:180cm iyr:2030 byr:2014 eyr:2032 ecl:hzl
+
+ecl:xry
+eyr:2028 pid:191cm iyr:2015 hgt:150cm byr:2029
+
+eyr:2027
+hcl:#a97842 pid:997937480 hgt:61in iyr:2019
+byr:1921
+ecl:grn
+
+hgt:163cm
+pid:912318455 iyr:2016 byr:1988 ecl:brn hcl:#a97842 cid:221 eyr:2029
+
+cid:333 hcl:#c0946f
+hgt:163cm iyr:2018 eyr:2027 ecl:oth
+
+cid:70 hcl:#c0946f
+pid:961507902 byr:1949 ecl:grn iyr:2017 eyr:2029 hgt:69in
+
+hgt:169cm ecl:amb
+iyr:2013 pid:496169901
+byr:1943 eyr:2028 hcl:#ceb3a1
+cid:249
+
+ecl:blu cid:343
+iyr:1998 hgt:154in hcl:#efcc98 byr:1972
+
+pid:508213120 iyr:2012 eyr:2025 hcl:z hgt:70cm byr:1976
+ecl:brn
+
+iyr:1924
+eyr:2005
+hcl:z
+hgt:167 pid:154cm
+byr:2007
+
+pid:761333244 hgt:180cm iyr:2017 hcl:#18171d eyr:2021
+byr:1983
+cid:67 ecl:oth
+
+eyr:1993
+byr:2003
+hcl:#602927
+ecl:grt
+cid:84 hgt:178
+pid:1847086637 iyr:2026
+
+hcl:#866857 hgt:162cm pid:483774485 iyr:2010
+byr:1946 eyr:2028 ecl:gry
+
+pid:726639691 eyr:2028
+hgt:171cm hcl:#ff65a6
+iyr:2011 byr:1989
+
+hcl:z iyr:2026 ecl:xry
+eyr:2037 byr:2005 pid:#f09a0f
+hgt:68 cid:156
+
+hgt:71in ecl:blu eyr:2026 hcl:#18171d
+byr:1981 iyr:2017
+pid:698636544
+
+eyr:2021
+byr:1957 ecl:brn pid:365378126 cid:93 iyr:2019 hcl:#18171d hgt:179cm
+
+byr:1996 iyr:2014 hgt:64cm
+eyr:2034
+hcl:z
+
+pid:629486472 cid:140
+hgt:192cm eyr:2020 hcl:#b6652a iyr:1988 byr:2021 ecl:brn
+
+byr:1955 iyr:2015 eyr:2030
+ecl:gry hcl:z pid:6550198754
+hgt:158cm cid:305
+
+ecl:gry hcl:#a97842
+hgt:176cm eyr:2022 pid:810146585 iyr:2020
+
+byr:2027 hcl:#cfa07d
+iyr:2011 ecl:#f07598
+cid:293
+hgt:150cm pid:#fa948d eyr:2029
+
+eyr:2028 iyr:2013 hgt:69in ecl:gry pid:317170371
+cid:147 hcl:#bfe1f1
+
+byr:1976
+pid:059341891 hgt:174cm
+ecl:oth
+eyr:2029 iyr:2017 hcl:#733820
+
+iyr:2018 hcl:#ceb3a1 hgt:188cm cid:308
+pid:792826885 byr:1948 ecl:blu eyr:2028
+
+iyr:2017 cid:94 hcl:#95c7dc
+pid:231757803 eyr:2022
+byr:1992 hgt:153cm ecl:amb
+
+eyr:2027
+iyr:2011 hgt:186cm
+ecl:brn pid:996347346 hcl:#866857
+byr:1960
+
+eyr:2025 byr:2001
+ecl:blu pid:755715478 iyr:2019 hgt:61in
+
+ecl:gry
+eyr:2038
+hgt:81 hcl:z iyr:2028
+cid:214 byr:1965
+
+pid:412744447 byr:1979 hcl:#cfa07d ecl:blu
+eyr:2029 cid:157
+hgt:180in iyr:1948
+
+hgt:170cm
+pid:623557081 byr:1924 eyr:2024 hcl:98d623 iyr:2012 ecl:amb
+
+cid:311 ecl:grn
+iyr:2011 byr:1982
+eyr:2002 hcl:#ef318a
+pid:0548169957
+hgt:87
+
+eyr:2030 hcl:#733820 iyr:2016 pid:558470391
+byr:1936 ecl:oth hgt:185cm
+
+iyr:2019
+ecl:amb byr:1949
+pid:376468392
+hgt:178cm
+
+pid:019195245
+ecl:grn hgt:171cm
+byr:1978 iyr:2011 eyr:2022 hcl:#733820
+cid:134
+
+hcl:#623a2f hgt:192cm eyr:2026 byr:1977
+ecl:grn cid:308
+
+ecl:hzl pid:715816358 hgt:69in iyr:2014 hcl:#623a2f
+byr:1996
+eyr:2027
+
+iyr:1947
+ecl:#39a697
+hgt:183cm byr:2029
+eyr:2022 pid:7951883913
+hcl:z
+
+ecl:gry byr:1950
+hcl:#18171d hgt:168cm iyr:2020 pid:677187333 eyr:2027
+
+byr:1969 ecl:blu hcl:#18171d iyr:2011
+hgt:162cm
+pid:701349891
+
+cid:269 byr:1966
+iyr:2011
+pid:905940527 eyr:2023 hgt:190cm
+ecl:brn hcl:#ceb3a1
+
+eyr:2027 pid:454627395 ecl:brn
+hcl:#ceb3a1 cid:302 hgt:184cm
+byr:1959
+iyr:2015
+
+iyr:2011
+eyr:2028
+hgt:166cm
+hcl:#733820 byr:1938 ecl:blu pid:857984986
+
+hcl:#c0946f ecl:brn pid:226877822
+hgt:182cm byr:1998
+cid:160
+
+hgt:186in pid:26499164 byr:2017
+hcl:z
+iyr:1998 eyr:2026
+cid:331 ecl:#236556
+
+pid:328866543
+hgt:165cm eyr:2039 iyr:1987 ecl:amb byr:2018 hcl:z
+
+iyr:2016 eyr:2036 hcl:#888785 byr:1976 pid:160402352 hgt:76cm ecl:blu
+
+ecl:blu
+hcl:#fffffd eyr:2025 hgt:66in pid:979788527
+byr:1957 iyr:2013
+
+ecl:grn pid:279357265 iyr:2019 eyr:2021 byr:1953
+hgt:177cm hcl:#c0946f
+
+ecl:oth hcl:z eyr:2025 byr:1949 hgt:189cm iyr:2020 pid:901383503
+
+byr:2019 hcl:#733820
+pid:31022828 eyr:1929
+hgt:75cm iyr:2012 ecl:grn
+
+pid:080462937
+ecl:blu hcl:#866857
+cid:102
+iyr:2013 eyr:2025 byr:1975 hgt:64in
+
+iyr:2016
+eyr:2028
+cid:125
+byr:1979 hcl:#866857
+ecl:brn hgt:173cm pid:814947616
+
+hcl:z byr:2020 pid:#c3b54b hgt:174in eyr:2038
+iyr:2016
+ecl:gmt
+
+cid:132
+iyr:1958
+pid:61543452 hcl:z
+ecl:zzz eyr:2039 byr:2006
+
+cid:55 eyr:2022 byr:1954 iyr:2015
+hgt:188cm hcl:#a97842 pid:49143631 ecl:amb
+
+hgt:152cm
+byr:1982
+iyr:2013 ecl:blu
+hcl:#341e13
+eyr:2026 pid:440841976
+
+iyr:2019 ecl:blu pid:553456616 hcl:#733820 hgt:160cm byr:1932 eyr:2030
+
+byr:1980 hgt:169cm hcl:#7d3b0c cid:312 iyr:2010
+eyr:2026 pid:028550304 ecl:grn
+
+ecl:amb eyr:2021 iyr:2014 hgt:71in pid:986053283 byr:1981
+
+ecl:oth
+eyr:2023 hcl:#888785
+byr:1949
+iyr:2016 pid:699325656
+
+hgt:63cm cid:297 eyr:2020 pid:990390922
+hcl:#602927 ecl:lzr
+iyr:2012 byr:2016
+
+hcl:9ea2fa eyr:2023 pid:088680493
+byr:1998 iyr:2017 ecl:utc hgt:170cm cid:175
+
+cid:316 iyr:2016 eyr:2026 hcl:#79ff1d hgt:65in
+byr:1997 pid:215466710 ecl:oth
+
+cid:213 byr:1983 hcl:#888785 iyr:2016 pid:767747981 eyr:2025
+ecl:hzl hgt:168cm
+
+eyr:2030 byr:1972
+cid:282
+ecl:gry hgt:178cm
+hcl:#a97842
+iyr:2018
+
+hcl:#6b5442 ecl:amb
+eyr:2028 cid:104 hgt:159cm pid:446429120 iyr:2012
+byr:1938
+
+byr:1940 hgt:178cm ecl:oth
+hcl:#ceb3a1
+pid:845683663 iyr:2015 eyr:2024
+
+byr:1940 pid:496262233
+hgt:184cm hcl:#b6652a
+ecl:grn cid:152 iyr:2012 eyr:2029
+
+hgt:185cm pid:455744229 byr:1954 eyr:2022 ecl:gry hcl:#6b5442 iyr:2012
+
+hgt:182cm byr:1966 eyr:2028 ecl:#a5b7fc
+iyr:2029
+
+pid:343591896
+cid:58
+ecl:hzl
+eyr:2022 hgt:180in byr:2021
+hcl:#6b5442
+
+ecl:utc hcl:#b6652a
+pid:635147657 byr:2020
+eyr:2022 hgt:157cm iyr:2018
+
+ecl:grt cid:312 iyr:1959 pid:154262836
+hgt:171cm
+hcl:#fffffd
+eyr:2024
+byr:1982
+
+hcl:#7a12b4 pid:223424149 ecl:hzl hgt:175cm
+byr:1930 iyr:2010 eyr:2028
+
+hcl:#c0946f pid:633476454 eyr:2026 iyr:2011
+byr:1934
+hgt:186cm
+cid:289 ecl:gry
+
+hcl:#fffffd pid:376300524 hgt:155cm byr:1964 iyr:2017 eyr:2021 ecl:grn
+
+hcl:a5d4dc byr:2006 cid:165 ecl:#db800f iyr:2029 pid:0199789970 eyr:1961 hgt:61cm
+
+eyr:2027 hgt:170cm iyr:2010
+hcl:#c0946f
+ecl:grn pid:415726530
+byr:1985
+
+cid:197 byr:1957 hgt:192in hcl:#a97842 ecl:hzl eyr:2029 pid:958973455 iyr:2011
+
+iyr:2015 pid:933689314 hgt:162cm ecl:amb
+cid:122 eyr:2021
+hcl:#6b5442 byr:1973
+
+eyr:2026 hgt:172cm
+iyr:2012
+ecl:brn hcl:#733820 pid:004474632
+byr:2000
+
+hgt:191cm eyr:2030 byr:1999 pid:9155071477 iyr:2026 hcl:#602927 cid:315
+ecl:grn
+
+iyr:2010 pid:182884251 hcl:#18171d hgt:154cm
+eyr:2020
+byr:1926 ecl:oth
+
+iyr:2019 eyr:1920 pid:132839546
+cid:283 hgt:188in hcl:#efcc98 byr:2027
+
+iyr:2011 hgt:177cm
+cid:117 byr:1976
+ecl:gry
+hcl:#623a2f eyr:2030 pid:134592046
+
+byr:1968 hgt:146
+iyr:2013 hcl:eefdc4 eyr:2028
+ecl:xry pid:722120008
+
+iyr:2016 byr:1941 hgt:67cm cid:51 hcl:#b6652a ecl:hzl eyr:2034 pid:994005715
+
+hcl:#cfa07d ecl:oth
+hgt:182cm eyr:2021 pid:612583941
+byr:1983
+iyr:2019
+
+byr:1922
+hcl:#602927 hgt:161cm ecl:gry eyr:2020 pid:190170808 iyr:2013
+
+hgt:63cm cid:136
+iyr:1999
+pid:8235748647 hcl:z
+byr:2022 eyr:1933
+ecl:#304383
+
+cid:273 ecl:blu hcl:z
+iyr:2011 byr:2007
+eyr:2020
+pid:942473857 hgt:178in
+
+ecl:grt byr:2029 hgt:187in eyr:2030 cid:160
+hcl:#efcc98 pid:#39f22b
+iyr:1966
+
+byr:1978 ecl:oth iyr:2011 hgt:164cm eyr:2027 hcl:#cfa07d
+
+hgt:75cm hcl:#1e8137 byr:1986 ecl:blu eyr:2022 pid:796688423
+iyr:2012
+
+eyr:2026
+ecl:#3013af hcl:z pid:#e8597f hgt:123 iyr:2025 byr:1942
+
+hcl:z hgt:177in
+iyr:1993 pid:#4c9348 byr:2008 eyr:1989
+
+pid:123524366 byr:1935
+hgt:156cm hcl:#7d3b0c
+iyr:2020 ecl:brn eyr:2020
+
+hcl:z eyr:2038 pid:7663741757 ecl:gmt hgt:174
+byr:2008 iyr:1939
+cid:225
+
+hcl:#888785 hgt:172cm
+ecl:oth pid:500711541 eyr:2027
+byr:1931 iyr:2012
+
+pid:575447108 ecl:amb byr:1943
+hcl:#888785 hgt:173cm eyr:2024
+
+eyr:2021 iyr:2010 pid:178773264 hgt:157cm byr:1965 hcl:#bb7bcf ecl:amb
+
+iyr:2023 ecl:#35bd84 byr:2020
+hgt:72in
+eyr:2037
+hcl:#6b5442
+pid:421311669
+
+byr:1921 iyr:2011
+pid:146088688
+eyr:2023 hcl:#15ed24 hgt:183cm
+ecl:brn
+
+hcl:#b6652a cid:243
+byr:1993 eyr:2024
+iyr:2014 hgt:172cm
+pid:771275594
+
+eyr:2024
+hcl:#cfa07d pid:858807920 cid:293 hgt:157cm ecl:hzl iyr:2013 byr:1984
+
+ecl:blu hgt:193cm cid:73 hcl:#18171d eyr:2026
+iyr:2016 pid:124151812 byr:1945
+
+ecl:amb iyr:2018
+pid:214555737 hgt:157cm
+eyr:2028
+byr:1925 hcl:#866857
+
+pid:5633250409
+hcl:4ef7d8
+byr:2004 iyr:1958
+hgt:96
+eyr:2038 ecl:xry cid:274
+
+byr:1972 pid:401239851 hgt:184in hcl:z iyr:2017
+eyr:2030 ecl:#cb289a cid:140
+
+hgt:175cm
+byr:1926 hcl:#cfa07d eyr:2029 ecl:gry pid:325039730 iyr:2017
+
+cid:101 hgt:166cm byr:1986 ecl:amb
+hcl:#7d3b0c iyr:2013
+pid:413769688 eyr:2024
+
+hgt:159cm cid:311
+byr:1993 eyr:2028 pid:188cm ecl:oth hcl:#602927 iyr:2013
+
+pid:565831038
+ecl:amb
+hgt:155cm hcl:#fffffd cid:335 iyr:2016
+eyr:2029 byr:1997
+
+hgt:122
+byr:2022
+eyr:2028 ecl:blu iyr:2017 pid:269710626 hcl:#b6652a
+
+cid:196
+byr:1953 hcl:#6b5442 iyr:2010
+pid:216121215 hgt:188cm ecl:blu
+
+iyr:2011 hcl:98166c hgt:62cm
+byr:2028
+eyr:2024
+pid:792478385 ecl:grn
+
+hcl:#efcc98 iyr:2012 pid:020039675 eyr:2021 byr:1974 hgt:156cm
+ecl:hzl
+
+cid:123 hcl:#7d3b0c
+byr:2026 eyr:2004 iyr:2012 ecl:oth pid:349203133 hgt:160cm
+
+pid:085461475
+byr:1962 iyr:2020 hcl:#623a2f
+eyr:2024
+cid:80 ecl:brn
+hgt:154cm
+
+ecl:oth hgt:156cm iyr:2016
+hcl:#6b5442
+byr:1973
+eyr:2021 pid:539898580
+
+iyr:2026 hgt:191cm
+hcl:z
+byr:1930 pid:#abc2f0 ecl:blu cid:242 eyr:2024
+
+cid:167
+hgt:179cm
+iyr:2017 eyr:2021 pid:756797571 byr:1949 ecl:brn hcl:#a97842
+
+byr:1975 eyr:2030
+ecl:oth hgt:169in pid:4031206183 hcl:#733820 iyr:2017 cid:244
+
+ecl:#54cfeb hgt:152cm
+iyr:2026 hcl:36b4b9
+byr:2030
+pid:#fa1cb9 eyr:1964
+
+byr:1974 cid:99 hcl:9e3296
+eyr:2032
+pid:686747414
+iyr:1995
+ecl:amb
+
+iyr:2030 ecl:oth hcl:z byr:1979
+pid:114661006 hgt:191cm eyr:1941
+
+hcl:#341e13 iyr:2014 byr:1953
+pid:188326193 ecl:gry hgt:189cm cid:283
+eyr:2030
+
+byr:1975
+pid:092061576 hgt:73in eyr:2023
+ecl:brn cid:227 hcl:#5e9d91
+iyr:2011
+
+hcl:#7d3b0c hgt:167cm cid:141
+eyr:1957 byr:2012 ecl:gmt iyr:2019 pid:#1b7c8a
+
+hgt:168cm hcl:#c0946f pid:599500784 byr:1930 eyr:2023 ecl:hzl cid:113
+iyr:2013
+
+eyr:2030 hcl:#b4cb4f
+hgt:68in
+ecl:brn byr:1923 pid:699162086
+
+iyr:2013
+ecl:dne hcl:z eyr:1971
+pid:#580add byr:2020
+hgt:190cm
+
+hcl:#ceb3a1
+byr:1976 eyr:2020
+cid:162 iyr:2016
+hgt:168cm
+ecl:hzl
+
+pid:050478613 hgt:59cm
+iyr:2017
+ecl:grn byr:2030 hcl:#cfa07d eyr:2025
+
+pid:352943968 eyr:2025 byr:1980 iyr:2014 ecl:gry hcl:#c0946f
+hgt:193cm
+
+pid:328621931 cid:310 hgt:170cm
+hcl:#733820 byr:1955
+iyr:2016
+eyr:2028 ecl:hzl
+
+hcl:#866857
+pid:095858739 byr:1956
+iyr:2018 hgt:193cm
+ecl:hzl
+eyr:2029
+
+pid:70973661 eyr:2039 ecl:gry
+iyr:2016
+cid:291
+hcl:#623a2f hgt:97
+
+hcl:4d51a8
+eyr:1978
+ecl:gmt
+byr:2029 iyr:2022
+pid:34507041 hgt:61cm
+
+byr:1989 ecl:brn pid:769582914
+eyr:2026 cid:218
+iyr:2020 hcl:#866857 hgt:184cm
+
+ecl:brn
+iyr:1998 cid:227
+hgt:162in
+byr:2026
+hcl:#602927 eyr:2027 pid:236998728
+
+ecl:gry byr:1984 hgt:157 cid:295
+eyr:2020
+iyr:2018 hcl:#733820
+pid:037871534
+
+hgt:166cm hcl:#c0946f pid:412146401
+iyr:2011
+eyr:2022
+byr:1938
+ecl:brn
+
+ecl:brn cid:95 byr:1981 eyr:2030 hcl:#efcc98 pid:777041035 hgt:152cm iyr:2011
+
+eyr:2024 hgt:89 pid:3761913749 iyr:1939 byr:1967 hcl:a222f6 cid:165 ecl:#7fe574
+
+cid:339 hgt:156cm
+ecl:brn iyr:2013 byr:1951 hcl:#efcc98 eyr:2026
+pid:863566946
+
+ecl:brn hcl:#6b5442 eyr:2023
+pid:787129723 byr:1949 iyr:2015
+
+pid:#7f615a
+cid:202 hcl:#6b5442 eyr:2028
+ecl:#a5419c
+hgt:75cm
+iyr:2011
+byr:2001
+
+pid:864001133
+cid:236
+byr:1943 hcl:#733820 ecl:dne eyr:2025 hgt:171cm iyr:1989
+
+pid:193073684 ecl:grn byr:1962 iyr:2014
+hcl:#cfa07d hgt:189cm
+cid:321 eyr:2029
+
+byr:1959
+hcl:#b6652a
+eyr:2026
+hgt:159cm pid:815014918 iyr:2011 ecl:amb
+
+iyr:2017 hgt:182cm
+hcl:#a97842 eyr:2023 ecl:grn pid:656177536
+byr:1973
+
+eyr:1923 ecl:grn
+cid:138 iyr:2020
+hgt:164cm byr:1958 hcl:#c0946f pid:783366277
+
+iyr:1932 hgt:172 ecl:blu
+hcl:#733820 byr:1962 pid:554221464
+
+cid:169 pid:922622614
+byr:1942 hcl:#ceb3a1 hgt:169cm eyr:2024
+ecl:gry iyr:2017
+
+cid:219 ecl:grn
+hgt:156cm byr:1998 eyr:2021
+iyr:2017 hcl:#ceb3a1 pid:450186263
+
+ecl:amb hgt:179cm pid:768428582 iyr:2010 eyr:2023 byr:1952 hcl:#fffffd
+
+eyr:2024
+hgt:193cm
+iyr:2017 pid:469033795 byr:1979 hcl:#18171d cid:67 ecl:amb
+
+iyr:2016 byr:1937 pid:798267514 hgt:155cm hcl:#866857 eyr:2026
+ecl:oth
+
+hgt:172cm hcl:#866857 iyr:2018 pid:662186551
+byr:1996
+eyr:2025 ecl:amb
+
+pid:2854521962
+iyr:2021
+ecl:zzz
+hcl:12f1ba eyr:2037 hgt:159cm
+byr:1937
+
+ecl:oth pid:488050418 byr:1927 hcl:#a97842 hgt:153cm iyr:2013 eyr:2024
+
+pid:119536312 ecl:#2036ad
+hcl:543178 iyr:2020
+byr:2013
+hgt:177cm
+eyr:2022
+
+pid:788908662 hcl:#602927 eyr:2029
+ecl:oth byr:1930
+iyr:2020
+hgt:179cm
+
+byr:1972
+pid:053386972 iyr:2014 ecl:grn hgt:65in hcl:#cfa07d
+
+pid:9828921035 ecl:blu
+hcl:z hgt:152in
+eyr:1949 byr:2010
+
+cid:157 pid:097910554 byr:1999
+hgt:159cm hcl:#6b5442 ecl:blu eyr:2024
+iyr:2010
+
+hcl:#a97842
+eyr:2040 ecl:#f8ad77
+hgt:173cm
+byr:2019 iyr:2010
+pid:#d16a6e
+
+ecl:dne hgt:191cm iyr:2020 hcl:#b6652a
+eyr:2021 pid:571971509 byr:1983
+
+hcl:#18171d iyr:2016 pid:159074622
+eyr:2027 hgt:163cm byr:1954
+cid:257
+
+pid:243560302 cid:58
+hcl:53a4cf byr:2012
+ecl:#fdbfb8 eyr:1920 hgt:179 iyr:2026
+
+pid:040606106 eyr:2030 hgt:188cm
+byr:1969
+iyr:2012 hcl:#ceb3a1 ecl:amb
+
+eyr:2022
+hgt:175cm hcl:#b6652a byr:1967 pid:269969031
+iyr:2018
+
+hcl:#18171d cid:278 byr:1931
+pid:134809791
+eyr:2035 ecl:#44e6cd iyr:1993
+
+hgt:177in
+ecl:utc cid:289
+iyr:1923
+hcl:13a67a pid:3045345984 byr:2030 eyr:1944
+
+pid:839901650 eyr:2030
+ecl:grn
+byr:2015 iyr:2017 hgt:168 hcl:131f4e
+
+iyr:2015 pid:529736732 ecl:brn hgt:176cm
+eyr:2026 byr:1952 hcl:#6b5442
+
+hcl:#c0946f
+cid:323 pid:303966428 iyr:2019
+eyr:2027 hgt:170cm
+byr:2001
+ecl:brn
+
+pid:193678728 hgt:72in eyr:2027 iyr:2015 byr:1951 ecl:gry hcl:#18171d
+
+eyr:2026 cid:283
+iyr:1938 pid:687430885
+hgt:186cm
+byr:1949 ecl:#521638 hcl:d13b2f
+
+eyr:2024 hcl:#ceb3a1 iyr:2013 ecl:brn
+hgt:168cm pid:792088241
+
+hcl:#888785 ecl:amb
+byr:2009 iyr:2015
+hgt:151cm
+eyr:2020 pid:223927808
+
+byr:1926
+pid:717704850
+hcl:#623a2f eyr:2022 hgt:64in iyr:2018 ecl:gry
+
+eyr:2023 byr:1954
+hgt:169cm
+ecl:hzl
+iyr:2010 pid:116868997 hcl:#18171d
+
+ecl:hzl byr:1965 hcl:#a97842 iyr:2011 pid:506354451 hgt:172cm eyr:2029
+
+eyr:2022 pid:994565705
+iyr:2013 ecl:brn hcl:#623a2f
+byr:1979
+
+iyr:2011
+byr:1931 hgt:183cm hcl:#284f26 cid:306
+ecl:amb eyr:2021
+pid:977533079
+
+eyr:2027
+iyr:2011 ecl:gry
+byr:1993
+pid:272334781 hgt:161cm hcl:#9a35b6
+
+eyr:2026
+hcl:#602927 ecl:blu
+pid:212300161 byr:1946
+cid:193 iyr:2020 hgt:157cm
+
+pid:538594567 byr:1976 eyr:2027 hcl:#efcc98 iyr:2011 hgt:154cm ecl:oth
+
+byr:1949
+hcl:z ecl:#ce67aa
+eyr:1942 pid:7978941589 iyr:2025 hgt:161in
+
+hcl:#c0946f
+cid:55
+byr:1963 ecl:blu hgt:161cm
+pid:547120453 iyr:2015 eyr:2021
+
+hgt:173cm eyr:2022
+iyr:2016 byr:2001
+ecl:hzl pid:239803460
+
+hcl:#b6652a ecl:oth eyr:2021 hgt:167cm pid:401266644 iyr:1969 byr:1974
+
+eyr:2030 pid:581963885
+hcl:#64cb23
+ecl:blu
+byr:1928 hgt:181cm iyr:2018
+
+pid:186338247
+ecl:hzl hgt:193cm hcl:#ceb3a1
+eyr:2022 iyr:2010
+
+iyr:2015 ecl:gry hgt:159cm eyr:2027 hcl:#ceb3a1
+byr:1925 pid:715902111 cid:149
+
+iyr:2018 hcl:#623a2f eyr:2020 hgt:162cm ecl:grn cid:135
+byr:1922
+pid:373216777
+
+eyr:2020 pid:749899012 hcl:#888785 ecl:brn
+iyr:2010 cid:225 hgt:172cm
+byr:1972
+
+iyr:2020 hgt:178cm ecl:grn hcl:#18171d pid:613792489 cid:240
+eyr:2028
+byr:1972
+
+iyr:2015 byr:1938 eyr:2026
+cid:113 ecl:grn
+pid:846231640 hgt:161cm
+hcl:#b6652a
+
+ecl:gry
+hcl:#ceb3a1
+byr:1956 cid:338 pid:936012518
+hgt:62in
+eyr:2029 iyr:2016
+
+pid:730866353 ecl:brn byr:1986
+iyr:2014
+hgt:190cm
+eyr:2021 hcl:#a97842 cid:126
+
+eyr:2021
+cid:180 pid:958310635 ecl:brn iyr:2015 hgt:189cm hcl:#efcc98
+
+hgt:188cm ecl:hzl pid:179001863 iyr:2016 eyr:2029 hcl:#341e13 byr:1932
+
+cid:77 eyr:2027 hcl:#623a2f iyr:2016 ecl:brn hgt:170cm
+byr:1947
+
+hgt:66in pid:617518313 iyr:2013 byr:1977 hcl:#b6652a ecl:brn eyr:2025
+
+pid:787861420
+iyr:2014 hcl:#623a2f hgt:61in
+ecl:oth cid:78
+eyr:2022 byr:1975
+
+ecl:hzl
+iyr:2017 eyr:2028 hcl:#602927
+byr:1958 pid:985208714
+hgt:160cm
+
+byr:2002
+iyr:2013
+hcl:#341e13 pid:188110633 ecl:gry hgt:169cm
+eyr:2025
+
+byr:1981
+eyr:2028
+hcl:#341e13 ecl:amb hgt:160cm cid:121
+iyr:2015 pid:963848397
+
+iyr:2013 hcl:#866857 pid:#db8648 eyr:2021 ecl:gry
+byr:1975
+hgt:153cm cid:114
+
+hgt:109
+cid:287 hcl:#6b5442
+iyr:2028 byr:1926 eyr:2036 pid:2378208387
+ecl:#245a62
+
+pid:857722366
+byr:1975 eyr:2027
+ecl:grn iyr:2019 hcl:#0afad1
+hgt:66in
+
+byr:1935 hcl:#cfa07d hgt:173cm ecl:brn eyr:2021 iyr:2019
+
+cid:66 eyr:2024 hcl:#efcc98 byr:2002 iyr:2010
+hgt:176cm pid:697153153 ecl:amb
+
+iyr:2019
+hcl:#cfa07d ecl:blu
+pid:695914972
+eyr:2024
+hgt:158cm
+byr:1943
+
+ecl:xry hgt:62in
+pid:14733148 cid:148
+iyr:2016 byr:1925 hcl:#6b5442
+eyr:2028
+
+iyr:2025
+cid:53 hgt:132 ecl:gmt hcl:159b19
+pid:156cm
+byr:2025 eyr:2001
+
+hcl:#623a2f ecl:oth byr:1974 iyr:2018 hgt:161cm eyr:2029 pid:6826285172
+
+ecl:gry
+byr:1956 hcl:#7d3b0c hgt:170cm iyr:2020
+
+eyr:2020
+pid:#946a88 hgt:186cm hcl:#733820 byr:1946 ecl:#016645 iyr:2015
+
+hgt:181cm hcl:#888785 iyr:2013 pid:634152817
+byr:1982 cid:245 ecl:grn eyr:2021
+
+ecl:brn
+pid:737531770 iyr:2010
+eyr:2020
+byr:1929 hgt:189cm hcl:#c0946f
+
+cid:158 iyr:2019 hcl:#341e13 eyr:2027 ecl:amb
+byr:1986 pid:834976623
+
+pid:976934668 cid:61 eyr:2020 iyr:2020
+hgt:76in byr:1927 ecl:amb
+hcl:#e05ee3
+
+pid:526042518 iyr:2019 eyr:2027 hcl:#623a2f byr:1976 ecl:amb
+
+pid:279367290 hcl:#a97842 hgt:158cm
+eyr:2027
+byr:1959
+iyr:2020
+
+ecl:xry byr:2028
+pid:357216861 hcl:#a97842 eyr:2024 hgt:66cm
+iyr:2012
+
+hgt:188in
+ecl:lzr cid:64 eyr:1958 byr:2014 hcl:z pid:285207570 iyr:2026
+
+eyr:1973 iyr:2017 ecl:oth cid:282 pid:695814158
+hcl:z
+
+iyr:2010 pid:661168409
+hcl:#53c696
+hgt:186cm ecl:amb
+byr:1960
+eyr:2029
+
+eyr:1982 hgt:169cm
+iyr:2002 byr:2025 hcl:327f93 pid:831648100
+
+byr:1967 ecl:oth
+eyr:2021
+hcl:#602927 iyr:2014
+pid:274974402 hgt:183cm
diff --git a/2020/inputs/day_5.txt b/2020/inputs/day_5.txt
new file mode 100644
index 0000000..11800ca
--- /dev/null
+++ b/2020/inputs/day_5.txt
@@ -0,0 +1,901 @@
+BBFBBBBRRL
+FBFFFFBLRL
+FBFBBFFRLR
+FBFFFBFRLR
+FFBBFFFLRR
+FFBBBFFRRR
+BFBBFBFLRL
+BFFFBFFLRR
+FBBBFFBLLR
+BBFFBBFRRL
+BFBBBBBRLR
+FBBBBFFLLR
+FFBFFFBLLR
+FFBBFBFRRR
+BBFBFFFRRR
+FFBFFBBLLR
+FBBFFBBLRL
+FFBBBFBLLL
+FFBFFBBLRR
+FBFFBFBLLR
+FFFBBBFLLL
+BFBBFBFRLR
+BBFBBBFLLL
+FBBBFBBRLL
+FFBBBBFRRL
+BFBBBBFLRR
+BBFBBFBLRL
+FFBFFFBLRL
+BFBBBBBRRR
+FFFBFBFLLR
+BFBFBBBLLR
+FFBFBBBLRL
+FFFBFBBLRR
+BFFBFFFLLL
+BFFFBFBLRL
+BFBFFFBRLL
+BBFFFFBRLR
+FBBFFFBLRR
+BFFFFBFLLL
+BBBFFFFLLL
+BFBFFBBRLL
+BBFBFFFRRL
+BFBBFFFRLR
+BBFBFBFRRL
+FBBFFBFRRL
+BFBFBFFRRL
+FFBFFFFLLR
+FBBBFBBLLR
+BBFFBFBRLL
+BFFBFBBRLL
+FBBFFFFRRR
+BFFFBBBLRL
+FFBBFFBLLL
+FFFBBFFRRL
+FBFBBBBLRR
+FFBBBFFLLL
+FBFBFFBRRR
+FBBFFBBLLR
+FBFFBFFRLL
+BFBBBFFRLR
+FBFFBBBLRR
+FBFFFFBRLR
+BBFFBBFLRL
+FBFFBBFLRL
+FBFBBFFRRR
+BFBBBFBLRL
+FBFBFFFLLR
+FFFFBBBLLR
+BFBFFBBLLR
+BFFBBBFRLR
+BFBBBFFLRR
+BBFFFBBLLR
+BFFFBBFLRL
+FBFFBFBLRL
+FBBBFFFRRL
+FBFFFFBLLL
+BFBFFBBRLR
+BFBFBBBLRL
+BFFBFBBRLR
+FBBFBBBLLR
+FFBFBFFRLL
+FFFBBBBLRR
+BFBFFFFLLL
+BBFBFBBLLR
+BFFFBBBRLR
+FFBFFBFRLR
+FBBFBBBLRL
+BBFFFBBLLL
+FFBFFBBRRR
+FBBBBFBLLR
+BBFBBFFRLL
+BFBBBBFRLR
+BBFBFFBRLR
+FFBFFFFLLL
+BBFBFBFRLL
+FFBFFBBRLL
+FBBFFFFRLR
+FFBBBBBRRR
+BBFFBBBLRL
+BFFBBFBRLL
+BFFFBBFRLL
+BFFBFBFLRL
+FBFFFFFRRR
+BFFBFBBRRL
+FBFBBBFLLR
+FBFBFBBRLL
+BBBFFFFRRR
+BFBFBFFLRL
+FFFFBFBRLL
+FFBBFFBLRL
+BBFFBFBLLL
+BFFBBBBRLL
+BFFBBBBRRR
+BFBBBBFRRL
+BBBFFFBLRL
+FFBBFFFRRR
+BFFFFFBRLR
+FFFBBFBLLL
+BFBFBBFRLR
+FBBBFBFLRL
+BFBFBFFRLR
+BBFBBFFLRL
+BFFFBFBLLL
+BFFFFBBRLL
+FFBFFFFRRL
+BFFBFBBLLR
+FFFFBBBLLL
+FBBFFBBRRL
+BFBFFFFLLR
+FBFBFBFRLL
+FBBBBBBLRR
+BBFFFFBLRR
+FFFFBFBRRR
+FBBBBFBRLL
+BBFBFBBLRR
+FFBBFBFLLL
+BFBBFFBLRL
+FFFBBBBRRR
+BFBBFFFRLL
+BFBBBFBRRR
+FFFFBBFRLR
+FFBBFBFLRR
+FFFFFBBLLR
+BBFBBFBRLL
+FBFBBBBRLR
+BBFFFFBLRL
+FBBFFFBLLR
+FFBFFBBLLL
+FFFBBBFLLR
+FFFBBBFRRR
+FFBBBFBRRR
+FFFBBFFRRR
+FFBBFFBLLR
+BFBFFBFRRR
+FFBFBBFLLR
+BFFFFFFRRR
+FFBFFBFLRL
+BFFBFBBRRR
+FBFBFFFRLL
+BBBFFFBLLL
+BFBBFBFRRL
+BFFFFFBLRR
+FBBBBBFRRR
+FFBBBBFLRR
+BBFBBBBLRR
+BBFBFBFLLR
+FFFFBBFRRR
+FFBBBBBLLR
+BFFFBFBRLR
+FBBBFFBLLL
+FFFFFFFRRR
+FFFBFBFRRL
+BFBBFBBLRR
+FBBBBFBLRL
+FBBBBFBRRR
+BFFFFBFRRR
+BFFBBFFLLL
+FBBFBFBLRL
+BFBBFFFRRL
+FBFBFFBRLR
+FBFFBFFLRR
+BFFFBFBLLR
+BFBBFFBRRR
+BBFBBFBLLL
+BFFBFFFLRR
+FFFBBFFRLL
+BFBBFFFLLL
+BFFFBBBRLL
+FBFFBBFRRR
+FFBFBFBLLR
+FBFFFFBLRR
+FFBBFFFLLL
+FFFBBBBRRL
+BBFBFFFLLL
+BBFFBBFLLR
+BFBFBBBRRR
+FBBBBFBRRL
+FBFFFBFLLR
+FBFBBBFRRR
+BFFFBFBRRL
+FBFBBBFLRL
+BBFFBFFLRL
+BBFBBFFLLR
+FFFFBFFRLL
+FFFBBBBLRL
+FBBBFBFRLL
+BBFFFBBLRL
+FFFBFFBLRR
+BBFBFBBRRL
+FFFFBBBRRR
+FFBBBBBLRL
+FFFFFFBLLL
+FBFFFFFRRL
+FFFFFBBLRR
+BFFFBBBRRL
+FBBFFFFLRL
+FFFFFBBRLR
+FFBFFBFRLL
+FFFBBBFRRL
+BFBBBFFLRL
+FFFFFBFLRR
+BFBFBBBRLR
+FBFBBBFLLL
+BFBFFBFLRL
+FFBFBFFRRR
+FFBBFFFRLL
+BFBFBFFLLL
+FBFBFBBRLR
+BFFBBBFRRL
+FBFFBBBRRR
+FBFBFBBLRR
+BFBBBBFLLR
+FFFBFFFRLR
+BFBBFFBRRL
+BFFFBFFLRL
+BFBFBBFRRR
+FBBFFBFLLL
+FFFFFFBLRR
+FBFFBFBLRR
+FFBBBFFLRR
+FBBBFFBRLL
+BFFFBBBRRR
+FFBFFFFRLL
+BBFFFBFRRR
+BFFBFBBLLL
+BFBBFFBRLR
+FFBFBBBLRR
+FFFBFBBLLL
+FFFBBFFLLL
+FBBBBBBLRL
+BFBFBBBLLL
+BFBFFFFRRL
+FFBFBBFRRR
+FFBFBFBRRL
+FFFBBBBRLL
+BFFBFFBRLL
+BBFFFFBRRL
+FFBFBFBLLL
+FFBFBFBRLL
+FBFBBBFRRL
+FBFFBBFRLR
+BBBFFFFLRL
+FBFBFFFRRL
+FFFBFBFRLR
+FBFBFBBRRL
+BFBBFBBLLL
+FFBBBBBRLL
+BBFFBFBRRL
+FFFBFFFRRR
+FBBFBFBLLL
+BFFFBFFRLR
+FBFBFFBRLL
+BBFBBFFLLL
+FBBBBFFLRR
+FFBBBFFLRL
+FBBBFFBRRR
+FFBBFBBRLR
+FBFBBFFLLR
+BFBBBFFLLR
+FFFBBFFLRR
+FBFFBFFLRL
+BFBFBFFLRR
+BBFBFFFLLR
+FFFBBBBLLR
+FFBBFFBRLL
+BBBFFFBRLL
+FBFFBFBRRL
+BFBFFFFRLL
+FBFBFBFRLR
+BBFFFFFLLL
+FFBFBBBLLR
+FFBFBFFLRR
+FBBBBFBRLR
+FFBFBBBRLR
+BFFBBBBLRL
+FFBBBBBRLR
+BFBBBFFRRR
+FBFBBFBRLL
+FFBFFFBRRL
+BBFBFBFLLL
+BFBBBFBRLR
+BFBBFBFLLR
+FBBFBFFRLL
+FFBFBBFLRR
+BFFBFBFRLL
+FFBBFBBLRL
+FBFBFBBLRL
+BBFFFBFLLR
+BFBFBBBLRR
+BBFFBBBLLR
+BBFFFFBRRR
+BFFFFFBLRL
+FBBBFBBRRR
+BFBFFFBLLL
+FFFBBFFLLR
+BFFBBFFLLR
+BBFBBBBLRL
+FBBFBFFLRR
+FBFBFFBLLR
+BFFFFFFLLL
+BFFBBFFRLL
+BBFFFFFLLR
+FBFFBBFRRL
+FBBFFFFLLR
+BFBFFBBRRL
+FFBFFFBLLL
+BFFFFFBLLR
+FFBBBFBRRL
+FFBBBBFLLR
+BFBFFFBLLR
+FFFFBFFRLR
+BFBBFFBRLL
+FFBBBBBLLL
+FBBFBFFRRR
+BFFFFFFLLR
+FFBBBBBLRR
+FFFFFBFRRR
+BFFFBBBLLL
+BFFFBFFRRR
+FFBBBFBRLR
+BFFBBBBLRR
+BFBBBFFRRL
+BFBFBFFRRR
+BFBBFBBRLR
+BFBBBBFRLL
+FFBBBBFLLL
+FFFBBFBLRR
+FBBFBBFRLR
+BBFBBFFLRR
+FBBFBBBRRL
+BFFBFFFRRL
+BFFFFBFLRR
+FFBFBBFLLL
+FFBFBBBLLL
+FBFFBFBRRR
+FFFBFFBRLL
+BFFFFBFLRL
+FFFFBFFLLR
+BBFBBBBRLL
+FBFBBFBRRR
+BFFFBBBLRR
+FBFFFBFRLL
+FFBBBFBLRL
+FBFFFBBLRR
+FFBBFBFRLR
+FBBBBBFLRL
+FFFFBFBLRR
+BFBFBFBLRR
+FFBBFFFLRL
+BFFBBBFLLR
+FFFFFFBRLR
+FFBBBFBLRR
+FBFBBFFRLL
+BBFBFBFRLR
+FBBFFFFLLL
+BFBBFBFRRR
+BFFBBBFRRR
+FBFFFBFLRR
+FBBFFBFLRL
+BFBBFFFLRR
+FFBFFFFLRL
+BFFBFFBLLL
+FFFBFBBRRR
+BBFFBFFLRR
+BBBFFFFRRL
+FBBBFFBLRL
+FBBFFBBLRR
+FFBFBFFLLR
+FFFBBFFRLR
+FBBBFBBRLR
+FFFFBBBLRR
+BBFFBFBRRR
+FBFBBFFLRL
+FBBBBFFLLL
+FFBFFBBRLR
+BBFFFFFLRR
+FFBFBFBRLR
+FFBFBFBLRL
+FBBBFBBLRL
+FFFBFBBLRL
+FBFBFFFRRR
+BFFBFFFRLR
+BFBBFFBLLR
+BFBFFBFRLL
+FBFBFBFRRR
+FBFFFFBRLL
+FFFFFBBRRR
+FBBBFFFLRL
+FFFBFFBRLR
+BFBFFBFLRR
+FBBFBBFRRL
+BFBBBBFRRR
+BFFFFBBLRR
+FBFFFFFLLL
+BFBFFFBRRL
+FFFBFFBLRL
+FFBFFFBLRR
+FBBFFBFRLL
+BBFBFFBLLL
+BBFFBBFLLL
+FFBBBFFRLL
+BFBBFFFLRL
+FBBFBFFLLR
+FBFBFFBLLL
+FFBBBFFLLR
+FBBFFBFLRR
+FBBFBBFRRR
+BFFFFBBLLL
+FFFBFFBLLR
+FBFBFFFRLR
+FBFBFBBRRR
+FBFBBFBRRL
+BBFBBFBRRR
+FFFFBBBRLL
+FBFFBBBLRL
+BBBFFFFRLL
+FBFFFBFLRL
+BFFFFBFLLR
+FBFBBFFRRL
+BFFBFBBLRR
+FBFBBBBRRL
+FBFBFBBLLR
+FBFFBBFLRR
+FFFFBFFLLL
+BFBFFFFRRR
+BBFFBBBLRR
+FBFFFFFLLR
+BBFBFFFRLR
+BFFFFBBRLR
+FBFFFFFLRL
+FBBBFBBLRR
+BFFBBFBLLL
+BFFBFBBLRL
+BFFBBBFRLL
+FFBFFBFRRR
+BFBFBFBRLL
+BBFBBFBLLR
+FBFBBFBLRL
+FBFFFBBRLR
+BBFBFFBRLL
+BBFFFBFRLR
+FBBFFFBLLL
+BBFBBBBLLL
+BFFFFFFLRR
+FBBBBBFRLL
+BFFFBFBRRR
+BFFFFFFLRL
+FBBBBFBLRR
+FBFFBBBRLR
+FFBBFBFRRL
+FFBBFBBRRL
+FFFBFBFRRR
+FFBBBBFLRL
+BFBBFFFRRR
+FBFBBBBRLL
+FBFFBBFRLL
+FFBFFFFRRR
+BFFFFBBLLR
+FBFBBFBLLR
+BBFFBBBRRR
+FBBFBBBRLR
+BFBFBFFRLL
+BFFBBFBLRL
+BFFBFFFRRR
+FFBBBFBRLL
+FBFFBFFRRL
+FBBBBFFRRR
+FFFBBBFRLL
+BBFFFBBRLL
+BBFFFBBRLR
+FFBBFFFRRL
+BBFFBFBLRR
+BBFBFFBRRR
+BFBBBBBLRR
+BFFBBFFLRL
+BBFFFFBLLL
+FFFFBFBRRL
+FBBFFBBRRR
+FBBBFFFLRR
+FBBFBBFLRR
+FBBBFBBLLL
+FFFFBBFLRL
+FFFFFBBLLL
+BFBBBBBLLR
+BFBFFFFLRR
+FBFFFFBLLR
+BBFFBBBRLL
+FBFFBFFRRR
+FFBBFBFLLR
+BBFBBBFLRR
+FBBBBBBRLL
+FFFFFFBLLR
+FFFFFBFRLR
+FBFFBFBRLL
+BBFFBFFRRR
+BFFBFFFLLR
+FFBBFBBLRR
+BBFFBBBRLR
+FFBBFFBRRL
+FBBBBFFRRL
+BFBFFFFRLR
+BFBBBFBLLL
+BFBFFFBRRR
+FBBBFFFRLR
+BFBBFFBLRR
+BBFBBFFRLR
+BBFFFBBRRR
+FFFFBBBRRL
+FFBFBBFRLL
+FBFFFFBRRL
+FBBBFFBRLR
+FFBFFFBRRR
+FBBBBBBLLL
+BFFBFFBLRL
+FBFFBBBRLL
+BBFBBBFRLR
+BFBFBFBRLR
+BBFFFFBRLL
+FFBBFBBLLR
+FFBBFFBRLR
+BBFBBBBRLR
+BFBBBFBLLR
+FFFFBFFRRR
+BBFFFBFRRL
+FBBFBBBLLL
+FFFBFFFLRL
+BFFFFBBRRR
+FFFBFBFLRL
+BBFFBBFRRR
+FBBFFFFLRR
+FFFBBBFLRL
+BFFBBBFLLL
+BFBBFFBLLL
+FFFFFFBLRL
+FBFFBFFLLL
+FBBBBBBRRR
+FBBFFBBRLR
+BFFFBBBLLR
+BBFBBBBRRR
+BFBFBFFLLR
+BFBFFBFRLR
+FBBBFFFRRR
+FFBFBBFRLR
+FFFFFBFRLL
+FFBFBBBRRR
+BFBFFBBLLL
+FBBBBBFRLR
+FFBBFBBLLL
+BFBFFBBLRL
+FBBFBFBRRL
+BFFBBBBRRL
+FBBFFFBLRL
+FBBFBFBLLR
+FBBFBBBLRR
+BFBBBFBRRL
+FBBBFBFLLL
+BFFFBFFLLR
+FBBBFBFLRR
+FFBFFBBLRL
+BBFBBBBLLR
+BFFFBFFLLL
+FBFFFFFLRR
+BBFBFBBLRL
+BFBFBBFRRL
+FBFBFFBLRR
+BFFFFFFRRL
+BFFFFBFRLR
+BFBBFBBRLL
+BBFFFFFRLL
+FFBBFFFLLR
+FFFBFFFLRR
+FFFBFFBRRR
+BBFBFFBLLR
+BFFBFFFRLL
+FBFBFFBRRL
+BFBBBFFLLL
+BBFFBFBLRL
+FBFBBFFLRR
+FBBFBBBRRR
+FFFBBFBRLL
+FBBFBFBRRR
+BFFFBBFLLL
+FBBBFFBLRR
+BFBFFBBRRR
+FFFFFFBRLL
+BBFFFBFLRL
+BFBFBFBRRR
+BFFFBBFRLR
+BFBFFFBLRR
+FFFBFFBRRL
+BBFFFBBRRL
+BFBBBFBRLL
+BFBFFFBLRL
+FFFBFFFLLR
+BFFBFFFLRL
+BBFBBFBLRR
+FBBBFBBRRL
+FBBFBFFRLR
+FBFFFFFRLR
+FBBBBFFRLR
+BFBFBBFRLL
+BBFBFBFRRR
+BFBFBFBRRL
+FBBBBBBRLR
+BFBFBBFLLR
+BFFFBBFRRL
+BBBFFFFRLR
+BBBFFFBLLR
+FBFBBBFLRR
+FBFFFBBLRL
+FBFFBBBLLR
+BFBFBBFLRR
+BFBBFBBLRL
+BFFFFFBRRL
+FFBBFFFRLR
+BFFBBFFRLR
+BFBFBFBLRL
+BFFBFBFRLR
+FFBBFFBRRR
+BFBBBBBLLL
+BBFFFFFRRL
+BBFFFFFLRL
+FFFBBFFLRL
+BFBBFBFRLL
+FFFBBBBLLL
+FFFFFBFLRL
+FFFFBBFLRR
+FBFFFBFRRR
+BFFBBBBLLL
+BBFBBFFRRL
+BFFFBBFLLR
+FBBBFFFLLL
+FFBFFBBRRL
+BFBBBFBLRR
+BFFBBBFLRL
+BFBBBBBRLL
+FFFBBBFRLR
+FFFFBFFRRL
+FFBFBFFLLL
+BBFBFFFLRL
+BFFFBBFLRR
+FFFBFBFRLL
+BFBFFBBLRR
+FFFBFBBLLR
+BBFFFFFRLR
+FFBFBFFRRL
+FFFFFBBLRL
+FBBBFBFRRL
+FBBBBFBLLL
+FFFFBBBRLR
+FBBBBFFLRL
+BFBBBBBRRL
+BBFFBFBLLR
+FBFBFFFLRL
+FBFFFBFRRL
+FFFBBFBLRL
+BFFFFFBLLL
+BFFBFBFLLL
+FFFFBBFRRL
+FFFBFBBRLR
+FBFBBBBRRR
+FBFFBBBLLL
+FFBBBBFRRR
+BFFFFBFRLL
+BBFBFBBRLR
+BFFBBBFLRR
+FBBFBFFRRL
+FFFFFBFLLL
+BBFBFBFLRR
+FFBFBBFLRL
+BFFBBFBRLR
+FFBBBFFRLR
+FFFBBFBRLR
+FBFBBBBLLR
+BFFBBBBLLR
+BBFBFBFLRL
+BBFFFFFRRR
+FFFBFFFRRL
+FBBFFBFRRR
+BBFFBFFRLL
+FFBBFBFRLL
+FFFFBFBLLR
+BBFFBBFRLL
+BFBBBBFLRL
+FBFFBFFRLR
+BFBFBBFLLL
+FFFFBBFLLL
+BFBBBBBLRL
+FFBFBFBLRR
+BFFFFFBRRR
+FBFBBBBLRL
+FBBFBBFLLR
+FBBFFFFRRL
+FBFFFBFLLL
+FBFFBBBRRL
+FFBFFFFRLR
+FBBFBBBRLL
+FFFFBFBRLR
+FFBFBBBRRL
+BFFBFBFRRL
+FFBFFBFLLL
+BFFBFBFLRR
+BBFBFFBLRL
+BBFFBFFLLR
+BFBBBBFLLL
+BBFBBFFRRR
+BBFFFBBLRR
+BFBFFBFRRL
+FBBFBFBLRR
+BBFBBBFRRR
+FFFBBFBLLR
+FFFBFFFLLL
+FBBBFBFLLR
+BFBBFBFLLL
+BFBFBFBLLL
+BBFFBBFLRR
+FFFBFBFLRR
+BFFFFFFRLR
+BBFBFBBRRR
+BBFFFBFRLL
+FFFFBBFRLL
+FBBFBBFRLL
+FBFFFFBRRR
+FBFFBBFLLR
+BFFBFFBLLR
+FFBFFBFLRR
+FBFFBFBRLR
+FBFBBFFLLL
+FBBFFFBRRL
+FBFBFBFRRL
+FFBFBFBRRR
+FBFBFBFLRL
+FFFBFBBRLL
+FBBBFFFLLR
+FFBBBBFRLL
+FBFFFBBRLL
+BFFBFFBLRR
+FBBFBBFLRL
+FBFFFBBRRR
+FBFFFBBLLR
+BFFBFFBRRR
+FBBBFBFRRR
+FBFFFFFRLL
+BBFBBBFRLL
+FFFBFFBLLL
+FFBFFFFLRR
+FBFFFBBRRL
+BBFFBFFRLR
+FBFBFBBLLL
+FBBBBBBLLR
+FBFBBFBLLL
+BBFBFFFLRR
+BFFFFBBRRL
+BBFFFBFLRR
+FFBFFFBRLL
+FFFFBBBLRL
+BFBBBFFRLL
+BBFBFFFRLL
+FBFBBBBLLL
+BBFBBFBRLR
+BBFFBFBRLR
+BFBFFFFLRL
+FBBBFBFRLR
+FFBFFFBRLR
+FBBBBBFLLR
+FFBBBFBLLR
+BFFBBFBRRL
+BBFFBFFRRL
+FFFFFFBRRR
+FFBBFBBRRR
+FBBBBBBRRL
+BFFBBFFRRL
+FBBFBFBRLR
+FBBFFFFRLL
+FBBBBBFLLL
+FBBFFFBRRR
+BFFFFBBLRL
+FFFFBFBLLL
+FBFBFFFLLL
+FBFBBFBLRR
+FFFFBFFLRR
+FFFBBBFLRR
+FBFFBFFLLR
+BBFFBFFLLL
+FFBFFBFRRL
+BFBBFBBRRR
+BBFFFBFLLL
+FBFFBFBLLL
+BFFBFFBRRL
+BBFBFFBLRR
+FBFBFFFLRR
+BFBBFBBLLR
+BFFBBFFRRR
+FFFFFFBRRL
+BBBFFFFLLR
+BFBFFBFLLL
+FBBBBBFRRL
+BFFBBBBRLR
+FFBBFBFLRL
+FBFBFFBLRL
+FFBBBBFRLR
+BBFBBFBRRL
+FFFFFBFLLR
+FBFBFBFLLL
+BFBFBFBLLR
+FFFBFFFRLL
+BFFBBFBLLR
+FFBBFBBRLL
+FFFBBFBRRL
+FBBFFBBLLL
+FFFBBBBRLR
+FFFBBFBRRR
+BBFFBBBRRL
+FBBFBFFLRL
+FBBBBBFLRR
+BBFBFFBRRL
+FFFBFBFLLL
+FBBBFFFRLL
+BFFBFBFLLR
+FFBBBBBRRL
+BFFBBFFLRR
+FBBFBFBRLL
+BFFFBFFRRL
+BBFFFFBLLR
+BBFFBBFRLR
+BFFFBBFRRR
+FBFBBFBRLR
+FFFFFBBRLL
+FBBFFFBRLL
+BFFFFFBRLL
+BFFFBFBLRR
+BFFBFFBRLR
+FFFFBFBLRL
+FFBFFBFLLR
+FBBFBFFLLL
+BFFBFBFRRR
+BBFBBBFLRL
+BBBFFFFLRR
+BFBBFFFLLR
+FBBFFFBRLR
+FFFFFBFRRL
+FFFBFBBRRL
+BBBFFFBLRR
+FFBFBBFRRL
+FFBBFFBLRR
+BBFFBBBLLL
+BFBFBBBRRL
+BFFFBFBRLL
+FFBFBBBRLL
+FBFBFBFLRR
+FBFFFBBLLL
+FBBFFBFLLR
+BFFFFBFRRL
+FFBBBFFRRL
+FFBFBFFLRL
+BBFBBBFLLR
+FBBFFBFRLR
+FBBFFBBRLL
+BFBFFFBRLR
+BFFFBFFRLL
+BBFBFBBRLL
+BFFFFFFRLL
+FBFBBBFRLL
+BFBBFBFLRR
+BFBFBBBRLL
+BBFBBBFRRL
+BFFBBFBRRR
+BFBFFBFLLR
+FBFBFBFLLR
+FFFFFBBRRL
+FBFBBBFRLR
+FBFFBBFLLL
+FFBFBFFRLR
+BBFBFBBLLL
+FFFFBFFLRL
+FBBFBBFLLL
+BFBFBBFLRL
+FFFFBBFLLR
+BFBBFBBRRL
+FBBBFFBRRL
+FBBBBFFRLL
diff --git a/2020/inputs/day_6.txt b/2020/inputs/day_6.txt
new file mode 100644
index 0000000..ae67ede
--- /dev/null
+++ b/2020/inputs/day_6.txt
@@ -0,0 +1,2199 @@
+nvlyak
+nyvha
+yaen
+qynia
+
+kend
+endk
+
+atxcykpvmb
+pcvmthyxbak
+ayvpcbtkxm
+cvpkyabtmx
+typbmvckxa
+
+s
+s
+s
+s
+
+on
+aoqc
+owq
+coa
+
+pw
+wpi
+pwxlhqor
+pw
+
+nx
+xn
+
+dlevrzpucfmsq
+pceimlrfsquvd
+dpceruqsfmlv
+hgxudfpqyvbcslrjname
+
+kczmswvorg
+uryvlqaogmdixs
+rmostvg
+gsrmovb
+
+ref
+fer
+
+vmwdhgnlfiyoepsujbk
+epudykjwhignmfbovsl
+fjvuimnwbkogsldhpey
+ibmhuscpgeolfkynvdwj
+psjgubfvlhaknodeiywm
+
+fmnpljusix
+vqrefngyjdahclk
+lfjons
+
+y
+uiwl
+
+lsuqkmjinrzhgevfpwto
+gkmodihnsjtful
+ciguflhkojmtsn
+thkjnoufsimgl
+oskgmdfljntuhi
+
+gaktdwxhmqvfrpsuc
+hmtwkgipdvaurxqf
+akrmpxtughdqwfbv
+gumqniswhrdkvftaxp
+hagouqxpzrjlmedftywkv
+
+zkbyecw
+kczeybw
+wbeyakuzc
+
+iwdkjlarzfynvechgbxsq
+jetfxrzdbcksnavilmwgyh
+wvexlryjbizfgkhanqdcs
+
+vk
+kv
+kv
+vk
+
+yrguw
+rguyw
+pwuryg
+gnuwry
+
+dyhkusanvjwc
+ukaywncj
+uyqjknwac
+aknyjcuw
+jnukwaytxc
+
+toczmkldrevywiajgn
+jyldmgewcvrozinkat
+iynkmatdjerlogzwvc
+
+pthyrfjgqelxa
+qfejxtrynlh
+xwdfkuziyhejtqovrmlc
+
+osjrgc
+vohfpa
+goc
+gjo
+
+j
+jon
+j
+xdj
+
+bpqhmgwzakfrtjvuno
+eafupgombqnwrkzth
+frwqtdngpbhuaklzmo
+wgtnuchpkqibfzmravso
+mfbtvkghauzopnrwq
+
+xiocgdwpastbmyj
+rdzgcbtfaomsy
+dstgbcymozkqal
+
+xvc
+cvx
+xvc
+xvc
+
+dhvtlqkeniymjzoa
+eoazjnhvtkyqdlm
+koltmeyqjhzdva
+doumkhrlyzjqeagtcv
+
+mn
+mfhw
+
+kx
+x
+jm
+
+x
+xv
+
+tdhyubvwqfxejslpringc
+xqhvtbfwrygsdapjiulnec
+vnwbsurdiexghpjtlycqf
+
+pqtdgsmkolzryca
+qjguxdratfeclpmoy
+
+twnviyzmlk
+gknjmyqvziwl
+
+deoabzihqvycxn
+iqcxadpehvry
+
+dbflcxvnapwgei
+pchmodnafl
+hadcflpn
+dlcfanp
+
+tk
+kt
+
+peuroxtzyg
+iwdcnlqfskmbavjh
+
+mjfh
+ynkbrsdpwoqtagci
+lvx
+ujxez
+xl
+
+gyuszwb
+sioduawzrglb
+tsbumxwzg
+zwgeuxbs
+
+tujvkwpy
+tyvrpmjfk
+vwpkuyjt
+
+wdkqailvjmfcshugy
+qugwvlxdsikhfmyjac
+dkiscawvyfqhmjlug
+
+noblsu
+snloub
+sulobn
+lonubsm
+
+osecqjbfg
+fljbmiose
+ojesfbt
+
+zmctviabre
+ajzmicetrvb
+ctmivabzre
+yrztbmieavc
+mivcbtazer
+
+tyql
+osmjgxzrcakn
+iwftdbl
+
+nmqflphkvyjcatgbzd
+jxzemtvdknwqr
+
+ilxrytkdpmsevfjchozqw
+tpdrjxwihvlycozemsfkq
+hitwfmzvjpylcodbqxsrke
+
+flhp
+pflh
+
+ao
+a
+o
+o
+gljzn
+
+ajmkvwqu
+ogvjzwta
+whalvuj
+
+mhktpynfrjgblaqueox
+anmjxplvibukhztqersy
+tabljcpemkyrxhunwq
+
+lnkvfawqo
+nofpsqwavylz
+vofwalqen
+hcnowiaqlfv
+
+dofxbaqrtnyvkpljmhsu
+uklstfynmbxhapojqi
+tufmnpaqyojsklxhb
+oanlusqmxftkpjbhy
+
+tpjle
+the
+vtpez
+ytern
+ouecxwfkt
+
+jbna
+xepqbmufn
+ybjni
+
+jklhaxoqysbt
+tzwpcf
+tenfcvdmpzu
+
+kyqumgfrdiapzwojtvch
+fvczqjrgadiwhnpluomk
+dpwkmrjzauiqvfgcho
+nkpwrmzidfahcvjuogq
+azrkxioghpvcudmwqfj
+
+udjshwgpeaozimcl
+fylwnoevcza
+evlakborcfwz
+
+xhued
+iubgewo
+
+lywovcemagd
+ahveyomxsl
+oqzyfljavbe
+
+pkyn
+befycqpi
+pysk
+yp
+
+mgi
+mgi
+digm
+gmi
+
+cgdqeoyfjranxuv
+lwnkzeptsdqihvcujmg
+
+wzqrhgibdxuyl
+ludbwqxgiyr
+yruxibwdgql
+bgtwqxruylid
+buyrwlidgxq
+
+gqwvxspbl
+xvbwpsgql
+bspgxwvql
+cwlxsvqgpb
+sgpxqblwv
+
+camqk
+onaslperix
+jauw
+yatm
+
+z
+z
+z
+z
+z
+
+fx
+fxe
+
+goemcr
+roegm
+sgmxiero
+ogmert
+germo
+
+czgdxtiprhnwqeujkfl
+dyhmkanzwbv
+
+n
+e
+
+dkcjqbw
+o
+gp
+h
+
+zbwcu
+ubf
+mveurnab
+
+tqwbxuc
+qcwutxb
+ucbxwqt
+xqwutbc
+xqtuwcba
+
+uwhqrt
+wrtq
+trwq
+crtqw
+wrtqc
+
+rqfntm
+nrqm
+rqmn
+
+limsht
+alstikh
+ilhst
+uhitls
+lsahti
+
+oaex
+vsgyo
+lziu
+
+cwqdlxbst
+cdxtlwbsq
+
+hgqc
+hgdq
+qhg
+
+eh
+he
+eh
+
+zfutalwkxms
+ukxltsfzmwa
+
+zpklocsqgwyhb
+zobyqhlcksgpw
+zhspqwovjylkgbc
+
+ymkudfqethwgji
+emtuyfwghjdqki
+zwyeumktfhjdirgq
+wymqgifkudjteh
+
+edhqnrxtpz
+tqdxznrhep
+qzepndrthx
+exzrhnqptds
+zetyhrpdqunx
+
+vmleax
+valxum
+vpmlax
+axlpvumz
+clvamxbn
+
+ebt
+xr
+rl
+u
+
+vzny
+nz
+nz
+
+ywebzj
+ywefjzb
+bxwnjcyzkep
+zjeywfpb
+yldrbhsizajewvu
+
+hfd
+dmf
+fadh
+dvmf
+fcousnld
+
+egar
+hwnrgzcp
+bgofedjr
+jkruvsylg
+rdvgue
+
+jsge
+hesqg
+esug
+
+xaoz
+ocuqev
+fwgrlp
+otxv
+
+fzemjdhwb
+xhdmjzbe
+
+ytsfpumedxqvzhl
+fdteschymvxqlpz
+phyrfwtqlaxgvznesd
+hvlextsbqpzyfd
+jydlhetzoqfpsvix
+
+jxkrobp
+rsplxbgk
+yxmbpkorhj
+
+injbuyktrcs
+bcsriktuny
+skyrhbtnucxe
+
+duck
+cykuv
+osfcurnlwax
+uvmc
+
+vpt
+tpv
+pvt
+vpt
+vtp
+
+dacxvsi
+icaxsd
+xdihcneas
+
+nf
+nkf
+fn
+
+yrewaxckd
+wtydesfcr
+erdftwqyc
+
+hmfezapkqjyri
+ekqajhyzfpmri
+raikjeqmhfypz
+qjmyrekfzphai
+frtjeqkimhazpys
+
+ryxmsbqovuidphfwecajnz
+hdjmiqbxnpvouyfcewsazr
+vubyrcmqeswafxjzhinpdo
+cbjmnaoqurlhsifvwzdexyp
+
+iu
+ui
+isutlr
+iu
+iu
+
+lftaziorb
+rvamfeyjgqnx
+frtak
+aifr
+aftzr
+
+us
+schk
+
+bjafywgieth
+tifbhyjgwade
+imhwefbgatjy
+wgtyifejbah
+
+a
+yj
+b
+iab
+
+qkgazumerlhb
+syritxopfvd
+
+gdiakrne
+ygdpcwqfbmikzanver
+dolarkigen
+gtkanierdh
+
+axv
+axdvl
+
+erpjfh
+prgjfeh
+hrejpf
+pejfhr
+ejrhfp
+
+zijsrtcqdxmy
+mtxdfyji
+timydgxj
+jtmhvakxidyn
+iyjmwdvxnt
+
+rh
+har
+
+tdoyugpljirwenzx
+nurlzgjtyopide
+jnrlitgpzdoyue
+zlptnudjryogie
+pzgyeoliturnjd
+
+ivcyexsotkzqmr
+sgfjhqnpy
+
+omw
+joq
+mop
+
+welbhpzftgjinqyk
+gwpdjqacitshlbykfzmrx
+
+sygqwn
+fwyqsdg
+scgwqy
+
+gdjzwbhltxs
+dlkojzbq
+jfavyipcembun
+
+cydkuqlhan
+uavstnychbqxk
+azqntcuyhk
+
+k
+bf
+z
+w
+
+gyh
+e
+
+rhmpg
+pmhgr
+rpmhg
+
+pas
+vhtsaqfgnu
+kpjsa
+sab
+jcopska
+
+tsjabirpehudncx
+custniapedhxrb
+cepnuastxhdirb
+shbpetcdaxuinr
+dbtiepaucrshnx
+
+tuswfrqpgxk
+kprjsdtqxunf
+pxwfrtuqske
+xwskmfprqut
+pfrtxqskhu
+
+szirxjtu
+zuxjtsi
+jutsxiz
+usjitxz
+ijstxuz
+
+zqesxfbmrivokl
+mevkzirbfol
+fbkomeyvilrz
+
+rlwoeckxnh
+xebkornwcl
+xcoknwler
+wnlkrcoex
+kecronwxl
+
+fmdbraihnpxytkcgezu
+kbeyxmadczhritnpuf
+pnhfmubicxteadrzyk
+updrybtmhzefcnxkia
+kbezfjwmhytnixacudpr
+
+w
+w
+w
+w
+
+fgwdoctvpzymhbrkjxn
+yaqjctxvsrozmwk
+xkwozitrvmeqjcyl
+cwkazxtrmlijyov
+
+vnym
+bvmy
+yvm
+byvm
+vym
+
+mxjblongrfahycqvpu
+ncywhdpxefajbrgloqu
+
+sgukdmfqvbwcei
+zigahlxojdnpc
+
+fudobaklngyjqpstmiz
+psflydzmbtkiqaojgnu
+itgzqsfdyabnolpjkum
+sitlkyuqnjodzmpbagf
+ytdijopqublaksmngzf
+
+vhaobfn
+ohbnfav
+vahofbn
+naovhfb
+
+tfhsqwcbrv
+iqrbzspnwyhtfc
+
+pfbwotesuyhkvgx
+vnrlcxayzdmih
+
+nbyhpfklvtqo
+qbtjopfyk
+qpoeybfkt
+
+uvmgzs
+pvsmizrug
+ghvmszu
+mugszcv
+kusmvzg
+
+mua
+amu
+uma
+mua
+
+d
+m
+
+s
+s
+yuk
+s
+
+gtjqp
+pfotsh
+pshgbt
+wpeztyr
+bqjtplo
+
+zwbvestiaoljy
+gmnzshupfqre
+
+anvsdkbltiugc
+tqsdcanuibgvkl
+stkrvabegidclxun
+takcsgnuvmdibl
+cvqsklngiubadt
+
+txvfnuwcljpqkeryoamigd
+jgarvmodftpniekquxszcyhb
+
+htu
+hegb
+whf
+
+jn
+nj
+jn
+
+vcjlxekmqzoduphynw
+hkyeojlvndumcwzx
+ozhdnvjeckwlmuxy
+ujxdyznvlcmokhew
+vdywzekucjnhoxlm
+
+blxuhyvjrzow
+uzlwokmsripy
+
+rum
+mrl
+rbwfmz
+durmq
+
+obcpqvkitduelwf
+ahcrwiltpuedfobxkv
+cvijgzoukptwdfble
+kpqjduetilovfcbw
+
+irfqsp
+wifas
+
+xvgyrpq
+yrpqvhgzx
+fspxmrivkwgycnequ
+axhyqrpvgz
+xdygqvrpa
+
+xrlmcsibvea
+bdcveasxzip
+esvbclaxi
+vaxsbcei
+xaeibsvc
+
+songrtmwhpydqizlf
+halvzroefxcsubt
+
+uqozritygam
+kmtryqvz
+qfmjstkyrz
+
+rqtepcofhuylnxaj
+xoptqwruhijsmnzcylfe
+hxqcpyfjntleuro
+brjyuoetfxpndlvcqh
+
+prltixwohdmfjukgqzsv
+orluxtzpvjafdqwkhsgbe
+
+iyhuarewvbfjmlz
+vramijyfzhbew
+zyehbmwvifjra
+vjmweybazihrf
+
+duixtbqyhomsla
+suinmaxtlqdoyhb
+htiquxmaybosld
+
+pselyhov
+zhwpovekt
+snheopv
+ivxophe
+nhpoeuv
+
+amqcriebkojlwyuxnhfdptgzvs
+uovdszkygbjhanefqxplimtwcr
+
+ozngukih
+nvksbd
+
+grkotivmcxnyubwleqspjzhfad
+ekmqxnfabwiduopjsgclzvyhtr
+
+jzv
+wzxfivmjb
+zjvp
+zjv
+jzvs
+
+js
+evqis
+qxs
+swyct
+s
+
+n
+n
+zn
+
+udjtxws
+usdwixj
+
+lf
+l
+
+cdsaxzlv
+jcsxlnydtrzvk
+lvdqamzsxhc
+udlxwczvgs
+
+gutwbrhjxyeam
+jrleawgbsnxthimyu
+rbjexdythumwag
+hrwjmoexytqaubg
+uwymabxrhjqgdect
+
+vipjrlbsmcogxznty
+vetpngyzsbmoxcrijl
+hoxvbsnjlfygmrczpti
+pmlgzyasvxticjbrknod
+
+xzakbvtehnlciswmyufjdrgo
+kocmslwbgvuxijernzydfhat
+vcdxgkslnzoarmjwutyiefbh
+tzhugvbcnokyxsfliwardmej
+
+up
+u
+pu
+fu
+
+cbzjelmqivw
+ickezvjlqm
+
+srwnt
+nwrtj
+rswnt
+
+hfjxoskd
+dlpzeyjai
+
+mt
+tm
+mt
+mt
+tm
+
+rpxenfzmhwdvacbygiujkqot
+lhbvkwmpfyazrtojcquxind
+qtcjdairznhuwxmpsvyfkob
+
+apvk
+qvapk
+
+ujscpqtgbyezdfhnwoil
+bftognyujilpwhsqzdce
+zbhslwipdjeqntcfouyg
+tyuqdlfepgzshcoiwnbj
+dzqxjblenucpwshtoiyfg
+
+cdxtsaunbwkezlrp
+vbdpsuktlxczerwan
+pnxudwaclrtebksz
+
+tq
+t
+zt
+t
+jtqg
+
+fvmhiloanbgjzptryucdkxw
+jzhwtkbdpoxfacirngluyvm
+pwnybcjmgxurfzivoklhdta
+brtavopdklnhxwgzmifyjcu
+ncifvypdtgwxbzakhjrmulo
+
+kwhiguft
+uxyo
+ux
+
+ruyoe
+ezqhbi
+clndewsfta
+e
+qrke
+
+doa
+doa
+doa
+
+xt
+tx
+xt
+xt
+xt
+
+roxwktbmgiyc
+qtbejyxzlpcaighfod
+oscgtuyiwvrbkxn
+
+agcdevxkmbnzqjl
+jrdzmnclbgkvexqwa
+
+pqjtyenfmxdaorw
+qayjpxmfdterwon
+frdtlawxmjnoeqpy
+
+aze
+zea
+veaz
+yzxdequoa
+
+eq
+uetqs
+
+jsmezrk
+zskmer
+zmkers
+krezsm
+
+mfzqsukgcw
+cmskguzfqw
+gksucwfmqz
+uwqsgfzmck
+wfzucmgsqk
+
+wftx
+fwtd
+twf
+
+bizwg
+gzwosd
+afzqrwun
+cjpzwb
+
+qjntchmdbgpe
+nqtephjgmdbc
+qjeltdcphgbmn
+nqtbcjhepmdg
+
+g
+g
+gr
+g
+g
+
+yulnpwc
+uplcwn
+nplemufywc
+calkisogupw
+
+sigh
+igsh
+ghski
+
+naqpd
+xydrsjwlibzm
+qdevh
+cd
+
+mraejinsdp
+mierdjansp
+qpsmrianjde
+npirjedams
+ridpaejmns
+
+o
+o
+o
+o
+
+lhfqsxm
+xlmsqfh
+slfqmxh
+
+jhivsoabqlfpeuw
+fvxrelbhuncowqjtsz
+
+yajhetclfk
+jnqbylmpwgxcf
+azchyrsivjeltdf
+
+n
+n
+n
+n
+n
+
+hkuaq
+hkqua
+uakqh
+khqtalu
+ahxkuqy
+
+tguprf
+pfu
+ufp
+uofp
+
+lnmtjo
+njolmt
+
+qymzdw
+vjckmtl
+oipreghfausnxb
+
+niswjectqkldzyg
+wunjdetklisczyqg
+gldcysiqznjtekw
+iqwdczjsytkleng
+lgyiezdncjqktws
+
+dntm
+atm
+tma
+tm
+txm
+
+ntpcwask
+skcna
+nksac
+
+prai
+pria
+arpi
+irpa
+
+mzldgbrtovj
+tbjgldozmvr
+ogzvdlrjtbm
+
+ft
+fq
+
+jgstdlzarcemiopynukfw
+ywlhakgzeoxdnjmsirc
+moicgebadzlwkysrnxj
+
+jpeiqxbz
+xipjebzt
+
+rnpf
+fqhu
+agprm
+wedyzci
+bxur
+
+aynswjoklfeqzcitxudbrvh
+ihrbxwvdqsyoejpnfkzc
+
+hrqliwxtfbk
+qiwfrxbtkhl
+kihqxrftlwb
+wrhlxbtqkif
+tfbqriwlkhx
+
+bwdhnqk
+wbhkqtd
+qwbkhdx
+
+fpcboialrdgqkejntyzm
+lmieayocqpkznbrtdfgj
+mbtdrpozfljkeyangiqc
+pmdjlerfkybgnaoqzitc
+pganmcfbtedkrzloyqij
+
+zfrvn
+zfnr
+znrf
+
+nuq
+ltiuacgjs
+aug
+
+xj
+lyzixn
+eaxwuf
+
+aeywqjkl
+eanklwju
+kjelzaw
+ealjwtk
+azklwej
+
+ncqxulrmfvedao
+eodqxlvmrncu
+elrmnuqpcdoxv
+qloxudmvnecahr
+lcdxqwmurvznjeo
+
+aijnhvxemsqztfk
+xnvkehsiqmzft
+tehvxnfskiwqzm
+epsmzhixqvtnkfr
+htkinzvqefxmrs
+
+wgfzomlbhujxs
+ezvrxmkycafwob
+
+lhyrq
+ylfherq
+hlreyq
+wqlyerh
+hgsqlyru
+
+acnkurdevm
+duernacvm
+nteaducorvs
+
+hxvqtsjzgn
+iakeoyr
+
+id
+i
+di
+hkxi
+
+fqunm
+funxikw
+xfiuknz
+
+wvgpqlzxnui
+livzmwyqgpnu
+
+eanbkcjlxpsm
+ofmdwrqe
+
+w
+ws
+wr
+w
+w
+
+aylsbi
+lyaiqsgb
+vyeblmasuhi
+yblsia
+ylbsiaq
+
+fpbhozqdljytwcnxsvr
+zarwdgqhtvyxcnpbsofji
+dbzhsfwrvqnyjxtpoc
+qwxpbnycrfjsozvhtd
+tsoypwnmzfjhbvdxcqr
+
+bezfskqut
+egbpkdflqtmouzs
+kxzenfustqb
+tsebufkzq
+
+hoekryzuqt
+oreuqhyktz
+teorhukzqy
+kyqehortuz
+
+d
+uqwgitdaj
+dz
+vod
+fvd
+
+smjqnlt
+jsqmlnt
+ntsqlmj
+jqntslm
+
+saxdlkjwvyctqenrio
+wqnvsoyaextcilkrjd
+krdqwevyliojxcntas
+ywlnkcafdoirsvjxetq
+
+ryae
+yaq
+ya
+ya
+ya
+
+epvy
+nvyqu
+vnxy
+oyvh
+
+kschegfmla
+lgfmscaehk
+gshfalcemk
+lcgemshkfa
+mkgaselhctf
+
+bfxqtegnoismrk
+mnuivtxasgbjqyfkp
+mkxgrnltfiqbhsw
+
+s
+s
+s
+
+zoe
+eoz
+oze
+eoz
+
+q
+kuprd
+gvmbn
+vctx
+oi
+
+nbrjveycdlw
+jyhfcwnglerv
+
+vkoxqwfhubrcsnme
+bqkexhovswmntfrc
+
+aidoznexygkjlqs
+neysaiudmoqklgxzc
+
+ypsn
+eyp
+yp
+iyp
+
+gol
+olg
+
+rypjohwvxkisnldatuzfb
+btpxvolknwdhuryiafjsz
+vkahgbsitwdoyjplfruznx
+
+mipqtk
+nikqpvu
+
+kztifpne
+yzit
+rigtz
+zait
+
+jxgvt
+gfjoky
+kvygh
+dmwgqsrcp
+ounalgyze
+
+nypvuiseqtjwxchlbfogdamzr
+apqnbzhwmjldotfsvexruicyg
+bpyjzomwahcrgsutlefxkqdivn
+
+qumcbsvlpthfwyda
+hagwiucnvfdypqlzs
+
+tog
+otg
+gfto
+gto
+
+ctp
+uda
+
+vlbi
+swmiujf
+
+xbi
+upsdbi
+bizr
+
+ltw
+we
+wzavnymh
+iw
+wfe
+
+caqjdphelmtvyfbxo
+acxmtljedhoqbsfyp
+
+fyqthpe
+bmrceljqy
+eyqt
+
+frjdhuyqsgon
+krouhsfgydnj
+
+ltopekjnacgbms
+elngjotmpsca
+splcgnatmoej
+egjctspmlaon
+jtealcmpongs
+
+fvsmiotkb
+fbnupmcsxd
+fmkvjysb
+qbksmywrtf
+
+mklqnp
+mqnlk
+mwqnlke
+
+jykqrlaocvunfpix
+rcymsnwuafdtvgbqoieh
+
+c
+c
+ct
+c
+
+mlv
+lyfpq
+vsli
+vrdwl
+
+srtaq
+nuptlr
+
+hcfjdaqwo
+qmoefalzdh
+
+zxyksijbeahgvc
+xgvjhsczeyikba
+yxickjesbhgavz
+sjvgibeczxhkay
+hvgizjmaxsybcke
+
+wjmypxi
+jipmx
+pjmix
+bjivamxp
+
+dytnalmqkbpruef
+qplfuynbdaertm
+rbnetqdupamlwyf
+
+e
+e
+m
+p
+e
+
+b
+eb
+b
+b
+b
+
+yieovwqukxcnbfjpdg
+qjvunkgywpfoidbxec
+jupowqfbiknvdgeycx
+dqeicgjfpxonbukwvy
+gociquxvjbfdwnpkye
+
+lwrch
+huosc
+
+somiywgdbf
+fbmvdwgzsy
+ufrltkydsnwm
+
+epvfduyh
+vfpeyuhd
+epdchvyuf
+udeohyvpf
+evhpyufd
+
+b
+b
+
+szfgmlxwd
+eapoqydvi
+
+puedtjkqbwfznhvycxrolamsgi
+cvqeyszrwdfnkutjihxmlapbgo
+nfdpoukvizgctxwmeaqjrhlbys
+
+nuf
+je
+uieq
+ctodh
+sbx
+
+psrwqlgd
+lrwdqgpzs
+
+qheijmngzsrdawbvucolxpy
+vhqnlcouibjdarzxpmeygs
+edlixjhrquamovnpbsgycz
+
+jkphyr
+urycxn
+
+snbcyoe
+nuewpy
+
+gbnsoirkwyhp
+iogsqbkymwp
+fzbwkeyutdxp
+
+w
+w
+w
+
+jsbp
+bjsp
+jspb
+
+jfbdpv
+pfjvb
+
+wfhvsjloznb
+gmupxcnrakelfsvzqd
+
+dbsuoriacgnwxtzveyhqfkmp
+adwcifzvsgnkphyburtexomq
+wzbkmsdpfrhiaqxyecuonvgt
+athzyrgbwckvomqudsnexfip
+vidbhyqesancrzugkxfopwmt
+
+nl
+ln
+nl
+osnl
+
+iewcxgqtf
+gtwmfieqc
+icfvqwyhadgkn
+qcgwerfli
+
+wyj
+jy
+atycnje
+qyjg
+yzjsg
+
+ivjwfeuz
+jvcw
+mbhvwj
+rswvhjd
+
+zmjlpeia
+eimrlpzaj
+jmealyqpi
+
+zgkf
+gkz
+
+zuosdlvkxm
+tlxskcvpumo
+kuyomrxlvs
+uvosxmldyk
+
+yuilcqhgmazts
+swhvdcigltmakzuy
+stojxiflyghnazcpum
+gkhqtyciuwszmal
+
+nzhlyu
+hngc
+ngcah
+anch
+nvkhj
+
+xhfvwbkn
+nahwxfo
+fhgnwx
+dmfuxnht
+
+vbhpedluncftoxys
+cydfsolpejhbntux
+
+vkilx
+pvxskd
+
+hvwuecgs
+guvwcsh
+sgrwculmvhb
+wcpznuqsvghi
+vhwcsulg
+
+ndfapjlztc
+npoacfjtld
+
+jzd
+xaulvyksp
+zeh
+
+ck
+ck
+ck
+kc
+
+kiroh
+rh
+
+euxdrkvtfbqon
+ytfvurxwheokqn
+
+sirznatbxkghm
+skaiqzrmhnx
+ztgmhrsikanx
+hksxmairnez
+ywdiracnfsuzhjxmpk
+
+bacgwvmxrdfne
+pdcofwbza
+cfqdwuptzabo
+
+dqmp
+dqpm
+qvmpd
+
+kczxnlerm
+vqrzjmf
+
+qmuorwspx
+dywcxarilegkh
+
+gqzph
+qhapozk
+zhqp
+
+fastkjnl
+jsnafkt
+jfnacskt
+
+fxgpiadjrvhs
+smfwbejadh
+hjmfyaods
+fzdqsjham
+hlcbyfjkaunsdt
+
+dqlevpahscoyi
+iypldavhsqoce
+clhvyaisoepdq
+eayqiosdlpvch
+epodliqvhcsay
+
+nhxbmlqv
+qylkhmnxvbj
+xbnlvqmh
+vxmbhqln
+lbvhxsqmn
+
+exrtdq
+tderq
+djretq
+
+lwqj
+jmwlr
+zbswtx
+
+pxi
+ipx
+ixp
+xip
+
+vgfscwrqzdojxhe
+xfvqhzsjecgownd
+qdopyzjwegfsxchv
+gosqeckhvzdjfxw
+gszxpfveocjhqmdw
+
+gvlyuiscaewfpx
+gfwjtapuoynvqzi
+
+ycsdnbzjoki
+wfpvogmqhautlx
+
+tbjliqdfzgny
+zjwilpghqdyekc
+
+yftcnao
+ncfytaio
+conyfta
+
+yslactbwhjfvnomiue
+mbyiavojlwtunces
+eontumvircsalbjwy
+jguvcxylitsbmwenazo
+bayolijwqcevpmsktdun
+
+ynmki
+ykinm
+inymk
+iykmn
+yimnk
+
+vzjnpybg
+vjqfyno
+rnvity
+
+ilxkjhcfpdmeb
+hwdjleirc
+aiulechdj
+dljiwehc
+
+rptom
+ife
+nuli
+yized
+
+loe
+eg
+
+fprtvcgkwnasljebhm
+nvbltrckumfhpgjew
+grpuefzknmblovjw
+bjwgykpinqlemrd
+mrlegnjwbkp
+
+xtquyrjnszl
+ysrqzj
+zsqyjpr
+
+ft
+fjt
+ft
+tf
+
+ejli
+l
+l
+rl
+
+lwgrihbdvno
+ydbrvhgolniw
+rivdongwhlb
+ndhbrgwilov
+dwvrnlhbgio
+
+fc
+fc
+cqfo
+fc
+fc
+
+nhaoi
+nioha
+osijah
+
+hgrec
+gchre
+cehrg
+
+higmvfbtjre
+ikhxjbrefvq
+brjiefhvl
+ivfeqblhrj
+hrkifjvbe
+
+vsgqmibordtznkl
+dehupjlcxtsrnfawy
+
+t
+crfi
+
+nrai
+hjcmpzla
+dveria
+
+krp
+achvofx
+kbp
+
+vfdzhuskanm
+lhucb
+uh
+
+qu
+uqj
+quh
+qu
+
+tokmzyuxjsbvic
+zegday
+
+wqfxlhyapcdtv
+vctalwmjdpqyfh
+
+nqge
+vneiqt
+hqvfenwj
+nksqcrlmde
+vqgbone
+
+f
+w
+w
+f
+oq
+
+qziwcdjyepvhn
+wvypijednqzc
+
+uwjflbhoq
+dwxublig
+
+c
+lc
+ec
+c
+txcjrkd
+
+cglvpyadf
+rqfvgaplc
+kgpatsxuelvh
+oapgvliwc
+
+ln
+st
+bs
+
+sfra
+dskrnf
+mzhjrfpx
+
+phu
+uph
+uph
+hpu
+phu
+
+pcxhvbf
+hxbtyk
+
+jdzsaiwbphmftqxrlngcyoe
+mqbrsplojgyheznxcdtfwia
+pitajxzhsonwygrfblecmqd
+nyliauzgfbcprewhdtjmsxoq
+taxnylhvgjqewcksfpmzdbior
+
+h
+c
+om
+
+ruplsfnhyjqigwkzexbtoc
+newjivhyckdagob
+ywocjmnkbghie
+
+jdrtpbvohaxy
+dnjxyrfsv
+
+lq
+nsulxvmhj
+l
+lk
+
+fdsxhvqaiblt
+fihykrdlsoaqx
+laqgpznecjiuxfsdhmw
+
+capkzueqjmdv
+ckdvymqazu
+fklcmdbuxqarzv
+zkcsvmqhiadgeu
+jotqkuzndvciwam
+
+lzqbrgkp
+grvpntoz
+ozwvpg
+suefagcp
+pkjygd
+
+zbangyoqjlkdevrxti
+gzniebarjloykqtdxv
+
+xviqehycstgjladuoznfwp
+odwplyiqnxghutezcvsj
+ersxgqtcjouvdiznlyhwp
+cpshuoijtxvelqynwmdgz
+
+tnzkdmgqci
+mqkzgydtijn
+mtikzqdng
+
+d
+ad
+d
+
+k
+iof
+
+otkvualrqdsixf
+nkhwid
+dbkiwpj
+ikd
+ekziydgm
+
+wjvgqsxinfburh
+wxgqsurjvflnhbi
+
+hebmgftkpcq
+owektbpfhqcmg
+egtfbpckhmdq
+qmcetgpfkhb
+
+exukswmlgznjoqhvabid
+dkgmeoahtxpzflnwru
+
+lf
+fl
+lf
+fle
+
+zblhfjqpr
+rzp
+uprzo
+
+wmktipjq
+twmikp
+jmtwikyp
+azcempwtkiv
+itkmpw
+
+qwodjmelanykpxuh
+weqnajoxmupklyihd
+pjodermlyuknwxhqa
+mqbaoxylgdshtnjpwuvkfe
+lnaxijmwqhukodpye
+
+azxw
+xazw
+zwax
+wafqztx
+zaxw
+
+ydzmvpskfjiqneluabgtrw
+vyfdpqrkbistwlaxzjum
+ukortizjvdwhlpafycmqsb
+
+cno
+y
+no
+y
+bqe
+
+zlcotxyhfeij
+xtlvhifkszoj
+
+kczqegopj
+qupzjod
+
+hpclqaktjmbnyxw
+iqphxcamk
+
+rebc
+qcbra
+brc
+crb
+
+flkoiavp
+aduhjeqtyrmzkn
+cslwgfaokp
+
+qmnzcjb
+bmeqzjsc
+jxochgfbmwzvq
+zqcbmja
+
+deyifvsxw
+evdyw
+edbhzyuqv
+
+xmhknbcwdaztvl
+mruslxozyangpj
+xgszalnm
+aoqmleunizxs
+
+eh
+he
+eh
+nxeh
+eh
+
+cjbx
+jxsub
+
+yusezdlpgxtm
+dyrkmstuegpx
+pdxmyeutvkjsrhgaw
+
+ruz
+rzu
+zur
+zru
+
+wgbdctzlsmh
+peglstyhcd
+adtqlhcgvs
+tylndgrcujhsbx
+odltpshecg
+
+ylntchparijwfo
+wtrjpiaohylcf
+wlfyvrehcutapgko
+
+tkbpfhjzravmquxewgl
+goxphazbfvrqkijlwtm
+mkrbzqphvawtyjfxilg
+plhcnwgqmrxfvdzabjkt
+
+pfhtlqawckegij
+wjpaksdctfghlo
+
+jqctpgrvu
+qkvgjuprtc
+vutcqpgrj
+gpruvjtcq
+gvqprujct
+
+dkevisf
+kfei
+mlukicwfje
+
+nsoyjcwzife
+spnocteji
+
+cfuzsbtvdkq
+rcasmqzkpdxuo
+drxzwqckus
+zqsrndeukxic
+
+vkgpbz
+zkpvg
+zkvpg
+
+eqhpyasvnumzgclitofjw
+ofsgpaijzqmtvcuwhlbe
+ujiewctamfxqdghslpvzo
+qivnwtlfcmpgaeouhjzs
+
+lfahbowz
+ryxcwtvs
+mytucdivw
+
+lqetdskgyznojharxvufpwimbc
+kpcoqugdvxibftjmywzslnreh
+mxjgcinhobeldrwfukyvptqsz
+
+jxhc
+fjsqglzwhu
+mhcj
+hecj
+
+ihdsbckn
+
+siponk
+sikonp
+psinkfo
+
+qbvdrutoan
+qbcftunvoi
+qvkoxzbtushny
+qtwojubnv
+
+eu
+u
+xtujdms
+ehu
+
+jkqdoner
+eyxnkuaoqfg
+kqenxmyo
+
+wk
+wk
+ykw
+kw
+kw
+
+gvrebwq
+erkflnbjhagv
+givrybues
+itpvegsrbz
+
+hlykfbqnexots
+tqhgfonkzeyxsbl
+qkcybxtsnloefh
+fxalqkntsuobyech
+hvyjefkbitrqoplwxns
+
+paxu
+parnkxu
+pxua
+xupa
+uxpa
+
+ytzjokcqlmviha
+sykbmizchvq
+aocvizymhkq
+ivhkcqlzym
+iayelkzqmtchv
+
+aekxzstuc
+czetkxsau
+zqpakexsuct
+zuxtacske
+kuszetcax
+
+czlkiprvydnmsoxqwajgb
+byszdijkplawcvnm
+ikmwandcjzlvybsp
+nbvwlikjscdmpzay
+
+fpuxqtigly
+hpuqkfxigyt
+tifpygqkux
+uygqftwpxi
+
+gvdwnrefpj
+nwgapvedr
+egdvwnrp
+xshwezgipdvr
+
+joefgnu
+tknuhvfy
+
+rjo
+rpjyos
+rjo
+roj
+jro
+
+zxvatmfbujgryinokwehsc
+xjzdusehibgtvncmkflyao
+
+fpnkyo
+nopfky
+kpnyof
+ponkfy
+tnpfoyk
+
+mevhflgowbkqdjutrzys
+qrgmkeohvstnbwfdjluy
+
+pejhrgwtmcny
+hjangqtbprsmwe
+umiegvdprwtznhj
+nhgptresjwlm
+
+ohgmls
+othljm
+jmhtlso
+mhxlcnp
+
+dtufxjrbq
+rdfjxtqbu
+qjtdufbrx
+
+iexvaok
+kexu
+xkje
+xkfe
+
+dpursykgo
+ugkrsqpody
+sokpgyrdnu
+kwsuoyrpdg
+sovjiydkagmuptbrhcf
+
+mwxcqs
+mcwxqs
+mwxqsc
+tcswmxq
+
+cqatfowbvmirly
+woibncaylqgvsf
+
+bico
+izdt
+tiz
+
+af
+fkq
+f
+fyb
+f
+
+wxftpjclsrhm
+sdzuvanek
+
+jr
+rjp
+rj
+
+zhpknlosiadcfbjweuqvy
+ulbkhapqzisefdyonjc
+
+oivjy
+djvwbofy
+kvlqyxrj
+bsivdyjf
+
+kifcamqwgy
+amfkgicyq
+miygkcafq
+
+egslifrtvcnhk
+vymgiprjzcxasbqn
+
+gji
+g
+oar
+jgk
+
+gxtkohsqcvmrjzie
+jfghvuxokznqwsdmarcl
+
+xvlnpjdar
+vldnopxaj
+dtnpsayjvlc
+dgjvalnmp
+mfnvjdpal
+
+mnaxd
+xmda
+kdaxm
+
+szpeac
+ezpsac
+aesxpcz
+
+vgpldyruqmfbsehzkxjwa
+wrxmvtqgyjsdazlkbofeuhc
+ablmzyevqgswfnxkdrphuj
+
+aoedxnzjqsbyihtpkcfuwl
+dsbeyathwxjupozlqncikf
+
+mwzkrnhp
+okqj
+
+s
+s
+
+erjyvcwhuitdaogsnfb
+dculesyjotbwhavfirn
+swfbohtjdciaurenyv
+ubsvfamrjoynwchitdke
+
+yb
+yb
+by
+
+pbrhzvjcsgeylfxt
+sjcyezvxfgbhtplr
+
+rphvaxw
+zhjapvrxw
+xahvwspr
+lpdqrvwahmx
+
+rpmild
+vlrpswnb
+ylrezfpi
+pbraslm
+utxgqhpjkorl
+
+pizbmcxreftywhdq
+pqyezcxtidgmhfrw
+ixrctphwqydzfme
+fxdhpyctwrinmazqe
+pctzyrhdiqwmxef
+
+wasjdyzgfu
+zfdyujgwsa
+wbyzjgadufs
+afzswydguj
+
+zqanmksjruhx
+qljaunzmkrshx
+jrxqsmzknhua
+rjazknumxqhs
+kuzqxhjmasrn
+
+virdpbztchkgo
+hdiopebvzaw
+
+ziwscmotk
+jwmas
+
+h
+h
+h
+h
+h
+
+qhywbkuvnst
+zmynwxvufqarkbeht
+
+onfvrqxa
+xrvqnofa
+fiuarnvoxq
+qvzafonrx
+fqvxebnaolr
+
+kmfulryg
+bkswufgylmr
+myulgjrfk
+gouyxrlkmf
+
+skerjmgbvtcphdzafniyxo
+ljybizemsvhokxrdcagptnf
+
+oyt
+hytx
+mdtyjrslkczu
+bvyto
+
+mpwv
+acvbp
+
+m
+ftz
+
+kvtmidlngo
+edznioyvkx
+kofvirdn
diff --git a/2020/inputs/day_7.txt b/2020/inputs/day_7.txt
new file mode 100644
index 0000000..04950b5
--- /dev/null
+++ b/2020/inputs/day_7.txt
@@ -0,0 +1,594 @@
+striped white bags contain 4 drab silver bags.
+drab silver bags contain no other bags.
+pale plum bags contain 1 dark black bag.
+muted gold bags contain 1 wavy red bag, 3 mirrored violet bags, 5 bright gold bags, 5 plaid white bags.
+muted teal bags contain 2 pale beige bags, 5 clear beige bags, 2 dotted gold bags, 4 posh cyan bags.
+posh coral bags contain 1 light silver bag, 2 dull blue bags, 3 dim fuchsia bags, 2 dotted magenta bags.
+faded black bags contain 4 light silver bags.
+muted lavender bags contain 1 pale gold bag.
+clear fuchsia bags contain 1 dull gray bag, 2 shiny indigo bags, 3 posh olive bags, 5 vibrant plum bags.
+shiny olive bags contain 1 dotted gold bag, 5 bright violet bags.
+vibrant lavender bags contain 3 dotted aqua bags, 4 pale chartreuse bags, 5 mirrored blue bags.
+pale fuchsia bags contain 5 pale crimson bags, 2 dull teal bags.
+clear lavender bags contain 5 shiny fuchsia bags, 5 wavy teal bags.
+light chartreuse bags contain 5 mirrored yellow bags, 3 bright maroon bags.
+mirrored white bags contain 1 bright gray bag, 4 plaid blue bags.
+dark teal bags contain 4 bright maroon bags, 5 plaid bronze bags, 1 dark brown bag.
+wavy yellow bags contain 4 dim silver bags, 1 striped tomato bag, 5 clear chartreuse bags.
+dark turquoise bags contain 4 clear plum bags.
+posh gray bags contain 2 faded purple bags, 2 faded orange bags.
+wavy tomato bags contain 1 dark purple bag.
+vibrant gray bags contain 3 muted gray bags, 1 dark fuchsia bag, 5 posh white bags, 5 posh tomato bags.
+light crimson bags contain 2 dotted chartreuse bags.
+dull gray bags contain 4 muted brown bags, 2 shiny blue bags, 4 dim crimson bags.
+drab red bags contain 2 bright cyan bags, 1 pale brown bag.
+dotted salmon bags contain 5 mirrored indigo bags.
+vibrant green bags contain 2 dark coral bags.
+light magenta bags contain 4 clear bronze bags, 4 dull teal bags, 4 posh salmon bags.
+vibrant purple bags contain 4 posh plum bags, 2 bright gray bags.
+posh lime bags contain 3 plaid yellow bags, 4 posh salmon bags.
+bright white bags contain 4 dull aqua bags, 1 shiny silver bag.
+faded blue bags contain 5 muted cyan bags, 2 mirrored coral bags.
+dim green bags contain 2 posh lavender bags.
+faded gray bags contain 2 dark gold bags, 1 drab turquoise bag.
+wavy black bags contain 4 dim fuchsia bags, 1 muted orange bag, 4 drab salmon bags.
+plaid plum bags contain 5 dotted tomato bags, 1 shiny beige bag.
+bright tan bags contain 2 posh salmon bags.
+wavy gold bags contain 1 faded olive bag, 5 vibrant black bags, 3 dull orange bags.
+dull fuchsia bags contain 1 faded crimson bag, 5 vibrant white bags.
+shiny maroon bags contain 5 dull lavender bags, 1 dim white bag.
+wavy white bags contain 5 light teal bags, 4 dim salmon bags, 3 dotted red bags, 5 dark red bags.
+dim cyan bags contain 1 muted orange bag.
+muted cyan bags contain 4 dull turquoise bags, 5 posh gray bags, 5 clear turquoise bags, 1 shiny plum bag.
+posh violet bags contain 5 plaid crimson bags, 5 muted purple bags, 1 wavy beige bag, 2 mirrored orange bags.
+faded purple bags contain 3 plaid blue bags, 1 dull lavender bag, 1 muted orange bag, 2 dotted tomato bags.
+wavy beige bags contain 1 dotted beige bag.
+dim black bags contain 1 wavy blue bag, 1 plaid black bag, 3 pale lavender bags, 2 light violet bags.
+dotted lavender bags contain 1 plaid blue bag, 5 dim crimson bags.
+dark yellow bags contain 3 posh green bags.
+wavy salmon bags contain 1 clear aqua bag, 3 mirrored crimson bags, 3 pale magenta bags, 2 dull teal bags.
+clear silver bags contain 3 faded tan bags, 5 faded aqua bags, 1 clear tomato bag.
+vibrant bronze bags contain 1 faded maroon bag, 4 plaid indigo bags, 2 bright purple bags, 5 dim violet bags.
+pale brown bags contain 1 dull lavender bag, 2 clear turquoise bags.
+faded salmon bags contain 1 pale silver bag.
+dark gray bags contain 2 pale teal bags.
+posh red bags contain 3 faded black bags, 2 dull red bags.
+dim indigo bags contain 3 bright green bags, 2 dotted tomato bags, 5 bright magenta bags.
+dull maroon bags contain 5 light green bags.
+wavy teal bags contain 5 faded tan bags, 4 clear orange bags.
+pale chartreuse bags contain 5 bright blue bags, 3 light indigo bags, 3 shiny white bags, 3 wavy bronze bags.
+mirrored gray bags contain 4 vibrant tomato bags, 1 dark red bag, 5 drab silver bags, 3 posh magenta bags.
+dark lavender bags contain 4 dotted white bags, 5 vibrant chartreuse bags, 2 dim teal bags.
+shiny turquoise bags contain 3 dim lime bags, 5 bright cyan bags, 2 pale green bags.
+shiny indigo bags contain 2 dark fuchsia bags, 4 posh chartreuse bags.
+pale crimson bags contain 5 mirrored silver bags, 2 posh black bags.
+light salmon bags contain 2 vibrant orange bags, 2 dotted red bags.
+plaid orange bags contain 1 dotted turquoise bag, 4 vibrant brown bags.
+dim maroon bags contain 5 shiny gold bags, 4 mirrored maroon bags.
+muted green bags contain 1 plaid plum bag.
+faded indigo bags contain 3 faded purple bags, 4 vibrant indigo bags, 1 light coral bag.
+dull blue bags contain 5 dull salmon bags, 2 wavy magenta bags.
+vibrant black bags contain 1 light coral bag, 5 vibrant cyan bags, 3 dim magenta bags.
+striped lime bags contain 1 striped maroon bag, 2 vibrant brown bags.
+drab brown bags contain 1 faded olive bag, 5 dotted beige bags.
+dark plum bags contain 5 faded brown bags.
+clear olive bags contain 3 dull aqua bags, 5 drab yellow bags.
+wavy crimson bags contain 2 posh plum bags, 2 dull aqua bags, 5 shiny teal bags, 2 vibrant purple bags.
+mirrored olive bags contain 2 wavy gold bags.
+dim crimson bags contain no other bags.
+faded plum bags contain 1 plaid indigo bag.
+light maroon bags contain 3 vibrant orange bags, 2 clear olive bags, 3 clear brown bags, 1 pale black bag.
+posh white bags contain 3 dull green bags, 3 clear brown bags.
+drab black bags contain 2 shiny turquoise bags.
+light purple bags contain 2 pale black bags, 5 light silver bags, 1 drab coral bag.
+pale yellow bags contain 2 vibrant orange bags, 5 posh black bags, 2 vibrant tomato bags, 3 dotted lavender bags.
+dull cyan bags contain 5 wavy beige bags, 1 dull yellow bag, 3 drab lime bags, 3 drab chartreuse bags.
+drab lavender bags contain 2 plaid black bags, 4 dotted gray bags, 1 dim silver bag, 2 shiny gold bags.
+striped brown bags contain 5 light maroon bags, 3 light red bags, 3 clear indigo bags.
+drab tomato bags contain 2 light black bags, 2 clear salmon bags.
+dotted red bags contain 4 dim salmon bags, 5 striped indigo bags.
+vibrant teal bags contain 5 bright black bags, 1 dark purple bag, 2 bright turquoise bags.
+striped teal bags contain 4 mirrored silver bags.
+dull beige bags contain 4 clear olive bags, 4 light teal bags, 3 bright plum bags, 4 dotted lavender bags.
+light violet bags contain 2 dull lavender bags, 4 bright gray bags, 5 vibrant orange bags, 3 wavy magenta bags.
+dim brown bags contain 2 clear plum bags, 2 shiny teal bags, 2 posh salmon bags.
+striped magenta bags contain 4 posh turquoise bags, 3 pale cyan bags, 3 faded indigo bags.
+bright orange bags contain 4 plaid gray bags, 4 dark black bags, 4 faded red bags, 4 bright black bags.
+muted olive bags contain 2 dotted crimson bags, 4 faded lavender bags, 2 vibrant gray bags.
+plaid teal bags contain 2 light yellow bags, 4 drab cyan bags, 3 light green bags.
+faded fuchsia bags contain 1 posh silver bag, 4 drab chartreuse bags, 4 drab teal bags.
+dim silver bags contain 1 pale turquoise bag.
+bright lime bags contain 1 striped silver bag, 5 muted teal bags, 1 shiny tan bag, 1 dark silver bag.
+dotted green bags contain 3 posh green bags, 1 drab yellow bag.
+drab purple bags contain 5 bright violet bags, 1 posh tomato bag.
+dull bronze bags contain 4 mirrored black bags.
+striped tomato bags contain 1 posh gray bag, 2 posh magenta bags.
+bright crimson bags contain 2 light olive bags, 4 clear tan bags, 3 drab fuchsia bags.
+bright turquoise bags contain 4 pale teal bags, 3 drab silver bags.
+shiny lavender bags contain 2 striped lime bags, 2 plaid tomato bags, 1 faded orange bag, 5 wavy magenta bags.
+light tomato bags contain 5 dotted olive bags.
+wavy magenta bags contain no other bags.
+vibrant fuchsia bags contain 5 posh brown bags, 5 plaid indigo bags.
+dark tomato bags contain 3 shiny plum bags.
+pale bronze bags contain 5 plaid black bags, 5 vibrant brown bags, 2 dim lime bags, 4 muted bronze bags.
+striped fuchsia bags contain 3 muted brown bags, 2 pale chartreuse bags, 1 dim magenta bag.
+dark brown bags contain 4 clear bronze bags.
+posh teal bags contain 5 dotted plum bags, 2 drab gray bags, 3 dull fuchsia bags.
+wavy turquoise bags contain 1 dull lavender bag.
+striped maroon bags contain 4 muted yellow bags, 4 clear orange bags, 4 vibrant orange bags.
+shiny green bags contain 3 muted brown bags, 1 vibrant black bag, 4 wavy cyan bags, 3 posh brown bags.
+plaid salmon bags contain 4 mirrored indigo bags, 2 wavy white bags, 5 mirrored bronze bags, 3 light coral bags.
+dotted magenta bags contain 2 light olive bags, 2 dark red bags, 4 clear green bags, 3 dim plum bags.
+light orange bags contain 5 dark plum bags, 3 bright maroon bags, 2 dotted lime bags.
+clear brown bags contain 3 dim white bags, 2 posh magenta bags.
+vibrant turquoise bags contain 2 striped yellow bags, 1 mirrored crimson bag.
+muted coral bags contain 4 wavy gold bags, 2 dim tan bags, 1 shiny green bag.
+plaid crimson bags contain 1 dull aqua bag.
+vibrant plum bags contain 4 striped tomato bags, 1 striped turquoise bag.
+dark coral bags contain 5 posh black bags, 1 shiny beige bag, 3 pale brown bags.
+mirrored brown bags contain 1 clear blue bag, 1 dull indigo bag.
+bright blue bags contain 2 light violet bags, 1 dotted tomato bag.
+drab cyan bags contain 2 dim turquoise bags, 5 clear violet bags.
+dotted coral bags contain 3 dotted aqua bags.
+shiny yellow bags contain 1 wavy cyan bag.
+shiny red bags contain 5 shiny beige bags, 3 dotted lime bags, 5 dotted plum bags.
+muted lime bags contain 3 dark turquoise bags, 3 bright chartreuse bags.
+pale gray bags contain 5 dotted coral bags, 4 wavy teal bags, 2 clear aqua bags.
+pale blue bags contain 5 dull salmon bags, 3 posh bronze bags, 2 vibrant tomato bags.
+dim turquoise bags contain 4 posh aqua bags, 2 dark turquoise bags.
+pale turquoise bags contain 5 vibrant brown bags, 2 shiny maroon bags.
+dim gray bags contain 2 faded tomato bags, 2 faded indigo bags.
+clear aqua bags contain 1 light turquoise bag, 3 dotted turquoise bags.
+faded turquoise bags contain 5 muted lime bags.
+clear plum bags contain 2 plaid indigo bags, 5 drab yellow bags.
+vibrant white bags contain 2 bright violet bags, 4 dark plum bags, 1 dim plum bag, 4 plaid indigo bags.
+dark orange bags contain 3 posh purple bags, 5 clear orange bags, 1 dim white bag.
+light olive bags contain 3 drab green bags.
+muted salmon bags contain 4 muted cyan bags.
+clear maroon bags contain 2 muted yellow bags, 5 plaid crimson bags, 1 clear turquoise bag.
+wavy orange bags contain 4 vibrant blue bags, 4 posh brown bags, 2 pale turquoise bags, 5 shiny orange bags.
+dotted gold bags contain 3 posh magenta bags, 1 faded crimson bag, 3 dotted olive bags, 3 plaid olive bags.
+dull purple bags contain 5 drab salmon bags, 4 dim lavender bags.
+light bronze bags contain 2 wavy indigo bags.
+muted turquoise bags contain 5 clear turquoise bags, 4 plaid violet bags, 4 clear orange bags, 2 posh maroon bags.
+mirrored blue bags contain 4 clear chartreuse bags.
+drab tan bags contain 3 striped violet bags, 2 bright silver bags, 2 dark bronze bags, 1 mirrored black bag.
+dark maroon bags contain 1 vibrant orange bag.
+drab yellow bags contain 1 vibrant blue bag, 2 dim violet bags.
+light cyan bags contain 4 posh beige bags.
+vibrant salmon bags contain 3 wavy gold bags.
+muted orange bags contain 3 dotted tomato bags, 4 vibrant tomato bags, 5 dull lavender bags.
+dull turquoise bags contain 1 wavy white bag.
+dotted indigo bags contain 3 wavy bronze bags.
+dark red bags contain 4 wavy bronze bags, 5 wavy turquoise bags.
+light coral bags contain 4 clear tan bags, 2 vibrant beige bags, 1 dull lavender bag, 5 shiny white bags.
+mirrored turquoise bags contain 5 clear fuchsia bags, 3 mirrored black bags, 4 plaid tan bags.
+mirrored yellow bags contain 4 pale turquoise bags, 2 wavy orange bags, 3 drab coral bags, 4 dim chartreuse bags.
+dotted fuchsia bags contain 4 dim bronze bags, 4 striped indigo bags.
+dotted purple bags contain 5 posh maroon bags, 1 dim yellow bag.
+clear coral bags contain 5 dark olive bags, 2 wavy bronze bags, 3 light red bags.
+mirrored teal bags contain 3 drab yellow bags.
+faded green bags contain 2 dark purple bags.
+light lime bags contain 4 bright chartreuse bags, 5 clear tomato bags, 2 bright green bags, 2 faded teal bags.
+bright yellow bags contain 4 dull purple bags, 3 faded beige bags.
+bright maroon bags contain 2 vibrant blue bags, 5 bright violet bags, 5 plaid indigo bags, 3 vibrant orange bags.
+faded red bags contain 5 pale brown bags, 4 striped tomato bags, 2 bright green bags.
+muted maroon bags contain 1 dark tan bag, 5 drab teal bags, 4 dull maroon bags.
+plaid coral bags contain 5 bright blue bags, 1 dotted indigo bag.
+dotted brown bags contain 1 dull beige bag, 2 bright indigo bags, 2 striped chartreuse bags, 1 muted silver bag.
+wavy coral bags contain 2 clear cyan bags, 2 muted teal bags, 1 faded red bag, 2 mirrored silver bags.
+faded coral bags contain 3 bright green bags, 1 bright cyan bag, 3 plaid blue bags, 5 wavy lavender bags.
+dim gold bags contain 5 dim teal bags, 1 vibrant tomato bag, 5 pale chartreuse bags, 3 bright indigo bags.
+bright salmon bags contain 5 plaid chartreuse bags, 5 light tan bags, 5 vibrant maroon bags.
+wavy violet bags contain 4 bright green bags.
+mirrored lavender bags contain 5 drab plum bags, 2 drab turquoise bags, 2 dark magenta bags.
+faded aqua bags contain 3 faded teal bags, 1 dark red bag.
+muted yellow bags contain 1 mirrored silver bag, 1 striped white bag, 3 mirrored gold bags, 1 muted gray bag.
+pale coral bags contain 2 striped gray bags, 2 clear beige bags.
+mirrored cyan bags contain 1 pale beige bag, 4 dim crimson bags.
+dotted aqua bags contain 4 dim crimson bags, 3 vibrant beige bags.
+dark white bags contain 4 dim maroon bags, 1 light olive bag, 3 dull fuchsia bags, 4 mirrored maroon bags.
+dotted chartreuse bags contain 5 clear tan bags, 2 clear white bags, 2 dark coral bags, 4 faded brown bags.
+mirrored red bags contain 5 faded violet bags, 2 dark chartreuse bags.
+drab maroon bags contain 3 bright violet bags.
+dark violet bags contain 5 dark turquoise bags, 1 muted blue bag, 4 plaid bronze bags.
+dull silver bags contain 4 dotted lime bags, 3 dotted silver bags, 4 dull red bags, 3 pale white bags.
+striped lavender bags contain 5 drab silver bags.
+light yellow bags contain 3 posh plum bags, 3 bright olive bags, 4 wavy crimson bags.
+posh chartreuse bags contain 2 bright violet bags.
+pale green bags contain 5 shiny lime bags, 3 faded teal bags, 5 posh gray bags, 1 posh chartreuse bag.
+shiny lime bags contain 1 dull beige bag, 4 light aqua bags, 4 dotted tomato bags.
+plaid tan bags contain 1 mirrored chartreuse bag.
+drab coral bags contain 5 posh gray bags, 2 dull black bags.
+drab salmon bags contain 4 drab yellow bags, 3 mirrored green bags.
+faded yellow bags contain 2 mirrored beige bags, 1 bright turquoise bag, 1 vibrant black bag.
+bright tomato bags contain 4 clear brown bags.
+muted beige bags contain 1 clear turquoise bag.
+striped black bags contain 1 plaid chartreuse bag.
+bright cyan bags contain 5 clear tomato bags.
+striped coral bags contain 2 muted red bags.
+posh bronze bags contain 5 striped yellow bags.
+mirrored maroon bags contain 4 vibrant tomato bags, 5 bright green bags, 4 vibrant maroon bags, 4 striped violet bags.
+dotted turquoise bags contain 1 posh beige bag, 5 muted silver bags.
+bright purple bags contain 5 drab silver bags, 5 shiny blue bags, 2 plaid bronze bags, 4 faded magenta bags.
+posh plum bags contain 5 striped white bags, 2 pale brown bags, 1 wavy turquoise bag.
+dark crimson bags contain 1 dull black bag, 2 dull yellow bags, 1 posh white bag, 3 dotted lime bags.
+plaid bronze bags contain 5 striped indigo bags, 5 light indigo bags, 4 wavy magenta bags, 3 vibrant blue bags.
+clear red bags contain 4 posh silver bags, 1 dim aqua bag.
+striped salmon bags contain 3 bright violet bags, 4 faded olive bags, 5 dim turquoise bags.
+dim bronze bags contain no other bags.
+wavy brown bags contain 4 vibrant turquoise bags.
+wavy maroon bags contain 1 mirrored bronze bag, 2 posh fuchsia bags, 1 mirrored indigo bag.
+mirrored salmon bags contain 2 faded lavender bags.
+dark aqua bags contain 4 faded teal bags, 1 dim tomato bag.
+pale violet bags contain 5 clear blue bags, 3 plaid blue bags, 5 dim teal bags, 2 pale black bags.
+mirrored crimson bags contain 2 posh magenta bags, 2 dotted aqua bags, 1 dim bronze bag.
+bright indigo bags contain 4 bright violet bags.
+muted violet bags contain 4 mirrored maroon bags, 2 dull red bags, 4 plaid tomato bags, 1 pale yellow bag.
+shiny gold bags contain 3 vibrant blue bags, 5 plaid blue bags, 2 dark red bags, 1 dull green bag.
+clear green bags contain 4 dotted lavender bags.
+dark indigo bags contain 2 light lime bags, 3 wavy brown bags.
+muted fuchsia bags contain 3 plaid green bags.
+bright silver bags contain 4 dim tomato bags, 3 clear olive bags, 1 dull teal bag.
+plaid purple bags contain 4 dark silver bags, 1 vibrant crimson bag, 4 dark black bags, 3 faded magenta bags.
+clear chartreuse bags contain 4 posh plum bags.
+plaid tomato bags contain 2 wavy aqua bags, 3 striped indigo bags, 1 wavy magenta bag.
+posh cyan bags contain 3 drab green bags, 3 bright chartreuse bags, 3 muted gray bags, 2 light black bags.
+posh turquoise bags contain 5 wavy teal bags, 3 light tan bags, 1 dull gold bag.
+plaid olive bags contain 2 dim chartreuse bags.
+shiny orange bags contain 4 pale brown bags, 3 dim salmon bags.
+clear gray bags contain 4 bright salmon bags, 5 vibrant crimson bags.
+shiny brown bags contain 1 bright gold bag, 3 clear tomato bags.
+muted aqua bags contain 2 mirrored indigo bags, 1 dim tan bag.
+plaid red bags contain 1 clear plum bag.
+muted bronze bags contain 4 clear white bags, 3 dotted plum bags.
+plaid blue bags contain 2 dull lavender bags, 5 wavy magenta bags, 1 light indigo bag.
+shiny salmon bags contain 2 dotted black bags, 1 light magenta bag.
+shiny cyan bags contain 5 faded violet bags, 3 mirrored bronze bags, 4 dark maroon bags, 2 wavy lavender bags.
+drab magenta bags contain 2 light blue bags, 1 wavy orange bag, 5 posh chartreuse bags.
+dim violet bags contain 5 dark red bags, 4 light violet bags, 2 dotted fuchsia bags, 2 plaid tomato bags.
+faded crimson bags contain 3 clear silver bags, 1 vibrant beige bag.
+plaid fuchsia bags contain 3 plaid red bags, 4 drab purple bags, 4 clear lime bags, 3 dim turquoise bags.
+dull green bags contain 5 dotted beige bags, 4 drab silver bags, 4 posh magenta bags, 1 muted orange bag.
+wavy indigo bags contain 2 pale tan bags.
+plaid lavender bags contain 1 dark black bag.
+clear bronze bags contain 3 pale teal bags.
+clear blue bags contain 2 light teal bags, 5 dotted olive bags, 3 bright indigo bags.
+posh aqua bags contain 2 light violet bags, 2 dull salmon bags, 1 vibrant violet bag.
+dark gold bags contain 2 striped maroon bags.
+vibrant chartreuse bags contain 3 wavy silver bags.
+dark magenta bags contain 1 clear silver bag.
+dim red bags contain 3 wavy indigo bags, 2 muted teal bags.
+muted silver bags contain 5 pale crimson bags, 2 dotted tomato bags.
+mirrored tan bags contain 1 pale salmon bag.
+dull violet bags contain 2 dull black bags.
+striped beige bags contain 4 dark maroon bags, 2 wavy orange bags.
+striped turquoise bags contain 3 light indigo bags, 5 bright maroon bags, 1 light teal bag.
+pale gold bags contain 5 dotted teal bags.
+wavy olive bags contain 3 dotted fuchsia bags.
+clear violet bags contain 1 dotted lavender bag, 5 bright tan bags, 5 dim violet bags, 5 drab salmon bags.
+pale maroon bags contain 4 drab red bags, 1 wavy yellow bag, 1 muted green bag, 1 striped fuchsia bag.
+drab bronze bags contain 4 light gray bags, 3 posh magenta bags, 1 dull yellow bag.
+vibrant gold bags contain 4 dull violet bags, 3 clear white bags, 5 wavy chartreuse bags, 4 pale turquoise bags.
+clear beige bags contain 4 plaid blue bags, 3 shiny plum bags, 1 light silver bag.
+faded silver bags contain 5 drab turquoise bags, 4 plaid green bags, 4 posh yellow bags, 1 plaid blue bag.
+light brown bags contain 1 dark red bag, 1 dotted gray bag.
+shiny violet bags contain 5 posh cyan bags, 5 vibrant plum bags, 5 mirrored chartreuse bags, 4 plaid green bags.
+dark bronze bags contain 4 bright gold bags, 2 striped maroon bags, 4 dark aqua bags, 5 pale chartreuse bags.
+dull black bags contain 2 vibrant tomato bags, 1 vibrant blue bag, 3 pale yellow bags.
+dotted beige bags contain 5 dotted tomato bags, 1 striped indigo bag.
+clear indigo bags contain 3 dark violet bags.
+bright coral bags contain 1 dark indigo bag.
+drab turquoise bags contain 5 drab plum bags, 3 pale magenta bags, 5 drab red bags, 4 dull olive bags.
+shiny fuchsia bags contain 2 dull lavender bags, 5 striped tomato bags.
+dull indigo bags contain 3 pale turquoise bags, 3 faded tomato bags, 5 dim magenta bags, 3 drab indigo bags.
+dim aqua bags contain 4 faded brown bags, 1 mirrored lime bag.
+muted purple bags contain 3 dim salmon bags, 4 light violet bags, 2 striped turquoise bags, 2 shiny teal bags.
+dotted black bags contain 3 dotted cyan bags, 4 wavy magenta bags, 4 posh chartreuse bags.
+drab violet bags contain 4 dark gray bags, 5 dull chartreuse bags, 4 plaid gray bags.
+plaid green bags contain 3 dark red bags, 1 wavy crimson bag, 4 light coral bags, 4 striped indigo bags.
+faded brown bags contain 3 dark orange bags.
+light teal bags contain 3 striped indigo bags, 4 dim bronze bags.
+plaid black bags contain 2 mirrored crimson bags, 5 dim silver bags, 4 posh purple bags.
+shiny blue bags contain 2 plaid green bags, 4 plaid crimson bags, 2 faded plum bags.
+plaid lime bags contain 2 striped maroon bags.
+pale lavender bags contain 2 mirrored indigo bags, 1 pale green bag, 5 dim chartreuse bags, 3 pale white bags.
+drab chartreuse bags contain 1 bright salmon bag, 4 vibrant brown bags, 1 muted violet bag.
+light indigo bags contain no other bags.
+plaid violet bags contain 2 dim white bags, 4 faded lavender bags.
+drab gold bags contain 5 dotted aqua bags, 3 muted beige bags, 4 faded black bags, 5 dark red bags.
+mirrored bronze bags contain 2 plaid blue bags, 1 light orange bag.
+dim olive bags contain 1 striped silver bag.
+plaid white bags contain 5 pale turquoise bags, 4 mirrored orange bags, 2 vibrant aqua bags.
+wavy purple bags contain 3 dark silver bags, 1 dull white bag, 3 dotted magenta bags, 2 dim salmon bags.
+clear orange bags contain 5 striped indigo bags, 1 wavy bronze bag, 4 vibrant blue bags.
+plaid gray bags contain 1 dull aqua bag, 3 dull olive bags, 3 posh black bags.
+vibrant violet bags contain 2 vibrant maroon bags.
+pale olive bags contain 2 vibrant fuchsia bags.
+muted brown bags contain 5 pale teal bags, 2 light brown bags, 4 light tomato bags.
+posh lavender bags contain 4 bright indigo bags, 1 striped indigo bag, 5 dark purple bags.
+dotted blue bags contain 4 muted salmon bags, 3 mirrored red bags, 5 pale white bags, 3 clear red bags.
+dim purple bags contain 4 muted cyan bags.
+bright fuchsia bags contain 5 muted black bags.
+vibrant lime bags contain 3 posh purple bags, 1 drab aqua bag.
+wavy green bags contain 3 drab red bags, 2 faded brown bags, 2 wavy cyan bags.
+dull lime bags contain 3 bright salmon bags, 4 posh crimson bags, 1 drab salmon bag, 4 pale yellow bags.
+mirrored aqua bags contain 4 striped violet bags, 1 striped indigo bag, 2 striped tomato bags.
+striped tan bags contain 4 light blue bags, 4 dull beige bags.
+drab green bags contain 5 muted silver bags, 1 vibrant orange bag, 2 striped indigo bags, 4 striped tomato bags.
+dotted orange bags contain 5 mirrored white bags, 5 muted orange bags, 2 drab tomato bags, 2 dull white bags.
+dim tomato bags contain 2 dull lavender bags.
+dull magenta bags contain 3 faded brown bags, 5 faded teal bags.
+faded maroon bags contain 4 posh brown bags, 2 dotted aqua bags.
+plaid cyan bags contain 4 faded crimson bags, 4 light chartreuse bags, 1 light crimson bag, 1 posh fuchsia bag.
+dim salmon bags contain 1 dotted olive bag, 4 light indigo bags.
+faded chartreuse bags contain 4 bright gold bags, 4 clear silver bags.
+light plum bags contain 2 dotted chartreuse bags, 1 drab white bag.
+posh silver bags contain 3 mirrored black bags, 4 dull blue bags.
+dull salmon bags contain 4 dim white bags, 5 clear tomato bags, 2 mirrored maroon bags.
+light green bags contain 4 plaid chartreuse bags, 5 vibrant aqua bags.
+posh indigo bags contain 2 dull olive bags, 2 dotted lime bags, 1 drab red bag.
+dark blue bags contain 5 dotted green bags, 3 wavy crimson bags, 4 clear silver bags.
+bright black bags contain 5 posh bronze bags, 3 bright cyan bags, 5 muted black bags.
+bright lavender bags contain 1 shiny indigo bag, 1 dim yellow bag, 1 wavy yellow bag.
+faded white bags contain 1 dotted black bag, 5 wavy red bags.
+muted black bags contain 1 mirrored aqua bag, 4 dark red bags, 5 dull yellow bags.
+light turquoise bags contain 3 shiny plum bags.
+vibrant coral bags contain 2 shiny orange bags, 4 bright olive bags.
+vibrant aqua bags contain 2 wavy crimson bags, 2 muted orange bags.
+dotted tan bags contain 1 light indigo bag, 2 dim magenta bags.
+posh yellow bags contain 4 faded lavender bags.
+pale lime bags contain 4 mirrored orange bags, 3 dull gray bags, 1 muted magenta bag.
+drab white bags contain 2 faded tan bags, 3 wavy aqua bags.
+shiny tomato bags contain 4 dim coral bags, 3 dotted lime bags.
+wavy plum bags contain 1 bright orange bag.
+dull crimson bags contain 2 pale silver bags, 1 light beige bag, 4 wavy violet bags.
+dotted violet bags contain 4 light indigo bags, 1 dark black bag, 3 pale green bags.
+dark salmon bags contain 5 light tan bags, 4 dim chartreuse bags, 5 faded green bags, 3 light brown bags.
+dull brown bags contain 5 mirrored aqua bags, 5 dim magenta bags, 4 light brown bags, 5 plaid black bags.
+shiny chartreuse bags contain 5 wavy yellow bags, 3 faded aqua bags, 1 bright fuchsia bag, 5 drab plum bags.
+muted red bags contain 3 drab white bags, 5 dim beige bags, 4 bright olive bags.
+posh blue bags contain 1 dotted beige bag, 1 vibrant cyan bag, 4 vibrant brown bags, 2 clear turquoise bags.
+wavy bronze bags contain 4 wavy turquoise bags, 4 dim bronze bags, 3 shiny beige bags, 2 dull lavender bags.
+posh beige bags contain 3 muted gray bags, 4 light salmon bags, 5 striped turquoise bags.
+vibrant red bags contain 5 muted blue bags.
+dark olive bags contain 5 dark maroon bags.
+dotted gray bags contain 3 wavy magenta bags.
+vibrant cyan bags contain 5 dotted lavender bags, 3 vibrant orange bags.
+dark chartreuse bags contain 3 pale white bags, 1 dull lavender bag.
+faded lime bags contain 4 clear green bags, 3 shiny plum bags, 2 light green bags.
+vibrant blue bags contain 1 wavy turquoise bag, 4 dim salmon bags.
+dull tan bags contain 3 dim chartreuse bags, 1 plaid tomato bag, 4 dark brown bags.
+muted gray bags contain 4 clear tan bags, 3 wavy aqua bags, 5 dim white bags.
+clear yellow bags contain 1 drab white bag, 5 dark salmon bags, 2 dull yellow bags.
+clear tomato bags contain 2 dotted gray bags, 5 vibrant beige bags, 1 bright maroon bag, 2 drab green bags.
+shiny tan bags contain 5 posh lavender bags, 5 pale yellow bags.
+dark black bags contain 4 muted purple bags, 5 light gray bags, 5 drab red bags.
+striped plum bags contain 3 dull red bags, 1 dark tomato bag, 4 dark yellow bags, 5 plaid cyan bags.
+light gray bags contain 3 plaid chartreuse bags.
+light aqua bags contain 4 wavy magenta bags, 3 light black bags.
+vibrant brown bags contain 1 bright blue bag, 1 posh black bag.
+posh tomato bags contain 5 wavy magenta bags.
+dotted bronze bags contain 4 mirrored chartreuse bags.
+mirrored violet bags contain 2 clear maroon bags, 1 light red bag, 4 mirrored gray bags.
+dark purple bags contain 5 bright blue bags, 3 plaid blue bags.
+faded beige bags contain 4 plaid bronze bags, 5 vibrant turquoise bags, 3 pale orange bags, 5 mirrored aqua bags.
+mirrored green bags contain 1 dotted fuchsia bag, 5 light indigo bags, 3 shiny beige bags.
+striped violet bags contain 5 drab silver bags, 2 dim crimson bags, 3 plaid blue bags.
+mirrored tomato bags contain 5 light lavender bags.
+posh purple bags contain 3 pale orange bags.
+dim blue bags contain 5 dotted plum bags, 1 light orange bag, 4 dim maroon bags.
+dark cyan bags contain 4 vibrant white bags, 4 dull white bags, 1 posh purple bag.
+drab beige bags contain 5 dull purple bags.
+vibrant olive bags contain 5 light silver bags.
+plaid beige bags contain 3 muted silver bags, 4 vibrant orange bags.
+wavy silver bags contain 2 dim crimson bags, 4 shiny maroon bags, 4 pale indigo bags.
+posh crimson bags contain 2 light violet bags, 4 pale coral bags, 3 plaid bronze bags.
+vibrant crimson bags contain 3 dull red bags.
+dotted olive bags contain no other bags.
+mirrored beige bags contain 2 plaid gray bags, 5 mirrored yellow bags.
+bright brown bags contain 2 faded aqua bags, 1 dim tomato bag, 5 posh magenta bags.
+bright magenta bags contain 2 posh gray bags, 3 dim salmon bags.
+clear magenta bags contain 2 dim cyan bags, 3 clear red bags, 1 dull fuchsia bag, 4 wavy coral bags.
+clear lime bags contain 5 dull green bags, 2 shiny bronze bags, 2 faded orange bags, 1 bright beige bag.
+muted tan bags contain 4 vibrant maroon bags, 3 vibrant black bags, 5 shiny maroon bags, 5 vibrant turquoise bags.
+pale beige bags contain 3 light tomato bags.
+dark fuchsia bags contain 2 faded brown bags, 3 dotted lavender bags, 4 shiny teal bags, 2 bright blue bags.
+dim magenta bags contain 4 posh chartreuse bags.
+bright aqua bags contain 5 drab violet bags.
+striped crimson bags contain 2 bright green bags.
+dull chartreuse bags contain 4 plaid bronze bags, 2 shiny gray bags, 4 dull lavender bags.
+wavy chartreuse bags contain 1 vibrant tomato bag, 1 dim tomato bag, 3 pale green bags, 1 posh plum bag.
+dotted white bags contain 1 dark teal bag, 4 dotted violet bags, 5 bright beige bags, 3 dim silver bags.
+mirrored purple bags contain 1 posh green bag.
+faded bronze bags contain 4 dotted indigo bags.
+faded lavender bags contain 3 muted purple bags.
+clear turquoise bags contain 4 muted orange bags, 1 striped violet bag, 5 clear tan bags, 5 dim white bags.
+shiny plum bags contain 4 dim crimson bags.
+wavy fuchsia bags contain 3 dotted brown bags, 5 dark magenta bags, 2 dark bronze bags.
+faded olive bags contain 5 plaid indigo bags.
+mirrored orange bags contain 4 striped violet bags, 2 light violet bags, 4 shiny orange bags.
+pale indigo bags contain 3 shiny indigo bags.
+faded tan bags contain 3 shiny maroon bags, 5 posh aqua bags, 1 striped violet bag, 2 dim white bags.
+bright chartreuse bags contain 1 posh black bag, 5 bright gray bags, 3 plaid chartreuse bags.
+drab blue bags contain 1 pale violet bag, 4 vibrant green bags.
+posh tan bags contain 4 shiny lime bags.
+plaid maroon bags contain 2 dotted black bags.
+dull coral bags contain 4 posh coral bags, 1 dotted silver bag, 5 drab beige bags, 1 plaid red bag.
+striped yellow bags contain 1 plaid tomato bag, 1 dotted lavender bag.
+muted magenta bags contain 4 muted black bags.
+dotted cyan bags contain 1 vibrant tomato bag, 3 light indigo bags, 1 wavy turquoise bag.
+dim lavender bags contain 1 muted black bag, 4 pale white bags, 2 mirrored coral bags, 5 pale brown bags.
+bright gold bags contain 5 vibrant green bags.
+light white bags contain 2 striped lime bags, 2 muted lime bags, 5 muted brown bags, 4 bright green bags.
+wavy lavender bags contain 2 vibrant purple bags, 5 posh white bags.
+clear black bags contain 2 posh turquoise bags, 3 dotted orange bags, 3 faded teal bags.
+muted crimson bags contain 1 pale violet bag, 5 drab lavender bags.
+posh green bags contain 4 vibrant beige bags, 5 dark purple bags, 3 dim salmon bags, 3 light black bags.
+vibrant silver bags contain 3 posh coral bags, 4 posh white bags.
+dim coral bags contain 2 posh violet bags, 1 dark cyan bag, 3 shiny green bags, 3 vibrant cyan bags.
+striped red bags contain 5 muted olive bags, 4 wavy teal bags, 3 shiny gray bags, 1 mirrored coral bag.
+bright violet bags contain 3 shiny beige bags, 1 wavy magenta bag, 5 light indigo bags.
+vibrant magenta bags contain 4 striped salmon bags, 1 light tan bag.
+faded gold bags contain 5 light tomato bags, 1 wavy black bag, 4 faded maroon bags.
+muted plum bags contain 1 vibrant brown bag, 2 muted cyan bags, 4 muted salmon bags.
+plaid gold bags contain 5 shiny beige bags, 3 faded fuchsia bags, 5 vibrant cyan bags, 5 shiny gold bags.
+striped indigo bags contain no other bags.
+wavy gray bags contain 2 plaid indigo bags, 3 clear tomato bags, 4 dull blue bags.
+plaid silver bags contain 5 clear salmon bags, 5 faded lime bags, 4 shiny tan bags, 5 mirrored chartreuse bags.
+plaid yellow bags contain 4 shiny chartreuse bags, 1 light lime bag, 2 dull green bags.
+plaid turquoise bags contain 3 dotted aqua bags, 3 posh magenta bags.
+striped olive bags contain 2 faded aqua bags, 5 dotted orange bags, 5 dull turquoise bags, 1 pale violet bag.
+faded teal bags contain 3 striped indigo bags.
+dull red bags contain 1 mirrored gray bag, 4 drab coral bags, 2 bright plum bags, 1 dull green bag.
+dull gold bags contain 5 bright blue bags.
+shiny magenta bags contain 1 light white bag.
+striped green bags contain 1 clear blue bag.
+dull teal bags contain 3 dark purple bags, 4 dim lime bags, 5 clear chartreuse bags.
+faded magenta bags contain 4 shiny gray bags, 5 pale crimson bags, 5 light coral bags, 2 pale white bags.
+pale tomato bags contain 4 dull black bags, 1 posh chartreuse bag, 1 faded cyan bag.
+muted blue bags contain 5 striped white bags, 1 faded orange bag.
+light blue bags contain 4 posh white bags.
+plaid chartreuse bags contain 2 bright gray bags.
+dull aqua bags contain 5 clear tan bags, 5 dotted red bags, 5 vibrant tomato bags.
+light lavender bags contain 5 clear fuchsia bags, 1 striped olive bag.
+bright green bags contain 4 vibrant violet bags, 2 vibrant maroon bags.
+light beige bags contain 1 striped maroon bag.
+drab indigo bags contain 4 posh tomato bags, 5 faded brown bags.
+dotted yellow bags contain 3 wavy violet bags, 4 bright violet bags, 4 vibrant lime bags, 1 pale beige bag.
+striped gold bags contain 2 light indigo bags, 3 dull red bags, 5 vibrant beige bags.
+muted indigo bags contain 5 bright purple bags, 1 pale plum bag, 5 wavy black bags.
+dark lime bags contain 2 faded blue bags.
+shiny white bags contain 4 clear tan bags, 3 pale yellow bags, 5 plaid tomato bags, 4 wavy turquoise bags.
+vibrant maroon bags contain 4 dark red bags, 2 dull aqua bags, 5 wavy aqua bags.
+drab teal bags contain 3 shiny indigo bags.
+bright plum bags contain 2 plaid chartreuse bags.
+vibrant yellow bags contain 3 posh purple bags.
+posh salmon bags contain 4 dim plum bags, 1 pale yellow bag, 2 shiny gold bags.
+shiny black bags contain 3 dim magenta bags.
+bright gray bags contain no other bags.
+dull orange bags contain 3 dotted purple bags.
+pale purple bags contain 2 bright cyan bags, 2 drab teal bags, 2 dotted gold bags, 4 mirrored fuchsia bags.
+dull yellow bags contain 3 posh gray bags.
+muted tomato bags contain 3 faded orange bags.
+drab olive bags contain 4 dim maroon bags, 1 bright turquoise bag, 3 shiny indigo bags, 5 vibrant lavender bags.
+clear salmon bags contain 2 dim chartreuse bags, 2 shiny black bags, 5 dotted indigo bags, 3 dotted aqua bags.
+posh black bags contain 2 wavy turquoise bags, 2 shiny plum bags, 2 mirrored gold bags.
+light gold bags contain 5 shiny tomato bags, 4 light cyan bags.
+shiny coral bags contain 3 faded silver bags.
+plaid magenta bags contain 1 vibrant black bag, 2 bright blue bags.
+dotted teal bags contain 4 faded olive bags, 5 vibrant brown bags, 3 clear salmon bags.
+striped purple bags contain 5 shiny bronze bags.
+dim tan bags contain 2 light tan bags, 1 dotted gold bag, 3 shiny white bags.
+light silver bags contain 5 dotted cyan bags, 4 dotted aqua bags.
+dull white bags contain 5 striped turquoise bags.
+plaid aqua bags contain 3 dim bronze bags, 5 dull brown bags, 3 faded plum bags, 2 mirrored crimson bags.
+dotted silver bags contain 1 faded teal bag.
+dull olive bags contain 1 dark turquoise bag, 3 muted orange bags.
+clear purple bags contain 3 drab salmon bags.
+mirrored plum bags contain 1 vibrant lavender bag.
+bright beige bags contain 4 plaid magenta bags, 1 dull turquoise bag, 4 dim white bags, 1 light aqua bag.
+pale red bags contain 1 muted lavender bag, 2 vibrant teal bags, 4 plaid cyan bags, 5 dull orange bags.
+drab orange bags contain 3 bright plum bags, 5 vibrant chartreuse bags.
+mirrored gold bags contain 2 wavy magenta bags.
+posh maroon bags contain 3 dotted lime bags, 2 muted black bags, 3 faded green bags.
+clear white bags contain 4 pale black bags.
+pale silver bags contain 2 dim coral bags, 2 dull lavender bags, 2 dark teal bags, 3 wavy green bags.
+vibrant tomato bags contain 5 dull lavender bags.
+striped orange bags contain 5 shiny salmon bags, 1 pale gold bag, 4 mirrored gray bags, 1 plaid black bag.
+dim beige bags contain 5 dim salmon bags, 2 striped yellow bags, 5 shiny orange bags, 5 light salmon bags.
+clear gold bags contain 2 dim salmon bags, 4 vibrant cyan bags.
+dim teal bags contain 3 light indigo bags, 3 pale green bags, 5 muted bronze bags.
+shiny silver bags contain 3 drab red bags, 1 pale magenta bag, 3 plaid blue bags, 4 pale white bags.
+dark beige bags contain 4 posh black bags, 1 dark maroon bag.
+bright bronze bags contain 4 mirrored yellow bags, 1 vibrant salmon bag, 2 mirrored teal bags, 1 shiny beige bag.
+dotted maroon bags contain 1 clear tomato bag.
+bright olive bags contain 3 striped tomato bags, 3 plaid indigo bags, 3 posh magenta bags.
+faded tomato bags contain 5 bright violet bags.
+mirrored magenta bags contain 3 wavy coral bags, 4 dull tan bags, 3 wavy chartreuse bags.
+striped aqua bags contain 3 drab teal bags, 3 drab crimson bags, 5 plaid gold bags, 2 vibrant aqua bags.
+clear crimson bags contain 5 striped chartreuse bags, 5 vibrant blue bags.
+striped blue bags contain 4 dull red bags, 3 vibrant white bags, 4 posh black bags.
+posh olive bags contain 5 muted cyan bags.
+plaid indigo bags contain 5 dotted fuchsia bags, 2 plaid chartreuse bags, 3 vibrant blue bags.
+mirrored lime bags contain 2 dotted lavender bags, 2 wavy bronze bags.
+wavy blue bags contain 5 mirrored green bags, 5 faded tomato bags, 1 posh turquoise bag.
+light fuchsia bags contain 3 faded tomato bags, 5 muted beige bags, 2 faded beige bags, 4 wavy indigo bags.
+dull plum bags contain 4 dark blue bags, 5 shiny maroon bags, 3 pale gray bags, 5 drab lime bags.
+drab fuchsia bags contain 3 dark maroon bags.
+pale teal bags contain 4 vibrant blue bags, 1 bright green bag, 3 dim crimson bags, 1 posh salmon bag.
+dull tomato bags contain 3 dim maroon bags, 4 plaid gray bags, 5 striped gold bags, 5 striped white bags.
+pale orange bags contain 4 drab yellow bags.
+wavy aqua bags contain 1 dim bronze bag.
+dim chartreuse bags contain 2 bright violet bags.
+dotted crimson bags contain 5 vibrant orange bags, 4 wavy magenta bags.
+faded cyan bags contain 3 mirrored blue bags, 3 shiny fuchsia bags, 4 bright indigo bags.
+pale salmon bags contain 2 pale cyan bags, 2 muted lime bags, 2 vibrant plum bags.
+drab lime bags contain 2 drab yellow bags, 2 light magenta bags, 3 dotted fuchsia bags.
+shiny bronze bags contain 1 posh lavender bag.
+dim fuchsia bags contain 5 dotted gold bags, 5 vibrant indigo bags, 4 shiny teal bags, 2 dotted silver bags.
+dark green bags contain 2 shiny blue bags.
+bright red bags contain 2 pale brown bags, 3 plaid blue bags, 4 drab bronze bags, 3 dim yellow bags.
+clear teal bags contain 2 drab white bags, 3 muted beige bags.
+pale aqua bags contain 4 light tan bags.
+dull lavender bags contain 1 dim bronze bag, 5 dim crimson bags, 1 dotted olive bag.
+dotted plum bags contain 1 light black bag.
+shiny teal bags contain 3 light indigo bags.
+dotted lime bags contain 1 shiny gold bag, 3 plaid crimson bags.
+dark tan bags contain 5 faded tan bags.
+vibrant indigo bags contain 3 shiny fuchsia bags.
+light tan bags contain 4 pale yellow bags, 1 pale crimson bag, 3 light gray bags.
+drab plum bags contain 2 shiny turquoise bags, 2 vibrant yellow bags, 4 muted brown bags, 2 drab lavender bags.
+dim white bags contain 5 dark red bags, 5 dotted olive bags.
+light red bags contain 2 vibrant indigo bags, 1 wavy salmon bag, 3 dull brown bags.
+mirrored fuchsia bags contain 5 dotted tomato bags.
+mirrored indigo bags contain 5 pale lime bags, 5 light magenta bags, 4 light gray bags, 2 dull red bags.
+dim yellow bags contain 2 muted beige bags, 2 plaid olive bags, 3 faded aqua bags.
+shiny gray bags contain 1 drab yellow bag, 3 shiny lavender bags, 1 posh white bag.
+faded violet bags contain 2 bright olive bags, 5 clear gray bags, 2 dark orange bags, 1 pale magenta bag.
+mirrored black bags contain 4 clear blue bags.
+drab aqua bags contain 1 vibrant crimson bag, 4 clear fuchsia bags.
+pale black bags contain 5 pale turquoise bags, 4 striped yellow bags, 4 dotted beige bags.
+wavy cyan bags contain 1 vibrant brown bag.
+dark silver bags contain 3 light tomato bags, 5 dotted lavender bags, 3 bright turquoise bags.
+faded orange bags contain 3 clear turquoise bags, 3 mirrored gold bags, 2 plaid bronze bags, 2 dotted fuchsia bags.
+drab crimson bags contain 5 clear blue bags.
+posh magenta bags contain 1 bright violet bag, 2 dotted beige bags, 2 bright gray bags.
+posh brown bags contain 3 dim tomato bags, 1 dim chartreuse bag, 5 shiny orange bags.
+drab gray bags contain 3 striped violet bags.
+pale cyan bags contain 5 dotted aqua bags, 3 striped tomato bags.
+wavy tan bags contain 3 pale indigo bags.
+plaid brown bags contain 2 dotted indigo bags, 1 dull indigo bag, 2 light brown bags.
+vibrant beige bags contain 1 shiny teal bag, 3 vibrant cyan bags, 2 posh gray bags, 3 striped tomato bags.
+shiny aqua bags contain 2 vibrant black bags, 2 muted coral bags, 4 vibrant coral bags.
+mirrored silver bags contain 3 drab silver bags, 1 clear turquoise bag.
+pale tan bags contain 3 pale magenta bags.
+striped cyan bags contain 5 drab tomato bags.
+mirrored coral bags contain 1 mirrored crimson bag, 1 bright maroon bag.
+pale white bags contain 4 shiny beige bags, 1 shiny maroon bag, 5 dim bronze bags.
+shiny beige bags contain 3 mirrored gold bags.
+mirrored chartreuse bags contain 1 dotted tomato bag, 2 bright cyan bags.
+wavy red bags contain 1 posh lavender bag, 1 vibrant blue bag, 3 muted brown bags.
+muted chartreuse bags contain 3 dim lavender bags, 4 pale plum bags, 4 light magenta bags.
+shiny purple bags contain 4 muted green bags, 5 light white bags, 2 faded tan bags, 5 light beige bags.
+clear tan bags contain 3 dotted red bags, 1 striped violet bag, 4 plaid chartreuse bags.
+bright teal bags contain 1 faded black bag, 3 faded maroon bags.
+posh orange bags contain 5 light gold bags, 3 posh aqua bags.
+striped gray bags contain 2 bright plum bags, 2 shiny gray bags.
+dim lime bags contain 1 plaid blue bag.
+posh fuchsia bags contain 1 dull indigo bag, 2 plaid blue bags.
+dotted tomato bags contain no other bags.
+dim plum bags contain 1 dim chartreuse bag.
+dim orange bags contain 2 muted magenta bags, 5 faded aqua bags.
+posh gold bags contain 5 light maroon bags, 4 dark turquoise bags, 1 posh white bag, 5 wavy beige bags.
+striped bronze bags contain 1 dark magenta bag.
+wavy lime bags contain 4 mirrored lavender bags, 3 pale bronze bags, 1 dull white bag.
+pale magenta bags contain 2 dim crimson bags, 4 plaid plum bags, 5 muted silver bags, 2 dim yellow bags.
+striped chartreuse bags contain 5 light black bags, 3 bright fuchsia bags, 4 pale black bags.
+vibrant tan bags contain 2 dim tan bags.
+shiny crimson bags contain 5 pale beige bags, 3 clear purple bags, 2 pale violet bags, 4 dotted chartreuse bags.
+vibrant orange bags contain no other bags.
+striped silver bags contain 5 clear orange bags, 2 dotted fuchsia bags.
+clear cyan bags contain 5 muted gray bags, 3 wavy aqua bags.
+light black bags contain 1 striped yellow bag.
+muted white bags contain 3 muted tomato bags, 5 light black bags, 4 pale black bags, 5 shiny gold bags.
diff --git a/2020/inputs/day_8.txt b/2020/inputs/day_8.txt
new file mode 100644
index 0000000..5ef799e
--- /dev/null
+++ b/2020/inputs/day_8.txt
@@ -0,0 +1,626 @@
+acc +48
+nop +308
+acc +33
+acc +48
+jmp +379
+acc +27
+acc +23
+acc +29
+acc +3
+jmp +326
+acc -12
+nop +248
+nop +146
+jmp +293
+acc +8
+acc -16
+acc +18
+jmp +255
+jmp +390
+jmp +442
+acc +38
+jmp +451
+jmp +499
+acc +41
+acc +44
+nop +298
+acc +31
+jmp +337
+acc -3
+acc +34
+nop +266
+acc -19
+jmp +281
+jmp +232
+acc -9
+acc +25
+acc -8
+nop +228
+jmp +79
+jmp +58
+acc +38
+nop +318
+jmp +17
+acc +44
+jmp +298
+acc -4
+jmp +196
+jmp +249
+acc -9
+acc -3
+acc +17
+jmp +556
+jmp +1
+acc -15
+jmp +166
+acc +23
+acc +10
+acc +39
+jmp +475
+acc +28
+jmp +41
+jmp +322
+acc +48
+acc -11
+acc -13
+acc +12
+jmp +92
+jmp +1
+acc +9
+jmp -26
+acc +4
+acc -8
+nop +484
+acc -14
+jmp +526
+acc -13
+acc -2
+acc -13
+jmp +419
+acc +22
+acc -17
+jmp +1
+jmp +151
+acc +3
+acc +2
+acc -13
+acc -11
+jmp +352
+acc +24
+jmp -27
+nop +206
+acc +22
+nop +225
+jmp +360
+acc +48
+jmp +105
+jmp +80
+acc -16
+jmp +89
+acc +0
+jmp +339
+acc +37
+acc +41
+nop +156
+jmp +452
+jmp +208
+nop +60
+jmp +155
+acc -16
+jmp +274
+nop -77
+acc -16
+acc +21
+jmp +508
+acc -7
+acc -1
+jmp -83
+acc -11
+jmp +28
+acc +3
+acc +32
+acc -18
+jmp -89
+acc +4
+acc -14
+acc -1
+acc +33
+jmp -75
+nop +185
+acc +8
+acc +22
+acc +26
+jmp +164
+acc -19
+jmp +260
+jmp +174
+acc +2
+acc +34
+jmp -120
+acc -15
+acc +48
+jmp +165
+acc +5
+nop +240
+jmp -121
+jmp +114
+jmp -36
+nop +432
+jmp +1
+acc -18
+jmp +429
+acc +44
+nop +110
+jmp +198
+acc -18
+acc +32
+acc +41
+jmp +102
+nop +177
+acc +35
+acc +24
+acc +46
+jmp +121
+acc +20
+jmp +1
+jmp +407
+jmp +1
+acc +35
+acc +46
+nop -18
+jmp +6
+jmp +422
+acc -19
+jmp -85
+acc +33
+jmp -116
+nop +79
+jmp +284
+acc +3
+acc +49
+nop +317
+jmp +6
+acc +6
+jmp +295
+nop -141
+acc -4
+jmp -44
+nop +155
+acc +48
+acc -17
+jmp +188
+acc +22
+jmp +286
+nop +103
+acc -2
+acc +45
+jmp +20
+acc +21
+acc +37
+jmp +235
+jmp +42
+acc -11
+nop -15
+acc -5
+jmp +235
+jmp +178
+acc +12
+acc -15
+jmp +25
+acc +9
+acc +11
+nop +389
+acc +50
+jmp +146
+acc +26
+jmp +144
+acc -14
+jmp +304
+nop +254
+jmp +337
+jmp +17
+jmp +1
+acc +6
+acc -4
+acc +42
+jmp +117
+acc +25
+acc +50
+acc +45
+jmp -112
+acc +14
+acc +27
+jmp +347
+nop +15
+jmp +14
+acc +29
+jmp +236
+jmp -71
+acc -11
+acc +21
+nop +32
+jmp -162
+acc -15
+jmp +322
+acc -4
+acc +16
+jmp +1
+jmp +100
+jmp +1
+jmp -77
+acc +21
+nop -199
+acc +49
+acc -1
+jmp -231
+jmp +230
+acc -19
+jmp +1
+jmp -49
+jmp -11
+acc +6
+jmp -110
+jmp +331
+acc +44
+jmp +292
+acc -7
+acc -18
+acc +50
+jmp +221
+acc +33
+acc +7
+jmp -45
+jmp +342
+acc -19
+acc +36
+acc +15
+jmp -229
+nop -5
+jmp +57
+acc +26
+acc +43
+nop -175
+jmp +82
+acc +45
+jmp -161
+acc -16
+acc +35
+acc +46
+acc +43
+jmp +1
+nop +195
+acc +39
+acc +27
+acc +32
+jmp +227
+jmp -272
+nop +201
+acc +6
+acc +13
+acc +12
+jmp -177
+acc -9
+acc +46
+nop +199
+acc -1
+jmp +1
+jmp +3
+acc +42
+jmp +75
+jmp +305
+acc +49
+acc -16
+jmp -92
+acc +3
+nop +279
+jmp +54
+jmp +31
+acc +50
+jmp -125
+acc +21
+nop -178
+acc +40
+jmp +193
+acc +39
+acc -5
+jmp +261
+nop -3
+acc -13
+jmp -310
+acc +6
+acc -17
+acc +12
+acc +38
+jmp +267
+jmp -311
+acc -2
+jmp -7
+nop +77
+acc -2
+acc +39
+acc -16
+jmp +10
+nop +59
+jmp -296
+acc -4
+acc +41
+jmp -249
+acc +43
+nop +35
+jmp +95
+jmp +171
+acc +10
+nop +169
+acc -17
+jmp +47
+acc +49
+acc +38
+nop +199
+jmp +249
+jmp -53
+nop -194
+acc +19
+acc +18
+jmp -16
+acc +33
+jmp +194
+nop -194
+acc +49
+jmp +85
+acc +50
+nop -318
+acc -7
+jmp -49
+acc -6
+acc +48
+acc -13
+acc -14
+jmp +67
+acc +12
+acc +19
+acc +3
+jmp -371
+jmp -149
+acc +49
+nop -202
+jmp -315
+acc -6
+jmp -171
+acc -7
+jmp +113
+acc +34
+acc +36
+acc +17
+jmp -97
+acc +3
+jmp -244
+acc +25
+acc +30
+acc +25
+acc -19
+jmp +44
+nop +84
+jmp +124
+nop +17
+acc -11
+acc -8
+acc +4
+jmp +193
+jmp -388
+acc +36
+acc +17
+jmp +1
+acc -5
+jmp +166
+acc +39
+acc -10
+jmp -280
+acc +15
+jmp +1
+jmp -396
+jmp +113
+acc +37
+acc +13
+jmp -35
+nop +109
+acc +8
+acc +6
+acc +19
+jmp +39
+jmp +1
+jmp +1
+acc +39
+acc -14
+jmp -291
+acc +39
+acc +31
+jmp -231
+acc +41
+jmp -55
+nop -167
+jmp +105
+acc -8
+acc +34
+jmp -114
+nop +58
+jmp +1
+nop -270
+acc +31
+jmp -135
+acc +8
+acc +33
+jmp +1
+jmp -64
+acc +24
+acc +16
+jmp +117
+acc +35
+acc -11
+nop +44
+acc +18
+jmp +1
+jmp +88
+acc +29
+nop +34
+jmp +1
+nop -118
+jmp -404
+jmp -144
+acc -12
+nop -372
+acc -14
+jmp -209
+acc +12
+jmp +1
+acc -1
+jmp +132
+nop -93
+jmp -130
+acc +23
+acc +30
+acc +3
+jmp -209
+nop -381
+acc -19
+jmp +23
+nop +87
+jmp -277
+acc +39
+jmp -391
+acc +14
+acc +18
+acc +24
+nop -459
+jmp -267
+acc +35
+nop +84
+jmp -231
+acc +5
+acc +0
+acc +45
+jmp -210
+jmp -211
+acc +7
+acc +8
+nop -249
+jmp -8
+jmp -105
+nop -455
+acc -19
+acc +36
+jmp -368
+acc +33
+acc +10
+acc +9
+jmp -259
+nop +41
+acc -14
+acc +2
+jmp -336
+acc +46
+jmp -261
+nop -284
+acc +21
+nop -154
+jmp -485
+jmp -505
+acc +32
+nop -327
+acc +1
+nop +43
+jmp -23
+acc -7
+jmp -88
+acc +10
+jmp -440
+acc +12
+jmp -430
+jmp +1
+acc +46
+nop -105
+jmp -87
+acc +49
+acc -10
+acc -6
+jmp -411
+jmp -268
+acc +35
+acc +15
+jmp +45
+acc -14
+acc +0
+jmp -234
+nop -67
+acc +32
+acc +1
+jmp -476
+jmp -297
+nop -274
+jmp -435
+acc +36
+acc -2
+acc +33
+acc +9
+jmp -26
+jmp +50
+acc +23
+jmp -172
+jmp +1
+acc +34
+acc +32
+acc -4
+jmp -312
+acc -11
+acc +26
+jmp -150
+acc +41
+nop -79
+acc +25
+jmp -76
+acc -2
+acc +29
+acc +12
+jmp -549
+nop -357
+nop -438
+jmp -320
+acc +7
+acc -6
+jmp -149
+nop -74
+acc +7
+acc +45
+jmp -383
+acc -8
+acc +5
+acc +12
+jmp -463
+acc -17
+acc +5
+jmp -34
+jmp +1
+acc +18
+jmp -523
+acc +38
+acc +35
+nop -222
+jmp -424
+nop -365
+jmp -188
+acc +0
+acc +7
+nop -167
+acc +27
+jmp -351
+acc +26
+jmp -201
+nop -208
+nop -466
+acc +50
+nop -531
+jmp -273
+acc +21
+acc +25
+nop -397
+acc +29
+jmp +1
diff --git a/2020/inputs/day_9.txt b/2020/inputs/day_9.txt
new file mode 100644
index 0000000..31690cc
--- /dev/null
+++ b/2020/inputs/day_9.txt
@@ -0,0 +1,1000 @@
+37
+7
+16
+34
+48
+24
+5
+40
+30
+35
+2
+45
+19
+33
+36
+49
+32
+1
+44
+21
+25
+3
+11
+38
+15
+4
+6
+7
+8
+16
+9
+10
+5
+12
+13
+17
+14
+35
+18
+19
+20
+23
+36
+53
+22
+21
+41
+28
+11
+24
+15
+25
+26
+27
+29
+64
+50
+31
+30
+34
+32
+44
+33
+47
+74
+35
+66
+37
+36
+38
+45
+39
+40
+41
+42
+57
+51
+55
+68
+70
+71
+72
+61
+88
+65
+75
+140
+77
+73
+82
+110
+81
+74
+116
+86
+80
+112
+83
+92
+128
+141
+106
+120
+146
+126
+147
+133
+134
+138
+139
+156
+209
+162
+160
+154
+155
+233
+216
+163
+313
+298
+273
+189
+198
+226
+253
+232
+265
+259
+260
+316
+267
+272
+277
+449
+428
+314
+309
+471
+318
+379
+430
+458
+387
+683
+475
+415
+421
+486
+525
+544
+575
+532
+519
+632
+539
+590
+739
+586
+623
+627
+688
+696
+697
+804
+1072
+1119
+940
+808
+896
+836
+990
+907
+1107
+1436
+1114
+1129
+1051
+1058
+1754
+1385
+1644
+1459
+1250
+2686
+1324
+2442
+1504
+1501
+1612
+1704
+1915
+1715
+1732
+1826
+1897
+2048
+2431
+2109
+3004
+2165
+2825
+2301
+3039
+2862
+3145
+2574
+2709
+2751
+3447
+4043
+3005
+4198
+3113
+3612
+4910
+3629
+3541
+4306
+4157
+4466
+4349
+4274
+5113
+5027
+5446
+6186
+7889
+8522
+5436
+5854
+5283
+5864
+6292
+6118
+6546
+6617
+6742
+6654
+7241
+7170
+7698
+8431
+11231
+8506
+8623
+9301
+9387
+10140
+10310
+12518
+11137
+10719
+11147
+11290
+11401
+11575
+12156
+12410
+12664
+16757
+13271
+13396
+19611
+14411
+14868
+17129
+16937
+29793
+17807
+17924
+18688
+27532
+23665
+21029
+21866
+23954
+22009
+22976
+30217
+34022
+25986
+27807
+29601
+30400
+26667
+27682
+28264
+40602
+29279
+31805
+34066
+41472
+45606
+41589
+47696
+48711
+55214
+43038
+57543
+69154
+45963
+77223
+66588
+68866
+55265
+115299
+58207
+54349
+95816
+68284
+62330
+115750
+61084
+100312
+90012
+116995
+100820
+84627
+139841
+94674
+89001
+97387
+98303
+190490
+178080
+109614
+112556
+113472
+115433
+116349
+225364
+116679
+122633
+194241
+123414
+145711
+158471
+150085
+173628
+268085
+179301
+198099
+182014
+183675
+186388
+391499
+207001
+207917
+222170
+223086
+229235
+323350
+228905
+530351
+233028
+239312
+262390
+304647
+308556
+389397
+295796
+344859
+415293
+352929
+380113
+430087
+405100
+365689
+370063
+393389
+545520
+431003
+530726
+445256
+456114
+462263
+533552
+524701
+472340
+846296
+535108
+674245
+763452
+604352
+640655
+758059
+697788
+718618
+733042
+1129053
+759078
+838645
+876259
+824392
+918090
+887117
+893266
+907519
+901370
+1591316
+934603
+1469711
+1359500
+1742482
+1139460
+1175763
+1245007
+1302140
+1362411
+1338443
+1571687
+1416406
+1963852
+1557434
+1583470
+1597723
+1663037
+1769525
+2032726
+1780383
+1827869
+3212193
+1808889
+2351009
+2908044
+2538174
+2384467
+3385303
+3352070
+2315223
+2420770
+2547147
+2640583
+2778817
+3886910
+2973840
+2999876
+4336251
+3140904
+3181193
+5009062
+4606686
+4229659
+5601963
+3589272
+3636758
+4124112
+4159898
+4666232
+4699690
+4735993
+4805237
+6183905
+4862370
+4955806
+4967917
+5187730
+5419400
+7370563
+5973716
+6589148
+7226030
+6322097
+10580402
+6817951
+7713384
+11509827
+7749170
+7760870
+7796656
+8824488
+8860105
+8895891
+10281770
+12554407
+15536208
+9667607
+16645061
+13548127
+9923723
+13692660
+10607130
+22222014
+12295813
+14531335
+12911245
+20092469
+19476293
+14567121
+15678056
+15462554
+15510040
+18356300
+30972594
+19141875
+34623804
+17755996
+18563498
+19591330
+25386277
+20274737
+20530853
+27240787
+22902943
+22219536
+30198460
+30667241
+25207058
+26827148
+27442580
+43742577
+32323117
+30029675
+34158451
+33218550
+33266036
+33866340
+36112296
+37347326
+36319494
+52721949
+44977607
+38154828
+39866067
+40805590
+42494273
+43433796
+68014567
+45122479
+55485572
+58425608
+52034206
+52649638
+76652724
+57472255
+128686930
+95216222
+73666820
+66484586
+67084890
+69378332
+91338595
+72431790
+137710495
+74474322
+78020895
+127917362
+84988546
+84239386
+83299863
+85928069
+111607065
+132899930
+135078332
+186342970
+104683844
+109506461
+110121893
+123956841
+124557145
+161700808
+256917030
+186081387
+146906112
+136463222
+141810122
+150452685
+158713708
+207374252
+157774185
+167539249
+168288409
+193421756
+169227932
+269381250
+197535134
+229240989
+214190305
+244584793
+214805737
+219628354
+177777905
+246585115
+286915907
+261020367
+278273344
+311038054
+335827658
+283369334
+292262807
+360961005
+396780238
+437669659
+325313434
+365074383
+448869343
+361710165
+347005837
+608295280
+392583642
+422362698
+391968210
+397406259
+424363020
+456051249
+503091339
+461147239
+893720908
+561642678
+589311398
+570536151
+675337544
+619196992
+575632141
+639268644
+707966842
+708716002
+672319271
+687023599
+821769279
+754293807
+738974047
+739589479
+1483032306
+1031683390
+789374469
+1036779380
+1233961949
+880414269
+1133466510
+964238578
+1022789917
+1809594090
+2272406775
+1164943539
+1209804795
+1214900785
+1194829133
+1247951412
+1461693740
+1359342870
+1791073187
+1411908750
+1651262177
+1478563526
+1493883286
+1821057859
+1776368859
+1753613047
+1954318008
+2156256427
+1844652847
+1903204186
+3010605047
+1987028495
+2129182117
+2187733456
+3196833290
+3284956473
+2359772672
+2404633928
+2409729918
+2442780545
+2607294282
+2771251620
+2837906396
+3920255304
+2905792036
+3747857033
+3323216373
+3247496333
+4630514001
+4802553217
+3598265894
+4510498468
+4307838114
+3831681342
+4174761951
+4116210612
+7346122927
+4316915573
+4597463374
+5652130261
+4847414473
+4764406600
+6236315270
+5050074827
+5214032165
+7618666093
+6369517514
+8918763829
+6153288369
+6229008409
+6570712706
+6921482267
+7422258284
+7714476506
+7906104008
+7915181467
+8148596915
+11663038500
+8679095815
+8290972563
+8433126185
+8914378947
+9081322173
+11168176080
+9611821073
+13362629080
+9814481427
+10264106992
+11203363196
+12382296778
+14284698981
+12522805883
+12724001075
+16834819698
+23726169079
+13492194973
+17995701120
+15136734790
+15620580514
+15821285475
+22196778205
+16439569478
+16724098748
+23306676400
+17514448358
+17347505132
+18728860374
+18693143246
+19426302500
+19875928065
+21467470188
+21017844623
+32651183148
+24905102661
+28002877292
+31949108383
+31860833538
+40450267827
+29313480448
+28628929763
+38018063680
+33616281634
+34238547106
+31441865989
+59143411073
+33163668226
+36040648378
+34071603880
+48956314347
+36243308732
+60070795752
+49020721915
+55083751822
+39302230565
+40893772688
+70744096554
+45922947284
+52907979953
+54218583109
+59951985675
+63385084328
+57942410211
+62477148674
+93101815502
+61792597989
+65680413095
+64605534215
+93919014663
+67235272106
+69204316604
+69406976958
+70112252258
+70314912612
+75545539297
+110813319904
+88322952480
+80196003253
+150800101154
+118824117324
+110098089292
+98830927237
+100141530393
+112160993320
+114170568784
+129027870095
+157729929438
+199136272384
+124269746663
+186062344652
+127473011084
+130285947310
+133809850819
+136439588710
+183374885388
+138611293562
+139519229216
+250332549120
+194366572037
+204465749916
+316348291962
+168518955733
+210481950563
+314563839208
+232640778056
+238752823955
+198972457630
+212302523713
+250610157494
+438833585871
+251742757747
+266992240300
+266084304646
+705825826171
+257758958394
+270249439529
+264095798129
+272421144381
+404848522600
+441133843782
+278130522778
+308038184949
+362885527770
+367491413363
+379000906296
+380821479446
+502352915241
+409454408193
+411274981343
+431613235686
+437725281585
+478386828359
+484723668094
+633575718009
+509501716141
+703809586231
+523843263040
+852408825125
+521854756523
+528008397923
+534345237658
+766448713370
+653242623827
+778766394706
+586168707727
+641016050548
+688859664395
+730376941133
+869844328604
+889661809702
+790275887639
+820729389536
+841067643879
+842888217029
+955456498726
+1110011970767
+1070892375821
+1573265158162
+1227184758275
+1031356472664
+1056199994181
+1045698019563
+1252231697656
+1162870807071
+1169024448471
+1264722178791
+1479135552034
+1239411331554
+1275028372122
+1427236351606
+1510860379152
+2589147522801
+2054998066430
+2180904346588
+1611005277175
+1631343531518
+1776185888262
+1683955860908
+1798344715755
+2077054492227
+2087556466845
+2116590395384
+3761010353135
+2101898013744
+2194227279735
+2208568826634
+2402282138625
+3878083902006
+2331895255542
+4408949747769
+3458949458526
+2514439703676
+2666647683160
+2702264723728
+2938096730758
+3121865656327
+3460141749170
+3242348808693
+4325159222018
+5090292990044
+3315299392426
+3482300576663
+5330434482961
+3992571995490
+4631030099060
+6603177027504
+4218488409128
+4296125293479
+6148948259823
+4402796106369
+6364214465020
+5884582715288
+4846334959218
+4998542938702
+5181087386836
+6017564116154
+5216704427404
+9033826205429
+5640361454486
+8698921399848
+6582007405497
+6557648201119
+9936627949262
+7718095498795
+9199882107714
+7307871387916
+9961464582021
+8838906954708
+10215247366106
+9477365058278
+8514613702607
+20151875315368
+9142460252697
+9401339045071
+9583883493205
+15142551968857
+19249073571535
+11234268543558
+10179630325538
+10397791814240
+15983346450568
+26198593816674
+12198009655605
+12948232842402
+15781889513211
+15724467658194
+13865519589035
+15025966886711
+17679560080816
+15822485090523
+16146778342624
+25939715024300
+30924441482068
+24924349765908
+17657073955304
+18098497195812
+18543799297768
+28913828624374
+18985222538276
+19763513818743
+20577422139778
+31707814108762
+21413898869096
+34325688810979
+27922477313799
+25146242498007
+38256982220594
+32409318886803
+31545079669851
+28891486475746
+53838178390282
+29688004679558
+30848451977234
+39957698166864
+50472467153603
+33803852297928
+68570964349415
+57805315100120
+37083719734088
+35755571151116
+36642296493580
+63239517435353
+38748736357019
+66735007697782
+44909756316750
+79219213969216
+46560141367103
+49336376182895
+57555561384810
+64647057626862
+78706434523883
+115861510462796
+62097323566361
+114974785120332
+78227862658641
+60536456656792
+66771724413646