aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatias Linares <matiaslina@gmail.com>2020-12-05 10:48:05 -0300
committerMatias Linares <matiaslina@gmail.com>2020-12-05 10:48:05 -0300
commit5fa17cd54a1170449a91da48a2fe88a99349daa2 (patch)
tree0391332b9c01645f1c0196ba00e9bcb949495426
downloadadvent-of-code-5fa17cd54a1170449a91da48a2fe88a99349daa2.tar.gz
Add 2020
-rw-r--r--2020/day1.raku32
-rw-r--r--2020/day1.txt200
-rw-r--r--2020/day2.raku67
-rw-r--r--2020/day2.txt1000
-rw-r--r--README.org1
5 files changed, 1300 insertions, 0 deletions
diff --git a/2020/day1.raku b/2020/day1.raku
new file mode 100644
index 0000000..b932fa5
--- /dev/null
+++ b/2020/day1.raku
@@ -0,0 +1,32 @@
+```
+#!/usr/bin/env raku
+use v6;
+
+sub find-entries(@lines, Int :$entries = 2) {
+ @lines.combinations($entries).first(*.sum == 2020)
+}
+
+sub total-multiplied(@lines, Int :$entries = 2) {
+ return [*] $_ with find-entries(@lines, :$entries);
+}
+
+multi sub MAIN(Str $filename where *.IO.f, :$entries = 2) {
+ say total-multiplied($filename.IO.lines, :$entries);
+}
+
+# Run tests with `raku --doc -c day1.raku`
+multi sub MAIN('test') {
+ use Test;
+ my @input = 1721, 979, 366, 299, 675, 1456;
+
+ subtest '1.a', {
+ is find-entries(@input), (1721, 299), 'find-entries';
+ is total-multiplied(@input), 514579, 'Example';
+ }
+ subtest '1.b', {
+ is find-entries(@input, :3entries), (979, 366, 675), 'Entries';
+ is total-multiplied(@input, :3entries), 241861950, 'Example';
+ }
+ done-testing;
+}
+```
diff --git a/2020/day1.txt b/2020/day1.txt
new file mode 100644
index 0000000..4ac5daa
--- /dev/null
+++ b/2020/day1.txt
@@ -0,0 +1,200 @@
+1313
+1968
+1334
+1566
+820
+1435
+1369
+1230
+1383
+1816
+1396
+1974
+1911
+1989
+1824
+1430
+1709
+1204
+1792
+1800
+1703
+2009
+1467
+1400
+1315
+1985
+1598
+1215
+1574
+1770
+1870
+1352
+1544
+1339
+188
+1347
+1986
+2003
+1538
+1839
+1688
+1350
+1191
+1961
+1578
+1946
+1548
+1975
+1745
+1631
+1390
+1811
+1586
+1409
+247
+1600
+1565
+1929
+1854
+1602
+1773
+1815
+1887
+1689
+1266
+1573
+1534
+1939
+1909
+1273
+1386
+1713
+1268
+1611
+1348
+1478
+1857
+1916
+1113
+936
+1603
+1716
+1875
+1855
+1834
+1701
+1279
+1346
+1503
+1797
+1287
+1447
+1475
+1950
+1614
+1261
+1442
+1299
+1465
+896
+1481
+1804
+1931
+1849
+1675
+1726
+355
+1485
+1343
+1697
+1735
+1858
+1205
+1345
+1281
+253
+1808
+1557
+1964
+1771
+1891
+1583
+1896
+1398
+1930
+1258
+1338
+1208
+1328
+1493
+1963
+1374
+1212
+1223
+1501
+2004
+1591
+1954
+115
+1972
+1814
+1643
+1270
+1349
+1297
+1399
+1969
+1237
+1228
+1379
+1779
+1765
+1427
+1464
+1247
+1967
+1577
+1719
+1559
+1274
+1879
+1504
+1732
+1277
+1758
+1721
+1936
+1605
+1358
+1505
+1411
+1823
+1576
+1682
+1439
+1901
+1940
+1760
+1414
+1193
+1900
+1990
+1781
+1801
+1239
+1729
+1360
+1780
+1848
+1468
+1484
+1280
+1278
+1851
+1903
+1894
+1731
+1451
+549
+1570
diff --git a/2020/day2.raku b/2020/day2.raku
new file mode 100644
index 0000000..f3952de
--- /dev/null
+++ b/2020/day2.raku
@@ -0,0 +1,67 @@
+use v6;
+
+#use Grammar::Tracer;
+#`{
+1-3 a: abcde
+1-3 b: cdefg
+2-9 c: ccccccccc
+}
+grammar Password {
+ token TOP { <lines>+ }
+ token lines { ^^ <constraints> ' ' <char> ': ' <password> \n }
+ token constraints { $<from> = [ \d+ ] '-' $<to> = [ \d+ ] }
+ token char { \w }
+ token password { <.alnum>+ }
+}
+
+class Part1Actions {
+ method TOP($/) { make $<lines>.grep(*.made.so).elems }
+ method lines($/) { make $<password>.comb($<char>).elems ∈ $<constraints>.made }
+ method constraints($/) { make $<from> .. $<to> }
+}
+
+class Part2Actions {
+ method TOP($/) { make $<lines>.grep(*.made.so).elems }
+ method lines($/) {
+ make
+ $.has-str($<password>.made, $<char>.made, $<constraints><from>.Int)
+ ?^
+ $.has-str($<password>.made, $<char>.made, $<constraints><to>.Int)
+ }
+ method password($/) { make $/.Str }
+ method char($/) { make $/.Str }
+ method has-str(Str $password, Str $char, Int $offset --> Bool) {
+ $password.substr-eq($char, $offset - 1)
+ }
+}
+
+multi sub MAIN('part1', $file) {
+ say Password.parse(slurp($file), actions => Part1Actions.new).made;
+}
+
+multi sub MAIN('part2', $file) {
+ say Password.parse(slurp($file), actions => Part2Actions.new).made;
+}
+
+
+multi sub MAIN('test') {
+ use Test;
+ my $input = q:to/END/;
+ 1-3 a: abcde
+ 1-3 b: cdefg
+ 2-9 c: ccccccccc
+ END
+ subtest 'Part1', {
+ my $g = Password.parse($input, actions => Part1Actions.new);
+ say $g<lines>[0].made;
+
+ is $g.made, 2, 'Example';
+ }
+
+ subtest 'Part2', {
+ my $g = Password.parse($input, actions => Part2Actions.new);
+ say $g<lines>[0].made;
+
+ is $g.made, 1, 'Example';
+ }
+}
diff --git a/2020/day2.txt b/2020/day2.txt
new file mode 100644
index 0000000..03eca38
--- /dev/null
+++ b/2020/day2.txt
@@ -0,0 +1,1000 @@
+8-9 n: nnnnnnnnn
+14-15 d: dzjgbdwdkdhdddh
+16-17 m: mmmmmmmmmxmmmmwmm
+7-17 d: pmgdhpqbqdhshgtjt
+1-2 b: mvmgzbmfbrcnr
+16-17 c: cccccccccccqcccgcc
+1-6 x: ctqxsh
+1-5 l: lllvw
+9-10 k: kkkkkkklrsnk
+7-9 g: xsgzggbglgtm
+3-4 b: brwb
+4-5 x: xdxlfx
+5-6 c: cccccc
+4-7 v: vvvvvdpx
+2-7 s: qwdngzbtsntgzmxz
+6-8 s: ssssssssssss
+2-3 t: tjcttt
+2-4 z: nbgfl
+11-12 z: gnjzwzwzzwcbhv
+4-5 v: tvkfvnvvvvcv
+1-3 h: hhbhh
+15-16 g: gggggggggggggggv
+6-9 t: ftjztttfnztv
+2-5 v: vxpmqvvzvnglvvv
+2-4 r: rsxq
+3-4 k: kxkk
+2-3 k: kkkk
+3-6 t: ktttztt
+1-2 v: zvcvv
+14-16 b: bbbbbbbbbbbbbrbb
+7-10 b: sgmbgmxbxnpjgpthcbr
+5-13 r: wmfmgmxxwgbrpllfqnjj
+3-4 t: ftcd
+2-3 z: szzf
+1-6 j: cxjjbj
+2-3 t: ttvt
+2-6 h: hhkszjhjjxhqhrhn
+3-4 s: ssns
+4-8 x: xcjmwxxxlrqxxfx
+3-10 g: ggvggggkgrggggggxg
+2-6 z: lzmhmvftsvcjfhfw
+9-14 x: xxxxxxxxhxxxxxxxxx
+8-16 d: dddddddddfdddddtd
+1-2 g: wrhg
+2-7 r: krjrxmrrvhzrprr
+11-18 v: vvwvdwslcxvtkzvvkr
+9-10 m: mmmxfmmmmmmmmmmz
+7-12 g: ggktlgggsqpgw
+6-8 t: tttttbtpz
+8-18 h: nfhhwkthhxhhcshhwh
+10-16 c: smnclksccmnmcmzcc
+14-15 f: nmndkphffnqmffj
+4-10 f: ffcwqvfffffvfg
+6-13 v: vvnvvcvxwxfvvvvvvvv
+1-4 k: qklkkkspwkxfk
+7-9 w: wwwwwwwwk
+9-10 c: ccccccccbpc
+11-14 r: qrxrjbbtrxrrrr
+2-5 j: wckjjdjjjzvhsqr
+10-12 x: xxxxxxxxxcxxx
+3-8 l: vnlslkhlwdd
+4-12 n: nxnfnqnnzmngnn
+4-5 z: zzgpzzc
+4-5 z: zgmtbz
+2-3 v: vkvv
+11-12 q: mqrqmlfqqqqlq
+6-14 g: lggzggfxggsggqggxg
+3-8 q: sqzqrbgvzp
+6-7 l: lllklll
+5-7 c: czrccvcclm
+11-17 r: rrwrrrrrrdrrrrrrbrrr
+2-4 x: xsxx
+3-9 l: llllllllwl
+3-19 c: ccccccccjccccvczcccc
+5-6 h: zhvhhhhghb
+1-3 t: ttttvttwt
+1-5 p: ppppppp
+3-4 g: ssvgr
+5-6 t: ndjbtttnmf
+14-16 f: fwptdqwwpztqhfnswts
+1-2 h: ffvmvbhmh
+2-3 f: gdrz
+1-2 l: slll
+3-5 w: zwwwrwwwwwwww
+1-3 w: fszt
+8-9 j: jjjjjjjjrj
+4-9 k: kkkskkkkkkk
+4-9 p: sppzppqpplpp
+2-9 s: ssvxrrjhs
+11-14 v: cvvvvvvvkvvvvvmv
+1-10 q: qqqcmqfjqs
+3-7 z: sgzzfzkzz
+5-8 w: wwwwhwrztw
+3-10 p: phbbmpzhpppspdfr
+2-8 c: cscpcccg
+2-4 r: rsvr
+14-16 h: hhhhhhhhhhhhhhhh
+1-13 j: jjjjjjjjhjxjxjjjj
+7-8 v: vvvvvvvvv
+4-8 r: vbhlmwrrvmkrwn
+3-4 c: ccdc
+3-5 h: hbjxx
+3-4 q: qqdqq
+10-14 k: dkkwnrkkhkwzhkkkk
+1-3 z: zzzzzzm
+3-7 t: tbtxfttvw
+6-18 n: qntgnnnztkhwtnjrnm
+4-5 g: gggrng
+2-7 c: bclzgcgq
+1-8 j: jbjjjjjj
+2-3 x: jxxfbtxskxc
+5-7 g: kgszqgcgxgqtppgb
+1-6 l: llllltll
+3-4 g: brgm
+12-16 x: xsxxxxqpxxvxmxjxxx
+6-7 k: kkkkkkk
+3-9 f: fftbvjfvfffstzfff
+14-15 r: khlwrfrcnrkddrh
+2-4 h: hwhqm
+4-5 z: zzzzd
+7-10 b: bbbbbbpbbt
+8-10 h: hhhhhhhdhn
+5-6 c: bccclt
+7-11 p: pppppppppppp
+4-6 r: rwrrrrrr
+9-17 m: mmmmmmmmmmmmmmmmmmm
+3-9 n: nnnfnnnnjnn
+3-4 q: rqqcq
+1-2 z: mbzz
+1-6 h: hhhhhs
+10-11 h: whhhrvtghhh
+5-6 g: ggggjz
+5-8 g: gggbgggvg
+15-16 v: vvvvvvvvvvvrvvtv
+5-7 q: qwrzqbllqqqrgkqnlsr
+2-4 c: ccccc
+7-14 p: spppxpppphblprm
+4-9 j: qzxlxdzsdlnlhw
+2-4 l: lzphl
+16-17 g: ggggggsgggggggxpqggs
+3-17 d: ddddddddddddldddcddd
+10-12 n: qtkgqxknvjnnsbnrwtp
+8-13 d: dddddddcddsdkdd
+7-16 v: wkntvjdvvwvfvnqvm
+2-5 w: vwhjw
+2-3 f: dmgff
+2-5 p: nklmmzp
+4-5 x: vxxxxd
+1-2 m: mmmqm
+9-12 r: rrrrrrrrqrrm
+6-9 r: ldvhvrjdkqhmr
+2-9 f: fmkffptffzdgk
+5-12 x: xxxxxxxxxxxbxxxxx
+3-4 w: bwwqgwt
+10-11 f: fffffffffhfff
+10-13 n: nnfnmnhnnnnnmn
+12-13 n: nnnnnnnnnnnnnn
+8-13 z: rzzfbzzdrzlkn
+13-14 p: qgkxppfppfjcnx
+3-4 z: bcxdctzg
+3-9 z: zznzwzzmffqxj
+1-2 n: nnnznr
+2-6 s: mtspsskswf
+2-15 g: ggggggggggggggqg
+3-8 x: tzxqfjrkpdgkxptbxm
+15-19 v: dvcvvvvvvvvvlvqvvvv
+4-9 r: dszrbrbzrwlfxpcrkn
+6-7 f: fffffsmf
+5-8 v: vdvvvvrv
+10-11 m: mmmmrmmmmmhmmm
+9-12 s: stwssszcsssr
+8-15 j: jjbjjjjjjjjjjhj
+6-8 v: vvvvvhvv
+1-7 w: ghxwddwwbfchvtff
+6-9 v: vvtxxrbqpvdvvv
+3-5 q: fqfqrskl
+15-17 k: kkkkzkkkkvbkkksrlkkk
+2-18 w: rtfwsrwcbpwtwjzmwwws
+5-7 f: pfshgsnff
+8-20 h: jkkhhhssfppkjqdfdhtp
+2-7 b: bblqbfhbbbb
+3-6 j: wjmjjxjj
+4-13 d: dfzdkqpddgchbhtgg
+4-7 x: xxxxtsn
+5-6 m: mmmmmmtm
+4-5 p: pkmppck
+1-14 j: jpjjwjjkjjmxkjwqj
+3-4 s: qxsfvs
+8-9 k: kkkwkzxrvkkkk
+13-15 r: qzrzrrbrxrcrzjpr
+1-4 l: lmvlj
+1-4 l: mrll
+11-15 w: wqwwwnwwwwtwwfwwjww
+8-9 g: fggzsggmggggccm
+2-5 f: vggqfcffxh
+2-4 c: cwcccr
+11-12 c: ccccccccccfc
+3-5 g: ggmggg
+10-11 l: llllllllrll
+5-6 v: wvdjvv
+6-7 p: ppppphkp
+7-10 c: tcccccnccjcccc
+8-10 m: mmmrmmlgmt
+3-14 j: ljsjjjjtjjjjjhj
+10-16 c: kcjcccccccccnvtccccc
+1-9 n: tnjnnnnnnnn
+3-7 h: mhdpxhhh
+15-16 c: ccccccgcccccccgcc
+6-8 t: tvkddtrt
+3-4 k: fkhjk
+9-11 v: bqmhnjvpvxr
+7-9 x: xxxxxxsxpx
+16-17 h: hgjzqhvqhsgcplwmhvth
+16-17 p: ppppppppppppppkqvp
+8-11 l: lllllzlbclslt
+4-18 k: kkkkkbkkkkkqkkkkkks
+1-8 b: cxbvpxbzbsz
+1-12 f: ffffffffffffffff
+13-19 d: ddddddddddddkddddddd
+9-11 v: mtvvvvvvhvgvv
+10-11 t: tttttttttdtttt
+5-9 g: gglgggpgdlgtcqg
+7-10 m: mzmmmmmmrn
+5-6 q: qqqqsq
+8-11 f: ffrcfbfnwffzfpxfbvf
+7-10 f: ffvfffxbpfffmjfqb
+2-3 r: rrrr
+6-7 x: bxxxxxgj
+3-5 j: jljndr
+4-14 q: qqqzqqqqqqpqqdqqqqqq
+3-6 n: nnnnntnnn
+15-16 g: ggggggggggggghggg
+13-16 x: jxxzqxvxfhxxvggxdqx
+4-6 f: zfxfkfhmsfgjf
+9-12 r: rrrrrrrrgrrnrrrrv
+3-7 w: wczsqxwdw
+9-12 k: hxgkkklkkkkwkkk
+1-4 s: sssns
+5-6 v: vvdvlv
+12-14 g: gsgggggggggggkgg
+5-16 r: rlkqflvvtfcdckfrn
+18-19 c: cfncccccccccccccclzc
+4-8 n: nbntnnnvnnnnnn
+3-6 l: jfpxllfrbll
+4-14 k: xphrkstmqmqhkw
+2-10 b: rrsrbbqvbr
+5-7 k: wkbgkkkqfkkkk
+5-6 k: kkkkkkk
+7-10 k: mqrsjkksskswqz
+11-14 x: kxxxxxcxxxnxpbdx
+2-15 h: hhhhhhhhhhhhhhh
+5-12 p: pppjpvgppppppppprv
+2-11 l: lzlllllllpdlll
+5-7 t: xwtzttvctqtpvbltpbtt
+2-18 k: ckhhplvxfrdqkbjhbkpp
+12-14 k: rkkqvkfngkkqjn
+3-7 n: mtxnkbnw
+3-11 z: zzzbzzzqzmzzczzzz
+3-4 m: mmmq
+2-7 s: ssssskcnssgnkzd
+3-4 g: rmgrggd
+2-3 h: grhrtpcch
+2-6 d: dddddddv
+3-7 g: jggggggggrfggggg
+5-6 v: ljztvvqrcsjdnlwv
+2-6 x: vxxtwk
+2-8 v: vvvvvvvvjv
+3-5 h: dwhwv
+2-7 n: ttxgbdbwnnnvnnx
+2-4 c: cctfcsb
+16-17 c: ccccccccgcxckccxccc
+5-6 x: xxxxxx
+2-6 p: pwndpfrpppppppppppkp
+1-4 h: zhhjlh
+2-5 p: prpxwppljppvwjtppkp
+2-6 j: bjjjjjjf
+16-20 p: pmppppbpppppppppsdpn
+1-3 b: bbbh
+8-11 k: nkxskkbkfjvcjkdcgrk
+7-12 c: cqcdcccgchnd
+5-7 m: mmmmmmmmmmmmmmm
+4-12 j: kjdjjvrjxsjw
+7-16 c: dfzcsdcdgrxvfkjzccmw
+1-12 m: mmmmmmmmmmmmmmmmzmm
+1-2 s: sssws
+1-5 x: xrtxs
+3-4 w: wvwv
+6-7 s: sssssss
+11-12 m: lbwtvjjmmggm
+16-17 l: llllllllllllwllht
+11-13 t: qtttttgtttttdmt
+2-5 r: ldgrf
+13-18 r: rrrrrrrrrrrrrrrprr
+12-19 l: lnfnhllrjgcllhjlczl
+6-7 c: clccccv
+9-14 b: shlfbcxhbbmbbzbg
+4-6 s: sjssvxdx
+11-12 v: vvvvjppqkvqv
+5-7 j: jjjjmjjjj
+8-11 l: dsldfrdvbll
+3-4 p: pkvmcps
+2-3 s: ssss
+8-11 j: txbxnpwqxjm
+4-6 d: drdvdd
+4-8 v: xgwkxvfq
+1-5 t: zttttttttqmtt
+5-8 c: ccjccccqc
+9-18 z: zzzzzzzzzzzzzzzmsgzz
+1-4 q: qqqkq
+10-11 w: wwwwwwwwwwww
+5-9 r: prtdrksjbmzmrq
+1-3 v: bvvnsmrdgxmnxjjv
+6-11 d: drnkdpvdvhfrfgzkn
+5-9 h: khhrhhhtvhtznhf
+1-3 g: gfpgn
+4-5 p: pppfg
+8-19 n: nnnnnnnrnnnnnnnnnnzn
+6-13 c: cztfcwpjcczsc
+3-4 r: rrrg
+4-6 t: tfjvtv
+4-7 g: nggggggg
+2-3 c: cmkc
+7-15 r: jrrrrrrrrrrrrrwtrrqr
+8-12 h: hjtpfjpbbzwhw
+7-8 d: jddddddd
+1-9 s: lsssssssmss
+18-19 m: mmmmmlmkmmtdwmmmmmh
+5-9 t: ttzstqtmt
+7-11 x: xxxwxxxxkxxxxgfxxx
+2-3 s: dssjzpsxjr
+3-4 g: gcgtg
+3-4 f: ffxff
+9-11 v: tvvvvvfslvvfvv
+1-7 n: nmlfmnz
+5-6 q: gqzqtqlq
+4-5 v: pvvvczdtwthvc
+1-3 z: zzrd
+6-7 b: sbbmbnbbrp
+3-7 l: lkllvqplww
+7-9 s: sssssssss
+1-8 g: gggkvggsgg
+5-6 n: nhnplpl
+2-9 g: vgnfzjfvjmmtgd
+1-4 d: dcddddddqdh
+1-9 z: zzzzzzzzzz
+8-10 q: wqhcwqdqqq
+7-18 z: tfrfdpwpphzplxfbnw
+7-10 f: rffnjdnffmfffrzfqgz
+6-7 p: pppppppp
+2-13 n: cndfbtxgqzmtnmq
+14-19 v: vvvbvvvvvpvvvsvvvvvv
+8-11 b: bbblbtwbbbbbb
+3-5 v: rfvvv
+15-17 n: snmnnnnnwnnnnnnnnnn
+4-12 q: sqqqhwnbqqxqbvfrk
+4-6 l: lllllvl
+17-18 c: cccccccccccccccccc
+1-12 t: gttttttxnttzttt
+16-17 t: kfmtctsqttztmsxtf
+7-14 f: ffffffcjffcfjfff
+5-19 b: jtvbbbrbbbjbcsbbvvb
+7-8 g: gggggggk
+2-4 w: dwvwww
+1-3 r: rrrrrrm
+7-8 q: qqcqqqqq
+6-9 m: tvglftcxmmnshcvscp
+3-6 m: cmgmmdmm
+6-9 k: kkkdkwzkgk
+2-15 w: bwqwwhpwvfpdwdvjwvk
+7-8 h: jdhhnhrdghh
+3-6 l: llxllpl
+4-11 q: ggrjmwhrqdc
+7-8 w: cwcwwwwwww
+5-6 s: sssssls
+6-9 w: rwjwjwwww
+1-8 c: ccncccccccccc
+2-4 b: xkbbf
+6-9 t: ttttttttrt
+14-15 h: hbhhhhhhhhhhhhw
+14-17 t: ttttgtttdttttttttt
+4-7 q: gqmqrqr
+9-11 j: tjjjsjwjglpjjjkjjg
+18-19 j: jjjjjjjjjjjjjjjjjjf
+15-17 p: ppppvhppppppppppp
+3-5 d: jlqcqdnprnddpd
+6-8 n: nnnnnnnn
+5-7 h: cwhhthhhv
+3-5 z: wqzmzpbjstzjpfww
+2-9 c: fkthkshccccczcph
+11-12 c: hcsscmqcdcgp
+8-9 t: tttttttkq
+3-4 m: tnmcvtljnpdphg
+11-19 l: wqjvlvzrgxlvrngwlktj
+6-14 s: dxzsssssmzgsmssss
+4-7 c: ccckjchc
+8-9 s: ssssssrslsm
+16-17 b: bxbbbbbbbbbbbbbbz
+3-12 p: mpnpplpkppmbp
+14-15 v: vvvvvvvvvvvvtvv
+5-6 d: kttkndlslhfg
+3-5 w: tlwwl
+3-4 n: wnhn
+13-14 r: zrbmrrrrrrrrmrrr
+3-5 f: fzwgrmzpkcfqkftmz
+5-6 s: ssssss
+5-7 h: wxpzhhzgwhdxqhmhw
+8-12 j: djsgjqjjjjjdj
+13-15 h: hhhrhhlhhpjhhhr
+6-7 v: vwvmvhw
+1-9 k: dmwkkkkzk
+1-2 g: ggtkbgvgtvggx
+10-18 r: rrrrrrrrpkhrrrrrrxrs
+5-10 n: nxbslftnwpnn
+4-5 d: ddhdd
+12-15 l: lllllllllllllhlll
+2-3 m: mmmmmmmmmmmmmmm
+1-8 s: ssshsspm
+3-5 b: nblhbdbbb
+2-4 t: qtjtctndq
+2-14 v: vcvkvvttxvkvpvhvvd
+12-16 g: gqckxjtggwzgtlqrtjkf
+3-10 s: ssvssssrsssbss
+2-4 n: knln
+4-10 f: xfqlfffbflm
+1-3 s: mssshjgshpfrssrss
+4-5 t: nttbj
+2-13 w: lwqwmwhthzrtwkgp
+1-3 r: jrnqb
+3-13 k: khkkkvkkfkkqkkhfwzf
+4-8 g: gggwgggg
+3-4 g: wgjgxhngdt
+7-9 k: mgshkgnhkpkjsmkvjp
+7-9 d: gdjrfqndcdhddmdhdd
+17-18 g: gnggggggggggggggng
+14-15 g: ggrgggggggggggg
+2-7 x: sxpwxddpxnxtxft
+5-6 r: grdvrrrrrwrrrrrgvq
+4-5 f: ffffff
+8-9 f: fffxffzgff
+12-15 f: dfffffffpffgffjlfmvf
+10-14 l: dlflltmllplljllvlzll
+1-2 j: jtnftndqklxzj
+1-5 d: ddjwrdddddddhdddddz
+13-14 j: lgztjqgjfbjfxff
+5-7 k: kkklqkz
+15-18 m: hwvmmpmmpqwsmrwmmmsm
+5-6 h: hlvhhhqhlh
+2-4 j: jjldjjjx
+10-11 f: ffffffffffffff
+15-16 t: ttttttttttttmtjttt
+3-4 v: vvvv
+8-9 n: nndhnclnnnnnrwnn
+5-6 r: rxrrrrfrr
+4-18 p: vwmppgpzltpplvwvpg
+9-10 z: fzzzzzzzrzzz
+4-6 n: nnbnvnnn
+10-11 x: xxgxxxwxxfrwk
+3-14 v: tqvvvjvdvvvzkvvvvv
+11-13 z: zzmzzzzhrzrzzzzzp
+5-6 s: ssgwsvssqs
+2-5 z: zbzfzzds
+2-5 s: sssss
+1-18 r: rrrrlrrrrrgrrrrgrr
+2-3 v: vgvvvvv
+3-13 c: qdcvfvkjtczgb
+3-9 h: hvhhhhhshh
+12-13 x: xdxxxxxxxxxxxx
+3-17 q: qqqqqqqqqqqqqqqqcq
+12-14 q: khnjqkkxlzpqhqj
+14-17 t: tttttttttttttsttpt
+15-16 d: kwpdfkbhcdhkwsdh
+2-15 m: fmdvntdqklcvmhmqjl
+5-7 q: qqqqvqnqqq
+3-4 j: mnjjj
+4-15 f: lfbffxfpffsfbdfhpfs
+8-9 s: sssssssgr
+12-14 b: bbbbbbbbbrsbbnbb
+2-3 x: xbxpvc
+10-14 v: vvvvvvvvvvvvvx
+6-13 f: kfvfcfffvfhdn
+4-16 k: gnzkfdkmrjvwdjgkf
+2-5 l: lljll
+2-4 r: dprr
+1-20 v: vvvvvhvvvvvvvvvvvvvc
+1-2 l: mlzljlvllkpzll
+4-13 r: kbzrzdrmdvfcl
+6-7 v: vvpvvzvv
+6-16 h: dxfwghscmjgfqmmf
+6-9 h: hhthhfhhdh
+6-10 j: bvqrjjjfdtjjjjj
+4-7 k: gklkcrvvkk
+2-8 k: ndtdhjpb
+13-15 f: ffffffffffffffb
+6-7 m: mmmmmmzm
+2-15 g: xbgxgfgftvgvgmcgnxc
+4-8 q: xkrqvqqq
+4-9 v: vvvvvvvtbv
+8-16 w: wwwxwxwbbwwwtdww
+8-11 h: hdhhhhhcght
+3-4 f: ffsb
+12-13 h: hhhhghhhdmpfhh
+6-7 f: ffdmgfh
+1-2 c: pcsc
+4-6 q: lkzqqmqqq
+3-4 b: bbjg
+3-6 f: lmbzffl
+10-15 p: prxpdpwqpwplpppp
+10-12 p: pppppppppppfp
+7-8 m: mmmmmmmjmq
+5-8 j: jjjfjbjtjj
+8-10 t: tttttttmtm
+5-11 k: kkkrhkkkkkk
+2-3 c: jcccwcbwfrckb
+3-10 n: qnnnnnfnnknnnnfnxn
+12-13 h: hhhhhhhhhhlhh
+9-10 s: smspmjsssss
+6-7 d: dddddmdnd
+9-10 g: kpnbgstjjgtbhk
+9-13 s: ssssssmshsbsxss
+1-2 s: lsfsss
+8-9 n: nnnnngnnn
+9-10 s: sssfssnssssjs
+6-8 m: mmxmmmmmm
+4-6 x: xtxjxx
+8-11 r: qrqkrwbfjln
+9-10 h: hfhhhhhhvq
+6-10 k: kpkpkjkkkvk
+7-10 b: bbbbhbkmmgbvk
+8-10 k: kkkkkkkkplvmmk
+1-2 r: rrwr
+2-5 d: tdddrddgq
+7-9 j: jjjjjjjjfj
+15-17 m: mmmmmmmmmmmmmmmmj
+5-6 v: vvcvvvfwjvvtn
+14-18 t: kznfxrrtfcdntttjrt
+3-4 c: cjdcc
+17-19 q: qqqqqqqqqqqqqqqqfqh
+4-5 k: fzvkk
+3-7 p: pgppppppppfpp
+10-11 k: kkkkkkvkkkz
+6-7 t: tttjcttt
+2-4 w: kwlcwbgfwwtqpngnb
+4-5 q: kqqvlq
+16-17 q: qqqqsbqqqqqqqqqbqq
+19-20 q: lndjjddqcqkcjztwfxvw
+4-6 p: pppmdccpp
+13-15 x: xxxxxxxxxxxxhxw
+1-9 d: lmdsdfbjpkmh
+8-15 v: vthvwvjvcvvqvvhmvs
+6-7 r: qxrrrrpr
+3-6 n: cxzxnn
+9-11 l: lllbhllhllbll
+5-9 d: nbsqdctdkp
+1-10 l: lllllllllflllllll
+1-5 f: cdsfqzwfnjkhdj
+2-5 m: clmgsmmdz
+1-6 g: cbqgngzvjpxjbwnlprq
+6-8 l: bfxrllllllw
+6-9 v: qtcxqvmvvdptxvv
+3-4 p: fjqx
+5-8 t: tpnttxtlt
+5-6 p: pppppf
+12-13 q: qqqlqqqqqqqqw
+5-6 g: hgggvx
+1-2 x: qxxx
+6-8 n: nkjnnpnnn
+6-8 j: jjjjjjjfjjjjjjjj
+4-5 s: sbsjm
+2-6 m: lmtmlm
+3-6 c: bzvhcccncz
+3-5 l: lllglnlmpl
+2-9 p: hpbwppwdrlpfwbdkmj
+7-10 l: tlzwhnlrkrc
+4-6 m: xmmmqdmcl
+1-6 d: jkdmmd
+5-7 c: cjqlhcdcc
+4-10 z: xgtznmnznkzvz
+13-15 z: zzzzzzzchzzzqzzzz
+2-5 q: qhvqqz
+1-9 l: nlllllllzlllllllll
+4-5 q: qqqzh
+5-7 t: ttpttdt
+3-11 l: lmnxlthlmlzksggzll
+2-5 q: qprnq
+16-18 b: bbbbbbbbbbbhbbbtbgn
+3-4 l: rlhl
+8-9 n: nwdfntdnsnmzkqthl
+6-8 h: hhhhhthv
+1-2 x: xcxp
+7-11 t: nttttctzxmtt
+2-4 b: ksvb
+17-18 d: dddddddddddddddpqd
+3-5 x: lprxzdhxxvz
+7-8 z: zgzzzzlzz
+2-3 p: rcpxw
+11-17 k: qkkkkkkkthkkkkkmkkk
+4-6 s: ssrssswxsssmsk
+5-8 d: ddddddddddd
+5-17 v: vvtvvvtvdvvvvvvvmcw
+3-8 r: rhvfrfcr
+12-15 z: zzzzzzzzzzzpzzpzz
+7-8 p: jppppvpp
+13-18 d: dvdnddddddddgddsdd
+10-11 q: hqnqvdpqdqqkq
+2-4 x: jcxxl
+6-7 q: qqfhfqjqr
+10-11 w: kwpwwhwnwwwwwww
+3-17 d: dddddddkddhdddddd
+4-6 s: ssnhswswlsc
+14-17 j: jhjjjrzjjmjfpzjjjjj
+1-9 z: ztzhzwzzkdzzr
+7-14 s: dcspnghrssxsss
+5-12 w: ctbvvxzwbwgqw
+7-9 k: kwkkqkkkgkm
+11-15 l: gllclqplllrlnlpzllc
+15-16 p: hpbpppppjpppppppppp
+3-5 k: cklnfv
+5-7 t: jczctqm
+14-17 j: jjjjjhjjjjjjjsjjjj
+9-10 g: gsknxggrgblfprf
+5-6 m: zjmmqrflmfpmswcvvmtl
+8-9 d: dxdddddds
+16-20 w: wwwwwwwwwwwwwwwdwwww
+5-7 s: ssssnsbs
+5-8 z: bzbgzvzz
+2-5 b: wbpkbbnkhcndh
+11-13 r: rrrrrrrrrrkrsr
+12-17 c: ksffzpccccspsqvjc
+2-20 v: vvvtvjvjvvvvvvvvstvv
+3-4 z: tzszjqzz
+3-12 x: scpxgxqrtxxpjxn
+13-16 w: wwwwnwjnzwwwwwwwwwwr
+9-12 l: zxlrflvclgck
+2-8 s: klsnwsdzbss
+5-9 s: ssssssssns
+1-9 q: fqqqqqqqqqqqqqqq
+15-17 n: jknfnsvntjqglbnxn
+15-16 h: gbpdwhhhhlthrjhh
+5-7 w: cjwgkxdwwxl
+1-5 j: jmnczjrlqchdwpthbjst
+6-8 v: vvvfxkvvvv
+5-8 g: ggbgqggmhg
+3-15 v: vxvvfzvvwcxvjvvqvvq
+6-14 h: drppknzrchcjhh
+2-3 n: dgntnq
+9-14 s: ssssssssxmsssxssssss
+2-4 j: wjrdcjz
+5-12 n: dntnnvbfjnznn
+3-4 z: zzmnzbsrt
+6-9 n: kngngnnbcnhp
+6-13 k: tmsskkjkkvtksnm
+2-4 w: rwhf
+6-7 p: ppppppwdpvp
+2-8 r: prqvprbrvrsjxm
+1-8 f: gffffffff
+6-8 b: lbmtblbptbxfdqb
+4-10 r: rrsrrrnrrbmrngrk
+10-17 b: bbbbbbbbbmbbbbjbhbb
+2-13 v: tmvqcvvwvvqvzvdx
+13-19 d: hrtlzplwdkshdbsjmsd
+6-13 w: wwwwwwwwwwwwdw
+14-16 q: hlkhpvdqrkhkqlhhlg
+7-8 m: mmmmmmmx
+11-12 p: pppfnpqppppp
+4-5 k: kkclzkfk
+8-9 k: krkkdkkkk
+15-16 w: wwxwwwcwwwwwwwjw
+12-16 w: wwwtmwnwqdwvjpwzwwz
+5-9 d: wdddrdddrdkdkddd
+5-6 p: qppbpvp
+1-7 t: fgznlbtgwtnrlhgf
+4-10 j: jjjjjjjjjljjj
+3-6 z: spgznzcz
+11-12 h: xhhhkfhhhhmh
+3-12 g: ckgvgbrgcqrggggt
+1-6 k: kkkkkjk
+2-3 j: qzbf
+3-4 r: rrlprrrrrrrrdrrrrr
+13-19 l: llllllpllllllllllll
+6-10 x: xxxxxjxxxxnx
+2-12 f: jffffbffqftf
+5-8 b: wbgbgbsb
+4-8 t: jflltrxfgttqvrgt
+2-5 z: fzzzszcwzz
+3-6 w: whwwbnw
+12-15 n: nndnnsnnnttnnnnnnn
+4-9 c: mcsstwccc
+3-4 q: dxwq
+6-11 v: swmrlccvxzdrffvvwj
+10-11 x: xxmxxxxxxmx
+1-2 k: fkqk
+15-16 d: nlnzddfrjqvdjwddmw
+2-6 k: ldkdmnmcp
+1-11 p: fptzpgpzfhp
+12-14 b: bbbbbbbbbbtbbx
+6-12 w: wwwpbwwmxwxz
+1-4 r: mrrrrrr
+13-18 w: wwrwgwrlwwwwwwwwwlw
+16-19 z: szzzjzzmzzzzzzzzzzsc
+2-7 v: qvvcsvd
+7-10 s: mtskmnvnlcgsb
+6-7 q: mkdqqqq
+3-5 x: xwxmx
+7-9 q: qsqjfqcqwnq
+1-4 r: crcb
+14-18 k: lfwklgqjzgxfpkpkfqr
+9-14 j: jjjjjrjzjjjjjfj
+5-6 x: xxxxxxh
+1-17 z: gvczzzzqdqzzzzzmwkzd
+11-14 k: dkkklkkpkkkktkkkkkk
+9-12 j: jjjjjjjjqjjv
+2-6 d: dthddmddd
+4-5 v: qvfjfvvdlszqxvbl
+4-5 n: nnndn
+7-8 c: wqnmpcwf
+1-10 c: cvgmnkcssrhqccmddgh
+8-9 m: lmmtmxmsm
+3-6 v: qvvnqvvrfhv
+6-7 x: vxxxxmkjxxxxxxxxxxx
+5-14 x: qxjgbxxxxprxxn
+13-14 p: dphsqvhrfsbpqpp
+3-5 r: trvrrxrrr
+2-5 f: fffff
+2-6 w: whwdwnwt
+2-3 x: wxcsxx
+10-14 p: pswtzbkslpqppph
+3-5 l: zllllx
+9-11 g: ggggggggggxgg
+4-6 h: fvhhfhhfjqffhhhwx
+7-8 t: wttttttf
+11-14 q: qqqqvqqxzcqpqhqkpqtf
+5-9 b: bsrbbbxkm
+13-15 t: tttttkwtttttgttwt
+4-7 c: czccvxtc
+9-10 n: nwnnnnnnnn
+3-5 f: ffdtf
+13-14 h: hhzhhhhhhhzhphh
+9-11 g: kgsfsnhsggglgsp
+5-6 s: hbxpnsssvx
+10-11 t: ltsrtmvmkgm
+12-18 k: xlwkkkkktkkkbkkrjxkk
+5-7 l: lnllwlw
+16-17 k: kkkkkkklkpkkkkkknkk
+11-12 t: ttttttttttttt
+11-13 v: vvvvvvvgvvvvvvv
+10-14 d: ddvddjdddkdddd
+3-4 r: nrdrhnr
+1-4 q: pqqxcsws
+5-6 p: ppppjpp
+14-15 b: bmbflqmbzhkbqvb
+9-11 t: ttntttttnpt
+15-16 l: llsllldflhblwlllf
+5-10 w: swwwwnwncwtfrpnw
+6-7 j: jjjjjthb
+2-4 d: ddhdzfdddlp
+2-9 q: jqqqqbqqqzq
+19-20 b: bbbgbdbkbbhbsdpbbtbh
+7-9 v: hvvvxvvvv
+6-7 l: gsbslll
+2-6 p: pzpppwpppppppppp
+10-11 g: kmkngxnnrfh
+1-11 v: rvdvvvvvvvv
+2-4 n: nhndnnnnqn
+12-13 q: qqqqqqqqqqqqm
+7-9 s: ssssxsnsssss
+2-15 t: ftntkfmqxzxggcfwb
+1-7 v: vvwvvvqdvv
+6-14 s: sbsssdssssssfqsss
+3-8 w: vwwqwwww
+6-10 z: zzzzzzczkzzz
+5-8 b: bbvdmxqbbbbbbbbdv
+4-8 s: stvsssszcswszs
+12-13 x: xxxxxxxxxxxxxx
+5-15 d: ngzjdxddjddxvbwzbd
+1-10 s: ssssssssss
+10-14 r: rnhrrrrrrrznrrr
+1-7 z: nvzzzcvzzmzhnprzkz
+2-9 w: zfmxnmltsbxpfsh
+13-14 l: lllllblllllldgl
+3-9 b: dbbrkmmfsmhblqb
+1-6 t: tjmrctqggzdgtz
+1-14 m: bmmmmmmmmmmmmmmmmmm
+3-4 b: mwbndzbjp
+9-11 n: nnnnnnccmnb
+5-11 b: kpcbqbbbcmbkb
+3-6 j: wpjjspjw
+6-12 p: pppppppppppdppp
+1-4 c: rccc
+3-9 l: llllxllbllll
+6-14 w: tlpcwxwwwzbtwd
+3-4 q: qqqg
+3-5 x: htxcvqkwx
+15-17 r: rrrrrrrrrwxrrrrrr
+8-10 k: kkkkkrkwkkw
+3-4 s: jjwhksqrbxs
+3-4 g: gvggg
+11-13 t: tjgttvtdtbttttttqttr
+5-6 j: jjjjmjjj
+9-13 f: fffffffflffff
+13-14 z: ccbzvzwmzpzzmz
+6-7 b: bbjtbbbbbb
+3-5 k: pkknmv
+3-4 w: wmchw
+4-7 b: bbbgbbbbb
+10-13 q: qrqqqvxbplqqxqqqmqq
+1-8 b: rbbbbbbjbbbcqbb
+7-17 q: xqqqqqqqqqqqqqqtq
+4-6 k: kqkkbbg
+6-14 l: lglhbvslmhqjnw
+4-6 w: pwwxxn
+12-16 q: tvtqvcchgtmqqznb
+8-14 q: hkthhbpjvkpxgq
+11-13 m: smmffkhhkrmwnbwrs
+8-11 d: dddddddddddd
+4-6 m: lmdmmkwmmmfbs
+12-20 w: wwwwwwwwwwwbwwwwwwsb
+5-7 m: mrnhmplhwczr
+7-11 p: pppppdbpppvpc
+4-10 p: zpwsppfppj
+3-12 d: dddddpfddrdln
+8-9 g: chfcgzfgg
+5-6 g: gggghg
+7-8 q: hqqqxqqqqqqqqqg
+4-10 c: cdtpvcccvd
+7-8 s: sqwtsxsssss
+5-11 v: pcvvrvxvvnpjn
+4-6 z: hzmnzg
+4-6 b: bslbbbxbbwml
+16-18 z: zzzzzzzzzzzzzzzzzg
+1-3 h: hhkh
+2-4 r: wrtrb
+5-6 d: ddddpd
+4-7 k: kkkkkkkkkxk
+8-13 k: pkkkkkkkkkgkkd
+8-13 p: lpxppxpbpgppzppmppp
+3-9 m: mmmmmmmmmmmmmm
+6-7 h: cpmmhcttgx
+11-15 b: bbbbbbqbpkfbbzh
+4-7 j: jjqvjjj
+6-8 c: gwrfrslcsqmcttzcl
+11-13 r: mrrrrrpgrrnrrrr
+3-8 q: tqqqqqqz
+2-4 f: mtsxj
+1-17 g: cgggggsgggdgcgrxg
+1-9 m: mhgqjqxjnpmmmgnmfpm
+2-4 g: rggbc
+2-4 w: wgfw
+7-9 d: qdmddddddmxdd
+12-13 t: ttmjznwtwtttz
+11-12 b: kjbkbgdbwbmcb
+4-5 h: mhvhh
+4-6 t: ttvttttt
+9-12 r: zwlljhfrrfrr
+3-4 j: jjjj
+2-7 v: vvvvvvmvv
+9-19 n: nnnnnnnnmnnnnnnnnnqn
+1-3 q: qfflx
+8-10 k: kkkkkkknkk
+4-9 k: kvrspqfkkqj
+14-15 b: bbbbbbbbbbbbbbbb
+3-8 d: qrdsfdwd
+5-8 j: jjxmrtjjjjkpnnjt
+14-15 f: fnlnbzqffrrnffgf
+1-4 f: fnff
+4-5 x: xxxtx
+5-6 q: qtqqlmqqq
+14-15 f: fflffdfffffffkjfff
+1-5 k: kkqkvkk
+5-9 b: nbjtwbbgw
+13-19 v: ssjjggrvrnbpvjlggsf
+8-10 x: xxxxmxxxxx
+4-5 d: vdwhtcsc
+1-7 l: zlllllglll
+2-5 d: drjpdwrlnpfqqrnlh
+12-13 p: fthsszdpjcqxd
+14-17 z: zzczzzzzzzzzzzzznzz
+6-11 m: hhcsqmvmfgmkmbm
+7-8 m: hmmmmmcmm
+6-7 l: lllllgl
+5-10 t: tttktdzttlcttv
+6-12 m: nmmmpmmmxtmmjmxm
+4-5 q: qnqnnqqqqqqq
+1-4 c: zkpcc
+5-6 n: nbphjnfn
+6-7 f: ffffxqrf
+1-6 g: lgggggggg
+5-11 p: mbfpppplhdp
+5-8 z: jzvzzkzm
+5-7 l: llllllll
+5-14 x: gvjvwmhxtzpsfxb
+4-13 x: tvlfjxmpfrmqmkhrdlbl
+8-11 b: nbbbbrcbbbb
+8-10 w: ccccwwgwwwwl
+2-13 p: wwwxrsfztddwplfpqx
+17-18 c: ccccccccvccccccccj
+11-13 d: dphdtwhqwdhmx
+15-17 c: ccccccccwcccccccdc
+3-4 d: ggjv
+3-4 b: bbqbbqbx
+2-3 g: qggg
+10-18 w: wpbbfmdzhsnbcdxqrh
+13-20 v: vpvvvvvvrvvvvsvvvvxv
+16-17 w: vwwqhwwwfhwgdkhfw
+16-19 b: bbbbbbbbbzpbbkbkbbjb
+11-16 x: hczxsbkhxfbtxvzx
+10-17 b: bbbbbbbbbsbbbbbbvbb
+2-3 p: pppxsznnn
+2-7 g: ggggsgggl
+15-17 t: tttttttthttttttttttt
+7-17 f: fffsfftfffffffffffqf
+3-7 k: gpfmqbkqmkkkrpkpk
+4-7 j: xpbgxjw
+14-15 f: ffffftknfklfdff
+1-4 k: pkkslkkkkk
+4-7 w: czbwgqtpwztxwwbwmqf
+1-5 n: tnnnnn
+1-5 q: qdqtq
+10-15 c: fccqccrkcccczcmcc
+9-14 h: hhbbhhhhdhhhhhdhhh
+2-6 f: fsbfdcvffhffm
+12-15 h: jhhhhhhhhhhhhhs
+9-11 p: ppppppppppbp
+15-16 d: txdbddddjdsdbrvddddp
+5-6 w: wqkwrv
+2-4 z: zzjnsjspkgdkmvvlh
+13-14 z: zzbzzzzzzzkzzzz
+9-10 v: vvvvvvvvvcv
+13-15 g: gggggggggpqgtgv
+1-17 j: bjjjjjjgjjjjjjjjjjj
+5-7 x: dpsxxxx
+17-20 d: ddvxddtdhdrddjddnddd
+5-6 f: ffxffp
+12-14 w: wwwwwgwwwwwwwq
+8-13 t: rnthvkbtnxvltsjn
+4-5 q: qqqdq
+4-12 s: ssssssssssszs
+3-4 s: sssw
+2-5 x: kzxwxqljv
+1-3 x: rhxxdxxxdg
+11-12 t: tthtstttgztrt
+1-4 n: qzdnkpkrzgxdztdcfn
+12-15 g: fgdzsqwkfdhrbsjz
+1-3 g: kggg
+6-9 c: hcwcccpcccwcck
+8-9 r: rqrlrggwrrjfzgkmrq
+4-5 r: ghzlrrrgs
+9-11 g: ggggggdggggr
+12-14 f: fffffffffffcffffff
+3-7 z: mgzmpjz
+1-6 h: hhzzbm
+18-19 g: ggfhhvggffkqfgjnggg
+1-8 p: ppppppphwppwr
+13-15 l: qmjnjfnnlmbqgllwhk
+5-13 z: zgpwzhwnmptrzrq
+3-4 v: xnvnqjjrvvlgv
+14-15 p: pppgpphppppppwpnrpr
+9-13 h: hxfhhshbqhnhhp
+5-6 w: wkvqbtbtfmsbwkwwhdwb
+1-3 x: shxxx
+1-2 v: vhvt
+5-8 c: zdrlnhcctcpccsntl
+12-19 x: xxxxppxxxmfglxfxmxg
+3-4 v: vfqwq
+8-9 f: fffffffxx
+11-14 l: lslvlnbsjlbllmqllfl
+3-9 j: njhfczjmmn
+3-5 q: scqrdqq
+2-16 q: tvgkgqqcpqmpjkqqqqqb
+11-13 q: vdrmqfqqqqqqdjqq
+3-8 j: jftcskds
+10-11 j: ljjwfjtxqjh
+7-16 z: zqtcldzxqmzmgzbz
+6-14 v: vvvvvvvvvjvvvvv
+1-13 q: qdrqgpcqzbpqftws
+6-8 d: mdgddbtdddzd
+1-6 g: gggjgggggg
+1-4 d: djddbhddkdtkvt
+11-12 l: lllllllllllll
+1-9 g: gggggnvgm
+7-17 v: vvvvvvxvvvvvvvvvv
+7-11 m: mmmmmmmmmmh
+2-4 m: cmfmcpm
+4-5 m: mmmmjm
+6-9 q: qzcqxbvqfk
+1-2 s: ssnssms
+2-4 m: xmmz
+15-18 h: rtzvhbrpsrbhxqchbz
+5-6 w: jwwwwnwt
+4-5 m: jmrmwfqmrmtgmm
+8-11 p: pkpjpmpppxzpp
+1-7 s: sssspssszss
+3-6 l: lclllllknlm
+1-2 p: pwrwlc
+7-9 s: ssssssxhfss
+5-9 l: llllllllflllgl
+12-19 n: clkznzskfvxngwnnclpx
+14-18 n: nnnnnxnnnnnnnnnnngnn
+1-8 m: vwbpmmsxmvbwsggqgxd
+10-11 q: nqqqqgqfqpf
+4-15 b: fctbwzqnwbnvqbqlb
diff --git a/README.org b/README.org
new file mode 100644
index 0000000..721ad68
--- /dev/null
+++ b/README.org
@@ -0,0 +1 @@
+* Solutions for the advent of code