ff7c8ed35992

2021/01 (and add uncommitted stuff from 2020)
[view raw] [browse files]
author Steve Losh <steve@stevelosh.com>
date Wed, 01 Dec 2021 20:54:23 -0500
parents 182bdd87fd9e
children 166414163a73
branches/tags (none)
files advent.asd data/2020/01.txt data/2020/02.txt data/2020/03.txt data/2020/04.txt data/2020/05.txt data/2020/06.txt data/2020/07.txt data/2020/08.txt data/2020/09.txt data/2020/10.txt data/2021/01.txt package.lisp src/2019/days/day-17.lisp src/2020/days/day-01.lisp src/2020/days/day-02.lisp src/2020/days/day-03.lisp src/2020/days/day-04.lisp src/2020/days/day-05.lisp src/2020/days/day-06.lisp src/2020/days/day-07.lisp src/2020/days/day-08.lisp src/2020/days/day-09.lisp src/2020/days/day-10.lisp src/2021/days/day-01.lisp src/utils.lisp

Changes

--- a/advent.asd	Mon Nov 29 23:19:14 2021 -0500
+++ b/advent.asd	Wed Dec 01 20:54:23 2021 -0500
@@ -52,4 +52,8 @@
                               :components ((:auto-module "days")))
                              (:module "2019" :serial t
                               :components ((:file "intcode")
-                                           (:auto-module "days")))))))
+                                           (:auto-module "days")))
+                             (:module "2020" :serial t
+                              :components ((:auto-module "days")))
+                             (:module "2021" :serial t
+                              :components ((:auto-module "days")))))))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/2020/01.txt	Wed Dec 01 20:54:23 2021 -0500
@@ -0,0 +1,200 @@
+1036
+1897
+1256
+1080
+1909
+1817
+1759
+1883
+1088
+1841
+1780
+1907
+1874
+1831
+1932
+1999
+1989
+1840
+1973
+1102
+1906
+1277
+1089
+1275
+1228
+1917
+1075
+1060
+1964
+1942
+2001
+1950
+1181
+1121
+1854
+1083
+1772
+1481
+1976
+1805
+1594
+1889
+1726
+1866
+798
+1739
+1709
+1946
+1948
+1808
+1836
+1849
+1465
+1066
+1943
+664
+1894
+1993
+1061
+1225
+1589
+1916
+1885
+1998
+1470
+1668
+1666
+1499
+1437
+1986
+1127
+1875
+1132
+1888
+1877
+1046
+1982
+1265
+1757
+1848
+1786
+1638
+1958
+1015
+1013
+1552
+1742
+1850
+1016
+1839
+558
+1826
+1261
+1988
+1545
+1078
+1963
+1967
+1951
+1086
+1947
+1880
+1903
+1994
+1167
+1736
+1041
+1652
+1040
+1033
+1179
+1844
+1861
+1488
+1962
+1135
+1347
+1187
+1777
+1598
+1803
+1147
+1760
+1926
+1898
+1923
+1865
+1313
+1924
+1023
+1576
+1715
+1391
+1346
+1882
+2000
+1024
+1143
+1065
+1560
+1029
+1119
+1966
+1022
+1931
+1512
+1049
+1929
+1312
+1069
+1159
+1053
+1249
+1074
+1983
+1761
+1868
+195
+24
+1331
+1636
+1020
+1034
+1671
+708
+1699
+1900
+1927
+1829
+301
+1832
+1042
+1896
+1928
+1032
+1992
+2005
+1955
+1047
+1068
+1001
+1052
+1744
+1845
+1208
+1018
+1859
+1342
+1823
+1758
+2007
+1241
+1893
+1876
+1984
+1655
+1534
+1150
+1789
+1870
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/2020/02.txt	Wed Dec 01 20:54:23 2021 -0500
@@ -0,0 +1,1000 @@
+15-19 k: kkkkkkkkkkkkzkkkkkkk
+1-11 s: sbssswsqsssssrlss
+8-9 b: pbbbbbbkbz
+4-10 w: wwccwcqwdmbktjrxhw
+1-6 x: jvscgqsnt
+1-7 x: xxxxxxcx
+6-10 s: smssssfskssdwvtcss
+6-12 q: qqqqzqqjqfqdqq
+3-7 d: ddwbzbf
+12-14 s: ssdssssssssmsq
+4-11 w: wwwwprvgklvwtxwpwwww
+6-7 j: jjjjjjz
+1-6 l: xxlnll
+14-15 n: nnnnxnkmnnnnnvfnnnj
+5-6 h: hbhhhhz
+4-6 b: brbhbrb
+2-7 q: zmqszpqwcq
+9-15 z: zzzzzzzpczzzzzzz
+6-10 m: mmmmmmmmmmmm
+8-14 l: llllllbljlllzllz
+4-10 c: cbccjxhlcclpf
+1-4 d: mpvglsjhsddtsnjsdqw
+2-8 f: ffffffftfb
+4-14 q: qqcpqqqqqtzhqqqqknq
+3-5 m: nctdm
+1-4 l: lllg
+11-12 s: sssssspsssfvxks
+5-9 l: fvsllcvgsmlzw
+3-5 d: dddtpd
+3-11 x: xxjkxxcxqvlprxgx
+8-9 b: bbbbbbsbs
+6-8 f: zffffnffjs
+7-8 v: vvvxvvvvvv
+6-9 b: nbvrbptfbbnbxb
+8-9 c: cccccccrc
+14-15 v: vvlvvvvvvvvvvlvv
+1-5 f: lvndmpdf
+3-4 l: sllfl
+5-14 w: jknqvcwwzwgfwwww
+2-6 b: vbbcbc
+3-4 x: xxbwf
+12-16 h: hhhkhhhthxqnhzhhhn
+1-4 j: vjjjj
+14-17 m: mmmmmmmxmmbpmcmmmmz
+1-9 z: rzzzzzzzzzzzzzzh
+7-8 r: vrmrrnrrrrnr
+8-11 z: fzzzzzzzzzz
+3-5 l: kdjlljpllz
+11-15 h: xhhhhhbjhshhkhbhhhht
+4-11 h: qhbnhhhhhdtwhqsh
+8-10 r: xrrrrrrrrrr
+5-9 q: qqqqpgqqq
+6-14 g: kgvfhqvhggglrgddgg
+6-8 h: ssctfnhhvhxhhxphhlc
+4-18 h: hhhqhhhhqhkhhhhhcl
+2-6 t: pvttttttmtx
+1-12 b: gfhbwwbbsvbcfb
+8-10 m: fmmmmmmzmmrmkq
+16-20 h: hhlhhhhhhhhbhhsfhhhh
+4-8 q: xqtjqqqq
+5-12 g: xzrbngggggnngb
+4-5 j: jjjsj
+6-12 b: bxmbbbbbbbbrpbb
+13-14 n: nnnnnnnnnnnnng
+14-16 s: wfnqltmpsksrtvdc
+6-13 g: ggmggjggggggggg
+5-9 v: wvvvrvvdmv
+1-5 h: hhhhdvhh
+6-8 g: bggggcgg
+5-9 w: wjfwhhwwtwwt
+10-13 n: nnnnnnnnnnnnqnn
+1-3 f: qfff
+15-19 t: ttttttttttttmtstrttt
+1-2 d: bddd
+5-6 v: vvvvvn
+3-4 r: vhrprrgncrcrbkml
+12-14 c: ccccccfcccclccncg
+11-12 m: mpmmbmpxdtdp
+16-17 f: qsfffffjwfttfxffr
+7-13 f: fdjcfffffvffv
+7-9 z: zsnzzzpxz
+8-14 r: grrrrxrrrnjrrs
+6-8 f: svndffdh
+13-17 b: bbbbbbbbbbbbbbbbp
+3-14 f: fkxsfkvvxbfbhfff
+4-15 d: bdndvlwwnzsqdhd
+12-14 f: hfmffkmjlfffqf
+5-8 v: qmlctvvvvjtvj
+5-8 w: wwpxvrgwbfwwtbwlx
+11-13 f: fffqffffffffn
+2-5 s: wvmhsmswn
+12-14 h: hhhhhhhhhhhhhxh
+8-14 l: lllllllclcllllllql
+13-15 l: lllllvgsllsllllllfnl
+2-8 c: cjlccvcc
+1-5 l: plqllpsllnl
+1-5 k: kvfqkkk
+9-13 s: dpvfnsnmksfss
+3-4 b: mfgb
+1-8 j: wjjwjjjxzxn
+9-11 v: vvvvwvvvvvs
+7-8 v: vvrvvhhrhvpvvbv
+9-12 d: dscvhvlndzgf
+10-17 l: llqllpllllllllllgllx
+3-4 k: nkkgkv
+14-19 q: qrqqqqqqqqqqwzqfqqq
+9-11 c: nqccccccccncccccc
+5-19 n: pfndnknwrnnbnjqndnnt
+2-6 s: nsftszgk
+3-9 j: jjfjjjjjfj
+1-7 m: xmmtzmmmm
+5-13 j: jljrjhjlgjtrnq
+2-13 f: fmfzggfmffsth
+12-13 m: mmmmmmmmmmmtvm
+11-12 k: kkkkkkkkkkjk
+8-10 s: sssssssksks
+3-4 w: wfwwbwswd
+2-9 l: sllqllldll
+4-6 f: zfcfrf
+9-12 m: sfmmwjmmnmmcmtmm
+1-2 f: lffwd
+3-7 f: vzltffffqfff
+1-4 g: grgr
+14-15 r: rrrrvjrrrgrrrrtrrr
+13-14 f: bfswfmfffvffpdffkrhb
+1-11 s: ssssssssssss
+13-14 v: vvvvvvvvvvvvvf
+1-2 g: ggggg
+6-13 m: vrzwmncmmhmmc
+7-15 h: vhhhwghkwhclrhh
+3-5 w: ccwwwxwcnf
+4-5 j: jmcvjz
+3-4 b: bbbw
+14-15 b: bbbbbbbbbbbbbbd
+14-16 w: dzwwwwwwwwwwwwwxkw
+2-4 n: jnxfznsn
+6-7 c: cccccgv
+2-4 w: xwbbqwlswh
+7-10 f: sbbxcnffpgfmfffgtm
+2-3 z: gccczkzt
+4-5 k: wtskbwk
+9-10 k: kkkkkkkkktk
+9-12 l: llllllllwjllllll
+1-5 c: ccccpr
+1-5 s: ssssh
+4-7 r: dtnrmcfsc
+8-10 p: pppztpllppp
+3-11 l: lljllljllfl
+4-13 l: lllvlbllphlldn
+5-6 h: fhhpmhm
+4-6 x: xxxhtx
+5-8 j: mrthqkpj
+6-11 k: kkkmqvfnjkwkxpxkskc
+10-11 j: jjjjjjcjjljjjjjj
+2-6 x: ctmtskbcxbn
+12-15 p: pppppdppnpppppwk
+2-12 q: qqhzqvjnmcmrfkphbrx
+2-3 l: llhxljlcxdvrwppdm
+7-15 j: xbjjhssjjjjpjjjjj
+1-4 k: kkkn
+2-7 v: mpvwbmvvhxjpv
+4-6 k: kkcgwkrlqbbpgqmlk
+1-2 v: khpskvgxvdpw
+7-9 p: ppppppgpt
+11-12 h: hhhhvhhhkhhsh
+4-5 n: dnngnlpn
+3-5 k: kmwkkk
+7-12 s: ssssdsbjbssstssss
+6-12 c: cdcccmcccccc
+3-4 g: gglsggggggggggggggg
+5-14 p: ptrnpppbwwjmckbwpmw
+1-4 t: tbfdtrtbtdjnk
+3-7 k: jwkkzlftt
+1-4 z: jzzzl
+1-5 t: jtttpdhttttgtnt
+7-13 n: nnnnnnvnnnnnk
+5-11 f: ffdfftffffkfdf
+8-14 q: qvcqfqqtkqqjqgqjqn
+10-13 b: qbbbbbbbjqbbbb
+8-9 l: blsljwlwl
+11-14 g: ggxgfrbgggqgvgznzg
+10-17 t: rttttctxrttttttttt
+4-5 j: jjjjs
+4-5 q: qkqzglqgnfqpp
+10-11 b: ddbbbbbbbbbbbh
+7-11 s: wsssssssssgs
+3-14 l: lvxlfjkqllfmzs
+10-11 z: zmznzzkzzhvlzcz
+1-4 n: nnnj
+7-11 f: dnffqxxgznknfcffff
+5-17 k: fkjkdkktkpwwkxkkk
+2-6 q: qtqqqq
+5-10 n: nhxwndndnn
+14-18 x: xxxxxxxxxxxxxrxxxlx
+9-16 n: hnnfnvnncdnrxnnf
+6-7 l: lllxllvlh
+5-6 d: hdddxl
+11-15 g: ggggggqgggcgfgcg
+15-16 l: lllllllllllllllpl
+2-7 q: nmtqsfqqlkxq
+4-5 b: bbcbsnb
+9-11 f: ffffffffffn
+2-15 p: qrnpxnpcpppqrppp
+4-5 s: sqszspvggsds
+5-7 m: mmzsmmcm
+9-17 q: qqqqqqqqgqqqqqqqc
+5-14 w: swwgghwwwsvcjqqjw
+7-9 b: ptnhdbzfbbjsjkm
+4-9 h: bhhtcqnhh
+9-10 t: zcttwtttggttn
+3-4 j: cjzjj
+14-18 h: hbzhgcjhhhhzkhhpwb
+1-5 b: bbbbw
+9-10 k: kkkkkkkkkkk
+5-7 m: mmmmcmsm
+2-6 x: jxxdxlxx
+6-10 v: kxvvdvvrxdvk
+2-12 z: zllzlnzfztlszzzct
+3-4 d: dddd
+2-10 h: hhhhhhhfhddhhbg
+1-6 x: xdgfgxn
+4-5 h: shkhrhhdfhh
+1-8 f: zffbfffffff
+4-10 p: cskpcpjmtpcftsblszpv
+4-17 p: pppbppppppppppppppp
+8-9 j: jjjjjjjvj
+4-5 p: pdppppp
+6-12 k: kkkkkzkkkkkkk
+5-15 n: nqnnklnnnnnnnnnnnnn
+3-7 g: qhggbgdm
+2-3 r: cjprr
+9-10 q: vkgcjcnrzqgq
+5-6 m: mmmmmmm
+4-15 f: fffcffffffffffk
+5-13 f: hfffntlfffpfffffff
+8-9 p: dpjppppppp
+5-6 j: njsrjj
+2-3 k: kkkzzb
+7-8 g: cggbpgkgjgmggvvgn
+12-13 w: wwskwwwwwwwwjww
+6-8 w: lwwjwwwcw
+4-5 l: lllll
+6-7 g: sggkggkplxgxprsnggg
+5-6 h: hjrhzszvhhq
+9-17 w: wwwwwwwwwwwwwwwwdw
+16-19 c: ccccrccccccdcctcccn
+3-7 t: ftngtnntttttttzftttt
+11-13 q: qqqwqqqqqvqqg
+4-12 s: ssssdjssssszxs
+1-14 c: chsckjmxwghqvvckvf
+9-18 s: sssssssslssssssbsss
+7-8 n: nnnnnnnnn
+7-9 c: ccccccwcc
+14-20 n: nnwnnznnnnnrnnrnnnnm
+13-14 h: hzhhhhbhhhhhhshhh
+5-7 x: xxkzxmqxszf
+7-13 l: lllllxllftllhzl
+1-3 f: fftff
+11-12 t: tpktttttcvtt
+6-8 r: frjzrpbrrrqqr
+7-12 w: nwwlpvwwdwbzbldnd
+13-14 r: rrrrrrkxrnrrnrrrr
+13-17 b: bfbbbzlbbbbbbbbbb
+4-7 g: ggggghrpgrg
+1-3 v: jvvv
+8-9 l: llllllllll
+13-15 r: rrrrrjrrrrrrrrg
+4-8 b: bbbbkbprh
+6-14 k: klkzkkkkqkkkkkkkm
+9-10 l: lllllgllsl
+4-6 q: qqqtqqqq
+6-8 l: zkfbhwpq
+10-15 v: rvvjvvvvvvvvvdvvsvd
+2-12 b: bwbbvsrbrbzbb
+9-10 m: mmmmmmmmmmb
+4-8 r: xrzrzmrrzrrzr
+1-10 c: cccccccxbbhcccrzc
+5-6 q: bqqvkqqs
+3-13 t: ttttbtttttttlt
+2-4 z: zfzz
+1-8 v: qvvvvvvv
+3-7 g: ggwgggg
+5-6 d: ddddddd
+10-13 c: ccqccccccscfccjcc
+2-7 h: qghlfphcr
+9-11 w: rwwwwpwwqwx
+2-10 h: shftplxhvplqr
+1-3 n: qsnndvnzczn
+17-18 b: bbbbblbbbbbbbbbbbm
+4-14 k: hjkkqgkdvfjflkkv
+10-13 k: wbtkgkjrdlsxkw
+2-4 h: xhqqmhhvkmbpqqsnrn
+9-20 z: zzzzzrzzzzqzzzzszszd
+4-5 x: mxxxrx
+13-15 w: wwwwtwwnzwqwvwwwwwwj
+10-16 n: tcnlnsqnndnwrnjnnn
+3-5 c: cbccrc
+8-11 z: zzzzzzzzzzhzzz
+5-7 f: ffffffff
+7-8 q: qqqqqqfq
+6-7 v: vvvzvlvv
+1-2 t: zttt
+12-17 b: bbvbbbtjbbbbbwbbd
+10-11 h: hhhhhhhhkkh
+17-18 g: gggggggggggvgggggg
+4-7 t: tttmhttttgd
+10-12 w: wfwwwdwwwwwwldc
+4-6 d: dsdddj
+9-10 v: lkvvvvvflv
+6-8 j: jvjjbjjpvjjjj
+8-12 h: hhhthwhhhhhh
+16-19 x: xxxxxxxxxxxxxxxbxkq
+1-13 c: ccgnccvzczzcphcp
+4-11 n: pnnnnbkmnbqqn
+13-16 x: xwxxxxxxxxxxxxxx
+5-6 m: qffrmmclzbtfqmxb
+4-9 k: kfwzkvjzqk
+11-14 j: jjdjjjgjtzjjjjjjxjjm
+1-4 b: bbbpdqbdbbgdhcbv
+8-9 w: hvnwwwkwmbwpwtbpw
+3-4 h: phhmh
+11-12 j: jjjjjjjjjjjj
+5-15 v: vvvvlvvvvvvlsvv
+5-9 q: gqqqzqhjpqqvqj
+12-13 x: xxxxxxxxxxxxl
+7-9 x: gtxxxxxxxw
+13-14 n: nnnnnnnnngnnmnn
+2-6 s: ssssssss
+1-2 b: bhbbb
+6-7 t: tttttttt
+1-9 k: kvkcjwzhl
+8-11 b: bbbbbwbbrbk
+15-18 p: pppppppppppppppppp
+1-6 f: wfnftfvff
+2-4 d: tdddddpdw
+3-16 s: ssbsssssssssssspz
+15-17 p: gpxpppppppppppppg
+4-5 w: wwwww
+9-12 t: htttttttzlgtrtt
+3-5 c: fcncc
+1-3 g: gggn
+6-12 c: kcccccxncwcqc
+4-6 v: vmpvqv
+1-8 x: sxxxxxxdlx
+16-17 d: dddddddddhddgjdxdddd
+5-9 s: sbkrswskxsskskqlcp
+5-8 h: hfhhhhhfgd
+2-5 t: tdttt
+10-11 k: kkkfkkkkkkp
+10-11 h: hhhqhmhhhjl
+9-15 r: rmrrrrkncrxrrrp
+5-7 k: kkcqxkkkj
+14-16 g: gvgxgkgpgrxsgwxw
+9-13 g: qbwsggggzggggp
+2-7 t: jdvbklttd
+1-3 r: trrfxqff
+7-8 t: ttxtttvt
+16-17 b: bbbbbbbbbbbbbbbbb
+5-14 r: rgrrlrrrrrrrrrgr
+10-11 x: qbfdztwxpxdxj
+2-3 q: brqq
+5-15 t: ttttftvlttttttgttt
+3-6 v: hvhthfw
+4-6 n: nngdnkxzc
+2-7 l: bkwmlrl
+2-8 q: xtqqqqhdwq
+13-15 f: fffffffbfvffffflf
+6-9 c: dqvwbscpccccrcccchws
+4-5 l: gvjltw
+3-6 q: qgnpjqgbl
+1-3 t: tsgt
+6-8 p: ppjppphfpj
+1-4 d: xddd
+12-13 m: mmmmmmmmmmmmvm
+7-15 b: bvnbcrbvtpbqbbbbl
+13-15 x: kxxxhxxvxxxtngxxxxxx
+4-5 p: pppvvtncp
+11-14 p: pppvpppppspdpppx
+2-3 p: wppp
+8-9 f: fdmcfffxnnff
+9-11 q: qqqqqqqqrqn
+13-15 b: bbbbbbbbbbbbbbv
+6-12 r: rmvrrlrrjrrrrrsrrr
+1-2 l: qllllpkllhlllbw
+9-12 w: pbvwkbfwdngw
+3-13 k: kfhdkkkknkkkkkkhl
+8-18 b: vbbnbqzpjwbbdbbcglsr
+5-17 q: qqqqqqqqqqqqqqqqqqh
+4-8 c: cccwbcncdcc
+8-9 n: kfsbvbnntcn
+2-5 f: vfvffrq
+17-18 j: jjjjjjjjjjjdjjjjtp
+5-7 g: ggjhgcbg
+14-15 q: qqqqqqqqqqqqqqp
+2-3 d: dzjd
+6-18 t: ntntttqtmttttktttqtt
+2-6 r: rmwrwppprc
+9-14 z: zlzzzzklsgzvfz
+7-8 k: vkfglktkkkkk
+3-8 d: mdkdxxbdqddrjwvc
+13-17 c: ccfccccccccczccvcc
+4-5 k: kkknrr
+12-15 s: vbssssssssnfsssss
+7-18 m: mmpmmtwvkmmcnscmdmj
+13-16 v: dvvvrvdvvvvvjvvvpjvc
+3-4 t: tjtkndtbwh
+4-6 k: kkbkpz
+8-13 k: kckzkktnfzmdkjkkb
+8-13 j: jsnntcjcjjqzjj
+11-13 b: bgwbbbpbbbqbbb
+3-6 r: zqrrrjsj
+2-7 k: zkklkttkxk
+3-5 p: gjphpsppntgp
+17-18 l: llllllllllllllljlll
+6-11 r: srxfbrswrnlfp
+1-8 q: nsbqchsqqx
+5-7 r: rvrrkjcrjmr
+5-12 r: rrrrrsrrrrrvrrrr
+3-7 k: kkdkkkkxk
+11-16 p: rppppppppcppdpmbp
+16-17 p: pppppppspppppppjpp
+4-15 t: zsrtxgfdtrgxhmcst
+5-10 k: gkkzkfkkkknk
+13-17 w: wgwcwwwwwfcwmwwhpww
+7-8 l: llllllvw
+2-7 g: ckdqngmzhghcvlcn
+14-15 q: qqqqqqqqqqqqcbqq
+3-6 m: mfmcmd
+3-6 b: bbbbbm
+1-8 n: nmwnnsnmznnnmrn
+7-11 n: lnnnmrnqnntxnqcn
+3-12 h: tghhthwtjjhhfbhdpnh
+2-4 d: jsddd
+8-9 w: wwzwwwbwzwc
+10-12 r: rrrrrrrrrrrrr
+1-2 b: xbbqkfp
+3-6 p: dfppptptv
+8-12 z: jzzzdbzhwzzmklzkvmz
+1-4 n: nqnprp
+2-11 b: jbshxxbxczhscksvhctm
+5-6 b: bmhbcvgjfbc
+3-7 m: qlfmmdm
+8-9 v: vvsvsvvfv
+7-10 l: llllldllln
+9-10 c: ccccfgcctcc
+7-17 j: vvjgnjvtjjjvvjjjtj
+5-6 s: ssssvs
+3-11 q: qqqbqqtqqqzqqgj
+4-5 k: rkjskkqk
+4-16 k: kkkkkkkkkkkkkkkkk
+2-4 h: shch
+5-7 n: kznnmgnnnn
+3-8 r: xhrrrrrg
+4-6 m: bmmmmgqmnn
+3-14 t: tttktwfmthkttdq
+4-5 w: wwwvww
+1-2 k: kkrkmkkw
+6-11 h: hhhhhhhhhhsh
+1-9 h: fhhhhhhhbhhhhhhhh
+7-9 b: frkqtcwstzqbdd
+2-3 p: xxpvrmcmppbw
+12-14 r: rrrrrrrprrrrrq
+5-7 l: llcqllc
+10-13 x: bpwxpmrrmxbjrv
+8-16 w: wfcnvwvwlvtnwwfg
+1-5 k: kglsfqshkpbs
+1-8 w: mwwwwwwww
+4-7 d: ddgldhddvd
+5-7 v: qvjvxvvvvvvv
+1-2 s: ssns
+6-9 m: prmmrmbmqmftmmb
+13-14 p: ppppphpppppppq
+8-10 k: kkzkkklkkkck
+1-3 p: pnpswpmsfk
+15-19 r: trqmkzfvlrkrrgsjhrr
+15-17 c: ccccccrxcccscccczcxc
+2-6 b: rbbbbdpprw
+7-14 l: lllzlsklllllll
+12-14 l: lnllhlllplltllrplll
+3-5 w: wlwwbr
+5-9 h: hhcvppjrhhhhhqc
+2-3 w: wwwzt
+2-5 l: lnrlll
+1-4 v: vvvl
+5-6 g: mkngggzgxkggkldg
+6-7 m: mmmmmlm
+8-10 k: cnkkzkklwkvkkk
+7-13 g: ngqggglgggggggg
+8-10 m: mmmkmmmpmm
+8-12 f: ffffpffffffz
+12-15 f: ffffffxffffcffff
+9-14 w: wtrcwthdwxnwwfpwbj
+4-7 l: xfllfnlxlgbll
+6-8 c: tcdppkscmc
+4-10 s: qssssspsskss
+2-4 t: wgpdqdcdtd
+3-4 s: shsbksdj
+3-4 n: nnmn
+2-6 x: dxxxxjxr
+1-3 b: qbbptm
+9-11 h: hhhvhhhhvhhxhhhrr
+3-5 x: xxxxw
+2-4 l: kgrll
+3-5 m: mmhmmmm
+7-9 j: fjkjbjjjfjhcj
+3-4 n: ngfnbzln
+9-10 x: xxxxxxxxxz
+11-12 c: ccccccccccjcg
+9-14 j: swnjssjjjjjmjnj
+2-3 n: nrcfrf
+11-12 g: gggggggggdzxg
+4-5 v: vvbvnq
+8-9 s: ssssssssx
+6-7 l: zlznxjlb
+14-16 x: xxxxxxxxxxxxxdxx
+6-8 x: xlxjxxlxxmxx
+2-7 r: prgnrrrqrpcr
+15-16 m: mmmmdmmmmmmbmmhmmm
+14-15 w: wwwwhwwwwwwwwwwwww
+5-9 k: kkkkkkkkkk
+8-9 c: rccccqcchc
+6-12 v: pvvvvvzlmvltkh
+10-11 h: hbhslhhhhlhhhh
+1-7 s: ssjswbj
+5-12 q: qslqzqjqxxqpqzvjnq
+4-11 z: znmzbhdgftf
+5-7 g: sgtwggggghgglfgt
+2-4 d: kdddfdqk
+11-13 m: mjmmmmmmmmmmt
+12-14 k: nskkkkxkkskwkk
+6-11 j: vhpjqjhrjjjg
+7-14 l: lllllllllllllm
+2-15 g: bcqpgsvgkfgsmrgvpgng
+2-9 w: grwwwwcbwwwwdxprt
+3-18 w: wwkwwxvwwwhnwwbhzw
+5-13 g: ggggggggggggdgggggg
+10-12 h: hhhrhhhhcldh
+2-5 k: xhpnk
+11-14 f: ffffffffffffff
+4-8 x: wxxjxxmx
+16-17 d: dddddddddddmdddvd
+3-14 l: lllllllllllllpl
+1-2 w: rfzvvcww
+5-7 v: nwvxvxkvvxctvh
+1-3 k: kxghkkb
+17-18 j: jjjjjjjjjjjjjjjjht
+2-5 t: tchptl
+9-15 j: jjpjjjjjjjjjjjjq
+1-7 r: rrrrrrxrrrj
+13-15 h: hhhhhhhhhhhhhhqhhhhh
+2-4 v: xdwvk
+3-6 w: rwmwkwgcxzjtwww
+2-3 w: nwkwtkw
+3-8 d: jddhdddlqd
+10-12 m: mmmmrmmmmvmmfmm
+2-7 l: llllllkllln
+9-15 x: xxxxxxxxpmxxpxxxwx
+4-8 n: nqnqnnnzn
+7-12 d: zddpjdddgddgxddwdddw
+7-8 b: bbwbbbrl
+6-13 p: zppkppprpvnbzpp
+2-8 w: cmnrmkzwpxrxwhfsd
+5-12 x: xvrxpbhlgfxx
+11-14 j: jjjjjjnjjjjjjc
+7-10 r: rdsrhrtrrrlrfncrb
+15-16 x: xxxxxxxxxxxxxxcx
+7-9 h: fhhhhrhhhh
+4-18 v: vvqjvvvvkvvqvkvvvvvv
+1-7 x: xxcfjxkxtxx
+10-12 c: ccccmccwclcjc
+5-6 l: llllkl
+1-5 h: hhhhn
+1-5 p: bppppp
+17-18 j: jjjjjjjjjjjjjjjjjj
+9-16 k: fkkkkkkkkkpkkkkhkkkn
+13-14 t: ttttttdttttttsttvt
+7-16 m: mmmmmmlmmmmgmmcmm
+14-15 d: ddddrdddvddddhdd
+2-4 x: xbxxtqxd
+5-16 f: fffffffffffffbfff
+12-16 w: wwwwjwwwwwwwmwwn
+5-7 c: cclccfvzccccmb
+7-16 m: mmmmmjmmmmcmnswj
+4-10 x: qpxrcxpxxsxx
+15-20 d: dddjdddddddddddddddx
+2-3 x: cxmpxs
+2-5 t: tlhztr
+9-12 x: xcdxhqhxpxgx
+1-11 f: zxnfsfjftfffjfzswdf
+1-3 j: pjmk
+15-16 h: kpcschhvfzphpnhvhhb
+16-19 s: ssssssssssssssssssf
+5-7 p: kppdcppp
+4-8 f: fffjfrfzfffmffjf
+2-5 q: zqqkvkxvzm
+11-12 w: wwwwwwwwwwww
+9-10 f: rffffffffzf
+12-13 p: pppppcpdppfrp
+7-9 n: nntnnnsnnnnnnn
+9-12 k: kkjkkkkkkkkkk
+3-6 m: mmmmfmm
+3-4 v: vqvw
+9-12 b: bbvbbbbphbbn
+4-6 b: mbbbplbvgbdgb
+6-8 h: hhfscsmznfccc
+1-8 h: khtshhkhwfc
+1-7 x: vxxxxxx
+5-8 l: llllrlllll
+9-10 l: llllllllll
+5-9 j: jqscttkjjsjjjnd
+7-14 p: pnlprpppjndpphppppp
+8-11 j: jxmjjjjjjjsjfmsq
+8-12 h: hhhhxgmhhwpfh
+4-13 h: hhhnqzhfmshhhhshhh
+3-4 q: qwtq
+7-8 c: fcczpcgqnccsc
+3-4 w: gwcwrl
+6-10 f: ffkfffffnffqcf
+7-8 f: fwvfmvffwfff
+5-9 l: llllxllln
+10-11 r: bjrdxrrbrrbrprrrcrd
+4-5 g: gggggtgw
+8-9 r: rghdrfrrg
+9-10 v: vvvvvvvvvv
+4-5 d: ddddlrzhdgw
+2-4 x: zxlx
+5-6 j: xjjjwj
+4-9 x: xlkxnmjnxtzmxxdqdxk
+13-15 f: ffwzfffpspfgxffffffp
+4-6 v: vvjxmrvrf
+4-16 b: ghzbqjqbhtjbbmkvkrb
+7-12 q: qqqqqqkqqqqqqqq
+4-15 z: zcmzzzlzzrlkzzzg
+13-14 x: xxxxxxxxxxvxxq
+2-5 h: hhgfhjxbpwmthtjsjhhl
+5-6 x: xxxltx
+4-16 v: vvvvvvvvvvmvvvtnvv
+9-10 s: gsvhnlspts
+2-4 k: kkkr
+4-6 j: jjnjjjtwnmjv
+4-6 n: nnnsnn
+3-4 d: fdjf
+6-8 r: rrrrqvdrrrsrr
+6-10 w: wnqvwqwqwwb
+9-10 k: kkskckkkkk
+4-18 d: dgdjjdddsddwdbhddm
+8-9 b: bbxbbdbkbbdb
+15-16 l: rvphlrrpmwfqkmcl
+3-4 m: mbmtxznmg
+4-6 c: cclccxcccccc
+8-9 p: ppppxbpqpppjp
+10-11 c: ccccccccccc
+4-13 c: cdnccclcszcwfcj
+5-8 l: ldllkllj
+2-10 k: dkbgkwgkzwwtkkc
+3-4 p: qrpcpdsp
+5-8 m: mmmmcmms
+2-5 c: czcpcc
+4-9 k: bkkkdkkkgk
+14-15 l: lllhllvllxbmgbl
+14-16 j: jjkzjhjjjjjjfjjwjpjw
+13-15 w: wwwwwwwwwvwwwwswwwww
+6-7 q: qqqqztv
+9-16 m: mmmfmmmmmmmmmmmmmmmm
+3-4 m: hmvnmjz
+12-13 g: gqggggggggglgggg
+3-7 h: hhqhhgkhshh
+7-9 h: jvptznhrrbhffcdp
+4-6 t: tttttttttt
+2-8 f: rfhbmftfxnxllkpqh
+6-14 z: zwzzzrzzzzzbzzzzgzz
+5-8 t: jkmddtqcqttrtzk
+2-5 p: ppprqsgpzng
+4-5 v: vvvlvfrjxh
+14-15 c: ccccccccdcccccvc
+5-6 j: jjjjjs
+1-2 g: ggdnzh
+8-15 p: ppfpgpxdvphdcpppp
+2-8 h: hmhhhhhthhhhh
+3-4 h: hhmn
+7-9 b: bbfdbjbqb
+3-6 d: ldfpftkxwqddbcdqd
+2-7 j: wstjkjjdjtpwwwxbg
+5-8 p: vmdppswpppzpqxrdt
+4-8 p: ppsgprrcpskp
+10-11 r: rbrzcfrrvmrtrrrrrcr
+5-9 j: jjmjjjjjx
+10-16 s: sssssssssssssssls
+4-7 p: ntpfphp
+1-2 l: glll
+9-11 x: xtxxxxxxrxxx
+7-8 d: ddnddxrrd
+1-3 x: jxdxfsxxtzvxxwxx
+8-9 s: ssssssncsl
+5-10 s: tsmspsxszsfftcs
+2-5 b: bbqbqb
+3-5 w: dnxljjsclwg
+11-12 n: cmlhcbxxnnmhn
+11-14 g: ggtgggdkhggggbggrg
+2-3 m: jvvm
+1-12 g: gggggggggggxggzggf
+12-13 p: mpppjpplppvpqpcpvp
+5-16 w: swtwhmxzwbwxwwwwwww
+5-6 m: mmmmzmm
+8-9 v: vvvvvvvvg
+3-4 w: lhprqpcwf
+9-14 j: jjjjjjjjjjjjjfj
+2-7 s: dssgssswp
+10-11 b: ldfwbqqhgbbpbbrcs
+11-12 f: bffvnfgfffqfqdgffzh
+2-8 p: hfcppzgp
+3-10 r: hfrcwtsrcmkrn
+4-5 j: jjxsjjj
+2-4 g: gggjg
+4-5 z: zzzcv
+2-6 w: wwncqxp
+5-6 m: lmmrjmmmmqm
+1-19 d: lddzdtdkdvddddddddd
+16-17 q: qzqtqqqqqqqqqqqpqqjs
+6-7 c: cfccxxc
+3-5 c: qgnccb
+6-11 s: cqqssmxwznspv
+11-19 s: sssssfssswgdsshssszs
+15-17 x: xxxkxxxxxxxpxwxxhx
+2-9 b: zbggdxbwbpv
+4-10 z: zzrjzzdpxzz
+12-13 m: mmmmmmmmmmmlm
+4-8 s: ssswssss
+9-10 b: xdbhbbpbbhkbbblvb
+11-12 t: ttttttttttlj
+5-6 l: llsfjll
+14-16 x: xxxxxxxxxzxzxxxzxx
+2-10 h: hsdtlhhpwhhh
+3-5 s: shgbh
+4-5 j: jjjjps
+13-14 d: ddddddkskddddddlmwdd
+5-10 w: hbwrwqwzwlgz
+3-6 b: bmbbxjbw
+11-12 f: fffffhfffffr
+10-17 l: llllllcllllllllll
+3-7 z: zbmzzzxzd
+4-5 l: dlbld
+2-5 r: mghzsbjrsqflrd
+6-8 q: qqqlqqqtql
+8-9 s: sssspsstss
+5-6 w: wwwwwm
+2-4 m: mxmm
+1-3 s: prrzbwfslzpdks
+10-13 v: vgvvzvvvvvnvvq
+10-11 w: wjwrwwwwwww
+14-15 b: bbbbbbbbbbbbbtk
+2-7 n: nnnncnn
+5-10 w: wwzwrwwwwwwww
+8-14 f: fffffwfznrvflf
+3-4 l: rllr
+2-4 x: phxkxxxx
+2-13 w: vwtlwgwmwwwjd
+3-8 v: xdszpbvvmvxbhcvlb
+1-6 x: xtkkpzdwtxx
+7-10 x: xxxxxxxxxkgxxxxxx
+5-6 q: qqvqqd
+18-19 m: mmmmmmmmmmmdmmmmmmz
+2-5 s: bbsts
+9-12 l: vlllllllcllll
+1-7 x: xxnvvxxpx
+2-3 f: dfbf
+4-6 v: vcbvrm
+1-3 k: ddkk
+1-6 q: qklqqqvs
+7-8 f: ffffwfhfmff
+3-6 b: wbbcsqhnpb
+5-6 x: xxxxxs
+3-10 g: gnsgrhrgsgwrlgcwgh
+4-5 t: tttht
+4-5 l: lllqllllllllllllll
+14-15 z: zzszzzzztzszzzzczzz
+5-7 j: cqvjxzjslrdjnjjq
+11-12 d: dpgddddzdddrdddq
+14-16 w: wwtwwzwwwwwwwkww
+9-13 p: pfppppfrqpppc
+3-4 x: gpklxz
+3-6 p: pxppznbpnp
+4-16 c: bdvcfddsvccqvcwcmgc
+1-2 s: dsgbs
+8-10 w: wwwwwwwwwf
+10-18 b: bbcbbbbbbfbbbbkbbb
+3-7 w: kzwcwtwjhb
+16-17 d: dddddddddddddddmh
+2-4 t: ttttx
+2-9 f: fwnfgfffftbf
+12-14 t: rttttztwtttwtttttc
+6-8 d: bfdjhhdmmffbdd
+16-18 f: lcnvfgvfggvtttnxjf
+2-8 l: llnsqgqcqwjs
+4-5 f: ffmdwsrfp
+3-4 q: fbkqkrlsqvlqmxqvv
+14-16 w: wwwwwwwwwwjwwdwhww
+1-4 t: tttnt
+3-5 s: vmbwsvqdssgrrzbj
+12-13 q: qqqqvqqqqqqqjqqh
+5-17 n: nnvnnnnnnvnnnnnmg
+2-4 l: fllll
+3-5 t: tqtvt
+6-8 r: rrrrrxrs
+1-4 z: zzzz
+1-2 k: gkbd
+1-5 r: rrrrg
+2-11 l: kwwjlllgwhlnlsqtrq
+13-15 h: hhhhhhhhhhhhghh
+1-3 h: hwhhwhxhh
+5-10 c: cmrgcfccccccj
+17-19 c: cnccccccpcccccccmcz
+1-8 v: hvdvgbmvxnvsvgkvvv
+10-11 k: kkkkkkkkkkj
+3-6 d: rjdjdggfdcxpldr
+3-14 g: ggjgblgggggglggggg
+18-20 z: dwzwsrqnxmzhswfgjzsz
+1-10 s: qshsqssmtsssbgsg
+7-17 l: hmllllqfkllllpllnlbw
+6-7 w: wgcwwnwwwx
+1-15 k: kvskkbkkkhkkktkkkk
+6-7 q: qnqmhnq
+2-6 n: nnnkxwjhfmtnfnnmg
+4-7 r: rwrfrrr
+13-14 n: nnfnnnnnnnnnpnnn
+3-5 h: hqktph
+8-12 f: fmffhjmfkxfrvcfrbr
+12-13 j: jjjjjjjjjjjljj
+2-9 l: glcwqflmllstjhpsp
+4-6 r: vrwrrxrm
+5-6 n: nnnnnsn
+14-18 l: lhllclllzsllvvllzlll
+12-13 f: fvzfffnfpxffm
+7-8 c: ccrcccfpwcg
+1-2 g: tggg
+9-13 x: bdxxxnhxmxxxxxxnd
+14-15 z: zpzgzzzvzdqzzzt
+13-14 b: bbrbbbbbbbcbmbbbkc
+1-2 f: fjndbffq
+8-11 h: zhwhlrhhhhlnkhhh
+3-8 v: vqvwvclvcplmvctjv
+6-7 g: ggxgglggngdg
+4-6 h: vslffhhwcbnhh
+6-9 c: rztcpdvcpc
+7-9 t: qtttttktttlk
+17-19 d: ddgdddxdddtmzddgdtwf
+16-18 q: qqlqqqqbqqqqqqqqqqq
+3-7 q: lwxcqqtjqqbs
+1-10 w: txwcwxqxzw
+1-2 v: qvvvvvvvv
+6-11 c: ccccchcccccctccc
+6-11 d: dddnddklzdddd
+3-12 p: pkqrppgcmptp
+13-15 r: rrrrrrrrrrrrrrt
+3-4 k: kkkmjkg
+6-11 l: xlllllsllmqncvc
+6-17 g: vgggngrgggqggggggg
+3-4 b: bbqb
+3-9 q: qfqdqlpxgtbqqjmjccqt
+4-6 f: cbfmfc
+2-11 d: gddtddtdddkpdfcdwm
+2-11 q: qmpdmfhkqlql
+8-9 v: vvvvgvvhv
+2-3 h: hxhhhp
+9-10 n: nnnnnnnnhthn
+16-17 q: qqqqhqqqqqqqqqqsk
+6-12 v: vvwvjbjdvxvzvvv
+10-12 v: vxvvvvvvvvvcj
+3-4 h: znhfvctppgjtqhhhl
+14-19 g: ggggggggggggggggggcg
+7-17 p: rpnfbxppcppprbppkds
+4-11 c: ccccczcccclc
+2-3 d: dvdl
+18-20 t: twtthtdgtdsvxttcfltg
+11-12 q: qqqqqcqhqmqgqqqs
+10-11 c: ccccvccccgc
+7-8 x: xxxxxxhxxxxxxx
+8-10 r: rcnrrrwfcz
+1-3 b: pjbk
+6-7 q: xqqqcbqjlq
+11-12 z: ndzzzzdzzzrzz
+2-9 g: gsgbmggnggggkfbcgggg
+11-13 k: qbfnkxbkkkhkkkkkkpkk
+4-7 d: dddvddkd
+4-10 c: jccdcpfchcszccccxfc
+8-9 z: xvzvnzzzfdzlzr
+2-5 n: zqnqnpnhwnnv
+11-12 g: ggkgggggkgxgg
+3-4 v: vvvnvtgvpr
+2-4 t: gtmtxkbqvj
+4-5 m: mmmmtmmm
+10-13 g: ggggfgsgpcgggvggg
+4-5 j: jjjjj
+12-15 v: vgvvzvvvvvvnjzvv
+16-18 r: rrrrrrrrrrrrrrrrrrr
+11-13 r: rrrrrrrrrgfrr
+12-13 s: tsssssssbssdss
+12-14 m: xmmmmmmmxmlpmmmmm
+6-13 w: wkwmlwwhcgwmgwjwgwww
+9-13 b: bbbbbbbbbbbkbbbg
+4-5 v: vttvlvs
+7-10 b: mbfbbbrffbzbbxlx
+4-6 t: ttcfxtns
+8-12 r: dcrzvdpprbmr
+2-5 j: cjrxjjfz
+9-12 b: bbbtwbnkpbrrkbbbqlb
+3-4 k: kkdhk
+4-5 v: vjlvkjxvv
+3-4 x: xxxrs
+5-7 h: hhrdhhhhh
+5-6 v: vfvvhfhc
+3-8 w: wwjwwwwwww
+9-11 g: gggngtgggghg
+1-4 q: hcqq
+11-18 w: wwwwjwwwrwblwwwwwwz
+2-10 h: chrvlwffjl
+13-14 w: wwwwwmwfwwkwwhww
+5-7 z: zzbzdzqz
+4-13 v: dvxclvvxcnmcxvsp
+7-11 c: fccwdcccsfbcc
+12-16 f: pfsfsgpcfffffffvffpf
+1-4 n: gnnnn
+6-8 j: jjjjjjhbd
+3-4 k: ktkp
+6-8 m: rmmgmjsmmm
+7-8 j: jjjjjcjjj
+15-18 r: rrrrrrrrrrrrrkgrrr
+1-2 z: zzmwrlmtwsxdbzss
+2-6 j: bpwbjqr
+3-14 q: njswqhttbqfqqzqhtq
+12-17 d: ddddddddzfdvqddmt
+2-15 j: jfxjjjzjjtbcxtj
+7-10 w: dpzwqflvdx
+2-8 b: bjbbczbbwbbbgmdvllb
+7-11 b: bbbbbbmbbbb
+7-8 f: smbzfnxgvm
+6-10 n: nnmnncndtnnn
+13-15 c: scnqcccccccqpgccqccc
+3-4 w: wwwv
+3-7 h: hhhrxbx
+8-12 n: nnnnpndnncts
+1-4 g: kgggfggg
+4-10 m: fbttqmzmmmxtmtm
+2-4 d: dmclzdvdd
+10-14 s: sfgtsjfsssssstbs
+1-3 p: ptpzpqlhprvxhrgvvgv
+4-7 n: nnnvnnnn
+5-6 c: plnccqrxtxcwzkccm
+5-10 j: jjjjjjjjjr
+7-9 b: bblbbfhbb
+7-10 t: wtttthtttthvt
+2-7 m: mrmfmjgcpmmmbwx
+9-16 k: kzklkwkkkhnrkkkkk
+9-13 l: qlllljlllllllllkk
+2-3 c: ctcc
+5-7 b: bbbbbbxb
+3-6 w: wtqrwwgkv
+5-7 x: xxxwxxp
+2-3 z: zzxcdn
+13-17 c: ccccccrfcccccnccx
+3-7 w: whfdzvwpg
+15-19 t: ttttttttttttnthtttct
+10-11 k: kkkkkkkkvxkkk
+4-9 g: gggggggglg
+3-5 j: ljnjj
+4-8 l: nttlhlldhsslcqzqpgdv
+7-8 r: tpxhclrrsdnmwcrgf
+8-11 w: lwwwwwwwwjw
+8-9 w: wppkzcrdmkwgqw
+3-8 z: vhzgnkzgkcqrmmvvkx
+7-11 n: nnnnnnnnnnmnn
+1-15 b: bbbftxndbbfbbpb
+6-7 d: wkdddldldcddddd
+3-5 b: bcbfvbd
+9-10 k: kkkkkqkkrk
+8-18 z: vszwbmgzjzgjmhpgcv
+4-9 z: zzzzznczxz
+3-4 d: dhdm
+1-9 q: zqqqqqgcqqq
+2-3 g: zvgnx
+2-4 j: jqjjh
+6-11 j: hcqcnjqjjgj
+5-6 j: jjjjjj
+6-7 d: dwdddkd
+1-5 l: pmplllll
+1-11 t: tttdlttsrpkqtt
+3-9 x: xxnxtxxxx
+7-8 f: fffffffg
+4-6 b: bhbbbrhbb
+6-11 f: xfncmzffrfsf
+10-11 h: pghprtcjjjhshkw
+8-10 n: nnknnnnznnnn
+3-5 q: jqqqk
+5-9 j: rrhfgjfjjjjjbdjnj
+6-8 t: tctjmtttqttt
+9-10 m: wmvmhmmmxddzmmmm
+2-11 c: flcqrnrqmcccs
+2-3 f: qfdx
+11-15 k: kkkkdkkkkkgkkkkkkrq
+9-14 h: hzhhfhhxhhhhhltnh
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/2020/03.txt	Wed Dec 01 20:54:23 2021 -0500
@@ -0,0 +1,323 @@
+....#..#.......#........#....#.
+..##.#.#.#...................#.
+....#.#.##..#....#......#......
+.........#.#......##.....#.....
+..........#.###.##...##........
+#....#.#.......##.....#..#.....
+#...........#.#...#..#..##.##..
+......##.............#.....#...
+..##..........###..#.#..##.....
+...........#........#......##..
+..##...........##..............
+..#......###.#.....#.#.#.......
+..#..#..#..........#.#....#....
+.#.....##......................
+...#...##..#...#.........#..##.
+.#......#..#..#...#......#.##..
+..##.##.......#..#.....#..#...#
+..............#..#..#...#......
+...#...#....##.....#...#...#...
+......................#...#....
+.......#......#...#..##...#.#..
+##......#..#.....#....#.....#..
+....#.#.##.#.#....#............
+#.....##.............#.........
+..........#...........#.#.....#
+...#...##....#.#........#..#...
+................#..#.##.##....#
+......#...#...##...##....#.....
+##....#..#..#...#..#...........
+#..................#...#.#..#..
+....##....##.#....#..#......#..
+.....#...........#.........##..
+..#..............#.........#..#
+......##....................#..
+..#.....###...####...#...#.##..
+#..#.#......#.....#.......#.#..
+##.#.........######........#...
+..#....###...#.#..............#
+.....#..............#.........#
+....#......#..#.........#...#..
+.....###.....#.###.......###...
+#.#..#.....#....##...#........#
+..##....#..#.........#...#.#...
+..#..##.............#....#.#.#.
+..##.#..#.#.#.........##.......
+#.#..#.........#..............#
+#..#.........###.......#.#..#.#
+.............#...#....#......#.
+..........#.#...##.###.....#.#.
+..#.....#......................
+.......#......###.#.......#....
+....#....#.........#...###.#.#.
+.#.............#............#..
+....#..#.............#.#....#..
+....#.....#...#...##.#.........
+..#...#...#..................#.
+........#....#.....#...........
+.....##.......#...#.#..#..#....
+...#............#..#.#.........
+......................#........
+....#......#.....#.#....#......
+.....#..#.........#.........##.
+...............#.....#....##...
+...#.#.#...#..#...........#....
+.#....###......##...#.#.#.#....
+.....#...#....####....##.......
+..#......#..#.....##.#...#.....
+...#.##..#....#..##.....#......
+..#......#...#...##.....#...#..
+......#.....#........#.........
+..#.#....#..............##....#
+..#...#......##............#...
+.##.#.......#.......#......#..#
+...##.##...#.....#.......#..#..
+......##..#....#.......#.......
+.....#..#..#.#.....#.....#...##
+##.#...#.#.#.....#...#.#.#.##.#
+...................###...#..#..
+.#.....##.#......#........#....
+.##...##.#..........#...#....#.
+......#..............#.#......#
+...#.......#..#...........#....
+.###...#............##..#...##.
+##..#.#.........#............#.
+#...#.#......#.##...........#.#
+.#.#...#........#......##......
+....#...#...#.....#...#....#...
+...##...........##.........#...
+.........#...#..###............
+..#........#...............#...
+.............#....#.#..........
+........#......#.#.......#....#
+.................#....##.#.##..
+..#...##........#..............
+#..#........#...#....#.........
+......#.#.....#.....#..###.#..#
+....#............#...#.#.#.....
+............#..........#...#...
+..........#....##.#.........#..
+..............#...#...#..#.....
+#......#....#..##....#......##.
+...#....#.................#....
+.#.##.............#...#....##..
+....#..#.........#..#....#....#
+..#.....##..#......#.#..#......
+..#..#.....#........#...#..#..#
+.........##.#.##.#.......#....#
+..#.......##.##...#.....#.....#
+.............##...#...........#
+..#......#..#....#...#..#.##...
+....#........#......#.........#
+.......#........#..#.#.#..##..#
+..#......#...........##...#....
+.....#..#.#...#..............##
+.#..#......#......#........#..#
+...##...............#....#.....
+.......#...#.......##..#.......
+.....#....#...#...#..#.....#.#.
+...#.........#.....#...........
+...#.....###....#....#...#...#.
+#..#.....#.........#.........#.
+.................#.#.....#....#
+...........#..........#..#.....
+........#.#....#...#..#.....###
+#............................#.
+..##..#..#...##.........#......
+......##....#.#...#.........#..
+......#..##.#......#..#.....#..
+...#.......##....#.#....#......
+.....#........#...#............
+#.......#...#.........#......#.
+......#......#....#..#.........
+..#.#........#..#......#....#..
+.#..#.#..........##....###.#..#
+...#....#.##..#...#....#.......
+..#.....#......#.###.......#...
+..............................#
+.....#..#...#...........#......
+.##...#....##....#.#.#.#....#.#
+.#...#....#...#........#.......
+....#............#...##..#.....
+....##..#....#....#.....#....##
+.............#..##.#.#.#.......
+#.......#.#.#.......#..#..#....
+#..#...........#.......###..#..
+.#..##.#.....#........#........
+..#.#.......#............#..#..
+...........#..#............##.#
+.....#.......#.....#..#.##.#..#
+......#......##.....##.........
+..##.#..#.#..#..#..............
+.....#.............##...#.#.##.
+.#......##.#..........#........
+..#..#.........#.....#.#.#.....
+..#.....#.......#.....#..#.....
+#.#.#........#.#...#....#..#...
+.#.#.......#............#....#.
+......#..................#....#
+.#...#...#.....#.#..........#..
+.#..##....####...........#.#...
+..##.....#...#.#....#....#.....
+#.....................#....#.#.
+###..###.#.#...........#.....##
+......#......#..........#......
+...#......#.##.....#......###.#
+.............#..#.#...........#
+..#.............#.#..#.....#...
+...#...............#....##...##
+........#.................#....
+#..###.....#.......##.#......##
+....#.#..............#.........
+#..........#.....#..##...#.....
+................#...#..#....#..
+..#...#....##..........#.#.....
+......#........##......#..#...#
+...#....#..#.....#.......#...#.
+.#.....#..#...#..###....#......
+....#.........#....#.#.#.....#.
+#.#....#...#....#.....#..##....
+.......#..#..#..........#...#..
+..#.#..#.....##.#.#............
+..#....#.....#..##..#..#.#..#..
+..#.##.#...........#...#..#....
+.........#........#...#........
+..#.#.#.......##.........#.##..
+#.#..........#.#...#..#......##
+.#..#....................#.#...
+.##......#................#...#
+..##.#######......#....#.......
+....#...##.#....#.#............
+.##....#...##.......#...#..#...
+...........#...#...#...#..#....
+#...#.....#.......#....#.....#.
+.............#.................
+........#.#.......#...#.#.#....
+..............#............#.#.
+......#......##..#.......#....#
+##...#..................#......
+.....#......###.....#.......#.#
+.....#.#............#.#........
+..#.#..#............#....#.#...
+##.#.###.#.#.#..#......#.......
+...##........#..#.....#.#.#..#.
+##......#.##.....####..#.......
+............#...#..#...#..#....
+...#..#................##.#..#.
+.#....#.#...........##.#.#...#.
+####..#...........#.......###..
+.......#.................#.....
+.......#....#.......##....#....
+..#.........#...#....#.........
+..........#..#...#.#...##..#...
+....##..........#.........##...
+#.........##..#.#..#.......#...
+.#...........#....#...#...#.#..
+....#..#.....#...##....#.#....#
+.#....#.....#......#..##.##.#.#
+#......#..#.......##...........
+...#..#...#.#.................#
+......#.......##....##.#......#
+....#....#.#.#.....#....#....#.
+..#..........#.##...##..#......
+...#..#........#....#.#..#....#
+##.......#........#..........#.
+.#........#.......#...#..##...#
+..#..#..##..#...........#...###
+..#......#..........#..##......
+.#.....#..#.#...#...#.........#
+#.#......##....................
+#...#.....##...........#.......
+........#...#....#.......##....
+...#.##...#....#....#..#..#..#.
+...#..#......##....#..#..##....
+#...#..........#.#.............
+##..#........##.....#.........#
+.....#......#.#...###..#.......
+#..##.#..#.###...........##..#.
+.....#....#..........#.......#.
+##.........##.#................
+....#.........#............##..
+.......#........#......#..#..##
+.#...#...##..#....#..#.........
+.............#...#.#........#..
+......#..#...#..#.###..#.......
+........##.#..#.#..#..#........
+#.##..#..#..........#...##..###
+.##...#............#.#...##..#.
+................#....##.#...#..
+#.................#..........#.
+...#..#..#.....................
+..#...##.#.#...................
+.....#...#.......#............#
+..#..#.........#..##.#..#.#...#
+.....#.#.....#.#.......#.....#.
+..................#..#....#.#..
+..#.....###.##.......##....#.#.
+..#......##.......#....##.#....
+....#...................#..##.#
+.......#....#.##.#.......#....#
+..#...#......#..#...###....#.#.
+..#..#.#....#...........#.....#
+.....#..#..#.......#........#..
+......#.##.#......#...........#
+#...#....#.#..##.##..#..##.....
+#...##....#.#...##........#....
+..##............#.#.#..........
+....#.....#.#..#.......#..#....
+#..#.#.....#..#..##...#..##....
+...##........#...........#...#.
+.####......#..##.........#.#...
+.......#.......................
+.................#....#..#.....
+.........##......###...........
+.##......#.#.#....#.#...#..###.
+....#......##.###.#.#..#.......
+..........#.......##......##..#
+...........#.......#..##.......
+.....###..#..............##....
+........##..#.#.#......#....#..
+#....#.........................
+...........#...............##..
+......#.................#......
+.....#...#..##...##...#...#....
+..........#.#...##.####......#.
+..#.#.....##....#...........#..
+..........#....#..#....##...#..
+.#.......#..##...#...#.....#...
+...##....#.#......##...##....#.
+#.......#.......#.##.#...#.#...
+#...#..................#......#
+..#.......#...............#..##
+#.....#..................#....#
+.##.....#.....#......####.....#
+..#........#...#.#........#...#
+..##.....#....#...#...........#
+..#..#.....##..#.##...#........
+..........###..#....##.....#...
+...#...#....#.##.#...#.#.......
+..##......#.......#.......##...
+............#............#.....
+.##....#.........#.............
+....#....#....#........##...#.#
+.......##......................
+..........#.#.................#
+......##.#...#.........#.....#.
+..#...#......#..#.............#
+..........###.#..#.#...#..#..#.
+#..#.#..#....##...#...#.#...#..
+.#........##...#......#.##.....
+...###.#...##..............##..
+#.#.#...#...#..#....#.#..#.....
+.#.#.##..#....#......#.#.......
+...#..#.#....##...........#..#.
+.....##..##......#.#...........
+......#.....#....####....#.....
+.#.#.#...#..#..#...........#...
+.....#......................#..
+.........#.........#.###.##....
+.....#......##..........#......
+..#...........##...........#...
+..............#.........#.....#
+..#....#..#...#...##.#.........
+.#.#.#....#..........#.........
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/2020/04.txt	Wed Dec 01 20:54:23 2021 -0500
@@ -0,0 +1,1102 @@
+hcl:5d90f0 cid:270 ecl:#66dc9c hgt:62cm byr:1945 pid:63201172 eyr:2026
+
+ecl:amb byr:1943 iyr:2014 eyr:2028
+pid:333051831
+
+byr:1971
+eyr:2021 iyr:2015 pid:158388040 hcl:#18171d ecl:brn hgt:179cm
+
+byr:1936
+pid:707057570 iyr:2014 ecl:amb cid:299 eyr:2030
+hcl:#c0946f hgt:186cm
+
+hgt:163cm iyr:2013 ecl:gry hcl:#86e981 byr:1939
+eyr:2020 pid:241741372 cid:203
+
+ecl:brn hcl:#341e13
+pid:686617364 byr:1929 eyr:2029 hgt:160cm cid:280 iyr:2020
+
+byr:2002 hcl:#623a2f
+pid:253005469 iyr:2011 ecl:hzl hgt:184cm eyr:2027
+
+ecl:#bb984b eyr:2040
+hgt:188in
+iyr:2005 hcl:c5be8e pid:174cm cid:161 byr:2004
+
+ecl:oth iyr:2010 cid:128 hgt:153cm byr:1991
+pid:24061445 eyr:2025 hcl:#54d43e
+
+hcl:z
+iyr:2023 pid:981178503 ecl:gmt eyr:2038 byr:2004
+
+ecl:gry eyr:2022 iyr:1981 pid:566993828
+byr:1941 hcl:#341e13 hgt:176cm
+
+eyr:2027 byr:1976
+pid:350079989 ecl:blu iyr:2013 hgt:180cm hcl:#866857
+
+eyr:2029 hcl:#ceb3a1
+ecl:lzr
+iyr:2011 hgt:152cm byr:1986 pid:162999623
+cid:240
+
+ecl:gry iyr:2017 hcl:#18171d byr:1926
+eyr:2027 hgt:68in
+cid:310 pid:560836007
+
+ecl:grn
+cid:307
+pid:#cdc803
+byr:1975 eyr:2039 hgt:75cm
+hcl:318b11 iyr:2022
+
+ecl:brn hgt:179cm eyr:2020 iyr:2016
+pid:322103252 byr:1940 hcl:#b6652a
+
+hcl:#733820 hgt:188cm cid:70 eyr:2021 ecl:amb
+byr:1996
+iyr:2013 pid:412419084
+
+hgt:164cm iyr:2011 byr:1928 eyr:2020 hcl:#733820 pid:704914380 ecl:blu
+
+ecl:brn cid:267 eyr:2029 byr:2011
+hcl:z pid:467662306 iyr:2026 hgt:104
+
+pid:224593036 eyr:2027
+ecl:brn hcl:#341e13 iyr:2014
+byr:1997
+hgt:181cm
+
+eyr:2005 pid:9756449964
+hcl:#fffffd byr:1999 ecl:dne hgt:152in iyr:2027
+
+byr:1998
+iyr:2017 pid:618350852 hgt:156cm cid:193 ecl:amb
+hcl:#602927 eyr:2029
+
+byr:2021 pid:3395281192
+hcl:z hgt:167in ecl:grt eyr:2008 iyr:2025
+
+cid:206 pid:735212085 eyr:2020 byr:1950 hgt:153cm
+ecl:blu iyr:2019
+hcl:#733820
+
+eyr:2021 pid:551149968 iyr:2020 hcl:#6b5442
+byr:1948
+ecl:grn
+hgt:152cm
+
+hgt:76in cid:113 iyr:2019 eyr:2023 hcl:#888785 pid:131239468 ecl:grn
+byr:1994
+
+ecl:oth cid:240 hcl:#bed757 byr:2027 eyr:2021 pid:#ffa971 iyr:2022
+
+cid:204 iyr:2011
+ecl:blu hgt:169cm byr:1985 eyr:2020 hcl:#18171d
+
+ecl:hzl iyr:2012 cid:344 hcl:#7d3b0c
+hgt:190cm pid:599490023 byr:1954 eyr:2023
+
+cid:333
+eyr:1971 hgt:193cm
+ecl:#12421d hcl:#7d3b0c iyr:1991 pid:#7149ad byr:2008
+
+iyr:2014
+hgt:151cm pid:190259199 eyr:2021 ecl:blu
+byr:1975 hcl:#ceb3a1
+
+hgt:164cm ecl:oth hcl:#c0946f pid:427760590 eyr:2023 iyr:2012
+byr:1979
+
+hgt:193cm iyr:2023 ecl:#213711 hcl:z
+pid:23861701
+byr:2020
+eyr:1924
+
+pid:450691994 cid:191
+eyr:2028
+byr:1972 ecl:oth hgt:168cm hcl:#888785
+
+iyr:2013 hcl:#18171d hgt:170cm ecl:blu
+pid:040253250 eyr:2024
+byr:1954 cid:340
+
+cid:185 byr:1956 eyr:2029 pid:454637740 ecl:hzl hcl:#efcc98 iyr:2019 hgt:73in
+
+hcl:#efcc98
+hgt:176cm
+ecl:hzl cid:113 pid:747653564 iyr:2016
+eyr:2020 byr:1945
+
+hgt:69in cid:264 byr:1971 hcl:#733820 ecl:amb pid:086130104
+iyr:2011
+eyr:2022
+
+iyr:2010
+eyr:2034
+pid:501068596
+hgt:109 hcl:z byr:2018 cid:326 ecl:lzr
+
+pid:955229652
+eyr:2027 cid:175
+byr:1950 iyr:2010 ecl:gry hcl:#866857 hgt:177cm
+
+ecl:amb hcl:#888785 eyr:2020
+hgt:172cm byr:1991
+pid:556956304
+
+byr:1930
+eyr:2011
+pid:734176827
+ecl:brn hgt:182cm
+hcl:z
+
+hcl:#a97842
+pid:040278061 ecl:brn hgt:168cm cid:194
+byr:1973
+iyr:2016 eyr:2027
+
+hcl:#623a2f
+eyr:2023
+ecl:blu iyr:2016 pid:844348663 byr:1997 hgt:179cm
+
+hgt:188cm hcl:#a97842 byr:1972
+ecl:hzl pid:912948357 eyr:2026 iyr:2025
+
+iyr:2011 eyr:2025
+cid:286
+pid:084736292
+byr:1936
+ecl:oth hcl:#a97842 hgt:166cm
+
+iyr:2012 ecl:blu hgt:159cm byr:1980 eyr:2024 pid:811644928 cid:105 hcl:#7d3b0c
+
+pid:530452683 hcl:#341e13
+iyr:2011
+hgt:163cm ecl:oth
+cid:309 byr:1940
+
+ecl:hzl
+pid:144377866
+hcl:#18171d hgt:193cm
+iyr:2013 eyr:2028
+
+pid:868386570
+ecl:brn
+hgt:161cm hcl:#18171d
+byr:1956
+iyr:2017
+cid:307
+
+iyr:2019 eyr:2026 ecl:brn
+hcl:#866857 byr:1993 cid:299
+pid:603503348 hgt:186cm
+
+iyr:2014
+pid:852954158 hgt:73in byr:2021
+eyr:2020 hcl:#a97842 cid:260 ecl:oth
+
+hgt:164cm eyr:2025 pid:113005290 byr:1955 ecl:blu iyr:2017 hcl:#b6652a
+
+cid:179 iyr:2015
+pid:317467924 eyr:2025 ecl:gry byr:1996 hgt:180cm hcl:#a55f97
+
+hgt:172cm hcl:#efcc98 cid:53 ecl:grn iyr:2016
+byr:1991 pid:337133478
+eyr:2025
+
+hgt:150 iyr:2008
+pid:#3e66a7 ecl:#8b3133 eyr:2040 byr:2012 hcl:802d16
+
+pid:577607614 byr:1924 hgt:173cm hcl:#341e13 eyr:2026 ecl:amb
+iyr:2013
+
+eyr:2020 iyr:2011 hgt:175cm hcl:316607 pid:738554684
+byr:2029 ecl:dne
+
+hgt:179cm iyr:2016
+pid:178cm byr:2015
+ecl:gry
+hcl:#341e13
+eyr:1986
+
+byr:2005 iyr:2028 ecl:#7be9b8 eyr:1941 pid:#e7e9cb hgt:177in cid:67 hcl:#602927
+
+ecl:#0d50e6
+pid:192cm iyr:2014 eyr:2027 hgt:73cm cid:162 hcl:93ea2f
+byr:1958
+
+hcl:z
+cid:292 hgt:184in eyr:2001 pid:7218132701 byr:2020
+ecl:grt iyr:2014
+
+ecl:gry
+hcl:#fffffd
+eyr:2026 iyr:2013
+pid:117261833
+
+pid:780384540 ecl:gry cid:52 eyr:2020 hgt:193cm hcl:#4ae223 iyr:2017
+byr:1984
+
+ecl:hzl
+pid:218314886 eyr:2030 byr:1948 hcl:#c0946f hgt:185cm iyr:2013
+
+pid:175cm cid:340 ecl:blu hcl:#cfa07d eyr:2036 iyr:2018 byr:2018 hgt:70cm
+
+byr:1953 hgt:164cm ecl:hzl
+pid:488831953 iyr:2010
+hcl:#fffffd
+
+byr:1961 hgt:165cm pid:506597451
+cid:122 eyr:2020 hcl:#cfa07d ecl:gry
+iyr:2016
+
+iyr:1970
+eyr:2040
+byr:2008
+hgt:188
+ecl:#b00a46 hcl:#fffffd
+
+hgt:179cm
+byr:1972 eyr:2026
+cid:62 ecl:oth
+pid:996355557 iyr:2013 hcl:#a97842
+
+ecl:amb eyr:2026 byr:1936 pid:812982189 hgt:158cm hcl:#888785 iyr:2010
+
+iyr:2020
+hcl:#7d3b0c hgt:160cm
+pid:336806720
+eyr:2024 ecl:#7e0ae0 byr:1992
+
+eyr:2036 pid:178cm hcl:z
+hgt:133 byr:2009 ecl:dne cid:127
+
+byr:1938 hcl:#fd309a
+cid:104 iyr:2015 eyr:2022 pid:201047563
+hgt:160cm ecl:hzl
+
+byr:2023 pid:25086180 hgt:160cm cid:180 hcl:z ecl:grt eyr:2038 iyr:2022
+
+ecl:grn hgt:167cm
+byr:2023 iyr:2026 eyr:1928 hcl:z
+
+hcl:#efcc98 hgt:187cm byr:1925
+ecl:grn
+pid:753746076 iyr:2017
+eyr:2021
+
+iyr:2017
+byr:1934 ecl:grn eyr:2021 hgt:163cm
+pid:688172460 hcl:#b6652a
+
+hcl:#c0946f iyr:2018 ecl:blu pid:676564085
+hgt:184cm cid:152 byr:1980 eyr:2023
+
+ecl:grt hgt:70cm iyr:2022 hcl:58716b byr:2010
+pid:60834390 eyr:2037
+
+iyr:2028 pid:270499403
+ecl:xry eyr:1947 hgt:152cm byr:2025
+
+pid:091281559 hcl:#733820
+hgt:166cm
+eyr:2021 ecl:grn cid:327 byr:1928
+iyr:2014
+
+eyr:2025 ecl:grn byr:1938 hcl:#ceb3a1
+cid:234
+pid:549433891
+hgt:172cm iyr:2016
+
+hcl:#c0946f hgt:173cm iyr:2014 eyr:2030 ecl:blu byr:1965
+pid:696577272
+
+hgt:154cm eyr:2030
+pid:475642195 byr:1920 iyr:2013 hcl:#866857 ecl:blu
+
+pid:518398763 iyr:2010
+eyr:2020
+hgt:183cm
+ecl:brn byr:1921 hcl:#18171d
+
+eyr:2023 pid:614116723 hcl:#7d3b0c ecl:hzl
+iyr:2016 hgt:189cm byr:2000
+
+ecl:oth hgt:178cm hcl:#733820 byr:2001 pid:862420089 eyr:2023
+
+pid:851985534 eyr:2028 hcl:#18171d ecl:oth cid:238 byr:2001
+iyr:2019 hgt:166cm
+
+byr:1927
+hgt:170cm
+pid:246933107
+ecl:amb iyr:2015
+cid:166 eyr:2027 hcl:#b6652a
+
+byr:1929
+hcl:#7d3b0c
+cid:263 pid:317156081 hgt:165cm eyr:2031 iyr:1980
+
+hcl:#866857 eyr:2021 hgt:179cm pid:206504353 cid:84 ecl:gry iyr:2012 byr:1952
+
+byr:1986 ecl:hzl
+hcl:#a97842
+iyr:2015 hgt:152cm pid:722601936 eyr:2025
+
+byr:1921
+pid:563550743 iyr:2015 ecl:hzl
+eyr:2026 hcl:#fffd7b
+
+ecl:hzl
+hcl:#888785 cid:268 byr:1926 hgt:176cm pid:321394231 eyr:2021 iyr:2014
+
+eyr:2021 cid:225
+pid:770796086
+ecl:gry byr:1961
+hgt:154cm
+hcl:#6b5442
+iyr:2011
+
+eyr:2028 iyr:1961 byr:2016
+cid:98 pid:587360691 hgt:70cm ecl:#ceaf1f
+hcl:#c0b6db
+
+byr:1978
+eyr:2022 hgt:184cm hcl:#7d3b0c
+cid:271
+ecl:amb pid:235352975
+iyr:2010
+
+eyr:2026 pid:2844744
+iyr:1958 byr:2017 hcl:z
+hgt:192in
+ecl:#971530
+
+iyr:2020
+byr:1960 eyr:2028 cid:162 pid:491912610 hcl:#fffffd hgt:59in
+
+iyr:2012 pid:365229485 ecl:amb byr:1933 hcl:#18171d eyr:2024
+
+hgt:193cm pid:473100400
+hcl:#efcc98
+cid:201 eyr:2020 byr:1969 ecl:gry iyr:2016
+
+eyr:2025 pid:137807160 iyr:2014
+ecl:grn byr:1944 hgt:168cm hcl:#ceb3a1
+
+byr:2008 ecl:xry
+iyr:2012 hcl:#efcc98 eyr:2028 pid:272344138
+
+eyr:2024 pid:959415175 cid:148 hcl:#efcc98
+byr:1977 hgt:179cm ecl:amb
+
+pid:253742161 ecl:hzl hcl:#602927
+eyr:2021 hgt:191cm byr:1925 iyr:2010
+
+ecl:amb hcl:#341e13
+eyr:2024 iyr:2017
+byr:1975
+pid:838040028 hgt:172cm
+
+hgt:172in
+pid:311113967 iyr:2015 cid:111 eyr:2023 ecl:oth byr:2003 hcl:#866857
+
+hcl:#888785 byr:1978 hgt:64in pid:442064310 eyr:2021
+iyr:2011 ecl:hzl
+
+eyr:2021 byr:1988 hcl:#a97842
+pid:290578586 ecl:hzl hgt:174cm iyr:2020
+
+byr:1998 iyr:2020 hgt:163cm ecl:oth eyr:2025
+hcl:#6b5442 pid:913461954
+
+hgt:173cm hcl:#18171d
+eyr:2029 ecl:brn cid:313 byr:1980
+iyr:2011 pid:810497375
+
+byr:1975 hgt:153cm eyr:2027 hcl:#fffffd pid:857730031
+ecl:gry iyr:2020
+
+hcl:#18171d ecl:hzl
+pid:185778821 hgt:178 iyr:2014 eyr:2028 byr:1974
+
+iyr:2015 hgt:163in hcl:#c0946f ecl:#4844a6 byr:1979 pid:124626004
+
+eyr:2024
+pid:737015681 byr:1952
+ecl:hzl iyr:2019
+hgt:192cm hcl:#cfa07d
+
+pid:2986469633 byr:2025 hgt:66cm hcl:z eyr:2011 iyr:2027 cid:311
+
+byr:1962
+eyr:2032
+ecl:lzr iyr:2014
+hgt:70cm pid:94309916
+hcl:#fffffd
+
+cid:350 hcl:#602927 iyr:2019 hgt:178cm
+pid:172238204 byr:1949 ecl:hzl
+eyr:2028
+
+hgt:153cm
+hcl:#ceb3a1
+ecl:grn
+byr:1997
+pid:266747822
+iyr:2011 eyr:2022
+
+pid:839681159 hgt:150cm eyr:2024 hcl:4d6414
+ecl:blu
+iyr:2018 byr:1988
+
+byr:1930 iyr:2011 pid:352711700 hgt:174cm cid:67 eyr:2020 ecl:hzl hcl:#6b5442
+
+byr:1949 iyr:2013 hcl:#623a2f eyr:2030
+hgt:176cm
+
+hgt:164cm eyr:2026 hcl:#866857
+iyr:2018 pid:922679610 byr:1974
+ecl:brn
+cid:114
+
+eyr:2038 cid:317
+hgt:166in pid:0384056779 byr:2013 iyr:2021
+ecl:xry
+
+cid:83 hgt:166cm eyr:2026 iyr:2018 byr:1994 ecl:brn pid:858360477 hcl:#ceb3a1
+
+hgt:169cm eyr:2020
+pid:110129489 byr:1958
+ecl:oth hcl:#7d3b0c
+iyr:2011
+
+cid:279
+iyr:2019 byr:1995 eyr:2026 ecl:hzl
+hcl:#7d3b0c hgt:185cm pid:085427066
+
+hcl:#c0946f
+iyr:2011 eyr:2027
+ecl:amb
+byr:1943 pid:060674566 hgt:183in
+
+hgt:156cm hcl:#c0946f pid:242827141
+cid:152
+iyr:2018
+eyr:2025 byr:1963
+
+byr:1925 cid:168 eyr:2020 hcl:#cfa07d iyr:2011 ecl:brn hgt:150cm pid:740118192
+
+ecl:oth byr:1951 eyr:2025 cid:213
+iyr:2020
+hgt:154cm
+
+eyr:2025 iyr:2018 ecl:grn cid:91 byr:1925
+hgt:164cm hcl:#18171d
+
+byr:1997
+iyr:2018 eyr:2023 hcl:#602927 pid:251296833 ecl:blu
+hgt:185cm
+
+hgt:168cm pid:556895048
+hcl:#341e13 ecl:oth eyr:2020 cid:64 byr:1940
+
+byr:1996 pid:821204904 cid:250 ecl:amb eyr:2026 hgt:185cm iyr:2019
+
+ecl:grn hcl:#b6652a iyr:2013
+eyr:2028 hgt:157cm
+byr:1925 pid:158cm
+
+hgt:190cm iyr:2019 ecl:oth eyr:2028 hcl:#341e13 cid:334 pid:258135663 byr:1972
+
+byr:1936 hgt:76in pid:748344702 cid:335
+eyr:2027 hcl:#a97842 ecl:amb iyr:2015
+
+hcl:z hgt:66cm eyr:2029
+pid:#1589e0 iyr:2019 ecl:hzl
+
+hcl:#733820 ecl:amb
+iyr:2013
+hgt:188cm byr:1955 pid:125663066 eyr:2020 cid:179
+
+iyr:2017
+hgt:185cm ecl:grn
+cid:298 eyr:2030 hcl:#5b1c03
+byr:1992 pid:092887457
+
+eyr:2032 ecl:grn hgt:82 iyr:2022
+pid:180cm byr:2003
+cid:55 hcl:z
+
+pid:257666411 eyr:2023 byr:1982 hgt:179cm hcl:#18171d ecl:brn iyr:2010
+
+iyr:2020
+ecl:amb hcl:#18171d
+pid:971402454 eyr:2028
+
+hcl:#efcc98 byr:1964 pid:577424639 eyr:2030 iyr:2010 ecl:brn hgt:169cm
+cid:285
+
+ecl:amb byr:1958 hgt:159cm hcl:#efcc98 eyr:2024 iyr:2016
+pid:029502840
+
+hcl:ac11eb
+byr:2007 pid:0489471320 hgt:69cm iyr:2030 ecl:blu eyr:2033
+
+pid:3785138563 eyr:2020 iyr:2020
+hcl:#966583 byr:2008 hgt:186cm ecl:gry
+
+iyr:2014 pid:868785127 eyr:2029
+cid:220 hcl:#18171d ecl:blu byr:1948 hgt:171cm
+
+byr:1936
+pid:433437105
+hcl:#c0946f eyr:2020 iyr:2019 hgt:160cm ecl:brn
+
+iyr:2015 eyr:2024 hgt:176cm ecl:hzl
+byr:1995 pid:101835436 hcl:#ceb3a1
+
+eyr:1959
+hcl:#cfa07d iyr:2010 pid:9214728
+ecl:#42fda0 hgt:71 byr:2022
+
+byr:1998 iyr:2011 cid:275 ecl:oth
+pid:924517068 eyr:2024 hgt:191cm
+hcl:#623a2f
+
+hgt:157 hcl:z
+byr:1923 pid:#f6ce52 iyr:1975 ecl:lzr cid:100
+
+pid:565022102
+eyr:2021 hcl:#efcc98
+byr:1988 ecl:gry iyr:2012
+
+hgt:156cm
+hcl:#b6652a eyr:2021 pid:969724332
+cid:126 iyr:2016
+ecl:hzl byr:1988
+
+ecl:blu hcl:#866857 hgt:153cm
+pid:798083560
+iyr:2015
+byr:1981 eyr:2030
+
+iyr:2013 cid:103 hcl:#efcc98 eyr:2022 byr:1964 ecl:gry
+hgt:161cm pid:950689613
+
+pid:4316019547
+ecl:gmt
+eyr:2029 byr:2011 iyr:2005 hgt:170cm cid:135
+hcl:567fd8
+
+hcl:#6b5442 pid:843348901 byr:1960
+hgt:156cm
+eyr:2028 ecl:amb
+
+eyr:2027
+pid:286247733 byr:2000 hgt:191cm
+iyr:2014
+hcl:#341e13 ecl:amb
+
+ecl:gmt byr:2005 hgt:182cm pid:376332625 hcl:z iyr:2021
+eyr:1949
+
+hgt:184cm
+byr:1940
+cid:260 eyr:2030 ecl:brn
+iyr:2011 pid:792881807
+
+iyr:1936 eyr:2021 cid:133 hcl:#623a2f byr:2003 pid:197167496
+ecl:#8896de
+
+hgt:67in cid:110
+byr:1951
+pid:389358116 eyr:2028 iyr:2017
+ecl:grn
+
+hgt:161cm
+cid:215
+pid:116325531 iyr:2019
+eyr:2025 hcl:#18171d ecl:blu
+byr:1951
+
+pid:787859682 hcl:#a97842 eyr:2020 byr:1948 hgt:190cm ecl:brn iyr:2020
+
+pid:034440951 hgt:73cm hcl:803e55
+cid:350 byr:1985
+ecl:#a18487 eyr:2031
+iyr:1973
+
+hcl:#40ee86 ecl:brn
+iyr:2016 byr:1922 hgt:150cm pid:449374426
+
+eyr:2040 hcl:260be4 pid:208681353 byr:2029 ecl:gry
+hgt:178cm
+
+hcl:#18171d hgt:162cm byr:1983 eyr:2020 pid:328556776 iyr:2017 ecl:grn
+
+eyr:2029
+hcl:#a97842
+pid:#7bd019 iyr:2015
+hgt:168cm byr:1926
+ecl:grn
+
+ecl:grt eyr:2034 pid:640680934 hgt:189in cid:276 byr:1969 hcl:511eed iyr:2023
+
+eyr:2039 hgt:182in cid:145
+hcl:4a259b iyr:2026
+byr:2004
+ecl:xry pid:#a3c9ea
+
+hcl:#866857
+pid:615665716 ecl:blu hgt:164cm iyr:2020
+byr:1948 eyr:2024 cid:286
+
+hcl:#b6652a hgt:59in eyr:2027
+pid:752461325 ecl:oth
+byr:1932 iyr:2019
+
+eyr:2030 byr:1936 ecl:hzl
+iyr:2010 cid:263 pid:186570962 hcl:#888785
+hgt:163cm
+
+byr:1949 ecl:blu
+pid:407719342
+eyr:2030
+hcl:#b6652a iyr:2012
+hgt:186cm
+
+pid:154cm ecl:amb byr:1944
+eyr:2022
+hcl:z iyr:2017
+
+byr:1980 hcl:#d2c954 iyr:2013 ecl:brn hgt:72in
+eyr:2030
+pid:017095362
+
+hgt:179cm
+hcl:#ceb3a1 cid:61 eyr:2026
+iyr:2011
+pid:897403026 byr:1984
+ecl:amb
+
+cid:150 hgt:181cm
+eyr:2028 pid:894689339
+hcl:#602927 byr:1933 ecl:grn iyr:2018
+
+pid:125553946 byr:1942 eyr:2026 hgt:193cm
+iyr:2010 ecl:gry
+hcl:z
+
+eyr:2013 pid:1213613355
+ecl:#b08dca hgt:190in
+hcl:06adb3 cid:303 iyr:2010
+
+iyr:2019 pid:255938897
+eyr:2022 hgt:152cm
+byr:1956 ecl:grn hcl:#ceb3a1
+
+eyr:2029
+pid:670713784
+iyr:2020 ecl:grn
+hgt:155cm hcl:#6b5442 byr:2002
+
+byr:1925 hcl:#866857 pid:323449427 ecl:oth
+eyr:2023 hgt:163cm iyr:2014
+
+pid:841608722 byr:1955 hgt:150cm ecl:blu eyr:2029
+hcl:#6b5442
+
+eyr:2023 hcl:#efcc98
+hgt:164cm ecl:gry
+iyr:2018
+byr:1993 pid:501920795
+
+eyr:2030
+iyr:2019 hgt:73in hcl:#bf908a
+byr:1961 ecl:blu cid:86 pid:436811356
+
+pid:#02516a hgt:131 iyr:1969 ecl:grt byr:2015
+eyr:2010 hcl:z
+
+ecl:#25fb6c cid:239 pid:167cm iyr:2021
+byr:2023 hgt:75cm
+hcl:z eyr:1931
+
+pid:279251948
+ecl:oth hcl:#6b5442
+byr:1943 iyr:2015 hgt:173cm eyr:2039
+
+byr:1935
+iyr:2013 hgt:151cm hcl:#b6652a
+ecl:grn
+eyr:2023 pid:741958450
+
+hcl:6beab7 byr:1986
+hgt:85
+iyr:2012 pid:#d98df3 eyr:2035
+ecl:dne
+
+byr:1929
+pid:764478810 ecl:grn
+hcl:#866857 iyr:2019 hgt:155cm eyr:2022 cid:277
+
+hgt:155cm pid:450816410 eyr:2030 cid:165 byr:1969 ecl:blu hcl:#866857 iyr:2019
+
+cid:330 pid:168777528 eyr:2024 ecl:blu hcl:#341e13
+hgt:178cm iyr:2013
+byr:1921
+
+eyr:2037 iyr:1973 hcl:a4ebf3
+pid:161cm
+ecl:oth hgt:64cm cid:62
+
+cid:235
+hcl:538f8a hgt:70cm
+iyr:1970 pid:177837127
+ecl:#95700d byr:2003
+
+ecl:hzl pid:375018246 hgt:161cm
+iyr:2011 eyr:2029 hcl:#c0946f
+byr:1956
+
+hcl:#888785
+iyr:2016
+pid:161cm byr:1977 ecl:#0188d8 eyr:2029
+cid:104 hgt:63in
+
+byr:1979 eyr:2020 hcl:#ceb3a1 ecl:amb pid:752141341 hgt:150cm iyr:2010
+
+cid:274 byr:1928 iyr:2018 eyr:2023 hcl:#a97842 hgt:173cm pid:186060112 ecl:gry
+
+hcl:#341e13
+ecl:blu iyr:2011
+hgt:190cm cid:292 pid:974271891 eyr:2020 byr:1927
+
+hcl:#fffffd eyr:2025
+ecl:brn byr:1923 iyr:2011
+pid:037981552
+
+ecl:blu pid:412817852 hgt:150cm iyr:2026
+byr:2026
+eyr:2020
+
+ecl:brn byr:1988 eyr:2026
+hgt:178cm pid:008152501
+hcl:#602927
+iyr:2020
+
+ecl:brn pid:877401308 byr:1923 cid:154
+hgt:170cm
+hcl:#fffffd
+iyr:2014
+eyr:2022
+
+cid:56 hcl:ee020e pid:590581021 iyr:2018 hgt:72cm byr:2007
+eyr:1964 ecl:oth
+
+eyr:2029
+iyr:2012 ecl:oth
+hgt:185cm cid:235
+byr:2002
+pid:064901580
+
+byr:1956 hcl:#6c1a8c pid:497814257
+eyr:1964 hgt:155cm ecl:gmt iyr:2030
+
+byr:1935 hgt:171cm cid:253 pid:033393224 hcl:#c0946f iyr:2012
+ecl:blu eyr:2025
+
+byr:1977 hcl:#602927 cid:175 iyr:2010
+pid:9391986394 hgt:65in eyr:2026
+ecl:amb
+
+iyr:2011 hgt:158cm ecl:#31cae1 byr:1958 hcl:b94ad1
+eyr:2023 pid:#400a21
+
+hcl:e205b0 pid:84195182 byr:2012 eyr:2037 ecl:zzz hgt:75cm iyr:2030
+
+pid:102379515
+byr:1971
+hgt:169cm
+ecl:amb
+eyr:2020 hcl:#cfa07d iyr:2017
+
+pid:236611157
+eyr:2020 hcl:#b6652a
+iyr:2017 cid:194 byr:2001 hgt:169cm ecl:gry
+
+iyr:2012 hcl:a256b5 eyr:2040 cid:62 hgt:177in byr:2010
+
+eyr:2028 byr:2009 iyr:2020 ecl:brn
+pid:12371575 hcl:#866857 hgt:190cm
+
+byr:1965 eyr:2028
+pid:402013776 hcl:#bc4e9e cid:183 hgt:150cm iyr:2015
+
+pid:0269051559
+byr:1936 hcl:z ecl:#ff0ab9
+iyr:2014 eyr:2031
+cid:346 hgt:153in
+
+hcl:#18171d iyr:1929 hgt:157cm
+eyr:2036 byr:1970
+ecl:amb
+
+hcl:#733820
+eyr:2022
+pid:096076686
+iyr:2010
+hgt:192cm
+byr:1957
+
+hcl:#ceb3a1 ecl:brn iyr:2013
+eyr:2025
+byr:1953 pid:751516675
+hgt:175cm
+
+byr:1928
+eyr:2027
+cid:85
+hgt:179cm ecl:oth
+pid:169307999 hcl:#3e07af iyr:2010
+
+hgt:60cm byr:2008 hcl:z
+eyr:1965 pid:167cm
+cid:106
+iyr:1930
+
+hcl:#1099d9 ecl:amb pid:638820661 iyr:2014
+byr:1998 eyr:2025
+hgt:162cm
+
+ecl:amb
+eyr:2022 hcl:#623a2f byr:1956
+hgt:154cm
+iyr:2010 pid:717452826
+
+hcl:fc9ba5
+iyr:1928
+eyr:2029 pid:54503219
+byr:2020
+ecl:#d2155a hgt:124
+
+eyr:2027
+hcl:#7d3b0c hgt:178 ecl:#63b8e6 iyr:2015 byr:1954
+
+ecl:oth byr:1970
+pid:833178609 hcl:#c0946f iyr:2016 cid:81 eyr:1976
+hgt:69in
+
+hcl:#0cf4b8 pid:499271062 hgt:62in ecl:hzl iyr:2016 byr:1922
+eyr:2022
+
+byr:1994
+eyr:2029 hgt:174cm hcl:#efcc98
+ecl:amb
+iyr:2019 pid:297210449
+
+ecl:hzl
+eyr:2026 iyr:2017 hcl:#a97842 hgt:162cm
+byr:1950
+
+pid:091886000 hgt:179cm byr:1975 eyr:2020 cid:326
+ecl:oth
+iyr:2015 hcl:#a97842
+
+hcl:#efcc98 hgt:176cm byr:1940 iyr:2016 ecl:brn pid:514758507 eyr:2024 cid:313
+
+eyr:2026 byr:1980
+hgt:155cm
+iyr:2013 pid:367909831 ecl:oth
+
+byr:1965
+eyr:2021 iyr:2017
+hgt:185cm
+hcl:#a97842 ecl:hzl pid:238901177
+
+hgt:156cm pid:916654189
+byr:1943 eyr:2022 ecl:amb hcl:#341e13 iyr:2016
+
+cid:305 iyr:2013
+eyr:2029 hgt:163cm ecl:blu
+hcl:#fffffd pid:944033881
+byr:1952
+
+pid:638190538
+hcl:#866857 ecl:brn
+eyr:2030 iyr:2016 cid:78 byr:1943 hgt:186cm
+
+eyr:2024 iyr:2015
+pid:231006970
+cid:312 byr:2000 hcl:#623a2f hgt:190cm ecl:brn
+
+ecl:#f89e87
+hcl:#fffffd hgt:166 cid:215
+iyr:1961
+eyr:2027 pid:314310197 byr:1977
+
+hcl:z eyr:1995 pid:951911095 hgt:154cm
+ecl:xry
+cid:154 byr:2023
+
+hgt:66in hcl:#866857
+ecl:brn
+pid:328148585 byr:1984 eyr:2024
+
+pid:456453839
+eyr:2024 hcl:#fffffd byr:1990 ecl:amb
+
+eyr:2030 cid:149 pid:983735096 hgt:179cm iyr:2014 byr:1957 ecl:gry hcl:#341e13
+
+byr:2001 hgt:157cm
+ecl:hzl eyr:2021
+hcl:#ceb3a1
+pid:558527031 iyr:2018
+
+hgt:122 ecl:oth hcl:z
+pid:384664729
+iyr:2012 cid:298 eyr:2023
+
+ecl:utc eyr:2024
+hgt:162in iyr:2018 pid:1722490341 byr:2027
+hcl:#18171d
+
+ecl:gry iyr:2017 hcl:#602927 cid:303 byr:1950
+pid:509264482 eyr:2030
+hgt:164cm
+
+hgt:192cm pid:967128169 iyr:2019 ecl:blu eyr:2024 hcl:#fffffd byr:1949 cid:301
+
+ecl:blu
+cid:71 hgt:164cm eyr:2022 hcl:#cfa07d pid:750303088
+byr:1949 iyr:2014
+
+iyr:2014
+pid:401425898 byr:1981
+hcl:#7d3b0c hgt:167cm eyr:2028
+
+hcl:#602927 hgt:160cm iyr:2014
+eyr:2023 byr:1940 pid:748539736 ecl:amb
+
+eyr:2025
+hcl:#c0946f pid:325296854 iyr:2020
+hgt:76cm ecl:amb byr:1921
+
+hgt:190cm
+iyr:2011 pid:082777116
+byr:1979 cid:73 ecl:oth hcl:#6b5442 eyr:2021
+
+eyr:2029 ecl:amb hgt:151cm pid:144881592 byr:1964 hcl:#efcc98 iyr:2012
+
+hcl:#efcc98
+iyr:2019
+eyr:2023 byr:1999 pid:645291123
+ecl:brn
+
+eyr:2029 pid:922956941 hcl:#623a2f byr:1934
+ecl:grn hgt:151cm
+iyr:2019
+
+byr:1992 ecl:brn
+hcl:#a97842
+pid:269079906 hgt:187cm
+iyr:2016 cid:218
+
+byr:1951 ecl:oth eyr:2026 hgt:185cm
+cid:82 hcl:#7d3b0c
+iyr:2020 pid:052476816
+
+eyr:2026
+cid:319 iyr:2020
+ecl:brn hcl:#888785
+hgt:172cm pid:327064207 byr:1956
+
+hgt:178cm
+pid:638854420 byr:1995 eyr:2030 ecl:gry hcl:#7d3b0c iyr:2018
+
+iyr:2026 hcl:#b6652a
+byr:1946
+hgt:186in pid:622875187 eyr:2028 ecl:gry cid:140
+
+byr:1931 ecl:oth eyr:2030
+pid:437813485
+hgt:181cm
+hcl:#efcc98 iyr:2018
+
+byr:1999
+ecl:amb
+hgt:160cm iyr:2013 hcl:#b6652a pid:043039693
+eyr:2022
+
+byr:2025
+pid:#fd7ad7 eyr:2025 hgt:63in
+ecl:oth iyr:2010 hcl:#b6652a
+
+ecl:grn
+byr:1939 eyr:2025 hgt:171cm cid:134 iyr:2020 pid:090346629
+hcl:#cfa07d
+
+hcl:z
+eyr:2031 cid:74
+pid:50216290 ecl:utc iyr:2030
+hgt:176in
+
+byr:1971 ecl:brn hgt:190cm pid:791682756 hcl:#fffffd
+iyr:2020 eyr:2027
+
+iyr:1931 byr:2025 hgt:76cm pid:735796617 eyr:2040 ecl:utc hcl:#c0946f
+
+hgt:163cm
+hcl:#18171d
+ecl:hzl
+pid:628854394 cid:311 iyr:2020 eyr:2027
+
+hcl:z
+ecl:amb pid:#a8f973 hgt:94
+eyr:2027 byr:2020 iyr:2012 cid:202
+
+pid:086190379 byr:1931 ecl:blu iyr:2010 eyr:2027 hgt:175cm
+
+ecl:#0dafcd byr:2025 iyr:2021 eyr:1970 hgt:63cm cid:260 hcl:75300a pid:208921120
+
+pid:024722981 iyr:2011 hgt:193cm hcl:#efcc98 ecl:blu byr:2001
+
+byr:2027
+cid:123
+ecl:xry hgt:183cm iyr:2019 eyr:2026
+hcl:#c0946f
+pid:380513483
+
+eyr:2028 pid:302044900 iyr:2011 byr:1938 hgt:190cm ecl:amb hcl:#c0946f
+
+eyr:2024 pid:672033747 byr:1931
+iyr:2020 hcl:#f01aed ecl:brn
+
+hgt:184cm hcl:#efcc98 pid:391597648
+iyr:2020 ecl:gry
+byr:1961
+
+iyr:2013 hgt:191cm byr:1935 eyr:2028 hcl:#ceb3a1 cid:195 ecl:brn
+
+eyr:2025 pid:322775528 hgt:155cm hcl:#efcc98 iyr:2015 byr:1996 ecl:oth
+
+byr:1960
+hgt:183cm pid:764315947 eyr:2030
+hcl:#ceb3a1 ecl:brn
+
+eyr:2029 hgt:168cm byr:1929 pid:800222003 ecl:gry hcl:#8f8aaa
+iyr:2011
+
+hcl:#623a2f ecl:hzl hgt:168cm pid:795434985 eyr:2020 iyr:2020 cid:209
+byr:1970
+
+cid:325
+byr:2007 eyr:1933 hgt:188in
+pid:713080083 ecl:#d624ca iyr:2030 hcl:z
+
+hcl:#7d3b0c pid:431742871
+ecl:hzl hgt:169cm cid:340
+eyr:2023
+iyr:2017 byr:1994
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/2020/05.txt	Wed Dec 01 20:54:23 2021 -0500
@@ -0,0 +1,875 @@
+BBFBBBFLRR
+BBFBFBFLLL
+FFBBBFBLLL
+BFBFBFBRLR
+BFFFFFFLRR
+FBBFFBFRRL
+BFBBBBBLLL
+FBBBBFBRRL
+FFFBBBFLRR
+BBFFFFBRLL
+FFBFBFFLLR
+BFBBBBBRRL
+BBFFBFBLLL
+FBBFBBFRRR
+FFBFFBFRRR
+BBBFBFBLRL
+BFBBBBFLLR
+BFBFFFFLRL
+BBBBFFFLLL
+BFBFBFFLRR
+FFBBFBFRRR
+FBBBFBBLRR
+BBFBBFBRRR
+BBBFBBFLRR
+BFFBBBFRLL
+BFBBBFFLRR
+FFBBFFFRRL
+FBBBFBFLLL
+BFBFFFBRLR
+BBFFFBFRRL
+FBBBBFBLLL
+FBFBFFBRRL
+FBBFBFBLLR
+BBBFBFFLLL
+FFBBBFFLRR
+FFFBBFBLRL
+BFBFFFBRLL
+BBBFBBBLRL
+FBFFFBBLLR
+BFBBFBFLLL
+FBFFFFFLRL
+BFFBBFFRRR
+FBBFFBFRRR
+FFBFFBBLRR
+BFBFBBBRRL
+BFFBBBFLRL
+FBBFBBBLRL
+FBBBBBBRLR
+FBBBBBBLRR
+BFBBFBFRLL
+BFBBFFBRRL
+FBFBBFFRRR
+FBBBFFFLLR
+BFBBFFFRRL
+FFBBFBBRRL
+FBFFFFFLLR
+BFFBBBBLRL
+BFBFFFFLLR
+FBFBFFFRRR
+FBFBBBFLLL
+BBBFFFBLLL
+FFFBBFBRLR
+FBFBFFFLLL
+FBFFBBBRRL
+BFFBFBFRRR
+FFFBBBBRLR
+BFFBFBFLLR
+BFFFBFBLLR
+BFBBFBBLRL
+BFFBBFFLLR
+FFFBBBFRLL
+BFBFBBFRRR
+FBFFFFFLLL
+BFFBBFBRRL
+BBBFFFFRLL
+FBBFFFBRLR
+BFFBBBFRLR
+BBFBFBFLLR
+BFBBFBBLLR
+BFFFFFBRRL
+BFFFBBFLRR
+BBFBBBFLRL
+BFBFBBBLLR
+BBFFBFFRRR
+FFBFFBFRLL
+FBBBFFFRLR
+FBFFBFFRLR
+FBBBFFFRLL
+FBFBBFFRRL
+BFFBFFBLRL
+FBBFFBBLRR
+FFFBBBBLRL
+BBBFFBFLRR
+FBBBFFBRRL
+FFBFFFFLRR
+BBBFFBFRLL
+BBBFBBBRLL
+BFFBFFFRLR
+BFFBFBBRLL
+FFBFFFBRRL
+BBFBFFFLLL
+BBBFFBBLLR
+BFFBBBFRRR
+BFBFFFFRLL
+FBFFBBFRLL
+FFBBBFBRLR
+FBBFFBBLLR
+BFBBBBBLLR
+BFFBFBBLRL
+FBBBFFFLRR
+FBBBFBFLRL
+FBFFFFFRLL
+FBFBBBFLLR
+BFFFBBFLLR
+BBFBFBBLLR
+BBFFBFFRRL
+BBFFFBBRLL
+BFBFBFFRLL
+FBBFBBFLRR
+FBBBFFFLLL
+FBFBBFFLLR
+BBFBFBBRLL
+BFFFBFFLLR
+FBBFFBBRRR
+BBFBFBFLRL
+BFFFFBFLRR
+FBFFFBFRRR
+FBFFBBBRLL
+FBFBBBBLRL
+BFFBFFBLRR
+BFBBFBBRLR
+BFFFFFBLLL
+BFBBBBBRLR
+FFBBBFBLRL
+BFBFBBFLLR
+BBFBBFFLLL
+BBBFBBFRLL
+FFBFBFBLRL
+BBFBBFFRRL
+BFBBFFBLRL
+FFBFBBFLRL
+FBFFFFBLLR
+BBBFFBFRRR
+BFBFFFBRRR
+BBFFBFBLRL
+FBFBBBBRRR
+FBFBFFBRLL
+BFFBFFFLRR
+BBBFFFBRRR
+BFBBFBFRRL
+BFFFBBBLRL
+BBFBBFBRRL
+BFFBFBBRLR
+BFFBBFFLRR
+FFBFFFBLLR
+FBBBFBFLLR
+FBFBBFBRRR
+FBBBBFFRRL
+FBFFBBFLRL
+FBBFFFBLRR
+BFBBFFBRLR
+BBFBBBFRLR
+BFFBBFFRRL
+FBBFFFFLRR
+BFBFFFFLLL
+BBBBFFBRLR
+BFBFBFBRRL
+FBBBBBFRLR
+BFFBFBBRRL
+FFBBBFBLRR
+FFBBFBFRRL
+BFBFBBFRLL
+BBFFBFBLRR
+BBFBBBBLLR
+BFFBBBFLLL
+BBFFBBBLRL
+FBFBFBBRLL
+BBFBBBFRRR
+FFBBBFFLLR
+BFFBFFFLRL
+FBBBFFBRLR
+BFFBFFFRLL
+FBFBBBBLRR
+FBFFBFFLLL
+BFBBFBBRRR
+BFBFBBBLRL
+FBBBFBBLLR
+BBFFFFBRRL
+BBFBFFFLRL
+BBBFFBFLLL
+FBFFFFBRLR
+BFFFBBBRRR
+FFBBFBBRRR
+FBFFBFFRRL
+BBFBBBBLRR
+BBFFBBBRRL
+FFBFBFBRLR
+BBFBBBBRRL
+BBFFFBBLRL
+BBBFBBFLLR
+FBFFFBBLRR
+FBBBBBFLRL
+FBBBFBBRRL
+FBBBBFFRRR
+BFFBBFBLRL
+FFBFBBFRLL
+FBBFFFBLLR
+BBFBBFFRLR
+FBBFFBFLRL
+BFBFBFBLRR
+BBFBBFBLRL
+FFBFFBBRRL
+FBBFBFFLRR
+BFBBBBBRLL
+BFFBFBFRRL
+FFBFBFFLRL
+FBFBFFBLLL
+FFBFBBFRRL
+FFBBFFBRLR
+BBBFBFBLLR
+BFBFFFBLRR
+FBBFBBBRLL
+BBFFBBBRLL
+FFFBBFFLRR
+BBBFFFBRLR
+BBBFBBBLRR
+FBFBFFBLRR
+BFBBBBBLRL
+FBFFFFBRLL
+FBBBFFFRRR
+FBFFFBBRRR
+BBBFFFFLRL
+BBFFBFFLRR
+FFBFBBBLRR
+BFFBFFBRLR
+BFBFFBFLLR
+FFFBBFFRLR
+FFBFFFBLRR
+BFBBBFFRLL
+BFFFFBFRLR
+FFBFBFBLRR
+FBBBBFFLLL
+FFBBBFFLRL
+BBBFBFBRLL
+BBFFFBBRRL
+BFFFFFBLRL
+FBBBFBFRRL
+BBBFBBFRRL
+BFFFFFBLLR
+BFBBFFFLLL
+FBFBFBFRLL
+BFFFFBBLRR
+BBBFFFFRLR
+BFFFBBFRRR
+BBBFFFFLRR
+FBBFBFFRLR
+FBFBBFBRLL
+BFFBFFBRRR
+BFBBBBFRLL
+BFBBBFBRLR
+FBBBFBFRLR
+FBBBBBFRLL
+FBFFBBBRLR
+BBFFFBBLLR
+BBFFBBBLLL
+BBBFFFFRRL
+BFFBBBBLLL
+FFBFFBBRLR
+BFBBBFFLLL
+FFFBBBBRRR
+BBFFBFFLLR
+BBFBBFFRRR
+FBFBBBFLRL
+FBBFBFBRLL
+FFBBFBFRLR
+BFFFBBFLRL
+FBFFFBFRRL
+BFBBBFFRRR
+FBBFBFBLLL
+BFBBBBFRRR
+BBBFFBFRRL
+FBFBBFBLRL
+BFBBBFFLRL
+FFFBBBBLLL
+FBFBFBFLLR
+BBFFBFBRLL
+FFBFBFBLLL
+FBBFBFBRRR
+BFFFBFFRLL
+BFFBBFBLLR
+BFBBFFFRLR
+BFBFFBBRLL
+FFBBBFBLLR
+BFBFBFFRRL
+FBBFFFFLRL
+FFBBBFBRLL
+FBFBFBBLLL
+FBFBFFBLLR
+BBBFBBFLRL
+FBFFFBBRLR
+FBBBFFBRRR
+FFFBBBFLLR
+BFFFBBBLLR
+BBFBBFBLRR
+BFBBBBFRRL
+BBFBBBFRRL
+FFBBFBBRLL
+BBFBBFFRLL
+FBBBBFBRLL
+BFBBFFBRLL
+BBBFBFFRLR
+FBFFFFFRRR
+BBBFBFBLLL
+FFFBBFBRRL
+BBBFFBBLRL
+BBFFBBBRLR
+BFBBFFBRRR
+FBBFFBBLLL
+BFBBFFBLLL
+BFFFFBBLLR
+FBFFFBFRLL
+BFBBBFBLLL
+BFFFFBFLRL
+BFFFBBBLRR
+BFFBBFFRLR
+FBBBBFBLRL
+FBBFFFBLLL
+BFBBFBFLRL
+BFFBFBBLLR
+BBFFFBFLRL
+FFBFFBBRRR
+BBFFFBBRLR
+BFBFFFFRRR
+FFFBBBBRLL
+FFBFBBBLRL
+BFBFBFFLLL
+BBFBBBBRLR
+BBFFFBFRLL
+FBFFBFFLLR
+BBFFBBFRLR
+FFBBFBBLRL
+BBFBBBBRLL
+BBBFBFFLRL
+FBBFFBBRLR
+BFBFFBBRLR
+FBBBBFFLRL
+BBFBBFFLLR
+FBBFBBFLLR
+FFBFFBFLLR
+BFBBFBBRLL
+FFBFBFBRRR
+FBFBFFFLRL
+BBBBFFBLRL
+BFBFFFBLRL
+BBFFFFFRRL
+FBFFBBFRRR
+BBBFFBFLLR
+BFFBFBFLLL
+BBFBFBBRRL
+BFBBFBBLRR
+FBFFFBBRLL
+FFBBBBBLLL
+BFBBBFFRRL
+BBFFFBBRRR
+FFBFBBBRRR
+FFBBFFFLRR
+FBFBFBFLLL
+BBBFBFFLRR
+BFBFFBFRLR
+FBBFFBFRLR
+BBFBFBFRRR
+BBBFFBBLRR
+BFBBFBBRRL
+FBBFBFFLRL
+BBBBFFFLLR
+BBFBFFBLLR
+BFFFBFBLRL
+BFBFBBBLLL
+BFFFFFFRLR
+BBFFBFBRRR
+BFFBBBBLLR
+BBBFBFFRRR
+FBFFBBFLLL
+FFBFFFBRRR
+FBBFFFFRRL
+BBFFBBFLLL
+FBBBFBBLRL
+FFBBFBFLRR
+BBFFBBBLRR
+FBFFBBBLLL
+FBBFFBFLLR
+BBFBBBBLLL
+BFBFFFBLLR
+FBFFFFFRLR
+FFBFFBBRLL
+FFBBFFBRRL
+FBBFBFBLRL
+FBBFFFFLLL
+FFBFFBFLLL
+BFBFBFBLRL
+FFBBBBFRRL
+BFFBFBFRLR
+BBFFBBBRRR
+FFBBFFFLLL
+FFBBBBBLRL
+BFBBBFBLRL
+BBFFBBFLRR
+FBFBFFFLLR
+BFFFFBFRRL
+FBFBBFFLRL
+FBFFBFBRRR
+FFBFFFFLLL
+BFBFBFFLLR
+BFFFBBBRRL
+BFBFFBBLRR
+FBBFFFFLLR
+FBBBBBFLLL
+FBBFFBBRRL
+BFFBFBBLRR
+FBFFBFBRLL
+BFFFBFFLRR
+BBFBFFFRLL
+BFFFFFFRLL
+FFBBBFFRLL
+BBFBFBFRLR
+BBBFFFBRLL
+BFBFBFFLRL
+FFFBBFBLRR
+BFFBBBFLLR
+FFBBBBBRLR
+BFFFFBFRRR
+FFBFFFFRRR
+FFBFFBFLRL
+BBFFBBFLLR
+FFBFBFBRRL
+FFBBFFBRLL
+FFBFBFFRLR
+BBFBFBBLLL
+FBFBFFBRRR
+BFBFFBFLRR
+FBFFFFBLRR
+BFBBBFBRLL
+FFBFFFFRLR
+BFFFBBFRLL
+FFFBBBFRLR
+BBBBFFBLRR
+BBBFFFBLLR
+FFBBBBBLLR
+BBFFFFBLLR
+BFFFFFFLRL
+FFBBFFFRLL
+FBFFFBBLLL
+FFBFBFFRRL
+FBFBBBBRLL
+FBFBBFFLRR
+FBFBFFFRLR
+FBFFBBFLLR
+FFBFFFBRLL
+BFBFFBFLRL
+FFBFBBFLLL
+FFBBBFFRLR
+BBBFFFFLLR
+BFFFBBFRRL
+BBFFFBFRLR
+BFFBBFFRLL
+BBBFFBBRLL
+BFBBBBFLRR
+FFFBBFBLLR
+BBFFBFBRRL
+FFBFFFBRLR
+FBBBFFFLRL
+BBBBFFFLRL
+BFFBFFBRRL
+FBFFFBFLLL
+FFBBBFBRRR
+FFBBBFFRRL
+BFFBFBBRRR
+FBBFBFBLRR
+BBFFFFBRRR
+FFBFBBBRLR
+FFBBFFBLRR
+BFFFFFFRRR
+BFBBFFFLRL
+FBFBFBFLRL
+BFBFBBBRLL
+FBFFBFBLLL
+BBFBFFFRRL
+BFBBFFFRRR
+BFBBFBFLLR
+BFBFBFBRLL
+FBFBFBBLLR
+FBFBFBFRRR
+BBFBFBBLRR
+BFBBFBBLLL
+BFFFFBFLLL
+BFFFBFBLRR
+BBFBFBBLRL
+FBBBBFBLRR
+BBBFBBFRLR
+FBBFBFFLLR
+FBFFFBFLRL
+BBFFFBFLLL
+FBBFFFBRRL
+BBBFFFFLLL
+BFFBFFFLLR
+FFBBBFBRRL
+BFFBBBBRRL
+FFBFBBBRLL
+BBFBBFFLRR
+FBFBBBBLLL
+FFBFBBFRRR
+BFFBFFBLLR
+BBFFBFFLRL
+FFBFBBBLLR
+FBBBBBBLLR
+BFFFBBBRLR
+BBFFBBFLRL
+FBFFBBFLRR
+FBFFFFBLLL
+BFBFBBBRRR
+FFBFBBFRLR
+FFBFFBBLLL
+FFBBBBFRLL
+BFBFBFBLLL
+BBFBBFFLRL
+FFBFBBFLRR
+FFBBFBBRLR
+FBBBBFBLLR
+FBFFBFBLLR
+BFFFBBBLLL
+FBFFFBFRLR
+BBFBBBFLLL
+FBBFFBFRLL
+FBFBFBFLRR
+BFFFBBBRLL
+BFBFFBBLLR
+BFBBFFFLLR
+BFFBBFBLRR
+FBBFFBFLRR
+FFBBFFFRLR
+BBFBBBFLLR
+FBFBFFFRRL
+FBBBBBBRRL
+FBBFFBFLLL
+BFFBBBBRRR
+BBFBBBFRLL
+BFFFFBBLRL
+BFBBFBFRRR
+FBBFBBBLRR
+BFBFBBFLRR
+BFBFBBFRLR
+FFBFFBFRRL
+FBBFBBBRRR
+BFFFBFFRRR
+BFBFBBBLRR
+BFBFBFFRRR
+FFBBBBBRRL
+FFBFFFFRLL
+FFBFFBBLRL
+BBBFFFBRRL
+FBFBBBBRLR
+BBFFFFFLRL
+FBBBBBBLRL
+BFBBBBFRLR
+BFFFBFFRRL
+FBFBFFBLRL
+FFBBFFFLRL
+BFFFBFFRLR
+FBFFFFFRRL
+BBFBFFBLRR
+FBBFFBBLRL
+BBFBBFBRLL
+FFBBFBBLLR
+BBBFBBFLLL
+BFFBBFBLLL
+BBBFFBBRRL
+BFFFFFBRLR
+FFBBFBFRLL
+FBFFBFBLRL
+FBBBFFBRLL
+FBBBBBFRRL
+FFBBBFFLLL
+FBFFFBBLRL
+BFBFBBFLLL
+BFFFFFBLRR
+FBBBFFFRRL
+FFBFBBFLLR
+BFFBBBBRLR
+FBFFBFBRRL
+BBFBBFBRLR
+FBFFFFBRRL
+BFBFFFBLLL
+BFFBBBBLRR
+FBFFBFFRRR
+BFFFFBBRLR
+BFBBBFBLLR
+FBBBFBFRLL
+FBBBBBBLLL
+BFFBFBFLRR
+BBFFFFFLRR
+FBBFBBFRLL
+FBFFFBBRRL
+BFFFFBBRLL
+BFFFBBFRLR
+BFFBFBBLLL
+FFFBBBFRRL
+BBFFFBBLLL
+BFFFBFBRLL
+BFBBFFBLLR
+FBBFFBBRLL
+FBBFBFFRRR
+FBBFFFBRLL
+BBFBFFFRLR
+FFFBBBBLRR
+BFBBBFFRLR
+BFFBFFFRRL
+FBBFBFBRLR
+BFBBBBBLRR
+BBBFBFBRRR
+FBBFFFFRLR
+FBFFBBBLRL
+BFFBBFFLRL
+FBBFBFBRRL
+BBBFBFFRLL
+FBFBBFBLRR
+BBFFFFBRLR
+BFBBBFFLLR
+FBFBBBFRRR
+FFBFBFBLLR
+BBBFFBBRLR
+BFFBFFFLLL
+FBFBBFBRRL
+FFFBBFBRRR
+FBBFFFBLRL
+BBFBBFBLLR
+BBFFBFBRLR
+FBBBFBBLLL
+BBFBBBBRRR
+FFBFBFFLRR
+FBBBBFFLLR
+FBBBFBBRLR
+BBFFBFFRLR
+FBFFFBFLRR
+FBFBFBFRRL
+FBBBBBBRLL
+BFFFFFFLLL
+BBFBFBFRLL
+BBBFBFBRRL
+FBBFBBFLLL
+BFFFFBBRRL
+BBFBFBBRRR
+BBBFBBBRLR
+BBBFBBFRRR
+BFBFFBFRLL
+BFFBFBFRLL
+BFBBBFBRRL
+BFBFFBBLLL
+BFFFFFFLLR
+FBFFBBFRRL
+FBFFBFFLRR
+BBBBFFFRRL
+FFBFBFFRLL
+FFBFBBBRRL
+BFBFFFFLRR
+FFBBBBBRRR
+FBFBBBFRLR
+BBFBFFFLLR
+BBFBFFFLRR
+FBBFBBBRLR
+BFBFFBBRRL
+FFFBBBBRRL
+BBBFBFBRLR
+FBBFBBBLLL
+BBBFFFFRRR
+BBBFBFBLRR
+FBFFBFBRLR
+BFFBBFBRRR
+BBFFFFFLLL
+BFBFFFFRLR
+FFBBFFBLLL
+FFFBBFFRLL
+BBBFFBFLRL
+BFFBFFBRLL
+FBFBBBFLRR
+BFBFBFBRRR
+FBFFBFFRLL
+FFBBFFFLLR
+FFBFFFBLRL
+FFFBBBFRRR
+FFBBBBFLLR
+FFFBBBFLLL
+BBBFFFBLRR
+BFFFFFBRRR
+FFBBFBBLRR
+BFBFFBBRRR
+BBFFFFFRRR
+FFFBBFFRRR
+FFBBBFFRRR
+BBFFFBFLRR
+FFFBBFBLLL
+BFBBFFBLRR
+FBFBFBFRLR
+BBBFBBBRRL
+FBBFBBBRRL
+BBBFBBBRRR
+BFFFBFFLRL
+BFBBBBBRRR
+BBBBFFBRLL
+FBFBBFBLLL
+FBFBBFFRLR
+BBBFFBBRRR
+BBFBFFBLRL
+FFBBBBFLLL
+FFBBFFFRRR
+BBFBFFFRRR
+FBBBBBBRRR
+BBFFFFFRLR
+BFFFBFBRRR
+BBFFBBFRRR
+BFBBBBFLLL
+FFBBFFBLLR
+BFBFFBBLRL
+FBFBFFBRLR
+FBFFBBBRRR
+FFFBBBFLRL
+BFBFBFBLLR
+BFBFBFFRLR
+BBBFFFBLRL
+FBFBBFFRLL
+BBFBFFBRLR
+FBBFBBFLRL
+FBFFFFFLRR
+FFBFBFBRLL
+BFBFBBBRLR
+BFFBBBFRRL
+FBFFFBFLLR
+BFFBBFBRLR
+BBFFFFBLRL
+FFBBBBFLRL
+BFFBBBFLRR
+FBBBFFBLLR
+BBFBFFBRRR
+BFFBBFBRLL
+FFBBBBFRRR
+BBFBFFBRRL
+FBBBBFFRLL
+BBBBFFBLLL
+FBFFBBFRLR
+BBFFFFFLLR
+BFFFFFBRLL
+FBFBBFBLLR
+FBFBBFBRLR
+BBFBFFBLLL
+FFBBFBBLLL
+BFFFBFFLLL
+BBBFBBBLLR
+FBFBFBBRRL
+BBFFFBFRRR
+FBFFBFFLRL
+BBBBFFBRRL
+FBFFFFBLRL
+BBFBFBBRLR
+BFBBFFFRLL
+FBFBFFFRLL
+FBBFFFFRRR
+FFBFFFFLLR
+FFBBBBFLRR
+BBFFBFFLLL
+FFBBFBFLLR
+FFBBFFBRRR
+FFBBBBBLRR
+BFFBFFFRRR
+FBBBFBFRRR
+FBFFBBBLRR
+BBBFBFFLLR
+FBFFBBBLLR
+BFFBBBBRLL
+BFFFFBBLLL
+BFFFBFBLLL
+FBFBFBBLRR
+BBBBFFFLRR
+FFBFFFBLLL
+BBFBBFBLLL
+BFFBFFBLLL
+FBBFBBBLLR
+FBFFBFBLRR
+BFBFFBFRRR
+FBFBFBBRLR
+FBFFFFBRRR
+FFBFFFFRRL
+BFBBFFFLRR
+BBFBFFBRLL
+BBBBFFBLLR
+BFFFFFFRRL
+BBFFBBFRLL
+BBFBFBFLRR
+FBBFBFFRRL
+BFFFBFBRLR
+BBFFBBFRRL
+FBBBBBFRRR
+FFBBFBFLRL
+BFBFBBFRRL
+FFFBBFFRRL
+BFBFFBFLLL
+FBFBBFFLLL
+BBBFBFFRRL
+FBBFBFFRLL
+BBFFFBFLLR
+BFFFBFBRRL
+FFBFBFFLLL
+FBFBFBBRRR
+BFFFFBFRLL
+FBFBBBBRRL
+FBBBFBFLRR
+FBBBBFBRLR
+FFBFFBBLLR
+BBBBFFFRLL
+FBBFBFFLLL
+FBFBFBBLRL
+BFFFBBFLLL
+FFBBBBBRLL
+BFBBBBFLRL
+FFBFFBFLRR
+FBBBBBFLRR
+BBFFBFBLLR
+BFBFBBFLRL
+BBBFFBFRLR
+FBBBBFFLRR
+BFBFFBFRRL
+FBFBFFFLRR
+FBBFBBFRLR
+FBBFFFBRRR
+FBBFBBFRRL
+BFBFFFBRRL
+FFBFBBBLLL
+FFBBBBFRLR
+FBFBBBFRLL
+BBFFFBBLRR
+BFFBFBFLRL
+BBFFFFBLLL
+FBFBBBBLLR
+BBBBFFFRLR
+FFBBFFBLRL
+FBBBFFBLRR
+BBFFFFBLRR
+BBFFBFFRLL
+BBFFFFFRLL
+BBBFBBBLLL
+FBBBFFBLLL
+FBBBFFBLRL
+FBBBBBFLLR
+FBBBFBBRRR
+FBBBFBBRLL
+BBBBFFFRRR
+BBFFBBBLLR
+FBBBBFBRRR
+FFFBBBBLLR
+BFFFFBFLLR
+BBBFFBBLLL
+FFBFBFFRRR
+FFFBBFBRLL
+BFBBBFBLRR
+FFBFFFFLRL
+BFBBFBFRLR
+BFBBBFBRRR
+BFFBBFFLLL
+BBFBFBFRRL
+BBFBBBBLRL
+FFBFFBFRLR
+FBFBBBFRRL
+FFBBFBFLLL
+BFFFFBBRRR
+FBBBBFFRLR
+FBBFFFFRLL
+BFBBFBFLRR
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/2020/06.txt	Wed Dec 01 20:54:23 2021 -0500
@@ -0,0 +1,2233 @@
+bapocnysdr
+lpandcmb
+bplndca
+
+rgi
+ci
+i
+iv
+
+xdgwtsc
+gtcxswd
+sdcxtwg
+
+g
+j
+k
+
+drcmwzh
+aostudi
+
+qziunh
+hgkaslmyz
+
+fovlpdhurzqsway
+zvciokytxbaf
+
+y
+y
+yp
+y
+y
+
+gqouslwfihtxvke
+bapdmyncjzr
+
+ywirnpmozqle
+jhapfdzuvgc
+
+ce
+evn
+yzsem
+
+phdcuxgtosjier
+jfixnurtyopdh
+
+mxjs
+mxkjis
+jxsm
+xvmbsj
+sxjcmh
+
+sgrbtmqxpwkacnzd
+brncqxtskawgpzdm
+mxqjtcpzbswgrnka
+
+fxijprlkbhte
+herpxfbikmtlj
+
+ltuyidqkcrevanw
+whbqavirludxtye
+vfirqwmsaopyzld
+
+q
+q
+q
+
+faxhswigtprou
+xhlusnijytkrwza
+xaqsburiftwh
+rtahxwcsiu
+
+cuplrimdtxke
+letpjuimzrvkcyx
+cpleiuxdktmar
+wrfgkubeoqxsihpntmc
+
+zpbjimulvrdwxsog
+hfmspnuokbxe
+
+ctm
+ctm
+mct
+
+tvkocqebls
+qcnbktsveo
+fnvkbscqyeot
+mbcsoevkthqj
+
+tyjgd
+tydjg
+tgdyj
+dtgyj
+
+xgiybeuhtkfdonq
+diuqvfycrokhgxbt
+igfdbhpqklxuyntjo
+zxqkymfohstuiwdgb
+kgoutiyhfxqcbd
+
+wzfiaexksp
+fizxyskw
+
+azsqntcghjmio
+mgksdwpcitvxqjr
+
+ctwzu
+jwctuzes
+
+bpymqfisrvtuheljwadx
+iejsubvxhdmwpqgfrltya
+jbxmfshuvyegwqlpridta
+vpxbwlqumetdrijhfnays
+
+w
+i
+i
+i
+i
+
+fctbvjmnroypuxhlakzw
+cbpnmyzrtjuavfohkxlw
+znoptxwakjfucmhrlvy
+nkmlrhygxcazowtpquvjf
+
+ibanduczjfmpt
+gqimbtadcuoszjfprl
+mtaizxcdjpbfu
+mjfaiubcdzpt
+
+kdxav
+maxvudr
+adxv
+qxavdi
+
+uajvepgoxhwsqkym
+hwesxqvpuzgb
+
+lp
+pl
+pl
+lp
+
+tawk
+suwtc
+stw
+ixltp
+wto
+
+phrawmes
+bscrhki
+
+xhwurk
+hwea
+bhwe
+
+tuhvebm
+bemtuhv
+
+prziuqhcye
+qipyrhezcu
+ueqzyprhci
+yurseihcqpz
+
+mnfotvpzdxbaglye
+nbjlomxzacfqgey
+glxhuwoskyrabi
+
+tohbrluismcagnypqdv
+duqbhylatcvosnprimg
+qtpbduycrlosngivhma
+nvgucpayidlhsomrbqt
+
+grslqxjdytzficnuo
+klarqjpxfscgyouzi
+
+qozstka
+pjnruvic
+fchup
+
+yjautz
+ajue
+vlufjx
+ujy
+
+inythxv
+bhxvytin
+htlnxviy
+
+mhcqvt
+sqtvchm
+htqmvc
+
+vswymdnahrq
+hrnqvysawmd
+ndsmqvwyrah
+mraywhsvndq
+
+jtxayp
+atjxp
+jpraxgt
+jatpx
+adbwpjltx
+
+vbni
+ivgfn
+avyqtmsikn
+nhwivrf
+
+fkygvtsbpazdjwxrmqoi
+btyfwsvpdiarjqoxmg
+wvqyiaprsmftgxdojb
+
+a
+a
+an
+
+pynvsfcbherzqiwumjaod
+dsivqjmurcfnzebyhopaw
+mqsvnueoihczyrfdwpbja
+gjqsaiwdczpvublmnokfryeh
+
+drawsthnfvzylebo
+jmkzqhbgicxsu
+
+pg
+hdob
+nq
+
+gdbxpwmtvhoaely
+omvdgatwbxlpyeh
+gtbyxrvwmhladpeo
+
+ugowlqebtcpdxz
+wzobutlqgdxep
+tulbvxwfadjpogqze
+qubdxgztpknolwe
+epztwlbxqgodu
+
+rsvebtycq
+becltsrnvw
+
+tgsljhz
+zhltjs
+hsjltxz
+
+daguc
+fbpudxyg
+glidjuo
+goadus
+udjgaz
+
+qkpwetasjfbdvh
+glixc
+
+pufekjh
+xegpq
+poewviyn
+enlbvp
+tpesm
+
+zqfiwx
+zqfriw
+wfzxil
+zwxu
+dznwktpb
+
+kcaomdbszyi
+ildpzaqsbx
+xsdqirazb
+
+mqebolfk
+peqmgf
+deqfmw
+
+grcqpi
+dvpmqte
+ohlwfujxkanbsyz
+
+txnhgzuwaicrfl
+qtnwizslxuahocgr
+mcxhglnibardwtkuz
+
+cvjbyrewa
+wczb
+zbwc
+wcb
+
+psvotmiaqyuhdnrekw
+aovnrqwsiyjmdutpehx
+gaephqunbrwdsmyiltov
+rmftshdpcznwiyuoaveq
+pyatoimwhxeusnvrqd
+
+wsjvydieaurhqxofzlgpmbk
+kemhzfusnpajxirywlo
+
+ypiz
+ipz
+jwiz
+iz
+
+pxoedfk
+pxogkd
+tkjsdocpex
+
+lsoz
+zxc
+z
+wkz
+zpw
+
+frmcndwyeix
+qritwfuymc
+mzrwyfixc
+mfczprywi
+
+ygvtslukaeoinhwd
+vnepzqmcwyjlufrdobk
+
+bi
+itb
+bi
+
+wy
+qomwberkixc
+gw
+hswg
+lpw
+
+krifxwcusnjmle
+cnijrwxkmspf
+cnrfiegmqswkxjh
+skiyrmwxcdzjnf
+
+ifwqlzhrudsmn
+fzblomnwspjvk
+
+vnjsxdiobeuhcgfw
+dhwienfjsobgcvux
+wsinxchtegujbdvof
+cioehdxvnjgwbusf
+gdcsfeobjrunhxwviy
+
+lpzntyhsxruiqjckwv
+ixyprghzqfvjsuotlw
+ayltehsxubqpmwrdjivz
+
+r
+lmb
+
+n
+n
+n
+k
+
+lfsxwgkeioztnuydmqbc
+wkosmqcxtdnluebigyfz
+olekfdcyxgqtsbumzwin
+kwqzfedxblcitgmnuoys
+ibdetugcmfzoknwlxsyq
+
+c
+c
+c
+c
+
+nmrohgpcwsjadkyqzl
+mgjhdwcpoknsqyazr
+chnajzmwopkgdyrqs
+bdcnhgamkjqysropfzw
+
+yqtid
+ujgkz
+rmas
+jk
+og
+
+f
+crj
+cyo
+neqhmb
+f
+
+uwxc
+wpcu
+
+bkhpcqyeljvftxnz
+kpvxqcjin
+
+eqjzkctynvo
+qyovecnjgkt
+xjckqenybvhpto
+jnkmezvyctqo
+
+lon
+w
+vwh
+h
+
+zrosv
+oblzfats
+cuozbmak
+dpyegwhnjz
+oztiqx
+
+bvlwgjrixaskqpuzyonth
+hatusdrovjgwcyipeqkmzln
+
+vhneajldr
+apnvjderl
+lynrjcae
+
+qodczyfijam
+fkdxpgrcnmio
+
+oai
+iao
+oia
+oai
+ioa
+
+nhgewpbozmjascrk
+vsocxumhryfnbqwkaj
+
+jxrls
+sycjpwr
+bdcrqenuhtsz
+sravkif
+
+bymwecxqrloj
+lhofkz
+vzldo
+klof
+oulk
+
+lfxobdwcji
+odbpnilxjcw
+
+pbcr
+rcpb
+
+msp
+esm
+sm
+psm
+dcsm
+
+clkiabts
+hskec
+sckgf
+kfncs
+sekc
+
+dyckmholpqbtaunf
+lacdqknfhuymtopb
+kntfqadpjlbcyhumo
+qoflmbpdhauykctn
+dphmolaynqcfbtku
+
+whkzitxfqem
+ftixzqmrwek
+mitabqyxkzjwfpne
+qzwekxtmfi
+iztmkfwxeqd
+
+wxktrn
+txr
+
+tapvryqbecdklwsjzxug
+mwjgatucpvydsnqbklxr
+
+tw
+wt
+wt
+
+irsehx
+ehsxri
+rhxise
+
+ekwyuzsvpfjg
+lcspakbhnmiod
+
+qifdbzapc
+rwpvkbd
+
+f
+f
+f
+f
+f
+
+yskpcdmber
+bnpdelmcryksu
+eqcbzdpkgyrmsixj
+
+ibt
+iez
+cz
+b
+xvls
+
+d
+d
+d
+d
+dq
+
+ubfpqyrkhceo
+yfhqckubre
+
+zyhnmseuivlbxgfk
+nviufhobsyelxzkm
+
+agbdzfsqetclpw
+wctbfaqeszpgdl
+csbtraldqepvgzfiw
+
+dmatzvowqcklbgirf
+ldiczavboqgwmfktr
+gkaditvmclqrwfboz
+dvrfntlcijagmzobuqkw
+iwzrtblvdoamqkfcg
+
+xhjydaekowcgsmruftbpqvln
+wzryxjmfdloqvskubanh
+
+skglcvahyx
+xyp
+yx
+
+tvsguaxobzkd
+txoguzsmkbv
+soegkitjbxyuzv
+kvobgsztux
+gtxvcspoukqfhznb
+
+osca
+osai
+
+sjv
+sjv
+vusofja
+vjs
+sjv
+
+ipwxnmkbzhscarlejtdoufqyg
+ujlxyqzkgtpfrdnihwaomscbe
+dyslimrkjqxnftcpbewzuohga
+gyphacbxnqdriweumloszjktf
+czbroamputiwjdnqhleyksgxf
+
+dygktjflepbcqm
+zfwsneviuo
+
+usz
+usez
+usz
+zscu
+
+jkbies
+ejikm
+ejphkoi
+kmjseiz
+jike
+
+qwjvbzmypcif
+hveligmbpatow
+
+aumeftxligdy
+tylfgicdx
+wlditgfyx
+tcxdgrilfsy
+
+wi
+iw
+iw
+iw
+wi
+
+zsd
+cbmoz
+ouwbaq
+ghexrpyf
+asmz
+
+ax
+w
+wrd
+vqclmnjfob
+
+sy
+aumz
+azs
+hvoecbdfgq
+
+p
+p
+p
+po
+p
+
+sydzgpwourlbqfcj
+mnzcjkeubaprofg
+
+kiatxsph
+iphktsa
+waplhikjt
+thapik
+
+cpv
+pcve
+vpc
+lmtcv
+
+eyghlrunfctbqzos
+nsryfzuqtmecol
+
+zayxpivkctudsmgrhqfl
+ynfsuctxhakdpjglmovq
+fdvgeskyaublpmhctrwqx
+
+egymspiuwoarnlj
+poidtzjyglwume
+
+tmlv
+motv
+mvthn
+
+vh
+vh
+vh
+vh
+vh
+
+vthobzjux
+ojutxvhbz
+vxhojbzut
+zhtvbxouj
+
+k
+k
+e
+k
+
+bkwvlpt
+xormzn
+
+aforqletdymv
+eyorqmflvdta
+ytvaqoejmdlrf
+
+rqakhn
+khrqusmaj
+rkhqa
+
+bmyztkxldgiosnw
+tsoyzwixdmlbnkg
+btimzdlywknsgxo
+
+mqifeszchaoxjygvdrklubwn
+zjdhxnboagfrc
+cgarozjxdnbfph
+xbnrhcjzfgaod
+fzdhrxtancjobg
+
+gzdvh
+gztvmch
+zgdhv
+ghzv
+
+yjldgioabsr
+musahntecwl
+
+fujnlstvgcbwio
+clgkwmijsupqzbo
+
+cqi
+iqga
+qza
+elgyxq
+dujqtkprvf
+
+dzrawsxvhgtflnjeikoubqypm
+pryqevnbkiusghjlofadztxw
+eawipgrutyohqvsbcknjzfxld
+bavdzsphqugykftnjeorilxw
+
+q
+vxoln
+feq
+
+y
+s
+s
+l
+
+gfdp
+pgd
+aep
+pdfsb
+
+watcn
+tawn
+
+l
+nly
+loy
+gwsvl
+l
+
+ehfqltbkvizcmpaxn
+vzqkecthbmnfxliap
+
+l
+lrx
+l
+el
+
+mznoqpxfvedutclhar
+gsibywkj
+
+gft
+dqs
+rm
+rbe
+dnsrh
+
+dgwncrbfo
+uboewdjnagxcr
+ogrcdbnyw
+bwgrdnoc
+orwbcgnd
+
+xlnyqidbvfuopwsmetkaz
+axsnipqkotbydfvuzle
+zsyaohudvqweikfpljxnbt
+aezfhxqipvkdtbnoyuwsl
+qsneybxfzidcagokulptv
+
+phnrogdiuwlqtmfvjcb
+sdmufyklricxpg
+ifdxpmkruealgzc
+
+xdiushclzbkvnfw
+bjmzunysickrfvxd
+xciutvyksbldfzn
+xfqpzabiuecnogsvkd
+
+olv
+ovl
+lov
+ovl
+
+jirywmg
+jnxmg
+jfbgm
+mjhg
+
+sjfvbhimpyauqctgx
+xasifmnuqtyvgwojclp
+jxyqabfuismptgcv
+
+spgmtcvwlxyfaq
+gpnqlctymxw
+
+xthqemkfpyls
+pqhtsymrgzoef
+yskhmtfpqe
+
+xcsqaokhpt
+hcopsqtxak
+pqoaxstchk
+
+oqexlariumftkcg
+xceqoumklaiwnhtf
+xekitmlufoqcag
+
+zkjmutfxryowbnv
+euomntlvzxiqydrgwspa
+whcyrmvozxktun
+
+hxqncgbjrsl
+bnlxcjrqhs
+cjqngsblxhr
+ihpsnrblcxqj
+
+rjtlufdmxiqkn
+afmrkuindxljt
+uktrmjilxnfd
+
+ypxqris
+hpgk
+budwp
+
+oqulm
+u
+u
+iu
+
+kahocwxnueyri
+rzesvkxyltmbpqg
+
+pkxjboidfvymngzrts
+rsizgmydxkpfvbtnjo
+bopgismxvrzntydfjk
+ovgfdztnspyxibkrmj
+oecxdvmgrfkzbnypijts
+
+ruvmcpojzsqtayw
+rqotdwzmpjcuys
+ptnscirkowujyzqfm
+ocszmjwrtyqpu
+
+nzxqdbwvpkioaj
+bqijkzpxwonadv
+kivqoujwxdzpntab
+inxabjvzpqdkow
+
+ochlv
+covl
+covyl
+
+qsoypnvewrhjkdgtb
+jpgwdknqeytbhsovr
+bdpwyrjuhoqgevtsnk
+rkoeypwbvgjnhsqdt
+qgtnyodrepsvkbwjh
+
+u
+i
+o
+o
+rx
+
+ecikgqxbyjhupozvdnrstawfm
+cnuiyopkzwmsbtadgeqrfxvj
+omkbnwrszvaetclqdpxfiygju
+wimrdtexbnjspgokuvzaqcyf
+veacgjpzmnioqksfwybxurdt
+
+egfkhxi
+gkshf
+
+shiayxrwutmzf
+isyatmhuzf
+
+tfgmicrqnpxz
+jeurkptlyh
+kvtphwr
+
+tyqrx
+hotsrdyqz
+yptqr
+tyqr
+ryxtq
+
+lxtdzqwcakvm
+xdkqrlzv
+
+ipujabzkmldhfrwg
+bjmpkavhlgqrwfdiz
+ofhizbrtdcagljwmp
+bfgvdaesjpwrlzumhi
+
+s
+s
+s
+s
+hs
+
+nobqduvlcjtw
+dyrbtpzwng
+
+iohlwxgfs
+zokfn
+
+uawlqejvnfkzhor
+rqhkanfvexlwzoju
+avqekulojnfrzwh
+kljwrhonqfzauev
+
+ln
+nl
+nl
+ln
+ln
+
+qyxi
+fmxbo
+qxo
+pkvnutje
+
+tjsz
+zjr
+gydfxcjliq
+
+ufa
+dohwy
+f
+kau
+
+ezjqncv
+jqvzenc
+
+pnhlasjrztw
+rlswpatnjz
+hpntrjslazw
+zjnrwtlapcs
+
+i
+i
+i
+i
+i
+
+aovitgfucj
+bowihz
+iol
+iweoz
+iyo
+
+bdgmouhjvyxr
+inpshdz
+nhdfia
+htdl
+
+pnzawmosg
+zganost
+
+emrakn
+glveamkr
+rkgames
+akfqmper
+imudroeak
+
+tibgokrjpxmy
+iydtpmjkx
+dkcjpxseiymt
+
+imfnqegj
+mcp
+nwgkhmbrpjac
+szovdtxl
+
+qnosfwmzpiubkxdhctg
+msutibqnakhgczfopxw
+xtnowmgicfqsuzbhkp
+pwbkcqiutxfshzngmo
+
+jgaqubtpokrn
+jpqgotluzna
+
+siblotrefupcmyajdwxhvn
+tdxpnfrbuivjchlsawoeym
+
+gvbfkphuqwsrdoejlt
+ixpkoqzldfncbahwt
+
+rdlfmyaejnswgopv
+ysjfvmazeilonurbpwx
+jayvlrwcmpefnos
+yowvefjknltqamscprh
+
+r
+d
+d
+d
+d
+
+iry
+gi
+lri
+
+kzopchbqgf
+phcifmsbgz
+canbyhlvdfpg
+
+ljmtd
+stlxdvmkjqy
+otcljbfehmd
+
+zgkiqsjrm
+rmqosfenz
+zqdmrsig
+
+jaegcxl
+delcpxa
+lktzbxcea
+pdclajxe
+
+gdrfnb
+dngbqriyh
+ojnbgrzd
+fdnrbg
+
+ixnhlufgkqojyrcdwms
+uvfmspygeizlkhxcawrbdotq
+
+cfzy
+zfcy
+czfy
+
+kfbqdvgacxnluszhejiowmytr
+durgtzlkjpwnechqibxfamvoys
+
+njcgoslbyutihpqxwe
+wrbgpdquiykhnofvecztl
+
+cozxyqbvugrmkdwlh
+rxcdwuylztbvgmqhk
+urmhkcdlxvgyqzbw
+
+okzsvutdehimnc
+mednkuhxgqwvizots
+
+sogfalbukwvchqmjdtypzix
+pyfazktchbmvsqguojwxild
+imsgakcotjpdhuwbfyzxlqv
+
+yzpafqijdchrvosxkt
+tqvsdrxzojhipfkyc
+tsfqokvphixzdcryj
+pjfqzhtxocrdkvyis
+
+ysmndq
+qdsnm
+rskilmn
+
+q
+q
+q
+q
+
+fygruq
+fxckylwohur
+fspaznjvbmdt
+
+ztqa
+a
+nma
+a
+a
+
+erml
+ejrm
+rem
+emr
+
+qkmpeuatxdbrcghnjlo
+xnlmcohutkdbeaqvpfrj
+rboxcdpaujeqhknmtl
+
+bpmiwjrs
+
+tyr
+ry
+
+jkyolgr
+dv
+anwid
+idzv
+
+z
+xzpnb
+z
+z
+hz
+
+mwxibru
+dxrwzobi
+wixqvrb
+sbrxwi
+baixrw
+
+yzcdlgujxrpmbs
+iadjzpcnyrm
+
+nq
+qn
+
+sbwtamevgyicuhxrlfz
+uzxkpmitwvlfqhcgjn
+
+xvhbkanc
+bozyjftqrl
+
+vpcougdijwlxtsmznarqfy
+qyroagjdmsicwlftvxunpz
+nylpitxuqdwrszamfgjcvo
+amogspxyvrdniztqfuwlcj
+fuoiwmpvtlxdszqncrjayg
+
+ocmqey
+yqoce
+
+mvulfyk
+fxyuivlmk
+afvulokym
+xufvjmykl
+
+wjz
+owpfqnsrgt
+ewycah
+webhjid
+bwi
+
+ucxqaszovj
+xacvqjskizuo
+
+auxsjhkiq
+zcymv
+
+qyljukpbitdx
+pxqjlduitkyb
+utbpqxjyklid
+yjkdqxptbluir
+puliqbtkdjxy
+
+ljurghymqktvpenzsbofwdxc
+ofyrjptgnczlwebdxvqmkuhs
+blopcvezhdsjnxgyktqfmrwu
+dwmqkuhtjsofnzgbrvelxcpy
+
+zn
+ndz
+tzn
+nkdz
+nzvk
+
+vmyrlzxcwkjp
+mkqlvyrcp
+
+xduvzyfarpkewscjqlmh
+fzcyvxkmhwqreapds
+
+nt
+cs
+c
+
+jxraviqybmgutesdwkfohlp
+hnkfweosqvbijpymuxdtalrg
+
+fcjz
+mnwvo
+
+mfqnkiaj
+nakqfimj
+arikjubnmqf
+zfqikanjxm
+
+pjetdfwsxohlz
+wpkzntbfsdcai
+
+zoifjgyxkluhbrtq
+yjolrgquihbnxktfz
+zoibyqghrjxtkufl
+iuklgxbyrtmjfqhovz
+
+r
+r
+r
+
+ytqzlvcwseb
+bcvqntlswyez
+cvqbtewyszl
+
+hfyj
+jsbrzyhiwknfg
+vfyajhd
+djfhlym
+fohyjux
+
+dzcjlgutfoipaexkmn
+koetcadiuznpmljf
+ctnilkamodfpzjue
+cofuezanjlpktdim
+
+nvtjmurwhfzex
+thxnrwmvuejaz
+jexztumwrhnv
+
+r
+r
+r
+a
+
+enoclavqmypruwkb
+tzspyhlawuimvrq
+
+yxcbvjpsgt
+crxgvitlzjbop
+gukcdbjtwvexp
+bgjcmqspztoxv
+
+w
+w
+w
+w
+w
+
+qmocdhri
+qpwioderm
+dvmocjruiq
+
+nvghcjxd
+nbcvdp
+nvhcd
+djcvn
+
+yfzukw
+kuywf
+kwsyu
+
+adjzmqebokxhtuspwgiynf
+fmshwkpoguljtyrziabqn
+anyofkgzsbvpuiqthwmj
+qfbhkytzgnwoicjsapmu
+
+tlmn
+nlti
+tyehjn
+
+s
+r
+s
+s
+s
+
+n
+u
+u
+
+tie
+jet
+et
+
+achjyurqb
+jpcbrhutqy
+rbjyuhcqp
+ybfucqjhrw
+qujrhbcy
+
+o
+o
+i
+
+migypa
+pyimag
+pmgiya
+agypim
+yaimgp
+
+kdzafylcnst
+aznrtshxgylcb
+cstzyaln
+anetplcsyzq
+
+hilubmsyznrtvqxpjo
+yqbirxnpzslojvtumh
+tyxlnibhzmsovrjqup
+
+zloiuyekfpx
+aqtxzmig
+wsgxinqbzj
+bavthrdxsiz
+
+acwdny
+ghrxysndq
+ovdncy
+
+p
+glxy
+
+ksnzbjyxgwtvm
+nbwzvtkjysgxemro
+bvnykztsxjwcmg
+qyzbmxjhtakgnwfdvs
+xzjmbsevgwytnklo
+
+uolyhfmwcpnk
+ykuchfolpnwm
+lnckhofpyumw
+ylnfuowmrcphk
+
+oumqj
+ulzybvfsp
+um
+u
+
+zh
+gh
+zh
+hns
+hg
+
+xlvaqwncsizrbopukyegdmh
+lxmsgzqyothupikvrbn
+
+lhqdviu
+qafnemdvlzbrpk
+qlvyxdw
+sdluoqygv
+
+v
+v
+v
+v
+v
+
+blqcsyup
+clmpubs
+
+noumlji
+nouji
+
+wkvj
+d
+ghy
+x
+k
+
+ohbjykuena
+jbyahkpez
+jyafhevbk
+yeajhkb
+
+auqjksywpcthxf
+zchkqmanpd
+kvaephqcn
+
+ygrvwtleidhapqcoxjzkbm
+uvmtjkcxphybegzqrawiold
+dpckejybntqgvhzaomwixlr
+
+wuvknho
+wunhkv
+awhuixnkv
+
+xtsglwhpkozumein
+tiwzoklpxheumsgn
+
+kdicmfpsejygzlraqh
+rgpqkamdfecyiljzs
+fgjrczaedymqliksp
+adlgcpfieqrmsyjzk
+mfwincakdjelorbygqszp
+
+jhtufzbolnrpgiv
+rymwi
+
+bcdfkrgujzqwheptivls
+wlzfyvtimksqcdujngorb
+
+eruyigjwb
+wojeybiulrg
+ygujbwvzei
+
+fizsg
+jnue
+
+yalxikzg
+iagxkz
+xizkga
+zikaxg
+ikxzag
+
+pjzlhqwixksnovbtygr
+ljnvgzykoswbtrhm
+rjtnogykswczhlbv
+ychwztvrgsonebaljk
+
+wcmyzldhtfrposgnj
+fcrmtyphngjlzs
+gpalbicyvfnmjxekrz
+
+ysmpe
+yemps
+stype
+
+meruv
+mbrse
+ryvmsei
+laremdjq
+bremck
+
+jaeutopnmdhvfklscirqgx
+selpyhdginkxfouq
+difgepshqlukonx
+
+oyz
+yoz
+yoz
+yoz
+
+kohdfzpsj
+rjkphfdzog
+jopfsukhbdz
+
+cpvr
+cvy
+
+xavdpsto
+bweoysidhp
+rndplvsukoca
+odgusp
+
+ofzgbwqdnkjp
+vcbnlqwofisg
+enbrymdqpogjwf
+
+ukrdtiphflv
+fvdlnuirtkh
+
+s
+s
+s
+ms
+s
+
+smodvglcpenzbtw
+vgwcmfdnlobi
+dobmzclwvng
+convbglwdim
+wrcojghvdblnmx
+
+euy
+iey
+hrkyowpesz
+qeuyn
+ylfe
+
+jd
+ygd
+d
+d
+
+ifxlcevjr
+muqybvdntl
+
+hpjdqw
+wjcmqdp
+pkojqud
+djpqm
+
+fz
+z
+z
+auzlgh
+zf
+
+oadfixtrspzymgkjvhc
+kureodwxjzvqcagmflt
+
+umdbplaejicognthw
+mldwpqitgubajnecho
+gdrhabsmketcwpolunij
+
+utpjbioagl
+pujgaobsti
+
+wzqkmfigsenp
+btdpmnrhaix
+
+g
+h
+fmy
+
+qfdshywubmn
+asnjyumvhfepqwbd
+
+tko
+k
+ki
+k
+kvj
+
+ajrftpclemziyx
+tyfcpmzxjrael
+rlymxejactzpf
+xpfzalrmjteyc
+
+lngatvoimxerfs
+xvsyefntoli
+ixvdqstzlonbefk
+
+dytmarichvj
+tvhdurymj
+mefohydrtjpvx
+yajumrtvhd
+mjrvthdy
+
+mdizkcbhuqxfpew
+lciqkhpdzwumfxbe
+dmwbhzqpojuexikcf
+
+av
+a
+a
+a
+a
+
+buwiq
+wbqi
+bqviw
+wbjifuq
+
+szyogteivkjmubnl
+gnmeioyhdjzkutvwqb
+
+vetwlrjnzuxfamsydoqbhpcigk
+lhagxseotdcqbyrwnpfkizmjvu
+
+ikt
+sxuik
+rigbk
+
+ixzofbapunser
+umbfxasovni
+oansfubxi
+xsoauibnfk
+
+ebzhanm
+rsywcgfuaoqxjvz
+
+dygrvauxpemhosqkwtfji
+pxafqktysdjvgriwuehom
+ikurtagpdqswmfjvhyxeo
+mhqlyugsravkxoptdwzfjei
+wejrsutgikxqpfvydhaom
+
+ynam
+ny
+nys
+
+exwzkcjqnvp
+ekpzvqxjwacn
+wqnjveazxpkc
+zjvbqkwcrnepx
+ecnvywqzjsxkp
+
+qmfe
+qmep
+
+dlwymbrsvgxefi
+gxeyfiqmr
+
+mjgkdnbqzcrtfvue
+ujgvnrtedqkzfobmc
+nerkmbcuztivgfdpjqy
+bktnacmqvjredfuzg
+jgdecrktqnbvmufz
+
+desyfjcwkgpabomrxluq
+uecwxsrgybalkpqofjm
+gmlaojpwqxsebufrcyk
+sxfoakcyjlmrghqepwub
+gmwouepvzjsirxaylfqbkc
+
+lugbrcezj
+ekzuhpxtl
+
+bzurvkdm
+gkzbdvmuwq
+
+vihtwalesoqmgzrfub
+dqogrhlvueimaszbtw
+lmbiwygzaenursotvhq
+
+fagwlnujrsv
+ujhnvmcrpsqwl
+
+dsoq
+odzqs
+oxehvgqunspa
+smoqd
+dsroq
+
+lw
+qnlwbze
+
+zcs
+dpalw
+oqevmritxf
+
+hw
+wh
+mhz
+h
+
+xwpkgiureobdvamtlcs
+sumvltgxoerdpwbacki
+faozilpxetcbvwnsrkugdm
+dioulrkpawstcbxgevm
+
+cfziqrvtghejx
+zahecstbvjrqy
+gcqrzvjnteolfhd
+
+jronwks
+kjwrso
+
+xtfp
+aqwzv
+
+gjvrecbxaqns
+koficxqpjsvnalzb
+vcjbqxtunsa
+bvjxnqcas
+
+n
+n
+k
+if
+
+hnzquyjxadotim
+ctrmnlvfugjkoziqy
+ubnfoyqctmzpij
+gyqzvjwimunot
+nzmoluqikjywt
+
+wykxduqrzl
+drklx
+
+xdr
+xrd
+
+sdrbokn
+rsnbdkio
+
+qespuyziargjdlwnkbv
+iaorexbukcmtnwhf
+
+gti
+dit
+itb
+
+tzmwbguraxjcieodnf
+gmitqzdsnekjoxaf
+
+kdeziwsnf
+lgzkiwen
+
+fbvikdpshltegu
+kpfvidlguehtsb
+gdysepktuihlvfb
+
+jzegrfyducaospkltvwq
+crzgkleptvuwsfyoqjda
+rogqtajuweylsdfkzcpv
+zwacrlsptgqfoveydukj
+ufokdrzglqjcewtaypvs
+
+hsqnofzvt
+ahvpn
+
+umaznoshrwf
+hzosundfr
+ushfnzor
+
+w
+ie
+
+byandqklvw
+wadvyxbqikn
+
+xspcwfvnkuoydagthjmzbq
+ahnprtxeojdmgfqvwzuikscyb
+
+txpwbvjacrzifgshyluo
+hgytapvojfsbrxwilcuz
+wpvxzshcrabfjtygliou
+bvourjgzfytpiwchlaxs
+
+ufesbdavpn
+siunvefpdab
+nspafhdvbue
+vednpusafb
+sufvpbande
+
+lnzxudorwykfqs
+vckufbqxhwjmtga
+
+twz
+twz
+twz
+tzw
+zwt
+
+nuaeqphyvo
+ovaqetnphu
+wvhulnpsxroqi
+ntvqephou
+hyvuqpon
+
+szky
+kz
+kz
+kz
+kz
+
+uekpcxjqrbzy
+ewiyrkobtl
+
+rghuyp
+ntyzexi
+yjnq
+sy
+eysao
+
+yohactxlqbvsfe
+yacfqtxlsvbeho
+qxtaesbfhlovyc
+ybotxfqschvela
+tsxbqlcyvfohea
+
+crvkbef
+efbvkc
+erfvbkc
+fvbikec
+ecvfkb
+
+eziafud
+odfeiz
+feizd
+rmeflzidc
+zeifdo
+
+uh
+u
+u
+u
+
+slzwuvhqnbpogia
+bhviznawou
+ufazbvinhwo
+ariwbuvzhon
+vawnobztduhif
+
+lyi
+syi
+imy
+
+igx
+qfz
+
+yugfqtepvxwdocijlzmhka
+ymdleizpjgxcvtfhoakuwq
+utenhymdcgjqzlorxfvakiwp
+zwlvymtgfxeqcopuahjkdi
+auzpqtcifejhomdklyvwgx
+
+xfvdiwqpktjlaborgez
+mlcubagjpwzynxekqfiotd
+fadoezjwqxtpgbkli
+osldxpzbqeifajtkgw
+
+mfxjtn
+pqesvmxf
+xmbojhft
+xbmafc
+acbfxhm
+
+bsua
+uasb
+
+dtmpiwjkuahzryfvqgx
+iavzqyhgmrxwtdukjp
+thzkaxwjpydqmviurg
+
+uabgmyoidlekzcqnfvxsrw
+kcybroagdmufqxiseznvl
+eroscxuqvglanbikzyfdm
+gfmdeibnkvuaqryzloxcs
+
+wtmds
+cxm
+wqdrmz
+voahgpkfml
+
+qmougypvzh
+yoqsgdpnmhuz
+gauxyzpkoqmjbwfl
+qguzoivyrdmpt
+
+uyerotgj
+wqszinpyv
+
+rosx
+ors
+ors
+osr
+
+dtcuiwlse
+bgaosqntxuwfpvrc
+uymskctjwz
+
+cshbnzoduxlpfrayj
+hcasypofnrxblduj
+pjyuoxrfbsaldhnc
+uharfpoxcdysbnlj
+
+bsklgcdmpxio
+ojbpdlcmtugskx
+exdkmpboclgy
+aipogmwxdkrclb
+dilmqcpkxnwbgo
+
+xsajoug
+pxujgatso
+guxojsa
+mbxuwzjosga
+pxjsugoa
+
+tgfw
+xemdgvyfu
+jfga
+lfg
+
+khvg
+kghv
+vghk
+ghkv
+vgkh
+
+xfogcwnvkey
+kvxwomyfeqc
+woxycvafkbe
+yovafwxcke
+ekvfyxnwco
+
+ezpfkoxycuwgimqvabdtjnsrh
+nmpoxgwdyruecazsfjbhqktiv
+qtjzmaycsgnibdxeuwrfkhvop
+yfaqredhbxinsvucogwtkmpzjl
+
+mhlnsrfadjpekczwquvo
+vsdneluworhbqjfztamcp
+smthfdwjznvqpclogaure
+cevkfuzqxjmwrlasphnod
+ijrnwqpvudzalfoesmch
+
+icmdtnrpq
+tmdqnirp
+mdintrqp
+rtpmniqd
+
+clspvk
+xclpsw
+
+rmdoajtxvc
+vurmjotdsa
+mdrovatj
+nadvmrjlot
+drjotavm
+
+kl
+hfjkblv
+cklr
+lrsk
+glk
+
+xpoawenkc
+yrkpnzjocxue
+pskncodex
+
+b
+b
+bq
+bh
+b
+
+kngbuqcyijvxeh
+kbcmngjshaxiyve
+enybjkvqtucgixh
+zhrevfodplyxnwikjgbc
+
+vizojfmup
+mfzhjqpuoiv
+uvtmfzipjgol
+
+ysobmzkthjdw
+qlncxwamrtujevfpzgbhkdo
+
+gz
+gd
+ickxr
+
+brenfplc
+rzpvwumik
+rjctp
+
+hfwcruyoa
+ihyduxfw
+
+zlumthynfkjixo
+kgxnbhztfyojmli
+kifzxhtlymngoj
+
+rqpdbzgjsowakvt
+gdzoyhjetcfbqkl
+nbjgqftozkud
+zxbogjqktd
+
+writbe
+etri
+dtfkern
+
+ctwyqdi
+j
+me
+nkgzau
+sxkare
+
+qlwakzuxsnfjc
+ufzkhmwax
+
+njuysxmhdzivfgqb
+uamlqxdhnyvgjibfz
+
+eigl
+lige
+elig
+geli
+legi
+
+vrmhebiqupxoclfatdkg
+ytaoiknwcgrsdzevxj
+
+rhac
+dcajbr
+oxizsuykfvlwn
+
+a
+na
+a
+nka
+zdua
+
+zedtlhmj
+yqoxn
+
+wyqhegrp
+wypqhegdr
+unrypgwqhez
+hypqrgbwe
+yrgpeqhw
+
+mxjkhbqgwuniftedzvcl
+jciqfnbeumlkhgtvzxwd
+njwquxidvbhctzmklefg
+hqfwtcmkuxvbjdelgzni
+
+lsigyrmjndapwtehux
+mtwpirehgfxuasdjnoly
+hpdlgjnimeusbtyawxr
+agywjlsmktzihxuceprdn
+njwhigapyexmdlutvrsb
+
+wiaejbsdzncytol
+cjelwafyindtbzos
+zalobneisywctdj
+
+jbsipuwdcyth
+thbauysdcgpiw
+
+bw
+b
+o
+lr
+
+ojkmnthfzlvg
+vhpzmgtonw
+yjovmnfwthz
+fnzhtmoav
+zcosivnmhdetx
+
+hdkofir
+kanxoflugziyd
+kodfcrwi
+
+qxpmckuelwtarij
+spxmvqwjrileckuat
+tuiqrajpwlmekxc
+taeupwljxricqmk
+
+dn
+dn
+nd
+pnd
+
+fvyxadu
+fwxmny
+
+vsxgc
+vscxg
+scgvx
+
+wovudbian
+dyeosauvinbw
+auvdwinbyo
+uaxoqnwirbvzc
+
+aosvcdn
+osna
+sano
+
+shqt
+sqth
+
+ktlracvqpeju
+tukcwearql
+trealcukq
+
+rsezcvdbal
+zebvamcdrp
+cbedrvafxzn
+vxnibedzrac
+dbirvczae
+
+gbpzy
+ubglkzp
+pbgz
+
+jtxhnfge
+xgfhevjtwn
+tjhngfxe
+
+pvodec
+goedfvamlx
+eyovd
+evdorpn
+vedot
+
+lsyqpjuviohbz
+luzjybidopvx
+yiplobzvj
+zobwtpjlvnyi
+bzoilvpjyu
+
+cevybwgdmuahsqzp
+ucpnimw
+owunkcpm
+pmwoucf
+
+uqchtxvoaze
+ehocxtvza
+cetazvhxo
+ztvxcaeoh
+
+cgsonqxtdfwhzymv
+qbkncfmuxapdwl
+mfxjztcwryqdne
+
+zbkyrc
+ckrzb
+crkzb
+zkbrc
+
+mca
+cam
+mca
+cafm
+
+z
+z
+z
+z
+
+zytoupbkxdhmgcsflweai
+smpikvyzcxlawobhefudgjnt
+dolpihwzxqckmaufytgbse
+
+ktsr
+ktfs
+itsxvkb
+
+n
+i
+aklsuty
+
+wkgtem
+mewgtk
+gkemwt
+emwgtokb
+
+mbuxkiycz
+fhronqjexplgwa
+
+hu
+emlw
+
+vkuwrqnj
+hys
+mzet
+
+fmclnjvsaexpkg
+zjwpxevkmacsglf
+xsamjlvkcenfgp
+vapjkcmglxefs
+
+legmbjuqsdkihtv
+dlsqkegihbcjtvm
+hqgdmvljsrktebi
+ehlbvgidqtjkms
+btmshvdikljgqe
+
+k
+kr
+lfi
+
+obmup
+ubm
+
+azqdrvjimbfnoyp
+zbejcqxfkotplndv
+pbojdfsnzvuwq
+gjpounhvqdfsbrz
+
+minxopwrsbvqegyuajcdth
+oahnukmgepbtdriscxwvyj
+xmbtcwgrasnozhdjiupeyv
+
+jitgzlokacv
+vzkushynclojtxgep
+
+ntj
+ntj
+tjn
+jtn
+jnt
+
+gdzxykoialsqurtj
+kigupewoxqjaztcdy
+zugyaqksiojtxd
+hyjqxgzdauktio
+kygqutaszdbxjoi
+
+orsfkumexiq
+rsbjepxmi
+smrxqgeik
+arnsetyiomxv
+mwighaxsdrce
+
+mcuzkqvsdpltxe
+pklvsuexmgqwizd
+zdqxseckmtyvlwgrp
+dvslkezanoqxmpb
+
+tcbqprkjgnihzs
+ivgmxyzaernhwcqdjlt
+otqhfjgcunsrzpi
+
+omqbwvktlsxjcfzaphyeid
+zijtkyxhqvowpulmbgenrdca
+
+igrz
+irzg
+rzgi
+
+kefw
+kewa
+akew
+xtekw
+ewkf
+
+lvxahjydcer
+sobnzgkp
+musqfg
+
+orijnpvwm
+obqzv
+ulvo
+ozuvt
+zcbolkqv
+
+ouzpgsxejbmqkat
+btiuxyojspgzqalrek
+ekbqupzaxfotjgvs
+
+t
+tb
+t
+
+ksyegbpm
+slmpgdetzbk
+gbseumpyxk
+ekvphnbcjgms
+wgqrmispobkefa
+
+gwexf
+wfxeg
+xwfeg
+gfewhxb
+
+oephijmkngbxw
+kxobwjhiegpm
+wehixbgkjmop
+
+rmvtujdxhki
+lkunxhme
+mafxsbhuogkypw
+
+rpimb
+prbi
+ipbr
+brpi
+ribp
+
+hvjdeyw
+jhecqpbyvsdw
+wvhdjye
+wvjedhy
+
+uodmbcpvr
+wvhk
+
+j
+j
+j
+j
+
+crzngwqm
+zqgrwnc
+rcgnwqz
+
+xstoyzgvaefqclbuhi
+ywbmiguzthefkvqo
+pcuezdviyoqfbjght
+ubigqfztyohve
+zovpgfueibjtqsyh
+
+qatefihbypn
+xwvskd
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/2020/07.txt	Wed Dec 01 20:54:23 2021 -0500
@@ -0,0 +1,594 @@
+faded plum bags contain 5 wavy cyan bags.
+dull aqua bags contain 4 dark fuchsia bags, 1 shiny purple bag.
+dotted olive bags contain 1 striped gray bag.
+vibrant brown bags contain 4 dark tan bags, 4 mirrored gray bags.
+shiny black bags contain 3 mirrored black bags.
+dull bronze bags contain 2 plaid aqua bags, 4 shiny magenta bags, 2 faded green bags, 3 dotted gold bags.
+wavy plum bags contain 5 dim indigo bags.
+drab brown bags contain 5 clear fuchsia bags.
+vibrant maroon bags contain 3 shiny coral bags, 1 dim indigo bag, 4 muted crimson bags, 5 clear black bags.
+posh magenta bags contain no other bags.
+dull brown bags contain 3 dim violet bags, 3 striped silver bags, 1 shiny purple bag.
+pale gray bags contain 3 plaid magenta bags, 3 clear teal bags, 3 pale white bags.
+plaid turquoise bags contain 4 bright orange bags, 5 drab white bags, 4 dotted coral bags.
+dotted silver bags contain 2 pale silver bags, 4 dark teal bags, 5 posh gold bags, 1 bright orange bag.
+light red bags contain 1 dark violet bag, 1 mirrored coral bag, 3 drab tan bags, 4 muted olive bags.
+shiny brown bags contain 5 vibrant lavender bags, 4 dark lavender bags.
+plaid plum bags contain 1 faded green bag.
+vibrant lavender bags contain 4 bright chartreuse bags, 3 dark teal bags, 4 muted aqua bags.
+muted yellow bags contain 5 posh yellow bags, 3 dim olive bags, 1 light cyan bag, 1 plaid gray bag.
+light beige bags contain 2 wavy orange bags, 5 vibrant salmon bags, 2 dim brown bags.
+muted indigo bags contain 3 dim brown bags, 3 drab brown bags.
+dim bronze bags contain 4 dim black bags, 5 wavy turquoise bags, 5 bright violet bags, 2 dark bronze bags.
+shiny teal bags contain 5 plaid chartreuse bags.
+pale aqua bags contain 2 striped lime bags, 4 dark turquoise bags, 3 dull tomato bags, 2 mirrored lavender bags.
+plaid violet bags contain 2 light olive bags.
+dotted maroon bags contain 5 striped maroon bags, 2 shiny turquoise bags, 2 dull gold bags, 4 pale olive bags.
+dim chartreuse bags contain 5 striped plum bags.
+plaid gold bags contain 1 striped green bag, 3 plaid coral bags, 4 dotted violet bags.
+faded tomato bags contain 2 dark indigo bags.
+posh plum bags contain 1 wavy chartreuse bag, 4 vibrant blue bags.
+drab bronze bags contain 2 mirrored gray bags, 3 vibrant plum bags.
+muted blue bags contain 1 bright brown bag, 2 pale coral bags, 5 plaid purple bags, 4 dim lavender bags.
+striped indigo bags contain 5 dark salmon bags.
+shiny tan bags contain 2 faded bronze bags, 3 mirrored lavender bags, 2 mirrored cyan bags.
+dim red bags contain 5 dull salmon bags, 3 dim purple bags, 2 striped crimson bags.
+plaid gray bags contain 5 bright violet bags, 4 vibrant aqua bags, 4 dull tomato bags.
+dotted white bags contain 1 drab brown bag, 5 light brown bags.
+plaid tan bags contain 3 striped teal bags, 2 dotted brown bags.
+vibrant black bags contain 3 plaid tan bags, 4 muted white bags, 4 drab orange bags, 5 muted aqua bags.
+drab purple bags contain 5 muted violet bags, 2 vibrant blue bags, 4 pale olive bags.
+mirrored beige bags contain 1 plaid gray bag, 2 mirrored lime bags, 3 dark brown bags.
+vibrant olive bags contain 5 shiny indigo bags.
+drab green bags contain 1 muted violet bag.
+faded turquoise bags contain 2 striped brown bags, 3 vibrant white bags, 1 dull lavender bag, 5 bright olive bags.
+shiny maroon bags contain 1 dim bronze bag.
+dull white bags contain 1 muted salmon bag, 4 dim olive bags, 5 drab white bags, 1 dotted teal bag.
+dim white bags contain 3 mirrored lavender bags.
+clear beige bags contain 5 shiny cyan bags, 3 clear chartreuse bags.
+plaid tomato bags contain 5 muted beige bags.
+bright teal bags contain 5 shiny gold bags, 4 clear beige bags, 5 vibrant chartreuse bags.
+dotted salmon bags contain 1 clear fuchsia bag, 2 muted maroon bags, 4 posh yellow bags, 1 drab chartreuse bag.
+light gold bags contain 4 light maroon bags.
+faded cyan bags contain 2 posh magenta bags, 2 dark violet bags.
+drab cyan bags contain 5 faded purple bags, 4 striped crimson bags, 1 shiny maroon bag, 4 drab tomato bags.
+dotted black bags contain 3 striped turquoise bags, 4 dark tan bags, 4 vibrant lavender bags.
+faded purple bags contain 4 dull purple bags.
+dim violet bags contain 2 clear blue bags.
+wavy gray bags contain 4 muted crimson bags, 2 mirrored silver bags, 5 vibrant chartreuse bags.
+posh tan bags contain 4 drab tan bags, 3 muted crimson bags, 2 striped crimson bags, 2 plaid fuchsia bags.
+mirrored magenta bags contain 5 pale bronze bags.
+plaid brown bags contain 1 bright chartreuse bag.
+drab orange bags contain 4 drab teal bags, 1 dark bronze bag, 2 clear purple bags.
+dim green bags contain 5 dull maroon bags, 1 dull green bag.
+faded teal bags contain 2 bright yellow bags, 2 posh red bags, 2 posh indigo bags.
+dim gray bags contain 4 wavy blue bags, 2 shiny maroon bags, 1 pale cyan bag.
+light crimson bags contain 1 wavy plum bag, 3 muted magenta bags, 3 plaid aqua bags, 2 striped chartreuse bags.
+clear white bags contain 2 posh magenta bags, 5 bright white bags, 5 drab bronze bags, 3 vibrant beige bags.
+drab magenta bags contain 4 pale olive bags.
+plaid silver bags contain 4 bright violet bags, 3 dim brown bags, 1 dark teal bag.
+bright bronze bags contain 4 posh white bags, 3 dull salmon bags.
+drab maroon bags contain 3 clear black bags, 2 dotted orange bags.
+dark fuchsia bags contain 3 faded chartreuse bags, 5 clear green bags, 4 bright brown bags.
+vibrant salmon bags contain 1 bright red bag, 5 clear black bags, 2 clear green bags.
+shiny crimson bags contain 4 muted fuchsia bags, 2 plaid red bags, 3 clear green bags.
+plaid crimson bags contain 4 bright gold bags, 2 clear turquoise bags, 3 faded magenta bags.
+dim turquoise bags contain 3 drab brown bags, 5 plaid cyan bags, 3 plaid teal bags, 5 shiny silver bags.
+clear crimson bags contain 3 plaid blue bags, 2 drab tomato bags, 2 dull cyan bags, 3 mirrored fuchsia bags.
+pale tomato bags contain 1 dull yellow bag, 3 muted aqua bags.
+dim orange bags contain 1 posh magenta bag, 2 wavy gray bags, 5 faded indigo bags.
+mirrored orange bags contain 1 posh bronze bag, 2 faded white bags, 1 light orange bag, 2 posh red bags.
+striped turquoise bags contain 5 muted salmon bags, 5 dark white bags, 1 mirrored purple bag, 3 pale chartreuse bags.
+dotted coral bags contain 3 bright brown bags, 2 posh yellow bags, 3 drab maroon bags.
+wavy maroon bags contain 2 clear lime bags.
+mirrored indigo bags contain 1 mirrored cyan bag, 1 posh plum bag, 2 plaid silver bags.
+wavy indigo bags contain 5 dark violet bags, 5 drab black bags, 4 dark orange bags, 5 muted green bags.
+striped tomato bags contain 4 dark indigo bags, 5 light lavender bags.
+pale lime bags contain 2 bright orange bags.
+muted maroon bags contain 2 bright violet bags, 1 shiny coral bag, 1 posh gray bag.
+drab lavender bags contain 1 muted magenta bag.
+bright fuchsia bags contain 1 striped lime bag.
+wavy beige bags contain 2 bright brown bags, 1 pale black bag, 1 drab tomato bag, 4 vibrant blue bags.
+shiny olive bags contain 2 dim teal bags, 1 mirrored cyan bag, 4 dim yellow bags, 4 muted aqua bags.
+posh coral bags contain no other bags.
+dark green bags contain 2 posh brown bags, 2 muted white bags, 4 bright fuchsia bags.
+shiny green bags contain 1 faded crimson bag, 3 striped purple bags, 4 shiny salmon bags, 2 dark bronze bags.
+clear coral bags contain no other bags.
+dull salmon bags contain 1 muted white bag.
+dark lavender bags contain 2 plaid gray bags, 4 muted olive bags.
+bright silver bags contain 5 pale black bags.
+posh green bags contain 5 muted olive bags, 4 dotted crimson bags, 4 dotted brown bags.
+dotted fuchsia bags contain 5 shiny chartreuse bags, 1 dotted coral bag, 1 shiny cyan bag.
+dim fuchsia bags contain 1 striped orange bag, 1 clear crimson bag.
+dotted cyan bags contain 5 muted olive bags, 3 shiny white bags.
+dark beige bags contain 4 light teal bags, 4 drab teal bags, 5 wavy beige bags.
+striped magenta bags contain 5 plaid purple bags, 3 dotted crimson bags, 2 dull tomato bags.
+striped blue bags contain 3 dim aqua bags.
+light silver bags contain 3 shiny green bags, 2 vibrant black bags, 1 wavy turquoise bag, 3 faded bronze bags.
+pale indigo bags contain 4 pale silver bags, 3 dotted tomato bags, 1 dark violet bag, 3 clear lime bags.
+mirrored turquoise bags contain 1 pale salmon bag, 2 dotted crimson bags, 1 drab tomato bag, 2 muted green bags.
+striped beige bags contain 3 dotted tomato bags, 4 vibrant purple bags, 2 plaid tomato bags, 4 dark salmon bags.
+pale silver bags contain 5 dark lavender bags, 4 drab tan bags, 5 clear yellow bags.
+dark lime bags contain 3 pale aqua bags, 5 posh green bags.
+faded coral bags contain 3 dull tomato bags, 4 dark bronze bags, 3 drab tomato bags, 2 bright white bags.
+mirrored lavender bags contain 3 mirrored cyan bags.
+bright crimson bags contain 2 mirrored silver bags.
+striped gray bags contain 3 dotted coral bags, 4 muted maroon bags, 4 dark teal bags, 5 pale bronze bags.
+dotted magenta bags contain 2 dim teal bags, 2 wavy turquoise bags, 5 dull turquoise bags.
+posh white bags contain 4 drab tomato bags, 2 muted aqua bags.
+striped red bags contain 2 plaid blue bags, 1 light plum bag, 3 bright white bags.
+pale white bags contain 1 light purple bag.
+shiny coral bags contain no other bags.
+dark magenta bags contain 4 pale tan bags, 1 posh chartreuse bag, 2 pale yellow bags, 2 pale indigo bags.
+light gray bags contain 4 pale green bags, 5 dotted green bags, 4 shiny gray bags.
+dim gold bags contain 3 clear violet bags, 5 plaid aqua bags, 2 bright tomato bags, 2 wavy teal bags.
+dim crimson bags contain 4 muted blue bags, 2 light tan bags.
+wavy tan bags contain 1 posh plum bag, 3 mirrored gray bags, 1 muted purple bag.
+posh brown bags contain 4 mirrored black bags.
+bright plum bags contain 3 vibrant plum bags, 3 mirrored crimson bags.
+faded black bags contain 1 pale lime bag, 2 pale tomato bags.
+mirrored yellow bags contain 1 pale aqua bag, 4 dull aqua bags, 4 shiny white bags, 3 clear lime bags.
+muted tan bags contain 2 clear brown bags.
+drab white bags contain 5 dull coral bags, 2 drab green bags, 4 wavy tomato bags, 5 mirrored cyan bags.
+dull black bags contain 4 vibrant tan bags, 1 shiny chartreuse bag, 5 pale gold bags.
+posh maroon bags contain 5 dark coral bags, 5 faded yellow bags, 2 light lavender bags, 2 wavy teal bags.
+drab coral bags contain 4 posh chartreuse bags, 2 dim red bags.
+posh indigo bags contain 2 plaid brown bags, 4 muted green bags.
+drab aqua bags contain 2 pale magenta bags, 2 posh orange bags.
+drab crimson bags contain 2 pale bronze bags, 4 dotted blue bags, 2 dim silver bags.
+drab silver bags contain 5 clear blue bags, 4 pale bronze bags.
+clear salmon bags contain 2 pale aqua bags, 1 plaid gray bag, 1 clear coral bag.
+wavy chartreuse bags contain no other bags.
+dull plum bags contain 3 plaid gray bags, 3 plaid aqua bags, 2 mirrored beige bags, 2 wavy magenta bags.
+faded gray bags contain 2 dull cyan bags, 3 light lime bags, 3 bright lavender bags, 5 wavy plum bags.
+striped teal bags contain 4 drab maroon bags.
+clear lavender bags contain 3 clear coral bags, 5 bright crimson bags, 5 drab brown bags, 2 dim indigo bags.
+mirrored maroon bags contain 1 clear gray bag, 3 shiny salmon bags, 3 mirrored violet bags.
+muted turquoise bags contain 2 drab teal bags, 2 plaid plum bags, 4 plaid coral bags, 2 wavy chartreuse bags.
+dark white bags contain 4 bright fuchsia bags, 1 dull white bag, 3 shiny indigo bags, 3 dim white bags.
+drab red bags contain 3 dotted teal bags, 2 striped purple bags.
+muted teal bags contain 3 dark violet bags, 4 plaid chartreuse bags, 2 pale crimson bags.
+wavy red bags contain 2 clear crimson bags.
+striped olive bags contain 2 mirrored lavender bags.
+dull teal bags contain 4 pale teal bags, 5 pale violet bags, 2 drab white bags.
+light black bags contain 1 dark red bag, 2 plaid tan bags.
+clear orange bags contain 5 bright cyan bags.
+pale yellow bags contain 2 bright lavender bags.
+posh cyan bags contain 4 clear coral bags.
+drab tomato bags contain 4 vibrant blue bags, 5 faded beige bags, 3 clear coral bags, 2 mirrored white bags.
+pale orange bags contain 2 light aqua bags.
+dull tomato bags contain 5 plaid aqua bags, 2 posh magenta bags, 3 vibrant aqua bags.
+pale turquoise bags contain 1 pale coral bag, 3 dim teal bags.
+plaid maroon bags contain 5 posh maroon bags.
+vibrant beige bags contain 5 dull coral bags.
+bright purple bags contain 2 vibrant salmon bags, 5 dotted purple bags, 5 clear silver bags.
+dull coral bags contain 4 vibrant aqua bags, 3 dotted brown bags, 4 shiny coral bags.
+drab gray bags contain 4 vibrant lavender bags.
+dull lavender bags contain 3 vibrant lavender bags, 1 posh red bag, 4 drab tan bags, 3 light purple bags.
+striped maroon bags contain 3 bright silver bags.
+mirrored silver bags contain 5 clear blue bags, 3 posh magenta bags, 2 bright brown bags.
+faded yellow bags contain 2 muted maroon bags.
+striped purple bags contain 2 dotted yellow bags, 1 clear cyan bag, 2 dark teal bags.
+clear gray bags contain 5 dim black bags, 1 faded green bag, 5 muted crimson bags.
+plaid cyan bags contain 2 dark teal bags, 1 pale lime bag, 1 wavy beige bag.
+bright orange bags contain 5 mirrored brown bags, 2 dotted gold bags.
+dotted turquoise bags contain 3 plaid gray bags, 3 clear chartreuse bags.
+vibrant turquoise bags contain 1 muted brown bag, 3 dim purple bags, 1 posh gray bag, 5 pale bronze bags.
+striped lime bags contain 1 shiny gold bag.
+light violet bags contain 4 mirrored purple bags, 5 clear blue bags.
+striped orange bags contain 3 light gold bags, 3 light olive bags, 3 muted crimson bags, 2 pale cyan bags.
+drab turquoise bags contain 3 dim magenta bags, 4 pale black bags.
+pale salmon bags contain 2 mirrored cyan bags, 4 vibrant blue bags.
+shiny yellow bags contain 5 vibrant tomato bags, 3 muted salmon bags, 5 wavy tomato bags.
+plaid lime bags contain 2 pale yellow bags, 2 shiny red bags, 3 muted crimson bags, 4 dull green bags.
+muted cyan bags contain 4 bright green bags, 5 striped bronze bags, 1 vibrant lavender bag, 4 posh violet bags.
+dull cyan bags contain 5 dark lavender bags, 5 drab green bags, 1 bright crimson bag, 4 mirrored silver bags.
+pale beige bags contain 3 posh coral bags.
+shiny chartreuse bags contain 4 mirrored silver bags.
+dark silver bags contain 2 dull turquoise bags, 1 muted maroon bag, 5 vibrant magenta bags.
+mirrored violet bags contain 4 dark brown bags.
+clear aqua bags contain 2 striped beige bags, 1 dotted indigo bag, 5 faded violet bags, 5 vibrant violet bags.
+plaid teal bags contain 3 mirrored lavender bags, 4 posh gray bags.
+wavy olive bags contain 3 dull blue bags, 5 bright salmon bags, 5 shiny purple bags.
+pale lavender bags contain 4 light purple bags, 2 dotted gray bags, 2 pale plum bags, 3 shiny silver bags.
+shiny blue bags contain 2 vibrant white bags, 3 light gold bags, 3 mirrored lavender bags, 1 drab plum bag.
+light coral bags contain 4 light teal bags, 1 striped chartreuse bag, 5 dotted chartreuse bags.
+pale brown bags contain 2 dim gold bags, 2 clear turquoise bags, 3 bright cyan bags, 4 clear maroon bags.
+vibrant tomato bags contain 3 dark brown bags, 1 vibrant blue bag.
+dull olive bags contain 5 mirrored yellow bags, 2 shiny cyan bags.
+light chartreuse bags contain 2 dull aqua bags, 4 dull brown bags, 1 clear fuchsia bag, 4 bright yellow bags.
+posh gray bags contain 4 posh green bags, 1 mirrored gray bag.
+bright yellow bags contain 4 pale aqua bags.
+bright gold bags contain 3 pale indigo bags, 3 dull crimson bags.
+dotted red bags contain 4 pale turquoise bags, 4 muted blue bags, 1 bright bronze bag, 2 light blue bags.
+clear brown bags contain 1 mirrored yellow bag.
+light plum bags contain 2 bright violet bags.
+dim purple bags contain 3 faded chartreuse bags, 5 light teal bags.
+dull yellow bags contain 5 muted aqua bags, 3 dotted coral bags, 2 drab maroon bags.
+shiny gold bags contain 4 pale black bags, 4 dim violet bags, 3 muted yellow bags.
+mirrored crimson bags contain 1 striped teal bag, 5 mirrored cyan bags.
+shiny lavender bags contain 4 bright brown bags, 3 bright tan bags, 5 dotted crimson bags, 4 pale black bags.
+vibrant cyan bags contain 1 dim yellow bag, 5 bright tan bags.
+wavy gold bags contain 2 dark brown bags, 1 dull yellow bag.
+dark cyan bags contain 4 dim white bags, 2 mirrored indigo bags, 4 muted white bags, 2 bright white bags.
+posh lime bags contain 4 shiny plum bags, 3 plaid fuchsia bags.
+posh purple bags contain 3 muted salmon bags.
+pale magenta bags contain 1 drab gold bag, 1 dark white bag, 3 posh silver bags.
+dim plum bags contain 4 dark chartreuse bags, 4 mirrored lavender bags.
+plaid indigo bags contain 2 clear lime bags, 5 dull tomato bags.
+dark blue bags contain 1 bright olive bag, 1 dull bronze bag, 1 shiny gold bag.
+dull red bags contain 2 wavy teal bags, 3 wavy crimson bags, 1 faded olive bag.
+striped yellow bags contain 4 drab salmon bags.
+vibrant magenta bags contain 4 light beige bags, 2 dark red bags, 1 plaid magenta bag, 5 dim magenta bags.
+plaid red bags contain 2 striped red bags, 4 light plum bags, 3 mirrored silver bags.
+wavy orange bags contain 5 vibrant white bags, 1 posh coral bag, 5 muted purple bags, 2 light coral bags.
+pale green bags contain 5 pale aqua bags, 1 clear gray bag.
+dotted chartreuse bags contain 4 muted violet bags, 5 striped teal bags.
+light turquoise bags contain 5 dull turquoise bags, 2 dark aqua bags, 1 dull teal bag.
+shiny violet bags contain 2 pale indigo bags.
+light white bags contain 3 mirrored indigo bags, 1 faded blue bag, 1 plaid white bag, 1 posh plum bag.
+muted beige bags contain 4 drab gold bags.
+faded silver bags contain 2 drab white bags, 5 pale white bags, 3 clear lime bags.
+faded red bags contain 1 bright turquoise bag, 5 faded coral bags, 2 drab purple bags, 5 bright olive bags.
+shiny bronze bags contain 4 plaid purple bags, 5 bright red bags, 1 muted white bag, 2 dull fuchsia bags.
+dull gold bags contain 1 dotted orange bag.
+muted olive bags contain 1 clear coral bag, 1 posh magenta bag, 2 bright violet bags, 1 wavy chartreuse bag.
+dotted bronze bags contain 1 plaid beige bag, 3 clear olive bags, 2 light lime bags, 5 dull beige bags.
+shiny orange bags contain 5 pale brown bags, 5 clear tomato bags.
+wavy salmon bags contain 2 shiny maroon bags.
+wavy crimson bags contain 5 bright violet bags, 3 plaid violet bags.
+bright coral bags contain 1 dull bronze bag, 5 dotted gold bags, 1 posh gray bag.
+dotted crimson bags contain 2 posh magenta bags, 4 mirrored white bags.
+bright violet bags contain no other bags.
+drab blue bags contain 5 shiny gold bags, 1 shiny brown bag, 4 dark silver bags.
+posh salmon bags contain 4 dim purple bags, 1 striped lime bag, 1 muted gray bag, 2 drab gold bags.
+dim coral bags contain 3 dark red bags, 2 faded crimson bags.
+dark aqua bags contain 3 dotted salmon bags, 4 pale olive bags, 1 vibrant aqua bag, 5 dull lavender bags.
+dark orange bags contain 4 mirrored teal bags, 5 clear salmon bags.
+vibrant red bags contain 3 vibrant blue bags.
+muted lime bags contain 1 dull silver bag.
+clear tan bags contain 2 striped beige bags, 1 posh coral bag, 1 wavy teal bag, 2 faded plum bags.
+vibrant coral bags contain 2 faded blue bags, 4 bright turquoise bags.
+dark olive bags contain 2 dark indigo bags.
+dotted blue bags contain 5 faded cyan bags, 4 striped aqua bags, 4 dotted gold bags.
+bright maroon bags contain 1 dark bronze bag, 3 vibrant aqua bags, 4 dim magenta bags, 3 clear crimson bags.
+bright cyan bags contain 2 wavy tomato bags.
+plaid olive bags contain 3 striped indigo bags, 5 dim purple bags, 3 striped bronze bags, 2 light teal bags.
+plaid chartreuse bags contain 3 plaid yellow bags, 1 faded brown bag, 1 vibrant tan bag, 4 wavy fuchsia bags.
+dull maroon bags contain 3 muted yellow bags.
+light fuchsia bags contain 5 drab maroon bags, 5 muted silver bags.
+dull orange bags contain 4 dim indigo bags, 4 posh beige bags, 1 bright red bag.
+dull blue bags contain 5 wavy yellow bags, 4 posh gray bags.
+plaid yellow bags contain 1 bright fuchsia bag, 1 faded beige bag, 1 wavy beige bag, 4 light green bags.
+clear black bags contain 1 dull tomato bag.
+muted coral bags contain 5 drab indigo bags.
+plaid magenta bags contain 3 posh salmon bags.
+clear tomato bags contain 5 dotted brown bags, 3 dim tomato bags, 3 drab brown bags.
+clear yellow bags contain 3 clear black bags, 2 mirrored black bags.
+dark gray bags contain 5 light bronze bags, 4 dotted coral bags, 4 dim chartreuse bags.
+light magenta bags contain 4 wavy turquoise bags, 1 mirrored green bag, 2 plaid chartreuse bags.
+shiny indigo bags contain 1 bright silver bag, 2 pale tomato bags, 4 light teal bags, 4 posh coral bags.
+muted gray bags contain 3 faded beige bags, 1 dark teal bag, 3 muted violet bags, 3 muted white bags.
+wavy lavender bags contain 1 clear chartreuse bag, 2 clear maroon bags, 5 dull plum bags.
+faded olive bags contain 4 mirrored yellow bags, 4 vibrant tomato bags, 5 muted olive bags.
+muted crimson bags contain 1 mirrored gray bag, 4 dim violet bags.
+drab chartreuse bags contain 1 pale olive bag, 1 vibrant plum bag.
+wavy cyan bags contain 2 mirrored coral bags.
+mirrored plum bags contain 3 bright turquoise bags, 3 dark beige bags, 4 mirrored beige bags.
+plaid lavender bags contain 1 drab white bag.
+muted gold bags contain 1 clear black bag, 2 light orange bags, 4 dotted red bags, 4 dull silver bags.
+faded bronze bags contain 4 posh plum bags.
+clear turquoise bags contain 1 light gold bag, 1 clear beige bag, 2 striped chartreuse bags.
+vibrant gray bags contain 1 plaid white bag.
+bright tan bags contain 3 drab silver bags, 2 faded yellow bags, 2 bright green bags.
+pale bronze bags contain 5 posh coral bags, 4 clear coral bags, 1 dotted orange bag, 4 wavy chartreuse bags.
+clear plum bags contain 1 dim plum bag, 4 light gold bags.
+posh turquoise bags contain 3 wavy bronze bags, 4 shiny purple bags.
+posh teal bags contain 2 striped magenta bags, 3 dark magenta bags, 5 faded silver bags, 5 mirrored chartreuse bags.
+dim yellow bags contain 4 pale bronze bags, 3 shiny tan bags.
+faded lavender bags contain 3 dull white bags, 3 striped teal bags.
+wavy magenta bags contain 2 pale aqua bags, 4 shiny indigo bags.
+dim brown bags contain 2 bright brown bags, 3 striped chartreuse bags, 5 dull purple bags, 1 light cyan bag.
+light lime bags contain 5 clear crimson bags, 4 plaid indigo bags, 1 pale silver bag.
+striped silver bags contain 3 posh green bags, 3 muted violet bags, 1 drab green bag.
+bright brown bags contain no other bags.
+vibrant fuchsia bags contain 4 dull olive bags, 2 mirrored gold bags, 3 mirrored bronze bags, 1 posh crimson bag.
+plaid purple bags contain 3 faded beige bags, 1 drab green bag, 2 striped chartreuse bags.
+wavy violet bags contain 2 vibrant gray bags, 5 wavy fuchsia bags.
+dark maroon bags contain 5 pale chartreuse bags, 5 striped brown bags.
+pale coral bags contain 3 vibrant plum bags.
+dark black bags contain 4 striped salmon bags, 4 dim bronze bags.
+plaid bronze bags contain 2 mirrored black bags, 1 drab bronze bag, 4 plaid purple bags, 5 dull tomato bags.
+faded orange bags contain 5 plaid indigo bags.
+light lavender bags contain 2 shiny magenta bags, 5 dim lavender bags, 1 dotted crimson bag.
+dull chartreuse bags contain 4 clear lime bags.
+dark gold bags contain 4 light magenta bags.
+dim black bags contain 4 shiny silver bags, 1 dull tomato bag.
+plaid salmon bags contain 3 light magenta bags, 4 dull fuchsia bags, 2 striped salmon bags.
+vibrant bronze bags contain 5 mirrored white bags, 1 dull coral bag.
+wavy brown bags contain 1 light gold bag, 4 drab purple bags, 3 muted violet bags, 4 muted fuchsia bags.
+dotted lavender bags contain 4 dotted indigo bags, 2 dull lavender bags.
+dotted gold bags contain 1 posh magenta bag, 2 posh yellow bags.
+faded brown bags contain 4 muted blue bags, 3 wavy teal bags.
+light yellow bags contain 3 clear black bags, 1 dotted crimson bag.
+striped salmon bags contain 1 dull yellow bag, 5 mirrored gray bags, 5 light lavender bags, 5 mirrored brown bags.
+light blue bags contain 5 mirrored purple bags, 3 dim violet bags, 2 pale tomato bags.
+faded gold bags contain 3 plaid gray bags.
+shiny aqua bags contain 1 striped crimson bag, 5 pale black bags.
+shiny lime bags contain 4 dark green bags.
+vibrant tan bags contain 3 clear silver bags, 3 pale white bags.
+vibrant aqua bags contain no other bags.
+vibrant teal bags contain 3 wavy tan bags.
+light maroon bags contain 3 vibrant silver bags.
+faded crimson bags contain 3 plaid red bags.
+light teal bags contain 2 dark teal bags, 1 faded beige bag, 4 dull cyan bags.
+mirrored coral bags contain 2 vibrant plum bags.
+muted black bags contain 2 drab magenta bags, 1 mirrored gray bag, 4 drab tan bags, 1 dim indigo bag.
+striped gold bags contain 1 dark lavender bag, 4 drab brown bags, 2 bright silver bags, 2 striped teal bags.
+light purple bags contain 3 posh gray bags.
+dull silver bags contain 2 clear chartreuse bags, 3 plaid silver bags, 1 drab salmon bag, 2 wavy teal bags.
+clear bronze bags contain 4 dull red bags.
+wavy yellow bags contain 3 dull tomato bags, 2 posh green bags, 4 plaid aqua bags, 2 faded purple bags.
+muted purple bags contain 5 pale black bags, 2 muted salmon bags, 2 muted yellow bags.
+plaid aqua bags contain no other bags.
+drab plum bags contain 3 drab turquoise bags.
+muted orange bags contain 1 faded blue bag, 5 plaid brown bags, 4 mirrored chartreuse bags.
+dim silver bags contain 4 dark fuchsia bags, 2 clear cyan bags, 2 dark green bags, 4 dotted silver bags.
+pale tan bags contain 5 shiny silver bags, 5 drab indigo bags.
+wavy tomato bags contain 4 clear black bags, 4 plaid gray bags.
+posh bronze bags contain 4 drab green bags.
+clear blue bags contain 3 bright brown bags, 5 dull tomato bags, 1 clear black bag, 5 bright violet bags.
+striped plum bags contain 4 plaid yellow bags, 3 dark teal bags, 2 mirrored lavender bags, 1 dotted salmon bag.
+muted salmon bags contain 1 dull cyan bag, 2 clear coral bags, 1 posh coral bag.
+light aqua bags contain 4 clear maroon bags, 4 striped black bags.
+bright blue bags contain 4 drab violet bags, 4 light indigo bags, 3 muted indigo bags.
+light brown bags contain 5 striped lavender bags.
+light salmon bags contain 1 drab beige bag, 5 faded orange bags, 4 plaid coral bags, 5 light chartreuse bags.
+posh beige bags contain 1 shiny red bag.
+dotted orange bags contain 2 dotted brown bags, 3 mirrored silver bags, 1 dull tomato bag.
+wavy purple bags contain 1 mirrored green bag, 1 clear maroon bag.
+dark coral bags contain 5 bright chartreuse bags, 4 clear lime bags.
+dim lime bags contain 3 bright olive bags, 3 dull gold bags.
+pale plum bags contain 1 light orange bag, 3 drab orange bags, 5 mirrored purple bags.
+dim beige bags contain 5 pale fuchsia bags, 4 mirrored fuchsia bags, 4 plaid teal bags, 1 shiny orange bag.
+drab tan bags contain 5 plaid silver bags, 3 muted crimson bags, 1 clear salmon bag.
+posh blue bags contain 4 plaid aqua bags, 2 drab salmon bags, 4 pale teal bags, 2 drab gold bags.
+drab violet bags contain 3 shiny white bags.
+shiny plum bags contain 3 mirrored green bags, 2 dark yellow bags, 3 pale salmon bags.
+pale fuchsia bags contain 5 faded violet bags.
+clear fuchsia bags contain 2 dark lavender bags, 3 posh green bags.
+mirrored lime bags contain 3 light bronze bags.
+plaid white bags contain 1 dim lavender bag, 4 dim olive bags, 3 clear yellow bags.
+striped violet bags contain 4 plaid plum bags, 3 plaid black bags, 4 pale teal bags, 5 wavy magenta bags.
+dark purple bags contain 2 shiny gold bags, 3 faded blue bags.
+mirrored blue bags contain 1 drab fuchsia bag, 4 posh white bags, 3 wavy red bags.
+pale black bags contain 2 dim olive bags, 5 bright brown bags.
+dark brown bags contain 5 dotted purple bags, 2 striped silver bags.
+muted lavender bags contain 3 posh brown bags, 2 clear yellow bags, 3 posh coral bags, 1 shiny tan bag.
+muted bronze bags contain 1 drab teal bag, 5 drab tomato bags, 1 drab magenta bag, 5 posh maroon bags.
+posh violet bags contain 5 bright white bags, 5 vibrant tan bags.
+clear green bags contain 3 mirrored silver bags, 2 dotted orange bags.
+dotted plum bags contain 3 plaid yellow bags, 1 wavy yellow bag, 1 drab cyan bag.
+drab olive bags contain 1 shiny indigo bag.
+wavy turquoise bags contain 3 muted yellow bags.
+dark violet bags contain 2 bright crimson bags, 4 bright fuchsia bags, 2 dull blue bags.
+posh gold bags contain 3 drab teal bags.
+dim cyan bags contain 5 clear olive bags, 4 bright turquoise bags, 1 pale gray bag.
+posh red bags contain 1 bright salmon bag.
+dull tan bags contain 4 plaid cyan bags.
+faded indigo bags contain 3 light gold bags, 5 dotted brown bags, 3 dotted cyan bags, 2 drab teal bags.
+clear violet bags contain 1 wavy turquoise bag, 1 vibrant chartreuse bag, 1 dark violet bag, 3 bright bronze bags.
+clear indigo bags contain 1 mirrored tan bag, 4 faded indigo bags.
+bright turquoise bags contain 1 drab teal bag, 4 dull salmon bags, 4 pale olive bags, 2 faded chartreuse bags.
+muted tomato bags contain 1 dark purple bag, 3 striped tan bags.
+posh silver bags contain 4 muted gray bags.
+mirrored olive bags contain 5 bright lavender bags, 2 clear blue bags, 5 dotted crimson bags, 5 pale black bags.
+shiny tomato bags contain 1 mirrored purple bag, 4 posh gold bags, 3 vibrant plum bags.
+striped coral bags contain 5 clear orange bags, 3 muted coral bags, 4 bright green bags, 1 clear chartreuse bag.
+mirrored chartreuse bags contain 4 clear blue bags.
+pale maroon bags contain 1 muted indigo bag.
+striped black bags contain 3 striped gray bags, 1 striped lime bag, 4 bright cyan bags, 4 light orange bags.
+dim maroon bags contain 4 dull cyan bags.
+bright beige bags contain 2 pale fuchsia bags, 5 vibrant beige bags, 1 light lavender bag.
+shiny gray bags contain 2 striped lime bags, 1 pale black bag, 4 wavy tomato bags, 2 vibrant brown bags.
+drab lime bags contain 5 muted bronze bags, 2 posh indigo bags.
+dull gray bags contain 2 dull plum bags, 4 dim white bags, 2 shiny purple bags.
+light olive bags contain 4 clear salmon bags, 1 dim indigo bag.
+vibrant violet bags contain 5 striped tan bags, 1 pale lime bag, 4 posh plum bags, 4 mirrored black bags.
+posh lavender bags contain 4 pale tomato bags.
+plaid coral bags contain 3 mirrored olive bags, 2 muted black bags, 3 light plum bags.
+vibrant blue bags contain 4 mirrored silver bags.
+dim aqua bags contain 5 dim maroon bags.
+wavy bronze bags contain 5 wavy plum bags, 1 bright cyan bag, 2 drab chartreuse bags.
+muted plum bags contain 3 plaid silver bags, 5 faded black bags, 3 drab maroon bags.
+dull turquoise bags contain 4 plaid silver bags.
+plaid blue bags contain 3 plaid purple bags.
+dotted tan bags contain 5 plaid chartreuse bags, 4 dotted coral bags, 4 posh green bags, 1 striped turquoise bag.
+plaid black bags contain 2 drab salmon bags, 5 posh maroon bags.
+light cyan bags contain 2 dotted orange bags, 5 drab green bags, 1 bright lavender bag.
+dull fuchsia bags contain 2 posh red bags, 4 mirrored beige bags, 2 dull salmon bags, 4 striped purple bags.
+dark turquoise bags contain 4 drab tomato bags, 3 dotted chartreuse bags, 5 muted salmon bags, 4 posh magenta bags.
+vibrant silver bags contain 3 dark brown bags, 2 wavy beige bags, 5 dull turquoise bags, 2 drab tan bags.
+dotted tomato bags contain 3 drab tan bags, 2 striped magenta bags, 5 dim violet bags, 4 wavy tomato bags.
+vibrant white bags contain 5 bright crimson bags, 2 mirrored white bags, 5 mirrored indigo bags, 4 wavy teal bags.
+shiny fuchsia bags contain 1 pale lime bag.
+wavy fuchsia bags contain 4 clear cyan bags.
+dotted gray bags contain 3 striped chartreuse bags, 1 dark fuchsia bag.
+bright tomato bags contain 4 wavy orange bags, 2 dotted salmon bags, 1 striped gray bag, 3 pale tomato bags.
+clear chartreuse bags contain 3 clear purple bags.
+dim teal bags contain 3 faded silver bags, 5 vibrant silver bags, 2 wavy fuchsia bags.
+dotted yellow bags contain 5 bright bronze bags, 4 drab teal bags.
+dark indigo bags contain 5 plaid red bags, 5 dim purple bags.
+wavy black bags contain 5 shiny tomato bags, 2 clear gray bags, 4 dim lavender bags, 3 clear blue bags.
+striped green bags contain 3 light crimson bags, 5 mirrored cyan bags, 2 mirrored maroon bags, 2 faded yellow bags.
+dull lime bags contain 3 pale yellow bags.
+faded chartreuse bags contain 2 wavy teal bags, 3 dim olive bags, 2 dull purple bags, 5 vibrant plum bags.
+dark yellow bags contain 2 muted brown bags.
+plaid beige bags contain 3 pale green bags, 3 bright purple bags, 5 faded black bags, 1 drab brown bag.
+faded maroon bags contain 5 drab tomato bags.
+muted silver bags contain 3 striped lime bags, 3 dim orange bags, 3 muted aqua bags, 1 plaid black bag.
+pale violet bags contain 1 mirrored gray bag, 1 dull gold bag, 1 wavy crimson bag, 1 pale magenta bag.
+dim olive bags contain no other bags.
+mirrored bronze bags contain 2 drab white bags.
+dull green bags contain 1 striped silver bag, 2 bright orange bags, 4 dull yellow bags, 4 dotted chartreuse bags.
+bright gray bags contain 1 striped gray bag, 5 dull teal bags, 4 light beige bags, 2 vibrant orange bags.
+light indigo bags contain 1 dim maroon bag, 4 dark indigo bags, 1 dark brown bag, 2 muted beige bags.
+bright magenta bags contain 2 muted lime bags.
+posh crimson bags contain 4 pale indigo bags, 2 faded green bags.
+vibrant plum bags contain 1 posh gray bag, 3 mirrored silver bags, 4 bright brown bags, 2 posh magenta bags.
+wavy lime bags contain 4 wavy black bags, 4 shiny cyan bags, 5 striped aqua bags, 4 plaid gray bags.
+shiny silver bags contain 5 dotted crimson bags, 2 wavy turquoise bags, 1 shiny coral bag.
+dark tan bags contain 5 clear silver bags.
+mirrored brown bags contain 1 dotted brown bag, 2 plaid gray bags, 5 dull tomato bags, 5 clear black bags.
+muted brown bags contain 3 drab magenta bags, 4 plaid aqua bags, 5 dim black bags.
+posh black bags contain 2 bright turquoise bags, 3 mirrored maroon bags, 1 dull white bag.
+wavy aqua bags contain 3 drab green bags, 3 clear magenta bags.
+vibrant chartreuse bags contain 3 muted violet bags.
+wavy silver bags contain 2 muted yellow bags, 4 plaid violet bags.
+shiny salmon bags contain 1 clear yellow bag.
+clear purple bags contain 2 posh green bags, 2 muted gray bags.
+clear cyan bags contain 5 posh gray bags, 5 plaid aqua bags, 1 wavy tomato bag, 1 dim lavender bag.
+wavy coral bags contain 5 dim yellow bags, 3 clear yellow bags.
+wavy green bags contain 4 plaid bronze bags, 4 dull coral bags.
+mirrored gold bags contain 5 bright lavender bags.
+muted fuchsia bags contain 1 dotted purple bag.
+clear maroon bags contain 3 muted gray bags, 2 bright chartreuse bags, 3 dotted gold bags.
+faded salmon bags contain 5 clear green bags.
+striped aqua bags contain 5 pale yellow bags, 1 dotted salmon bag, 1 wavy teal bag, 1 muted yellow bag.
+plaid fuchsia bags contain 2 dim olive bags.
+pale chartreuse bags contain 3 posh magenta bags, 3 mirrored yellow bags.
+shiny beige bags contain 1 mirrored indigo bag.
+posh aqua bags contain 3 pale silver bags, 3 shiny tan bags, 5 striped blue bags, 5 dull salmon bags.
+dull magenta bags contain 5 dotted lime bags, 4 bright plum bags, 5 vibrant turquoise bags.
+posh tomato bags contain 5 shiny tan bags, 1 wavy salmon bag.
+clear red bags contain 5 clear black bags.
+dotted aqua bags contain 1 clear black bag.
+clear olive bags contain 1 plaid gray bag, 3 clear cyan bags.
+dotted green bags contain 3 light red bags.
+clear teal bags contain 5 faded coral bags, 3 wavy plum bags, 5 bright orange bags, 1 clear purple bag.
+plaid orange bags contain 4 pale chartreuse bags, 1 dark silver bag, 2 drab tomato bags.
+pale teal bags contain 1 drab black bag.
+posh chartreuse bags contain 1 dotted gold bag, 4 bright salmon bags.
+pale red bags contain 2 vibrant plum bags, 4 wavy cyan bags, 2 dotted white bags, 1 posh silver bag.
+faded violet bags contain 1 mirrored white bag, 4 muted green bags, 5 mirrored olive bags, 1 dim brown bag.
+faded fuchsia bags contain 2 dark brown bags.
+dotted brown bags contain 4 clear blue bags.
+dark teal bags contain 5 dull cyan bags.
+bright salmon bags contain 2 pale black bags, 5 dotted chartreuse bags, 2 striped chartreuse bags.
+pale blue bags contain 4 shiny gold bags, 2 clear white bags, 1 dotted coral bag.
+dim tan bags contain 3 plaid yellow bags, 5 clear blue bags, 2 clear cyan bags.
+dull beige bags contain 5 shiny maroon bags, 4 mirrored bronze bags, 4 dark plum bags.
+clear magenta bags contain 5 dim bronze bags, 5 wavy olive bags.
+bright black bags contain 2 bright bronze bags, 5 mirrored gold bags, 4 dark yellow bags.
+muted aqua bags contain 2 dark teal bags.
+faded blue bags contain 4 clear salmon bags, 1 light cyan bag, 5 wavy tomato bags.
+dotted indigo bags contain 2 shiny maroon bags, 2 wavy tan bags, 4 dim tomato bags, 1 posh plum bag.
+striped chartreuse bags contain 2 dotted orange bags, 3 bright lavender bags.
+dim indigo bags contain 4 shiny coral bags, 4 mirrored olive bags.
+dotted purple bags contain 4 mirrored white bags, 1 posh yellow bag, 5 drab maroon bags.
+muted chartreuse bags contain 5 bright silver bags, 2 bright brown bags.
+shiny purple bags contain 3 dim maroon bags, 2 mirrored lime bags, 2 light lavender bags, 3 dotted salmon bags.
+faded white bags contain 3 vibrant white bags, 5 muted gray bags.
+muted red bags contain 3 posh coral bags.
+mirrored tan bags contain 1 dotted gold bag, 2 dark coral bags, 3 light purple bags.
+dim blue bags contain 3 dull blue bags, 4 posh plum bags.
+bright indigo bags contain 1 muted white bag, 1 wavy fuchsia bag.
+striped crimson bags contain 3 dotted coral bags.
+light orange bags contain 3 striped chartreuse bags, 4 bright silver bags, 5 clear cyan bags.
+posh yellow bags contain 3 bright brown bags.
+dotted beige bags contain 1 plaid red bag.
+faded aqua bags contain 3 drab tan bags.
+shiny red bags contain 3 striped lime bags, 5 wavy teal bags, 2 muted olive bags, 1 shiny chartreuse bag.
+light tomato bags contain 4 muted green bags.
+bright olive bags contain 4 shiny maroon bags, 1 striped tan bag, 2 drab teal bags, 3 mirrored chartreuse bags.
+mirrored white bags contain 4 vibrant aqua bags, 4 clear blue bags, 4 bright violet bags, 1 muted olive bag.
+posh olive bags contain 2 shiny maroon bags, 3 faded coral bags, 1 dark turquoise bag.
+vibrant lime bags contain 1 light lime bag, 5 bright lime bags, 4 vibrant olive bags.
+striped brown bags contain 3 clear chartreuse bags, 4 drab magenta bags.
+striped lavender bags contain 1 wavy plum bag.
+wavy white bags contain 4 dotted red bags.
+dark bronze bags contain 2 posh green bags, 1 dotted crimson bag, 5 bright lavender bags, 1 shiny coral bag.
+mirrored black bags contain 3 muted salmon bags.
+shiny magenta bags contain 4 dotted orange bags, 4 bright silver bags, 3 posh coral bags.
+light bronze bags contain 3 dotted coral bags.
+mirrored gray bags contain 1 muted olive bag, 1 bright violet bag.
+bright lavender bags contain 1 dull tomato bag, 2 clear blue bags.
+drab yellow bags contain 3 dim tomato bags, 3 striped green bags.
+dark chartreuse bags contain 5 vibrant violet bags, 4 shiny tan bags, 4 dark orange bags, 1 dull tan bag.
+vibrant indigo bags contain 3 mirrored violet bags, 3 light teal bags, 2 dim red bags.
+plaid green bags contain 3 wavy blue bags, 4 wavy yellow bags, 1 dull lavender bag.
+mirrored purple bags contain 5 vibrant silver bags.
+vibrant yellow bags contain 4 plaid brown bags, 3 drab bronze bags, 5 posh bronze bags, 3 mirrored lime bags.
+pale gold bags contain 4 shiny indigo bags, 4 clear maroon bags.
+shiny cyan bags contain 3 dim olive bags.
+dim salmon bags contain 5 faded beige bags, 2 faded orange bags, 2 shiny purple bags.
+dark crimson bags contain 3 dull aqua bags, 1 wavy olive bag, 3 posh plum bags, 3 bright brown bags.
+vibrant gold bags contain 3 wavy gray bags, 4 clear white bags, 1 faded salmon bag, 3 drab aqua bags.
+faded magenta bags contain 5 plaid aqua bags, 4 faded purple bags, 5 wavy bronze bags.
+drab black bags contain 3 pale aqua bags, 2 clear coral bags, 2 mirrored silver bags, 5 dark cyan bags.
+bright green bags contain 1 shiny aqua bag, 5 drab salmon bags, 5 wavy tomato bags, 4 faded beige bags.
+bright aqua bags contain 2 vibrant magenta bags, 3 dim indigo bags, 5 dark fuchsia bags.
+pale olive bags contain 1 dotted brown bag.
+mirrored fuchsia bags contain 1 dull brown bag, 3 light cyan bags.
+mirrored red bags contain 3 plaid lavender bags.
+wavy blue bags contain 5 wavy turquoise bags, 3 light green bags, 4 dim indigo bags, 3 posh coral bags.
+clear silver bags contain 4 plaid gray bags.
+muted white bags contain 2 dotted salmon bags, 4 mirrored white bags, 3 clear cyan bags, 2 muted chartreuse bags.
+dim tomato bags contain 3 drab white bags, 1 posh gray bag, 3 dark cyan bags, 5 posh green bags.
+drab beige bags contain 1 light orange bag, 3 bright salmon bags, 3 pale silver bags.
+clear gold bags contain 2 vibrant white bags, 2 plaid yellow bags.
+vibrant orange bags contain 5 muted chartreuse bags.
+striped tan bags contain 1 wavy gold bag, 3 mirrored black bags, 1 shiny aqua bag, 5 vibrant red bags.
+bright lime bags contain 4 dim indigo bags, 3 dull tomato bags.
+bright red bags contain 5 drab magenta bags, 1 clear salmon bag.
+vibrant green bags contain 4 plaid tomato bags.
+light tan bags contain 5 muted green bags.
+striped white bags contain 1 faded silver bag, 2 vibrant red bags.
+dull violet bags contain 5 dull turquoise bags.
+drab salmon bags contain 3 posh magenta bags, 1 dark teal bag.
+mirrored cyan bags contain 2 dim violet bags, 1 plaid aqua bag, 1 vibrant blue bag, 1 posh magenta bag.
+wavy teal bags contain 1 bright crimson bag, 2 light cyan bags, 4 striped silver bags.
+vibrant purple bags contain 5 shiny magenta bags, 1 dotted orange bag, 2 wavy teal bags.
+faded beige bags contain 1 posh green bag, 5 clear coral bags.
+faded lime bags contain 1 wavy gray bag, 1 light orange bag, 5 clear bronze bags.
+mirrored green bags contain 5 drab bronze bags, 3 muted violet bags, 1 clear blue bag.
+light green bags contain 5 mirrored lavender bags, 3 drab gold bags.
+pale crimson bags contain 3 pale chartreuse bags.
+mirrored aqua bags contain 4 drab plum bags.
+dull crimson bags contain 2 bright white bags, 5 drab olive bags, 5 pale salmon bags.
+dull purple bags contain 1 posh magenta bag, 3 mirrored brown bags.
+bright white bags contain 4 vibrant blue bags, 3 dull brown bags, 4 drab green bags.
+drab indigo bags contain 2 bright salmon bags, 2 muted maroon bags, 2 clear gray bags.
+striped fuchsia bags contain 2 drab gold bags, 4 mirrored white bags, 3 muted black bags, 1 dark teal bag.
+dark tomato bags contain 3 muted fuchsia bags, 1 dotted lavender bag, 4 drab turquoise bags.
+mirrored tomato bags contain 5 dark olive bags, 4 light black bags, 4 dark magenta bags.
+dark plum bags contain 4 wavy yellow bags, 4 shiny salmon bags.
+dark salmon bags contain 1 dim bronze bag, 4 pale indigo bags, 5 dotted chartreuse bags.
+dotted lime bags contain 1 shiny brown bag, 3 faded lavender bags.
+dark red bags contain 3 posh green bags, 1 vibrant bronze bag, 2 dull maroon bags.
+dim lavender bags contain 2 dark turquoise bags.
+striped cyan bags contain 1 clear chartreuse bag.
+dull indigo bags contain 5 shiny brown bags.
+faded green bags contain 1 drab maroon bag.
+drab fuchsia bags contain 2 clear olive bags, 1 bright cyan bag.
+drab gold bags contain 2 dull turquoise bags, 5 dim lavender bags, 4 light teal bags.
+dotted violet bags contain 3 drab tomato bags, 5 dark lavender bags, 4 bright fuchsia bags.
+shiny turquoise bags contain 4 light black bags.
+muted green bags contain 3 vibrant bronze bags, 4 dim olive bags, 2 posh yellow bags, 2 dull cyan bags.
+pale purple bags contain 2 drab yellow bags, 3 bright crimson bags.
+posh fuchsia bags contain 1 dull tan bag, 2 dim orange bags.
+drab teal bags contain 1 dim violet bag, 2 drab green bags, 5 mirrored lavender bags, 2 faded purple bags.
+mirrored teal bags contain 4 vibrant aqua bags, 2 dull turquoise bags, 4 vibrant bronze bags, 3 mirrored olive bags.
+muted violet bags contain 3 wavy chartreuse bags.
+mirrored salmon bags contain 3 clear cyan bags, 5 posh plum bags, 1 shiny coral bag.
+vibrant crimson bags contain 4 dotted chartreuse bags, 2 wavy yellow bags, 3 drab green bags.
+dotted teal bags contain 3 clear black bags, 1 faded blue bag, 1 clear beige bag, 4 striped brown bags.
+posh orange bags contain 1 dim olive bag.
+striped bronze bags contain 1 dull salmon bag, 4 wavy teal bags, 1 pale salmon bag, 2 dim aqua bags.
+clear lime bags contain 1 dim lavender bag, 1 drab magenta bag.
+muted magenta bags contain 1 shiny indigo bag, 4 mirrored cyan bags, 4 shiny cyan bags, 2 posh bronze bags.
+bright chartreuse bags contain 5 drab white bags, 3 dotted purple bags.
+dim magenta bags contain 2 dull turquoise bags, 1 dull coral bag, 3 dark violet bags, 4 muted crimson bags.
+pale cyan bags contain 5 dotted coral bags, 4 drab chartreuse bags, 4 dull plum bags.
+shiny white bags contain 2 drab salmon bags, 3 shiny silver bags.
+faded tan bags contain 4 posh magenta bags, 1 pale teal bag.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/2020/08.txt	Wed Dec 01 20:54:23 2021 -0500
@@ -0,0 +1,610 @@
+acc +0
+jmp +516
+acc -16
+nop +326
+jmp +366
+jmp +400
+jmp +494
+acc -5
+jmp +475
+acc +29
+nop +24
+jmp +186
+jmp -5
+acc +50
+acc +49
+acc +49
+nop +507
+jmp +236
+acc -4
+acc +50
+acc +48
+jmp +293
+jmp +461
+acc +48
+acc +2
+jmp +241
+acc +38
+jmp +544
+jmp +1
+jmp +382
+acc -4
+acc -10
+acc +44
+jmp +444
+jmp +1
+acc +20
+acc -1
+acc +25
+jmp +332
+acc +18
+jmp +184
+acc +1
+acc +20
+acc -7
+acc -12
+jmp +84
+acc +30
+jmp -19
+nop +491
+acc +37
+acc +44
+jmp +220
+acc +3
+acc +19
+jmp +485
+jmp +222
+nop +264
+acc +4
+jmp +151
+nop -36
+acc +48
+jmp +356
+acc +28
+acc +29
+nop +397
+jmp +168
+nop +115
+acc -13
+acc -11
+jmp +470
+jmp +201
+acc +48
+acc -6
+acc -18
+acc -13
+jmp +442
+jmp +266
+acc +10
+acc +30
+acc -7
+acc -8
+jmp +380
+acc +1
+nop +106
+acc +9
+acc -11
+jmp -79
+jmp +166
+acc -9
+jmp +300
+acc +39
+acc +1
+acc +27
+acc +26
+jmp +367
+jmp +291
+acc +18
+jmp +100
+acc +25
+acc +43
+acc -8
+acc -12
+jmp +475
+acc +15
+jmp +492
+acc -5
+acc -12
+acc +35
+acc +25
+jmp +360
+nop +301
+acc +32
+acc -1
+jmp +436
+acc +21
+jmp +109
+acc +1
+nop +230
+jmp -113
+acc +24
+acc +12
+acc +13
+acc +27
+jmp -52
+jmp +476
+acc +15
+acc -18
+acc -13
+jmp +323
+acc -10
+acc +35
+acc -6
+nop +377
+jmp +8
+jmp +430
+nop +50
+acc +33
+acc -1
+jmp -72
+acc -19
+jmp -92
+jmp +1
+jmp -87
+nop -120
+nop -34
+jmp +159
+jmp +183
+jmp +1
+acc -4
+acc +49
+acc -4
+jmp +73
+acc -18
+acc +34
+acc -8
+jmp +403
+acc +32
+acc +0
+acc +0
+jmp +390
+acc +19
+jmp +305
+acc -15
+jmp +176
+acc +3
+jmp +36
+acc +29
+acc +21
+jmp +1
+acc -17
+jmp +144
+acc +16
+acc +4
+acc +49
+acc -7
+jmp -65
+acc +28
+acc +2
+acc +23
+acc +46
+jmp +278
+jmp +424
+acc +45
+acc +7
+jmp -49
+jmp -50
+acc -11
+nop -121
+jmp -140
+jmp +1
+acc -8
+jmp +206
+acc -7
+jmp +1
+acc +20
+acc +30
+jmp +375
+nop +312
+jmp +111
+acc +23
+jmp -15
+acc +27
+acc +46
+acc +36
+jmp +360
+acc +1
+acc +25
+acc +29
+jmp -137
+jmp +177
+acc +15
+acc -13
+acc +48
+acc +29
+jmp +76
+nop -174
+acc +27
+jmp +214
+acc +4
+jmp +120
+nop -165
+acc -16
+jmp +2
+jmp +238
+jmp +224
+jmp -154
+acc +12
+jmp +162
+acc +31
+acc +26
+acc -13
+acc +18
+jmp +173
+acc +38
+jmp +1
+jmp +199
+jmp -202
+jmp +127
+acc -12
+jmp -42
+acc -12
+acc +36
+acc -4
+acc +24
+jmp +343
+acc -17
+nop +277
+acc +13
+jmp +56
+jmp +41
+nop +92
+acc +32
+jmp +182
+nop +111
+acc +0
+acc +29
+jmp +219
+nop -234
+acc +0
+acc +31
+acc +49
+jmp +216
+jmp +247
+acc +24
+acc -10
+jmp +218
+acc +14
+acc -19
+acc +14
+jmp +11
+jmp +82
+acc +5
+acc +28
+acc +35
+jmp -93
+acc +24
+jmp -210
+acc +39
+jmp -107
+jmp -150
+acc -7
+jmp -185
+acc +25
+acc -15
+jmp +63
+acc +14
+acc +50
+jmp -7
+acc +13
+jmp +298
+nop +69
+jmp -268
+acc -5
+jmp +66
+jmp +48
+nop -1
+acc +38
+acc +3
+acc +46
+jmp +259
+nop +235
+acc +4
+jmp -186
+jmp +94
+acc -16
+acc +6
+jmp +287
+acc -19
+jmp -221
+jmp -69
+acc +8
+nop -102
+acc +31
+jmp +204
+jmp -81
+acc +12
+acc +21
+acc -8
+nop +151
+jmp -155
+acc +50
+nop +145
+acc -6
+acc +0
+jmp -296
+acc +16
+acc +30
+acc +11
+jmp +254
+acc +0
+acc -8
+nop +162
+acc -17
+jmp -144
+acc +6
+acc +2
+acc +32
+acc -5
+jmp +21
+jmp -77
+acc +38
+jmp +117
+acc +27
+acc -11
+nop -203
+jmp +201
+jmp -305
+acc +40
+nop -330
+acc -7
+jmp -279
+jmp +60
+nop -163
+jmp -53
+nop +115
+acc +24
+jmp +1
+acc +45
+jmp -92
+acc +0
+acc +13
+jmp -302
+acc +25
+jmp +208
+nop -293
+jmp +5
+jmp +1
+acc -13
+nop -272
+jmp +62
+acc -4
+acc +32
+acc +49
+jmp -124
+acc -19
+nop -246
+jmp -353
+nop -349
+acc +13
+acc +21
+jmp -165
+acc +14
+acc +37
+nop +28
+acc +7
+jmp -308
+acc +11
+jmp +71
+jmp -139
+nop -19
+acc -7
+acc -3
+jmp -302
+acc -2
+acc +1
+nop -43
+jmp -280
+acc +10
+acc +9
+jmp -358
+acc +39
+acc +16
+acc -11
+jmp +1
+jmp +142
+acc -15
+acc -17
+acc +9
+acc +11
+jmp -172
+jmp -90
+nop +135
+acc -1
+jmp -379
+acc +39
+acc -13
+jmp -57
+acc -3
+acc -7
+jmp +1
+jmp +80
+acc +7
+acc +11
+acc +30
+nop +69
+jmp -140
+acc +11
+acc +7
+acc +3
+jmp -417
+jmp -314
+acc -6
+jmp -6
+jmp -224
+acc +0
+jmp -131
+acc +7
+acc +33
+jmp +20
+acc +32
+acc -14
+nop -375
+jmp -394
+acc +8
+acc +47
+acc +29
+acc -6
+jmp -381
+acc -8
+jmp -353
+jmp -108
+acc -16
+acc +21
+jmp -329
+acc +13
+acc +0
+acc +0
+jmp -402
+acc -8
+jmp -307
+jmp -308
+jmp -358
+acc +38
+acc -19
+acc +33
+jmp -276
+jmp -114
+acc -6
+jmp +55
+acc +16
+jmp -244
+nop +22
+acc -7
+acc +19
+jmp -154
+jmp +18
+jmp -50
+acc +31
+acc +50
+acc +2
+jmp -260
+acc -16
+jmp -135
+acc +50
+acc -9
+acc +50
+acc +27
+jmp -323
+acc +26
+nop -249
+acc +46
+acc +3
+jmp -474
+acc +50
+acc -7
+jmp -78
+jmp +1
+acc -6
+acc +6
+jmp +94
+acc +47
+acc -3
+acc +13
+jmp -485
+nop -499
+acc +35
+acc +35
+acc -1
+jmp -259
+nop -486
+acc +48
+acc -4
+jmp +23
+acc +33
+acc +37
+acc +10
+jmp +61
+acc -1
+jmp +1
+jmp +1
+acc -8
+jmp +61
+jmp -237
+jmp -164
+acc +39
+acc +38
+nop -302
+jmp -468
+acc -15
+jmp -6
+acc -9
+acc +1
+acc +41
+acc +48
+jmp -285
+acc +1
+acc +24
+jmp -111
+jmp -90
+acc +46
+acc +21
+acc +43
+jmp -103
+acc -9
+nop -5
+jmp -274
+acc -13
+jmp -262
+jmp -39
+acc +43
+nop -463
+acc +15
+acc +23
+jmp -176
+nop -305
+acc +2
+acc +28
+jmp -198
+acc +15
+acc -18
+jmp -473
+acc -13
+acc +9
+jmp -46
+acc +1
+acc +43
+acc +6
+jmp +10
+acc +24
+acc -3
+jmp -424
+acc -1
+acc +47
+jmp +1
+acc +20
+jmp -17
+jmp -59
+nop -19
+acc +42
+acc +47
+jmp -9
+jmp -576
+nop -148
+acc +0
+jmp +12
+acc -15
+jmp -209
+acc +13
+jmp -442
+nop -548
+nop -62
+acc +22
+jmp -92
+jmp -516
+acc +8
+jmp -301
+acc +1
+jmp -146
+acc -15
+jmp -366
+jmp -440
+acc +17
+acc +25
+acc +28
+jmp -240
+acc -2
+acc +25
+nop -68
+acc +14
+jmp +1
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/2020/09.txt	Wed Dec 01 20:54:23 2021 -0500
@@ -0,0 +1,1000 @@
+4
+15
+11
+10
+33
+20
+42
+34
+49
+45
+29
+43
+26
+12
+19
+17
+28
+47
+46
+2
+18
+39
+50
+3
+23
+5
+14
+7
+52
+9
+60
+16
+20
+61
+97
+79
+8
+10
+11
+22
+13
+12
+15
+65
+17
+19
+28
+21
+18
+24
+23
+33
+25
+41
+34
+26
+35
+29
+36
+20
+27
+38
+40
+39
+43
+32
+80
+37
+45
+58
+42
+49
+53
+44
+73
+46
+52
+47
+55
+100
+56
+57
+59
+60
+64
+66
+69
+88
+130
+77
+127
+79
+169
+86
+89
+90
+103
+106
+99
+98
+93
+187
+102
+184
+113
+163
+116
+148
+181
+141
+152
+146
+193
+176
+156
+199
+279
+200
+175
+182
+209
+191
+192
+195
+206
+297
+215
+218
+229
+265
+257
+262
+287
+368
+293
+302
+321
+331
+371
+338
+392
+367
+439
+542
+863
+397
+457
+387
+401
+421
+433
+472
+698
+486
+519
+583
+788
+685
+614
+595
+940
+652
+669
+705
+725
+754
+764
+784
+1307
+798
+1035
+844
+1185
+887
+854
+905
+958
+1005
+1100
+1102
+1833
+1209
+1489
+1449
+1247
+1430
+2101
+1459
+1469
+2432
+1518
+1949
+2267
+1642
+2313
+1698
+1731
+1741
+1759
+1954
+2791
+1963
+2105
+2202
+3373
+3383
+4842
+2677
+5805
+2977
+3128
+3101
+2928
+2987
+3160
+3216
+3690
+3340
+3401
+8933
+12623
+5160
+10647
+3713
+7030
+5033
+5478
+5092
+5130
+5605
+5654
+6137
+5905
+5915
+6056
+6029
+6376
+9457
+6147
+6500
+6556
+6741
+7053
+7114
+11820
+8746
+8805
+10570
+8843
+10125
+11132
+10222
+10697
+11569
+15399
+11559
+11934
+11944
+12085
+12176
+12405
+12523
+12647
+12703
+13056
+13297
+17873
+14167
+17239
+20364
+26082
+19937
+18968
+19065
+23308
+25579
+20919
+22266
+23735
+24019
+25108
+24120
+24029
+24261
+24581
+24928
+25350
+25703
+37637
+37810
+37603
+31406
+35086
+36304
+38033
+40856
+38905
+39887
+39984
+49608
+47764
+55141
+46001
+47754
+48139
+48290
+86659
+48610
+48842
+49509
+50278
+66559
+60789
+66492
+67710
+69009
+69439
+114246
+74337
+85797
+84906
+78792
+188583
+87748
+93755
+93765
+94140
+94291
+95893
+124615
+134407
+97452
+98119
+98351
+135306
+229446
+145695
+135126
+134202
+185200
+138448
+168092
+153129
+218906
+163698
+166540
+189648
+181503
+181513
+281001
+187905
+338329
+301846
+395986
+195571
+195803
+196470
+232321
+233657
+319669
+269328
+273574
+304988
+272650
+291577
+302146
+316827
+486491
+330238
+363016
+348053
+369408
+391374
+413834
+383476
+560905
+427892
+392041
+392273
+428124
+562559
+428791
+465978
+502985
+541978
+542902
+546224
+849454
+593723
+1065544
+904994
+988797
+678291
+739427
+1167319
+717461
+1277346
+783647
+806107
+775517
+819933
+820165
+970102
+1022514
+1012202
+894769
+1644421
+1044963
+1049209
+1084880
+1311184
+1263685
+2275887
+1272014
+1395752
+1456888
+1784390
+1453808
+2466010
+1501108
+2131349
+2356147
+1753749
+1626040
+1745619
+2083850
+2426990
+1864871
+2648554
+1906971
+3861762
+2094172
+4510840
+3017633
+2720573
+2896860
+4221018
+3238198
+5665188
+2849560
+3652590
+3079848
+2954916
+4814745
+7117878
+3618620
+3379789
+3610490
+4513425
+4803831
+3771842
+3959043
+5675489
+4001143
+6095315
+6789475
+4943732
+5570133
+5617433
+8572349
+6515480
+6502150
+5929408
+8575673
+5804476
+6034764
+6334705
+6565406
+10848130
+6990279
+6998409
+7151631
+7382332
+7730885
+7772985
+9867157
+7960186
+8944875
+9571276
+10513865
+12794755
+10561165
+11187566
+11546841
+11733884
+11839240
+11964172
+16348658
+12139181
+13025043
+13947738
+12900111
+14763264
+21099369
+14721164
+14924616
+14533963
+15113217
+15503870
+20758842
+16905061
+20754941
+18516151
+20085141
+21075030
+23803412
+21748731
+22734407
+24758927
+23873065
+23978421
+35759450
+25039292
+25164224
+25925154
+29297227
+27663375
+30037833
+31626225
+29647180
+29458579
+31439024
+55572334
+46363640
+35421212
+36990202
+47773699
+41160171
+59335060
+42823761
+48631992
+44483138
+46607472
+59289600
+47851486
+70342061
+54622803
+89431233
+85030913
+53588529
+56960602
+57121954
+96325262
+60897603
+59105759
+64879791
+66860236
+87767643
+72411414
+78244973
+89011657
+112923589
+91455753
+87306899
+90675247
+94458958
+91090610
+105713231
+137282719
+108211332
+110549131
+110710483
+112694288
+114082556
+114486132
+116066361
+116227713
+149781006
+120003362
+123985550
+131740027
+139271650
+150656387
+159718313
+165551872
+176318556
+177982146
+178397509
+181765857
+202670290
+185549568
+224631687
+269022746
+269784368
+218760463
+287029039
+445341302
+226776844
+228568688
+243988912
+232294074
+236231075
+251743389
+255725577
+426300689
+304823522
+315590206
+531017951
+367315425
+341870428
+403029196
+388219858
+506015443
+400526320
+404310031
+474486040
+547884280
+464799763
+875012360
+454991538
+614996702
+455345532
+459070918
+460862762
+507468966
+701030838
+487974464
+556566911
+709185853
+646693950
+876194322
+1042901266
+730090286
+742396748
+863891958
+804836351
+859301569
+859597238
+859655563
+911778997
+1734609598
+1320460000
+910337070
+914062456
+914416450
+916208294
+919933680
+947045382
+1265752764
+995443430
+1044541375
+1134668414
+1203260861
+1355879803
+1376784236
+1618591070
+1962834946
+1472487034
+1547233099
+1664137920
+1664433589
+1718898807
+2332084272
+1769992633
+1822116067
+1861107838
+1824399526
+2337929275
+1828478906
+1830624744
+1836141974
+2922159668
+2081713796
+2179209789
+1721308972
+2247802236
+2490548217
+2924569833
+2974470873
+2849271270
+3019720133
+3136624954
+3492912495
+3211371019
+3328571509
+3383332396
+4857933926
+3491301605
+3543425039
+3551933716
+3545708498
+4015351763
+4329516032
+3549787878
+5412707885
+5003873464
+5896630541
+6686412832
+3900518761
+4741029105
+5097073506
+5339819487
+5899040706
+5985896224
+5868991403
+9531604722
+6347995973
+6594703415
+6539942528
+6711903905
+6874634001
+7034726644
+7037010103
+9450974422
+7095496376
+11052361866
+16325608423
+7450306639
+8290816983
+8641547866
+14162210544
+10495222176
+10248514734
+8997592267
+14094665773
+13576952631
+11208810890
+15327827086
+11854887627
+12216987376
+13443492349
+12887938501
+14130223020
+13251846433
+13586537906
+13909360645
+16447898906
+16546470798
+16932364849
+19667294015
+25793940007
+15741123622
+16091854505
+17288409250
+17639140133
+19246107001
+19492814443
+20206403157
+25106734060
+23063698517
+25339033910
+30676693818
+24071875003
+24742826128
+36599658864
+26139784934
+26474476407
+27716760926
+32189022528
+55419519946
+29650484267
+36115192921
+32673488471
+40352107767
+55444424274
+31832978127
+36534516251
+51681836971
+37494812407
+36885247134
+38738921444
+49178609063
+46346188091
+47135573520
+47806524645
+58663498935
+88313983202
+63481747572
+50882611062
+52614261341
+62589669328
+54191237333
+86864725804
+111288272217
+70571899571
+62323972738
+64506466598
+84691771779
+86063856197
+98028025062
+84020820654
+85085109535
+110852654689
+146344793392
+101391713732
+85874494964
+93481761611
+125805720310
+94942098165
+98689135707
+103496872403
+105073848395
+106805498674
+201747596839
+165898180330
+200287260285
+126830439336
+132895872309
+135078366169
+149198238377
+147015744517
+231036565171
+170959604499
+169105930189
+182048845716
+178566871146
+183774245242
+180816593129
+179356256575
+276028677713
+184563630671
+188423859776
+193631233872
+198438970568
+211879347069
+210302371077
+231904287731
+282094110686
+354322040106
+292728619666
+304184296358
+261908805505
+319641996840
+315894959298
+445683050747
+326372001092
+340065534688
+347672801335
+348462186764
+360615716862
+357923127721
+360172849704
+507188594221
+727777161433
+612370616506
+372987490447
+382055093648
+392070204440
+673818087019
+422181718146
+442206658808
+674110946539
+586278407044
+902173366342
+601974340193
+707965163738
+707591856252
+635536956138
+642266960390
+749993332161
+666437535780
+687738336023
+696134988099
+706385314485
+1034552334652
+800129786529
+733160340151
+1276085286732
+755042584095
+774125298088
+1188252747237
+804236811794
+814251922586
+1118316706245
+1221815363182
+1028485065852
+1228545367434
+1237511296331
+1301974491918
+1244241300583
+1614381709115
+1277803916528
+1308704496170
+1330005296413
+1394123650508
+1354175871803
+1383873324122
+1402520302584
+1439545654636
+1488202924246
+2337189562022
+2198360462302
+2063747080265
+1529167882183
+2472492578048
+1618488734380
+1832721877646
+2574246596996
+2146801772097
+2692577820292
+2257030433286
+2466056663765
+2552945796753
+3727528344485
+2724128946921
+2756696174387
+2927193230550
+3141426373816
+4257198526963
+2748299522311
+4031082339948
+2872076248368
+2842065957220
+2927748578882
+3017370806429
+3147656616563
+3361889759829
+3451210612026
+3675969654280
+7398624900779
+7274569333392
+4298778541411
+4403832205383
+4612858435862
+5398456807102
+4723087097051
+5190185610686
+5277074743674
+9335945532913
+5590365479531
+5889725896127
+5714142205588
+5620375770679
+5676048101193
+5765670328740
+6379260566258
+5769814536102
+5859436763649
+9974826642604
+6165027422992
+6823626270843
+10849835512805
+8866155264966
+8079801859663
+10293558101510
+8702610746794
+10382672971964
+15969606202703
+10437229302639
+14143230008640
+11334517976267
+10866233711879
+10867440223205
+18373359961173
+11210741250210
+11296423871872
+16057605073318
+11386046099419
+11441718429933
+11535484864842
+19733595488171
+11934841959094
+15031182687958
+16798452913447
+14867638169786
+14903428130506
+21303463014518
+17568766011760
+18947242082868
+22827764529352
+19085283718758
+20819902274603
+21733653174511
+22507165122082
+21733673935084
+22078181473415
+22252279811298
+23376560389027
+22596787349629
+22652459680143
+22682469971291
+33626371085078
+22921530964261
+31175313918104
+32472194142266
+28733294872541
+31701881043953
+29771066300292
+31666091083233
+32436404181546
+33850670213374
+40165553361389
+45279257320920
+50649123126821
+39905185993361
+40818936893269
+42553555449114
+44240818296593
+43811855408499
+43985953746382
+44330461284713
+44934749782589
+62877194962057
+73301582806964
+56503129893517
+55154664113557
+51654825836802
+73755856206735
+58504361172833
+62243260442558
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/2020/10.txt	Wed Dec 01 20:54:23 2021 -0500
@@ -0,0 +1,92 @@
+47
+61
+131
+15
+98
+123
+32
+6
+137
+111
+25
+28
+107
+20
+99
+36
+2
+97
+88
+124
+138
+75
+112
+52
+122
+78
+46
+110
+41
+64
+63
+16
+93
+104
+105
+91
+27
+45
+119
+14
+1
+65
+62
+118
+37
+79
+77
+19
+71
+35
+130
+69
+5
+44
+9
+48
+125
+136
+103
+140
+53
+126
+106
+55
+129
+139
+87
+68
+21
+85
+76
+31
+113
+12
+100
+24
+96
+82
+13
+70
+72
+86
+26
+117
+58
+132
+114
+40
+54
+133
+51
+92
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/2021/01.txt	Wed Dec 01 20:54:23 2021 -0500
@@ -0,0 +1,2000 @@
+188
+192
+193
+194
+192
+213
+214
+216
+219
+221
+222
+228
+231
+234
+239
+240
+252
+262
+267
+279
+278
+277
+279
+293
+309
+310
+312
+307
+308
+316
+320
+323
+335
+336
+343
+368
+357
+370
+377
+386
+387
+386
+402
+379
+393
+394
+403
+404
+405
+400
+421
+422
+423
+408
+409
+411
+408
+415
+417
+430
+439
+432
+459
+462
+463
+464
+466
+472
+485
+473
+488
+491
+492
+493
+496
+497
+501
+503
+516
+514
+513
+514
+517
+521
+522
+526
+548
+553
+560
+563
+565
+600
+601
+595
+596
+597
+599
+613
+630
+631
+635
+642
+648
+651
+654
+645
+653
+657
+676
+688
+711
+717
+718
+728
+735
+730
+733
+734
+737
+736
+738
+741
+749
+751
+752
+762
+765
+776
+779
+758
+743
+754
+759
+772
+773
+783
+790
+791
+783
+781
+784
+785
+791
+780
+789
+805
+792
+793
+797
+825
+828
+820
+817
+820
+821
+824
+825
+801
+815
+816
+829
+844
+845
+850
+853
+845
+841
+842
+844
+830
+844
+839
+842
+857
+859
+861
+871
+880
+881
+903
+935
+960
+964
+967
+969
+972
+990
+996
+999
+1003
+1008
+1034
+1038
+1039
+1053
+1054
+1055
+1061
+1065
+1066
+1061
+1064
+1073
+1078
+1084
+1087
+1106
+1113
+1118
+1128
+1132
+1133
+1126
+1127
+1134
+1150
+1153
+1162
+1176
+1186
+1187
+1215
+1218
+1221
+1224
+1225
+1232
+1234
+1241
+1247
+1248
+1251
+1250
+1252
+1247
+1249
+1251
+1252
+1253
+1260
+1263
+1269
+1270
+1277
+1287
+1262
+1275
+1276
+1281
+1282
+1285
+1284
+1296
+1304
+1310
+1307
+1308
+1285
+1286
+1293
+1298
+1303
+1309
+1312
+1315
+1317
+1325
+1335
+1338
+1343
+1346
+1348
+1360
+1366
+1367
+1371
+1384
+1396
+1400
+1407
+1425
+1424
+1427
+1433
+1446
+1449
+1466
+1469
+1495
+1507
+1508
+1509
+1521
+1514
+1519
+1533
+1534
+1538
+1539
+1541
+1551
+1561
+1569
+1570
+1582
+1583
+1593
+1599
+1607
+1608
+1614
+1618
+1633
+1638
+1646
+1652
+1653
+1680
+1682
+1689
+1700
+1702
+1700
+1706
+1709
+1710
+1712
+1718
+1710
+1711
+1736
+1727
+1729
+1758
+1762
+1780
+1794
+1811
+1813
+1817
+1818
+1826
+1829
+1830
+1811
+1817
+1818
+1820
+1821
+1822
+1824
+1825
+1838
+1840
+1841
+1844
+1846
+1849
+1875
+1878
+1879
+1881
+1908
+1917
+1923
+1918
+1930
+1921
+1926
+1927
+1929
+1940
+1941
+1946
+1949
+1951
+1960
+1964
+1965
+1971
+1975
+1979
+1984
+1986
+1985
+2010
+2005
+2006
+2010
+2011
+2012
+2013
+2029
+2031
+2036
+2039
+2045
+2027
+2035
+2014
+2017
+2031
+2033
+2037
+2040
+2044
+2050
+2051
+2049
+2052
+2053
+2068
+2069
+2071
+2073
+2074
+2075
+2086
+2089
+2091
+2092
+2093
+2094
+2095
+2096
+2097
+2100
+2106
+2107
+2108
+2122
+2094
+2095
+2121
+2131
+2132
+2135
+2162
+2177
+2178
+2180
+2199
+2210
+2211
+2213
+2217
+2229
+2255
+2259
+2266
+2268
+2266
+2272
+2278
+2295
+2296
+2294
+2298
+2303
+2309
+2310
+2311
+2312
+2310
+2315
+2316
+2332
+2335
+2337
+2339
+2342
+2343
+2362
+2371
+2373
+2375
+2381
+2380
+2382
+2396
+2398
+2405
+2406
+2403
+2405
+2413
+2418
+2423
+2440
+2443
+2442
+2434
+2436
+2444
+2450
+2456
+2485
+2486
+2487
+2491
+2489
+2490
+2491
+2513
+2509
+2511
+2525
+2526
+2535
+2548
+2551
+2557
+2559
+2560
+2568
+2565
+2591
+2607
+2614
+2615
+2616
+2630
+2665
+2677
+2680
+2679
+2686
+2687
+2692
+2687
+2689
+2690
+2694
+2692
+2693
+2694
+2695
+2696
+2698
+2720
+2743
+2744
+2752
+2777
+2780
+2778
+2786
+2800
+2807
+2808
+2810
+2817
+2823
+2835
+2840
+2848
+2850
+2855
+2856
+2861
+2864
+2890
+2892
+2894
+2905
+2906
+2907
+2918
+2922
+2927
+2928
+2918
+2933
+2934
+2936
+2939
+2947
+2944
+2932
+2938
+2941
+2954
+2957
+2965
+2970
+2971
+2972
+2981
+2984
+2994
+3006
+3028
+3020
+3023
+3026
+3021
+3024
+3016
+3041
+3042
+3053
+3055
+3056
+3057
+3060
+3061
+3062
+3069
+3070
+3097
+3104
+3107
+3110
+3112
+3114
+3115
+3122
+3120
+3121
+3142
+3143
+3167
+3169
+3170
+3172
+3180
+3182
+3181
+3182
+3183
+3184
+3185
+3186
+3201
+3181
+3185
+3187
+3166
+3162
+3164
+3167
+3168
+3180
+3189
+3190
+3191
+3189
+3191
+3196
+3213
+3224
+3229
+3233
+3232
+3245
+3279
+3302
+3313
+3316
+3333
+3334
+3337
+3339
+3348
+3364
+3365
+3375
+3380
+3381
+3382
+3402
+3418
+3433
+3438
+3439
+3453
+3482
+3484
+3488
+3497
+3511
+3500
+3502
+3497
+3502
+3505
+3516
+3517
+3519
+3525
+3520
+3524
+3528
+3533
+3548
+3552
+3555
+3562
+3573
+3577
+3579
+3587
+3592
+3620
+3615
+3616
+3619
+3620
+3631
+3630
+3640
+3674
+3675
+3684
+3685
+3699
+3701
+3694
+3727
+3746
+3749
+3742
+3745
+3748
+3756
+3759
+3746
+3759
+3762
+3763
+3748
+3762
+3760
+3766
+3770
+3774
+3776
+3778
+3785
+3787
+3788
+3815
+3816
+3822
+3832
+3831
+3832
+3835
+3834
+3820
+3822
+3823
+3825
+3826
+3831
+3833
+3843
+3864
+3889
+3895
+3903
+3908
+3910
+3909
+3911
+3912
+3913
+3921
+3948
+3949
+3954
+3955
+3958
+3960
+3962
+3963
+3975
+3986
+3989
+3990
+3992
+4006
+4012
+4032
+4036
+4037
+4038
+4041
+4048
+4056
+4041
+4044
+4048
+4077
+4076
+4088
+4072
+4073
+4075
+4080
+4075
+4080
+4081
+4110
+4139
+4142
+4143
+4145
+4148
+4155
+4157
+4163
+4164
+4174
+4181
+4186
+4193
+4195
+4198
+4197
+4202
+4209
+4208
+4211
+4213
+4211
+4223
+4222
+4224
+4232
+4234
+4239
+4243
+4245
+4247
+4248
+4252
+4245
+4253
+4289
+4288
+4290
+4292
+4294
+4295
+4298
+4308
+4314
+4315
+4320
+4328
+4326
+4328
+4334
+4330
+4339
+4362
+4363
+4364
+4365
+4366
+4375
+4388
+4389
+4395
+4382
+4393
+4385
+4381
+4380
+4391
+4392
+4409
+4410
+4414
+4434
+4445
+4452
+4457
+4453
+4461
+4469
+4468
+4487
+4482
+4505
+4512
+4513
+4517
+4535
+4542
+4544
+4546
+4559
+4560
+4575
+4576
+4578
+4579
+4580
+4581
+4582
+4585
+4589
+4588
+4592
+4593
+4594
+4620
+4621
+4632
+4633
+4634
+4640
+4641
+4643
+4651
+4666
+4672
+4673
+4672
+4674
+4695
+4697
+4707
+4706
+4708
+4709
+4705
+4702
+4694
+4732
+4734
+4735
+4723
+4728
+4734
+4752
+4754
+4756
+4759
+4768
+4770
+4773
+4780
+4781
+4783
+4792
+4797
+4806
+4825
+4833
+4839
+4838
+4842
+4843
+4853
+4851
+4852
+4853
+4834
+4835
+4836
+4837
+4838
+4837
+4833
+4843
+4844
+4825
+4826
+4832
+4833
+4832
+4840
+4844
+4838
+4839
+4862
+4867
+4868
+4873
+4877
+4881
+4888
+4891
+4896
+4911
+4910
+4911
+4906
+4913
+4915
+4918
+4926
+4933
+4968
+4969
+4970
+4974
+4978
+4979
+5002
+5008
+5010
+5034
+5040
+5034
+5035
+5046
+5042
+5044
+5060
+5063
+5068
+5069
+5078
+5079
+5080
+5081
+5080
+5066
+5081
+5105
+5113
+5122
+5125
+5129
+5144
+5136
+5101
+5102
+5104
+5106
+5107
+5109
+5114
+5116
+5112
+5116
+5114
+5118
+5121
+5127
+5138
+5125
+5133
+5127
+5140
+5142
+5143
+5144
+5150
+5154
+5155
+5156
+5177
+5180
+5182
+5170
+5171
+5159
+5165
+5166
+5173
+5172
+5186
+5195
+5200
+5201
+5229
+5231
+5233
+5234
+5258
+5268
+5278
+5279
+5284
+5288
+5285
+5292
+5319
+5323
+5325
+5332
+5343
+5366
+5368
+5367
+5370
+5377
+5394
+5395
+5394
+5398
+5399
+5405
+5407
+5415
+5416
+5422
+5423
+5424
+5442
+5446
+5447
+5448
+5454
+5455
+5456
+5457
+5473
+5475
+5474
+5475
+5486
+5506
+5489
+5526
+5527
+5529
+5532
+5533
+5548
+5549
+5552
+5541
+5548
+5567
+5577
+5578
+5577
+5592
+5598
+5602
+5609
+5611
+5626
+5604
+5614
+5615
+5616
+5617
+5634
+5644
+5632
+5645
+5644
+5658
+5661
+5662
+5664
+5665
+5660
+5684
+5686
+5689
+5692
+5693
+5700
+5709
+5714
+5715
+5701
+5694
+5696
+5702
+5712
+5727
+5743
+5747
+5750
+5756
+5757
+5758
+5770
+5771
+5780
+5789
+5795
+5800
+5801
+5808
+5809
+5810
+5824
+5825
+5822
+5828
+5829
+5832
+5847
+5848
+5864
+5871
+5879
+5883
+5885
+5888
+5889
+5890
+5903
+5904
+5919
+5924
+5932
+5944
+5950
+5949
+5969
+5961
+5981
+5989
+5992
+5997
+5999
+6000
+6007
+6008
+6011
+6025
+6030
+6034
+6038
+6046
+6051
+6052
+6053
+6082
+6102
+6101
+6105
+6106
+6119
+6124
+6132
+6131
+6133
+6136
+6137
+6170
+6173
+6190
+6199
+6200
+6203
+6207
+6224
+6226
+6227
+6228
+6229
+6231
+6251
+6254
+6279
+6282
+6293
+6294
+6296
+6301
+6306
+6307
+6310
+6315
+6316
+6328
+6329
+6330
+6333
+6351
+6353
+6352
+6362
+6340
+6343
+6349
+6357
+6380
+6379
+6386
+6410
+6433
+6442
+6456
+6457
+6458
+6474
+6485
+6487
+6489
+6481
+6466
+6469
+6474
+6478
+6482
+6492
+6509
+6511
+6534
+6567
+6566
+6569
+6578
+6592
+6593
+6594
+6602
+6607
+6614
+6617
+6614
+6613
+6614
+6618
+6619
+6629
+6645
+6652
+6651
+6655
+6658
+6669
+6692
+6693
+6700
+6705
+6706
+6710
+6709
+6691
+6710
+6711
+6719
+6721
+6722
+6726
+6727
+6739
+6741
+6753
+6754
+6764
+6767
+6772
+6798
+6812
+6818
+6850
+6851
+6886
+6887
+6888
+6889
+6903
+6902
+6903
+6906
+6896
+6902
+6903
+6905
+6909
+6915
+6916
+6917
+6937
+6934
+6935
+6960
+6973
+6974
+6996
+6997
+7009
+7010
+7016
+7017
+7032
+7036
+7049
+7059
+7065
+7066
+7067
+7072
+7102
+7105
+7109
+7134
+7139
+7141
+7135
+7141
+7145
+7150
+7155
+7156
+7157
+7159
+7172
+7186
+7185
+7213
+7217
+7225
+7228
+7251
+7268
+7273
+7271
+7287
+7288
+7289
+7314
+7319
+7323
+7339
+7345
+7346
+7348
+7347
+7348
+7356
+7376
+7385
+7387
+7386
+7389
+7400
+7401
+7408
+7413
+7414
+7415
+7429
+7456
+7442
+7444
+7451
+7452
+7450
+7451
+7450
+7491
+7503
+7496
+7497
+7499
+7517
+7518
+7523
+7526
+7527
+7539
+7540
+7541
+7565
+7568
+7571
+7575
+7576
+7587
+7588
+7598
+7600
+7603
+7605
+7623
+7624
+7629
+7625
+7627
+7632
+7638
+7648
+7650
+7654
+7655
+7656
+7659
+7679
+7681
+7687
+7690
+7691
+7710
+7711
+7712
+7731
+7734
+7735
+7738
+7739
+7737
+7738
+7733
+7752
+7755
+7762
+7763
+7787
+7797
+7798
+7800
+7805
+7838
+7841
+7842
+7867
+7868
+7875
+7882
+7896
+7887
+7889
+7890
+7909
+7885
+7886
+7894
+7897
+7899
+7917
+7918
+7911
+7910
+7916
+7915
+7916
+7917
+7922
+7935
+7943
+7940
+7941
+7953
+7947
+7950
+7969
+7970
+7987
+7997
+8001
+7989
+7990
+7992
+7994
+7996
+7997
+8006
+8021
+8031
+8032
+8042
+8055
+8062
+8066
+8067
+8071
+8073
+8075
+8076
+8078
+8081
+8107
+8106
+8105
+8111
+8116
+8125
+8133
+8130
+8151
+8159
+8158
+8180
+8175
+8184
+8189
+8190
+8193
+8227
+8251
+8252
+8243
+8235
+8236
+8255
+8263
+8272
+8275
+8279
+8281
+8287
+8296
+8299
+8311
+8312
+8315
+8321
+8314
+8323
+8324
+8325
+8318
+8321
+8337
+8338
+8354
+8364
+8374
+8381
+8383
+8393
+8394
+8419
+8433
+8432
+8433
+8441
+8447
+8445
+8457
+8460
+8458
+8469
+8477
+8479
+8480
+8486
+8483
+8485
+8490
+8489
+8490
+8502
+8506
+8505
+8507
+8516
+8525
+8526
+8533
+8539
+8546
+8541
+8545
+8555
+8564
+8580
+8581
+8575
+8585
+8598
+8602
+8603
+8604
+8605
+8601
+8603
+8621
+8608
+8621
+8627
+8631
+8634
+8636
+8669
+8671
+8691
+8687
+8702
+8705
+8714
+8716
+8718
+8719
+8740
+8741
+8742
+8743
+8740
+8744
+8747
+8732
+8734
+8737
+8762
+8767
+8770
+8769
+8773
+8774
+8767
+8800
+8802
+8803
+8808
+8814
+8818
+8823
+8827
+8828
+8835
+8843
+8844
+8850
+8852
+8849
+8858
+8854
+8841
+8844
+8848
+8849
+8885
+8891
+8899
+8902
+8905
+8906
+8917
+8924
+8925
+8931
+8933
+8943
+8951
+8953
+8954
+8966
+8978
+8976
+8989
+8994
+8993
+9002
+9023
+9024
+9057
+9060
+9068
+9070
+9071
+9089
+9099
+9097
+9113
+9123
+9125
+9129
+9124
+9125
+9147
+9151
+9154
+9157
+9159
+9165
+9136
+9138
+9144
+9157
+9190
+9197
+9207
+9214
+9222
+9229
+9230
+9231
+9234
+9243
+9248
+9255
+9256
+9255
+9258
+9269
+9289
+9290
+9292
+9294
+9277
+9278
+9279
+9292
+9293
+9301
+9284
+9285
+9286
+9290
+9293
+9295
+9297
+9314
+9331
+9343
+9346
+9372
+9392
+9395
+9399
+9400
+9401
+9402
+9403
+9416
+9437
+9453
+9455
+9456
+9457
+9458
+9446
+9460
+9461
+9467
+9484
+9469
+9470
+9465
+9480
+9482
+9486
+9490
+9493
+9488
+9510
+9513
+9516
+9518
+9523
+9526
+9530
+9553
+9558
+9562
+9572
+9573
+9583
+9599
+9600
+9601
+9610
+9615
+9634
+9639
+9642
+9669
+9676
+9678
+9679
+9681
+9682
+9684
+9689
+9698
+9709
+9710
+9712
+9719
+9721
+9733
+9734
+9741
+9751
+9767
+9769
+9768
+9770
+9769
+9771
+9773
+9769
+9780
+9787
+9789
+9794
+9802
+9803
+9807
+9809
+9810
+9811
+9813
+9816
+9823
+9828
+9835
+9849
+9851
+9861
+9883
+9884
+9889
+9890
+9893
+9907
+9909
+9923
+9930
+9929
+9912
+9917
+9929
+9930
+9932
+9945
+9959
+9961
+9962
+9982
+9987
+9993
+9996
+9999
+10000
+9990
+9992
+9993
+9995
+10010
+10014
+10020
+10021
+10029
+10041
+10047
+10052
+10056
+10057
+10060
+10078
+10083
+10101
+10103
+10110
+10116
+10128
+10131
+10132
+10143
+10148
+10151
+10156
+10159
+10164
+10165
+10189
+10190
+10202
+10203
+10207
+10199
+10216
+10215
+10221
+10239
+10244
+10245
+10262
+10265
+10270
+10271
+10248
+10269
+10272
+10275
+10274
+10280
+10289
+10301
+10304
+10305
+10309
+10306
+10324
+10330
+10337
+10348
+10357
+10362
+10363
+10365
+10366
+10373
+10378
+10379
+10382
+10387
+10395
+10396
+10397
+10406
+10415
--- a/package.lisp	Mon Nov 29 23:19:14 2021 -0500
+++ b/package.lisp	Wed Dec 01 20:54:23 2021 -0500
@@ -14,6 +14,7 @@
     :read-before
     :read-to
     :read-digits
+    :read-chunks
 
     :ensure-string
     :ensure-stream
@@ -89,5 +90,7 @@
     :green
     :reset
 
+    :mkinput
+
     ))
 
--- a/src/2019/days/day-17.lisp	Mon Nov 29 23:19:14 2021 -0500
+++ b/src/2019/days/day-17.lisp	Wed Dec 01 20:54:23 2021 -0500
@@ -64,9 +64,9 @@
                    ((intersectionp world pos) #\O)))))
 
 (define-problem (2019 17) (data read-numbers) (7328)
-  (advent/intcode::disassemble-program (advent/intcode:init data))
+  ;; (advent/intcode::disassemble-program (advent/intcode:init data))
   (let ((world (parse-map (record-string data))))
-    (draw-world world)
+    ;; (draw-world world)
     (summation (intersections world) :key #'alignment-parameter)))
 
 #; Scratch --------------------------------------------------------------------
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/2020/days/day-01.lisp	Wed Dec 01 20:54:23 2021 -0500
@@ -0,0 +1,25 @@
+(advent:defpackage* :advent/2020/01)
+(in-package :advent/2020/01)
+
+
+(defun find-two-addends (seq sum)
+  (iterate (for x :in-vector seq :with-index i)
+           (iterate (for y :in-vector seq :from (1+ i))
+                    (when (= sum (+ x y))
+                      (return-from find-two-addends (values x y))))))
+
+(defun find-three-addends (seq sum)
+  (iterate (for x :in-vector seq :with-index i)
+           (iterate (for y :in-vector seq :from (1+ i) :with-index j)
+                    (iterate (for z :in-vector seq :from (1+ j))
+                             (when (= sum (+ x y z))
+                               (return-from find-three-addends (values x y z)))))))
+
+(define-problem (2020 1) (data read-numbers) (928896 295668576)
+  (setf data (coerce data 'vector))
+  (values (multiple-value-call #'* (find-two-addends data 2020))
+          (multiple-value-call #'* (find-three-addends data 2020))))
+
+#; Scratch --------------------------------------------------------------------
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/2020/days/day-02.lisp	Wed Dec 01 20:54:23 2021 -0500
@@ -0,0 +1,27 @@
+(advent:defpackage* :advent/2020/02)
+(in-package :advent/2020/02)
+
+
+(defun parse-line (line)
+  (ppcre:register-groups-bind
+      ((#'parse-integer i j) char password)
+      ("(\\d+)-(\\d+) (.): (.+)" line)
+    (values i j (coerce char 'character) password)))
+
+(defun validp-1 (min max char password)
+  (<= min (count char password) max))
+
+(defun validp-2 (i j char password)
+  (alexandria:xor (char= char (aref password (1- i)))
+                  (char= char (aref password (1- j)))))
+
+(define-problem (2020 2) (data) (655 673)
+  (iterate (for line :in-stream data :using #'read-line)
+           (for (values i j char password) = (parse-line line))
+           (counting (validp-1 i j char password) :into p1)
+           (counting (validp-2 i j char password) :into p2)
+           (returning p1 p2)))
+
+#; Scratch --------------------------------------------------------------------
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/2020/days/day-03.lisp	Wed Dec 01 20:54:23 2021 -0500
@@ -0,0 +1,21 @@
+(advent:defpackage* :advent/2020/03)
+(in-package :advent/2020/03)
+
+
+(defun count-trees (world drow dcol)
+  (destructuring-bind (rows cols) (array-dimensions world)
+    (iterate (for row :from 0 :below rows :by drow)
+             (for col :modulo cols :from 0 :by dcol)
+             (counting (char= #\# (aref world row col))))))
+
+(define-problem (2020 3) (data read-2d-array) (257 1744787392)
+  (values (count-trees data 1 3)
+          (* (count-trees data 1 1)
+             (count-trees data 1 3)
+             (count-trees data 1 5)
+             (count-trees data 1 7)
+             (count-trees data 2 1))))
+
+#; Scratch --------------------------------------------------------------------
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/2020/days/day-04.lisp	Wed Dec 01 20:54:23 2021 -0500
@@ -0,0 +1,62 @@
+(advent:defpackage* :advent/2020/04)
+(in-package :advent/2020/04)
+
+
+(defun parse-pair (pair)
+  (destructuring-bind (k v) (str:split #\: pair)
+    (cons (ensure-keyword k) v)))
+
+(defun parse-chunk (chunk)
+  (_ chunk
+    (nsubstitute #\space #\newline _)
+    (mapcar #'parse-pair (str:split #\space _))))
+
+(defun parse-data (data)
+  (mapcar #'parse-chunk (str:split (format nil "~2%") data)))
+
+(defun has-field-p (field passport)
+  (member field passport :key #'car))
+
+(defun validp-1 (passport)
+  (iterate (for field in '(:byr :iyr :eyr :hgt :hcl :ecl :pid))
+           (always (has-field-p field passport))))
+
+(defun valid-year-p (string min max)
+  (ppcre:register-groups-bind ((#'parse-integer year))
+      ("^([0-9]{4})$" string)
+    (<= min year max)))
+
+(defun valid-height-p (string)
+  (ppcre:register-groups-bind ((#'parse-integer n) unit)
+      ("^([0-9]+)(in|cm)$" string)
+    (alexandria:eswitch (unit :test #'string=)
+      ("cm" (<= 150 n 193))
+      ("in" (<= 59 n 76)))))
+
+(defun valid-pid-p (string)
+  (ppcre:scan "^[0-9]{9}$" string))
+
+(defun valid-hair-color-p (string)
+  (ppcre:scan "^#[0-9a-f]{6}$" string))
+
+(defun valid-eye-color-p (string)
+  (member string '("amb" "blu" "brn" "gry" "grn" "hzl" "oth") :test #'string=))
+
+(defun validp-2 (passport)
+  (and (validp-1 passport)
+       (valid-year-p (assocdr :byr passport) 1920 2002)
+       (valid-year-p (assocdr :iyr passport) 2010 2020)
+       (valid-year-p (assocdr :eyr passport) 2020 2030)
+       (valid-height-p (assocdr :hgt passport))
+       (valid-pid-p (assocdr :pid passport))
+       (valid-hair-color-p (assocdr :hcl passport))
+       (valid-eye-color-p (assocdr :ecl passport))))
+
+(define-problem (2020 4) (data alexandria:read-stream-content-into-string) (216 150)
+  (let ((passports (parse-data (str:trim-right data))))
+    (values (count-if #'validp-1 passports)
+            (count-if #'validp-2 passports))))
+
+#; Scratch --------------------------------------------------------------------
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/2020/days/day-05.lisp	Wed Dec 01 20:54:23 2021 -0500
@@ -0,0 +1,38 @@
+(advent:defpackage* :advent/2020/05)
+(in-package :advent/2020/05)
+
+
+(defun avg (x y)
+  (/ (+ x y) 2))
+
+(defun id (row col)
+  (+ (* 8 row) col))
+
+(defun decode (spec)
+  (iterate (with rlo = 0)
+           (with rhi = 128)
+           (with clo = 0)
+           (with chi = 8)
+           (for ch :in-string spec)
+           (ecase ch
+             (#\F (setf rhi (avg rlo rhi)))
+             (#\B (setf rlo (avg rlo rhi)))
+             (#\L (setf chi (avg clo chi)))
+             (#\R (setf clo (avg clo chi))))
+    (returning (id rlo clo))))
+
+(defun find-missing-seat (ids)
+  (iterate (for id :in-vector ids)
+           (for pid :previous id)
+           (when (and pid (/= (1+ pid) id))
+             (return (1+ pid)))))
+
+(define-problem (2020 5) (data read-lines) (974 646)
+  (let ((ids (sort (map 'vector #'decode data) #'<)))
+    (values
+      (aref ids (1- (length ids)))
+      (find-missing-seat ids))))
+
+#; Scratch --------------------------------------------------------------------
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/2020/days/day-06.lisp	Wed Dec 01 20:54:23 2021 -0500
@@ -0,0 +1,16 @@
+(advent:defpackage* :advent/2020/06)
+(in-package :advent/2020/06)
+
+(defun yes-counts (group)
+  (let ((answers (mapcar (rcurry #'coerce 'list) group)))
+    (cons (length (reduce #'union answers))
+          (length (reduce #'intersection answers)))))
+
+(define-problem (2020 6) (data read-chunks) (7110 3628)
+  (let ((counts (mapcar #'yes-counts data)))
+    (values (summation counts :key #'car)
+            (summation counts :key #'cdr))))
+
+#; Scratch --------------------------------------------------------------------
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/2020/days/day-07.lisp	Wed Dec 01 20:54:23 2021 -0500
@@ -0,0 +1,48 @@
+(advent:defpackage* :advent/2020/07)
+(in-package :advent/2020/07)
+
+(defun parse-contained (string)
+  (ppcre:register-groups-bind (n color)
+      ("^(\\d+) (.+) bags?$" string)
+    (cons color (parse-integer n))))
+
+(defun parse-contents (string)
+  (if (string= "no other bags" string)
+    (list)
+    (mapcar #'parse-contained (str:split ", " string))))
+
+(defun parse-line (line)
+  (ppcre:register-groups-bind (container contents)
+      ("^(.+) bags contain (.+)[.]$" line)
+    (cons container (parse-contents contents))))
+
+(defun parse-data (stream)
+  ;; { container: { contained: n, … }, … }
+  (iterate (for line :in-stream stream :using #'read-line)
+           (for (container . contents) = (parse-line line))
+           (collect-hash (container (alexandria:alist-hash-table contents :test #'equal))
+                         :test #'equal)))
+
+(defun reachablep (rules goal start)
+  (astar :start start
+         :neighbors (lambda (state) (alexandria:hash-table-keys (gethash state rules)))
+         :goalp (curry #'equal goal)
+         :cost (constantly 1)
+         :heuristic (constantly 1)
+         :test #'equal))
+
+(defun count-required (rules start)
+  (recursively ((current start))
+    (1+ (iterate (for (child n) :in-hashtable (gethash current rules))
+                 (summing (* n (recur child)))))))
+
+
+(define-problem (2020 7) (rules parse-data) (192 12128)
+  (values (count-if (curry #'reachablep rules "shiny gold")
+                    (remove "shiny gold" (alexandria:hash-table-keys rules)
+                            :test #'string=))
+          (1- (count-required rules "shiny gold"))))
+
+#; Scratch --------------------------------------------------------------------
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/2020/days/day-08.lisp	Wed Dec 01 20:54:23 2021 -0500
@@ -0,0 +1,60 @@
+(advent:defpackage* :advent/2020/08)
+(in-package :advent/2020/08)
+
+(defun parse-line (line)
+  (ppcre:register-groups-bind ((#'ensure-keyword op) (#'parse-integer arg))
+      ("^(\\w+) ([-+]\\d+)$" line)
+    (cons op arg)))
+
+(defclass* console ()
+  (acc pc mem seen))
+
+(defun make-console (program)
+  (make-instance 'console
+    :mem program
+    :seen (make-array (length program))))
+
+(defun run-console (console)
+  (setf (acc console) 0
+        (pc console) 0)
+  (fill (seen console) nil)
+  (iterate
+    (with term = (length (mem console)))
+    (with seen = (seen console))
+    (for i = (pc console))
+    (cond ((= i term) (return :terminated))
+          ((aref seen i) (return :looped))
+          (t (setf (aref seen i) t)))
+    (for (op . arg) = (aref (mem console) i))
+    (incf (pc console))
+    (ecase op
+      (:nop)
+      (:acc (incf (acc console) arg))
+      (:jmp (incf (pc console) (1- arg))))))
+
+(defun part1 (program)
+  (let ((console (make-console program)))
+    (run-console console)
+    (acc console)))
+
+(defun part2 (program)
+  (let ((console (make-console program)))
+    (iterate (for inst :in-vector program)
+             (for op = (car inst))
+             (when (member op '(:nop :jmp))
+               (setf (car inst) (ecase op
+                                  (:nop :jmp)
+                                  (:jmp :nop)))
+               (when (eql :terminated (run-console console))
+                 (return-from part2 (acc console)))
+               (setf (car inst) op)))))
+
+(define-problem (2020 8) (data read-lines) (1217 501)
+  (let ((program (map 'vector #'parse-line data)))
+    (values (part1 program)
+            (part2 program))))
+
+
+#; Scratch --------------------------------------------------------------------
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/2020/days/day-09.lisp	Wed Dec 01 20:54:23 2021 -0500
@@ -0,0 +1,45 @@
+(advent:defpackage* :advent/2020/09)
+(in-package :advent/2020/09)
+
+(defun find-two-addends (numbers goal &key start end)
+  "Find two numbers that sum to goal."
+  (iterate
+    (for x :in-vector numbers :with-index i :from start :below end)
+    (iterate (for y :in-vector numbers :from (1+ i) :below end)
+             (when (= goal (+ x y))
+               (return-from find-two-addends (values x y))))))
+
+(defun find-invalid (numbers window-size)
+  "Find the first number that does not have valid addends in the window."
+  (iterate
+    (for n :in-vector numbers :from window-size)
+    (for (start end) :window window-size :on numbers)
+    (finding n :such-that (not (find-two-addends numbers n :start start :end end)))))
+
+(defun find-range-addends (numbers goal)
+  "Find a range of numbers that sum to goal."
+  (dotimes (start (length numbers))
+    (iterate
+      (for n :in-vector numbers :from start :with-index end)
+      (summing n :into total)
+      (cond
+        ((= total goal) (return-from find-range-addends (values start (1+ end))))
+        ((> total goal) (finish))))))
+
+(define-problem (2020 9) (data read-numbers) (1721308972 209694133)
+  (alexandria:coercef data 'vector)
+  (let* ((part1 (find-invalid data 25))
+         (part2 (multiple-value-bind (i j) (find-range-addends data part1)
+                  (+ (alexandria:extremum data #'< :start i :end j)
+                     (alexandria:extremum data #'> :start i :end j)))))
+    (values part1 part2)))
+
+
+#; Scratch --------------------------------------------------------------------
+
+(find-addends
+  #(35 20 15 25 47 40 62 55 65 95 102 117 150 182 127 219 299 277 309 576)
+  :goal 127
+  :start 9 :end 14)
+
+(run #(35 20 15 25 47 40 62 55 65 95 102 117 150 182 127 219 299 277 309 576))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/2020/days/day-10.lisp	Wed Dec 01 20:54:23 2021 -0500
@@ -0,0 +1,34 @@
+(advent:defpackage* :advent/2020/10)
+(in-package :advent/2020/10)
+
+(defun part1 (data)
+  (iterate
+    (for a :in-vector data)
+    (for b :in-vector data :from 1)
+    (for δ = (abs (- a b)))
+    (counting (= δ 1) :into δ₁)
+    (counting (= δ 3) :into δ₃)
+    (returning (* δ₁ δ₃))))
+
+(defun part2 (data)
+  (iterate
+    (with counts = (make-array (length data) :initial-element 1)) ; obvious dp
+    (for lo :in-vector data :from (- (length data) 2) :downto 0 :with-index i)
+    (setf (aref counts i)
+          (iterate (for hi :in-vector data :from (1+ i) :with-index j)
+                   (while (<= (- hi lo) 3))
+                   (summing (aref counts j))))
+    (returning (aref counts 0))))
+
+(define-problem (2020 10) (data read-numbers) ()
+  (setf data (_ data
+               (cons 0 _)
+               (cons (+ 3 (alexandria:extremum _ #'>)) _)
+               (coerce _ 'vector)
+               (sort _ #'<)))
+  (values (part1 data) (part2 data)))
+
+
+#; Scratch --------------------------------------------------------------------
+
+(run (list 16 10 15 5 1 11 7 19 6 12 4))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/2021/days/day-01.lisp	Wed Dec 01 20:54:23 2021 -0500
@@ -0,0 +1,19 @@
+(advent:defpackage* :advent/2021/01)
+(in-package :advent/2021/01)
+
+
+(define-problem (2021 1) (data read-numbers) (1754 1789)
+  (values
+    (iterate (for d :in (nthcdr 1 data))
+             (for p :in data)
+             (counting (> d p)))
+    ;; The window total is a red herring.  We only need to count when it
+    ;; increases, and only increases when the number you're adding is larger
+    ;; than the number you're subtracting.
+    (iterate (for d :in (nthcdr 3 data))
+             (for p :in data)
+             (counting (> d p)))))
+
+#; Scratch --------------------------------------------------------------------
+
+
--- a/src/utils.lisp	Mon Nov 29 23:19:14 2021 -0500
+++ b/src/utils.lisp	Wed Dec 01 20:54:23 2021 -0500
@@ -1,17 +1,11 @@
 (in-package :advent)
 
-;;;; Clipboard ----------------------------------------------------------------
-(defun sh (command &key (input "") output)
-  (uiop:run-program command
-                    :output (when output :string)
-                    :input (make-string-input-stream input)))
-
-(defun pbcopy (object)
-  (sh '("pbcopy") :input (aesthetic-string object))
-  (values))
-
-(defun pbpaste ()
-  (values (sh '("pbpaste") :output t)))
+;;;; Input ----------------------------------------------------------------
+(defun mkinput (year day)
+  (alexandria:write-string-into-file
+    (losh:pbpaste)
+    (format nil "data/~D/~2,'0D.txt" year day)
+    :if-exists :supersede))
 
 
 ;;;; Streams ------------------------------------------------------------------
@@ -183,6 +177,17 @@
            (when digit
              (collect digit))))
 
+(defun read-chunks (stream)
+  "Read double-newline separated lines into a list of lists of lines."
+  (iterate (with current = (list))
+           (for line = (read-line stream nil :eof))
+           (if (or (eql :eof line) (string= "" line))
+               (progn
+                 (collect current)
+                 (setf current (list)))
+               (push line current))
+           (until (eql :eof line))))
+
 
 ;;;; Rings --------------------------------------------------------------------
 (declaim (inline ring-prev ring-next ring-data))
@@ -428,6 +433,7 @@
         (+ point #c(-1 0))))
 
 
+
 (defgeneric emptyp (collection)
   (:documentation "Return whether `collection` is empty."))