--- /dev/null
+1-13 r: gqdrspndrpsrjfjx
+5-16 j: jjjjkjjzjjjjjfjzjjj
+14-16 r: rrrnrrrrrcnrgxrr
+1-3 k: bkktwhgktv
+3-5 q: dxqqqzmqvs
+11-14 s: sssssssssssssv
+1-3 d: cdzdq
+13-16 q: scdqpdgpkvbwwqbv
+9-10 d: ddrdddlddd
+15-17 v: jvvvvvvgcvvvvrcvnv
+2-3 s: xssx
+8-15 j: jwjjjjkhjjjltjmjjjr
+7-15 m: wqspfmtpjftmplwp
+1-11 s: swdgzhgsxtssndzfm
+3-4 b: bgjrg
+1-12 x: jxgxxxpjwpsht
+5-15 x: xxjxwshpxjxxxxsnxvz
+4-11 r: bjnrpswfprrng
+12-14 j: wjjzmwnmmvzsjhnnkj
+3-4 d: dddv
+2-4 b: bfxx
+15-16 r: rrrrrrrrrrrlrrphrr
+6-11 j: jsljjjjjjjj
+6-7 m: mpttcmmmmng
+6-7 g: gsggggg
+2-10 b: nbtbqbbfpb
+4-6 h: hhqhrzkcrhh
+13-14 b: bbbbbbbbbbnbbbb
+5-6 g: gggggg
+5-6 x: rsxvxx
+3-6 q: wxqzqqqtzsq
+1-2 h: sjhj
+6-18 t: jtptcwtbfgffpkdwthbf
+5-9 w: wwwwcwwww
+15-16 g: wqdwztbmrqdmgmvc
+8-15 t: ttttgztvtttnttb
+9-11 r: rrvrrrrnhrzr
+8-9 l: lllllllqwl
+10-11 h: hhhhhhhhhhd
+3-5 g: gggrwqc
+5-12 f: ffcdxfglcffsf
+6-7 f: fffffzk
+3-5 b: btbbbb
+2-8 z: wblnvfzzwzzbchx
+13-14 r: rrrrrfrrrrrrlf
+2-9 r: wgbmfvksl
+5-12 m: xrmmfhmqdhmmvhvrzmwq
+3-4 j: jwpd
+6-8 v: mvfwgskpxgvcsr
+1-3 c: ctpr
+2-8 d: dzdfsddd
+10-14 c: ccccczcccccqlchvclcc
+2-8 s: sscwcfssssssdt
+2-11 l: xlsslrlclfls
+7-8 r: rrrjrrrrtdcr
+7-9 z: zzzzzzzpzz
+12-14 r: rrrrrrrrrrrprrr
+13-14 g: hdczwngvjtgmhn
+1-7 q: qqdqqqqvq
+5-6 q: qqqqql
+11-16 p: wgwrzltpskwgxprm
+4-12 d: dvddddddwddz
+15-16 q: qqqqqqqqqqqqqqqqq
+1-5 m: mmrjmmqsjkm
+13-14 m: mlmxmmmdmgmmmw
+4-5 q: qcqvmhqdq
+2-3 m: brdzbfzj
+3-4 s: snshj
+5-9 k: kzpkkbkvqjktrk
+12-13 t: fltttttttjtpstttt
+7-8 c: kcccfccccxtcc
+2-6 q: nnjqqd
+2-9 n: msnvnrxgldqnxnngsn
+2-4 c: scccwp
+12-13 c: ccbccqdcccfcvdccc
+6-7 f: fmdffffxcbbpffl
+2-6 r: rbrrrvr
+7-10 j: jzjtjjqfvjj
+3-7 j: jjrjjjjj
+2-13 m: mmmlmqddkmtmmm
+19-20 l: drpwllkdlsjslmllsdrv
+3-5 v: vxmrwwvh
+5-13 z: zzzzkzzzzzzzkzzzf
+5-6 g: gggggfg
+4-6 c: crfvlc
+14-18 x: xxxxxxxxxjxxxzxdqc
+4-7 p: plzqjtp
+2-4 v: nmdbhftxvbv
+5-8 s: knfcsbbsxssssxd
+2-13 p: mpwpnbrnlxmqvfbltcq
+7-11 v: vbvvvkfvvvg
+14-17 x: xxrxxxbxxwmhxxpxqxv
+5-7 f: qffndfmqfsrv
+7-8 v: vvvqvvbvv
+9-10 j: jjjdjjjslljjjjjch
+4-6 l: lllplgr
+3-4 n: nnqn
+4-5 c: ccccc
+1-2 q: lwhqw
+6-7 d: dddmddqd
+6-7 g: gggggzxg
+2-10 j: jsjjjjjjjsjj
+13-15 b: dxbbbbbbbbbbbmbbbmbl
+5-10 q: qqqqwqqqqxq
+12-13 j: jjjjjzjjjjbjxjjb
+5-10 t: ttfttphtttttmthttp
+3-4 t: tttj
+7-8 n: nnknnpphfwnn
+9-10 x: xxxxxxxxcx
+14-17 h: hhkhhzxhhhhhhjhhxhh
+4-5 w: whxtwwftw
+10-12 q: xqgqsqqvqqlqqqdqpqrq
+1-3 l: jsvlzrm
+8-16 z: sbzzqzxzzzskzzxgrzcz
+7-10 k: kkkkjklkkt
+9-11 f: ffffwfffwflnwf
+1-8 c: cmccwcqzzhxccr
+6-9 h: vnfxddhrhbdqkqr
+8-9 t: tzttdtttvvtb
+6-9 q: qqqqqqqqqqqqq
+15-17 k: kkkkkkkkkkkkkklkqk
+3-10 p: pprppppppfp
+5-11 d: nhgkdjgvmdddt
+7-9 d: rdddddddpd
+1-3 r: rrwrr
+5-16 t: gttwtrqqmwwljhfn
+6-9 q: qqqswdzllqqf
+7-13 b: mxpxbjgvsncqwv
+7-8 d: dddddrddds
+3-4 z: zzqzz
+10-18 z: zzzqzzzzbzzwzzpzzzz
+8-9 p: pppppppppp
+13-16 f: fffffffffffffxtf
+8-9 w: fwgwwwlsfpww
+4-5 g: grgmcpdqggwckq
+16-17 g: gggggwgggggggggln
+3-13 j: jjmjjjjjjjjjbjjjjjj
+9-13 x: xxxxxxxxxxxxx
+5-12 b: bbrmbhbbsgbbbpbbz
+14-18 z: zzzszzszzzzzzzzzzzh
+1-13 k: pkkkkkhgfkfbtkkpkf
+3-14 v: vvvpdlvvvvdfvvjvvsv
+12-13 m: mmmmrmbmmmmmmrmmm
+12-14 v: vvvvvvvvvcrlvkvv
+18-19 p: mxpppgpwcphkzppktppk
+4-10 x: xxxxxxxxxxxxx
+4-5 k: kklkkk
+11-13 m: mmmvmmwmzwmmmnvgmm
+7-11 p: qdppjspwtcpppp
+4-8 l: lllllllll
+12-16 j: jjvjtjjsstfjjnjjk
+15-17 h: phhhhhhhhhhrhhhhh
+4-7 j: sqfjjjj
+3-20 m: wzmqhwmjmclzmmmdlzqm
+8-13 m: jpmmbmtgmnprgt
+8-13 h: hhhhjjhchhbhqshh
+15-20 b: mbbbgbbzmkbbkbbpffqb
+2-3 t: tdlt
+10-16 l: llllkgllrnllllll
+2-4 p: phpf
+3-5 d: ddddd
+5-6 h: hhhhhhh
+2-3 j: cjjrj
+7-10 g: hgwtggfgbcpgd
+3-4 d: dddk
+4-6 t: mltdtf
+8-9 h: zhljxshhh
+2-3 p: vqjgbsp
+6-7 x: gcxvjxp
+15-17 s: sswgssdsgssjlssss
+1-3 m: qvswmm
+1-7 v: svbrvsjv
+3-5 j: vjhjdq
+15-16 b: bbbnbbbmbbbbbbbdbbmb
+6-19 k: spkgcpkhlkkthkgkfzkj
+1-2 c: dxqxnrrlfnnc
+7-11 j: qjjjjjkdrjjjjj
+5-11 g: ztdgvvgwhrlgnq
+3-4 c: fcmqglp
+4-5 q: qqqqqqq
+6-7 c: cccccrc
+7-11 n: nnnnbnnnnnn
+9-13 x: xxxxxbdtqxdwxsx
+9-15 j: ljjjjjjjjjjjjjz
+2-11 j: pjjhzmtwlgjwpkjjdwq
+5-6 k: kkkkkk
+12-13 q: qqqqqqqqqqqmg
+3-14 j: nwkjjlbbrnqvqm
+3-4 h: hhhhshhhhhhmrh
+2-4 l: djkxl
+1-9 t: tttttfttl
+9-10 g: ckggggtggggggv
+3-12 l: cqlclvwhpxwlnzzsqgs
+8-14 d: ddddddddnddfdh
+1-5 v: vvvvxm
+2-5 q: mqqqqlqk
+3-4 j: tkjpj
+13-16 w: wwwwwwwwwwwwwwxww
+13-18 m: mmmmmmmmmmmmmzmmmmm
+2-4 x: xxfxx
+1-2 d: ddvddddkdddd
+3-5 c: cctdc
+2-10 q: tqjkqqpsctx
+2-18 n: nlnnhnxnnnnnnnnnnln
+3-7 k: rkkkbkk
+3-4 n: ngnn
+3-11 d: dqdbwtbghbdj
+3-5 q: fqqqq
+5-10 x: xxxxfgxxjbxbhxx
+5-6 m: mmtmcn
+4-6 x: xxxkxk
+17-19 b: bbbbbbbbbbbbbmbbbjbb
+5-6 k: kkkkhk
+10-12 k: kkkkkkkkkpkgk
+3-4 z: zzzz
+18-19 p: plcppppksppcnptppvmp
+3-6 t: tdtrltmn
+3-4 q: qqqq
+10-19 v: vvzrvvvvvvvvvvvvvvhv
+11-16 d: kjdtddddkdvcdddpd
+12-16 l: lllllllllllllllll
+4-10 b: dbvbqfqlrb
+10-11 k: kbkvkhlkqrv
+1-9 x: sbqnkxdmxpc
+5-10 l: ldlllkllrln
+9-13 j: bpjjjjjjjkjzjnj
+11-12 j: jjjjjjjjdjjj
+2-8 l: jllzbhjlqlwcltllq
+4-5 s: gsssd
+2-4 s: kswn
+1-18 p: bpppppppppppppppptp
+9-11 v: vhvvvvvvvvvv
+2-5 v: vvkvvv
+8-11 p: plplqpjhdzlfpppppl
+11-18 g: ggggglgvgcgggggggg
+9-11 r: rrrrwrrrmrzp
+3-12 g: tggggmggwnpzvgpnp
+13-17 t: tnvvttxttttvtftptgt
+5-16 c: cccqccccjvcccccccczc
+2-4 f: tfbfrjftf
+2-4 s: ssssx
+3-9 v: vvspvvvjv
+3-4 h: hhxh
+15-17 l: lllllllllqllmlvwblll
+4-9 j: rjljjjjfjjskdkwttbjt
+9-10 m: jmmmmmvmhh
+1-8 w: wwwlcwgwwwp
+1-8 j: mllsjncl
+3-4 b: tfbkbssb
+1-7 g: qvdbrjkdgggb
+1-3 l: wlbll
+4-6 v: jvzqbvvvg
+2-3 w: vjlwx
+10-12 c: ccvcccrccjfhgccdw
+10-18 b: bbtbbbbbggbbbbbbbvb
+8-9 j: jjjjjjjjjpjg
+5-15 c: ccbccccccccccvccc
+16-17 t: ttttgtttttttttttthtx
+13-15 t: tvsmjtjttktztrt
+9-12 c: jzrpnzdncldmxqjmvccb
+6-7 v: jjdvpdhv
+4-5 c: ccccccccccccc
+6-7 t: ttzttttt
+10-11 q: qgxqqqqqqqqqq
+14-15 h: hhhhhhhhhhhhhhh
+3-8 b: bbbbmbbbbb
+11-12 r: rhlrsrrrrjrr
+2-6 v: vrvvvhv
+4-5 n: nnnhn
+3-5 p: pqhmnjp
+7-13 h: qhhcwhhhhqhhfq
+10-11 d: dddddddddxh
+10-11 d: gdcdcdddcddtddsddd
+1-5 f: bffspf
+5-8 s: skssblsg
+8-11 m: mmmcmmmwmzmmmvm
+6-8 q: kqqkmqhqq
+2-8 q: nqnqbdgm
+6-11 b: bbbbmbbqbbb
+5-14 q: qqqqpbqqqqqqqgqq
+2-5 p: prprwh
+13-14 k: kkkkkkkkkkkkkkkk
+2-7 v: vnvvdlwvd
+2-3 t: hpsqzxrltrwbttwgbz
+1-5 n: srnlwnnkjnnwhnf
+2-3 r: dtlcv
+2-5 h: hhthhdcm
+2-11 d: rdxfbdhqpbdjjlhf
+1-4 b: bxbshbjr
+4-10 s: sthspqlnsst
+1-10 h: mhwpfrbhhbn
+16-18 g: gggggggglgjgggqcgzgg
+3-4 d: dddd
+12-16 h: dhhhhhhhshhhmnlhhhh
+15-19 q: qmqkqqzqtqdqnqqzqqz
+14-15 p: kgjpqpppppqpdpph
+4-6 z: zzlzzztbbzzr
+11-14 l: blllwlqmhlllldllll
+2-4 q: qqrqc
+5-6 r: qrrvrrr
+2-4 f: fffv
+13-15 v: vkvvvpvvvvvvvhvvvv
+3-8 k: kzqkkkkkk
+4-10 w: wvkwwcwxkwv
+2-6 t: tvtttttttt
+3-4 t: tttt
+11-12 p: pzpzppplplppppk
+6-12 p: pppppdpppppgp
+5-9 w: wwwwwwwzwwww
+4-6 m: mmmmmhmmq
+4-9 j: xsqjsllnjj
+6-9 c: zmcdccgtfccbccfc
+4-5 p: vwpzhpp
+15-16 v: pjtmwtrxmjnjfkvgrv
+9-10 p: pppppppspp
+2-10 f: vffzxnfnxfcfcsmtrncz
+5-7 v: blwvvvvfvvh
+12-16 z: zzzzzzzzzzzzzzzr
+5-6 z: zkvhpz
+9-13 w: wwnwwwwwwwwww
+5-6 p: wmlhpptppmfvngh
+9-11 r: rrrrrgsrrdrmrrrr
+2-5 b: bbbbzb
+13-15 r: rcrrrrrlrrrrqgfrrnr
+5-7 k: klkmkkk
+3-4 f: zfffgdnfff
+3-4 q: qjbjhzltvl
+17-19 w: wwwwwwmwwwwwwwwwqwqw
+7-9 l: nlrldrlvlnvllllvf
+8-9 m: mmmmmpmmm
+11-16 k: kkmkkkwkkkkbkkkkd
+11-14 s: mvsdsnsncsssrs
+6-17 j: jjjjjgzjjsjjjjjjjjd
+19-20 p: ppppppppppppppppppkp
+1-16 k: nkkkkkkktkkxkkxz
+2-4 c: xkcccvvcv
+3-4 v: vvvvvkn
+11-13 q: qqqqqqqqqqsqj
+10-13 g: gxggggggggggg
+3-4 x: xxpx
+4-7 d: dvbddcdhdd
+17-18 g: gggggggggggggggglbgg
+18-19 m: mmmmmmmmmmmmmmmmsmtm
+4-6 g: xbtgrgbgggmgcrx
+8-13 w: wtwcwnwwwcwssxwpbw
+2-3 v: vcsv
+4-5 g: gggpt
+2-3 g: tggtpgkg
+3-4 p: pglt
+9-12 v: vvvvvvvvvvvvn
+11-15 f: fhffffffffnfffq
+2-5 s: snssk
+2-3 m: mmmm
+10-14 x: xxmjbxbxkbwjxxxxj
+5-14 l: lmlmlczxfsllzpkljt
+6-12 n: nnnxpjtbjjdnrnsvxnwt
+5-9 s: ssssfsssb
+3-11 f: bffrlbwzfpf
+3-4 t: twtt
+1-4 r: rkxrsrlrr
+7-8 x: xxxxxxlf
+9-15 d: nddbddddxdddrdntdd
+16-18 v: vrxvwgbqtlkzprlvwvrk
+9-10 l: lllllllllzlll
+3-18 l: mfllwjggswwjjgrnrl
+5-7 j: jjjtjxjvqjjltjj
+5-14 n: nnnnnnnnnnnnnnqn
+3-12 l: pllqlhpllpklcds
+2-5 f: fsgfrpfflq
+4-8 q: xqsfqqqrqhqjsqndz
+1-5 c: hcttt
+13-14 r: rrrrrrrrrrrrrgrr
+4-6 d: dddddt
+3-4 d: tdqgdk
+14-15 s: snskdsjxpsgmbsssssf
+3-5 m: mhlcxmmmw
+2-12 c: ccmccchbrrscv
+14-16 c: ccccccrccccccccmc
+8-17 w: pwqmtwwwwrwxwtmmww
+5-8 h: hhhhmhhmlb
+10-12 b: bbbqwbbbbbbb
+6-7 n: nxnnnnl
+7-10 v: vcvgvtgvvkwvtlvcv
+10-11 t: ttttttktttttttt
+2-5 t: tzdtkpsf
+4-5 r: rrrmhr
+9-10 w: wcdwxgxrwwwk
+1-6 g: jggggcg
+1-7 v: vvvvvvvmv
+12-15 q: rqqqqkqqqjqqbqqqqqrq
+3-10 w: vwwgwwwzwwwwxwwxsw
+3-4 c: mmhfccccjclccrdccc
+1-5 m: mmmmm
+4-5 h: vhhxh
+13-14 z: zzbzzzzzzzzzbcz
+9-11 k: bkkskkkkkkk
+1-6 j: jxvjrm
+4-6 f: ffffff
+3-5 m: mmmmmm
+1-3 x: xxxxxxxxxxx
+16-17 f: fffffffffffvfffrxf
+3-4 f: fwff
+2-11 j: zvbdwnthjfh
+9-10 f: gffffffffff
+1-3 z: zmrnxvs
+5-16 k: llkdkrkvkkhkktkktlkd
+9-13 z: mvjzzzkhzvzxzqmf
+4-5 d: flgsdd
+2-6 p: mftwthqkqqkp
+2-4 f: vfff
+7-12 w: swwwwwwwfwwwwqwfvw
+10-13 c: csdkvcctnccncczc
+12-15 q: qqqqqqhvqqqmqqcfqq
+2-8 v: gvkfgbzvvmfmg
+3-14 m: txwnzwhmcrnnltc
+8-13 v: zsvmsddwnkvrkgmx
+12-13 f: fffffffffffff
+1-16 g: trrkggqglgbbgljx
+13-14 c: ccxcccccccmccd
+9-12 x: xxxxxxxxcxxlxx
+10-14 q: qqqfcqwqqpqqqs
+11-16 l: xllllllllllllbll
+12-13 v: vvvvvvvvvvvvvv
+17-18 g: gggggxggggggggggpcg
+1-5 x: xxrxxklxgw
+4-5 f: fffqt
+10-11 l: llllbklllsgxllr
+6-9 r: crfmrsjhpf
+4-8 h: hhhchhhx
+6-12 v: cvlvvvtbqcsvvzvlztv
+2-3 x: bsgfvxdl
+2-5 j: njzjjj
+13-14 s: ssssssssssssfw
+8-11 l: jllfllllllmlllll
+2-11 p: pxppppppphq
+6-9 f: crtfxvfmwwdvt
+3-5 n: nnnnnn
+3-4 h: hhhh
+3-5 d: kldhd
+18-19 x: xxxxxxxxxxxxxxfxxbs
+4-5 k: kkkct
+9-12 n: nxlnnpnnwnnb
+2-4 g: gqggz
+15-16 z: zzzzzzzzzzzzzzzz
+8-10 p: kpcppjbrzqpfcpgppp
+5-6 g: qggggrg
+7-8 c: cccfncccccc
+2-8 k: hgnsbkckkkqktkstks
+3-14 x: xxlxjxxxxxxxxvxfbx
+1-8 l: lllllllll
+1-2 p: ptbmvp
+10-15 k: jkkkkktkkkkkkkkkknzg
+6-11 k: kkkkdgkkkkk
+7-8 m: mmmmmmmm
+13-19 z: zzzzzzzkzzzzkzzzvzxz
+2-4 g: tghm
+3-8 b: bbbbbvdb
+6-8 d: dddddrvxdddfdd
+5-10 m: mnmnsmmmmxmd
+1-8 r: cgcnqrvfb
+16-17 l: mhjqbmhszwllqqllr
+2-4 s: csssts
+7-10 j: jjjjjjzjqt
+1-12 x: xmxtxxxxxtxxzdxx
+5-6 w: wwnwmwrw
+10-11 p: lpjpgpqpkpprdpppp
+8-9 k: zhkkbkfkk
+1-2 j: klhz
+6-13 d: dmstddpddtddddddd
+1-8 h: khvcwhhhhlj
+8-11 s: bsssbzsfdrsssss
+1-18 s: xsssssssssssssssstss
+8-15 l: xjllsmjtlllmsxll
+1-5 m: mmmmmm
+17-18 k: kkkkkkkkwkkkkkkkbmk
+1-7 t: tttttgtdclpkx
+4-14 k: tgvzgdwkgtcdrd
+2-3 z: tzprzcdzhnnll
+2-4 j: rntmnjxbwq
+5-6 r: rrnjnr
+5-9 g: lrggvfggp
+4-5 s: sssdl
+4-18 h: hhhhhghphbshhhhhhhhh
+4-6 s: sfpjvsk
+1-10 m: fwgstfsjmtp
+4-8 w: wpwwwwwmwsh
+2-19 l: lnllllllllllllllllwl
+4-15 v: vmwhvvwvvvvsvtdvvkv
+5-6 p: lpppslppjppp
+5-7 p: ppzppcmdppt
+14-18 f: mffxfftfwffdffffffff
+4-7 v: kvvdvjvvkmh
+1-7 p: rdkzpkfdpzrxq
+2-3 h: cdhhngnnjslfjbh
+3-6 q: qqzqqwqt
+5-10 s: kpcsszfcwsh
+11-12 g: gggggggggggw
+14-15 w: wwwwwwwwwwwwwsp
+6-10 h: bhkzhhhsbhhh
+3-4 l: fcnvfxtln
+2-7 j: jzsjfrjjjmxqjxjjss
+6-9 s: nvdhnsbhsdwxhlj
+1-2 v: vvrp
+2-5 h: qhnbhfbsdhs
+3-4 x: xqvzps
+3-4 m: mcmm
+9-11 l: srdlflnwlrl
+1-8 x: cxjgmlgwvqdpnbzn
+3-4 q: qqqk
+4-5 r: wsdlmbdv
+1-3 d: tbtdddp
+3-8 g: gsggsggvgggpgrgx
+5-7 t: ktzrvktqpllxwzt
+1-2 s: spss
+6-19 d: dtjdmqdldddbdcnzkqpd
+9-11 f: fffffffffzf
+1-12 g: wggnvsgcrgmx
+5-7 f: qfpzfmkfmfjc
+14-15 j: jhjjjjjjxqjdvvfj
+6-7 v: vvtvvqs
+4-11 q: qqqxqcqjqqmqqgt
+1-3 l: gbkhxlzld
+1-4 s: pssz
+13-16 x: xxxxxxxxxxxxfsxpp
+3-6 p: mlptcpvcrppn
+13-15 x: xxxxxxxxxxxxxxxxx
+13-14 f: ffffffffffffff
+2-5 j: jjpwj
+2-7 r: xrrzrvrkjr
+8-9 m: mmhlmhmmmpzpmmhgmvz
+3-4 g: zgggdwgggdl
+6-9 t: tttttxjzttttr
+1-4 h: njzthhch
+3-14 x: xprxtxbpxxxxlg
+9-15 q: qqqqqjqqqqqqhqqqqq
+4-6 w: wwfwwwrb
+6-8 w: wwwwwwww
+10-11 k: kkkkkkkkksl
+3-4 n: nnqfvfn
+11-13 c: ccccccccccccc
+5-9 n: vnvnmnnnqfnq
+13-14 f: ffpzrfflffffffqffff
+17-18 p: ppppppppppthpppppzp
+3-8 m: hsmzgwdmm
+4-7 z: zlzhtzcnzzzz
+6-13 b: bvbbbhbbbbbbgbb
+11-16 x: lpxtdgxvzbxpcwxc
+10-14 d: dddddddddrddddddd
+2-5 j: lhjnv
+2-3 p: pdkp
+3-10 l: lnllqjpgqfl
+1-4 t: ttttttt
+4-8 q: qxzqqqfczksrwmmzx
+1-4 l: lllll
+5-19 z: ttzhzcbczmjxzrjzpwz
+4-7 s: sgssssjs
+12-13 s: sssssssssssbq
+9-12 h: hhhlchhhvhwb
+5-13 n: fncqnnnnwkhnn
+10-13 g: ggggjggggrgcqgg
+8-12 q: qqxqvqqmqrpdrxqq
+5-6 l: ldwlvnllwq
+12-15 v: cvvvkvvvvvvvvrvvvl
+6-11 x: kxmthvnkgxq
+6-9 n: nfdfnkmnln
+3-5 x: nqcxt
+2-7 p: tpgkbpwxhpzldtmrqd
+8-9 r: rrrsrrzrrmrr
+3-10 x: fmmjlxbqlz
+1-10 g: cngggggqghf
+10-11 r: frrrrrrrrgj
+2-5 q: sqgqq
+7-8 x: cxxxwxsvjgxx
+8-16 t: ttttttgpttqttttt
+4-8 n: ndznlllnqwpmnnfwvxb
+4-15 j: jjbszvrjjjjfjjjwjjcj
+4-5 c: ccvrlc
+17-19 f: ffffkpfffjxffwffcff
+3-4 z: qfzzz
+7-9 s: szssssjsm
+13-18 q: lngqqpvqqdjvcqdqvlq
+7-8 b: bbbbbbbb
+2-4 n: lnqr
+11-13 k: kkkkkgkkkqxkhfk
+2-4 g: tggqzdxp
+3-5 t: ttvtft
+2-4 v: pzbbr
+1-4 h: thhhh
+2-5 m: mqxdt
+8-9 k: kkkkkkkkk
+2-6 w: jqfwlhv
+17-18 x: xhxxxkxxxxxxxxxxxbxx
+9-10 p: ppwppdpxvvjzpp
+10-16 h: hmhjpxmhvnhqhjfmb
+11-15 k: kkxkkkkkkgckkkcs
+5-9 b: cwcbjsqbdwmbw
+10-11 z: zzzzzzzzzzz
+14-16 w: wptvwbwdwwwwwwww
+8-10 c: xccclcchcrvtqc
+7-12 r: rhnrrrrrrrkqrrtm
+3-5 h: hhrhph
+7-10 c: wblrcccpctnhvdc
+15-17 n: nnnnnnnnnnnnnnnnn
+5-13 s: ssssssssrssmslsssv
+8-19 k: pvqbhlzkwpnkcgkvkwk
+4-5 s: pkrxgskxsswbqwlfxsvw
+5-10 d: ddsbdcdsdd
+12-13 q: hwrkqrhqrrxmw
+5-15 b: blcbfqbgbnghjbnglbbb
+1-3 z: zzczzz
+3-14 s: jsxssskvsssptw
+8-13 n: nnnnknnnnnnnnnn
+3-11 c: ccccccccccbccccc
+1-6 n: nnnlbn
+9-12 k: qkkkkkkkkxwkkk
+19-20 w: wwwwwwwrwwwwwwwwwwww
+10-15 n: nnnnnnndnnndfnnnn
+8-14 c: cvndjxlcsccwxl
+1-3 v: vrvwv
+8-10 s: rshsssjssss
+2-10 n: nnjnnnnnnhnkm
+1-2 c: ccbcflcp
+3-6 v: jtntcsvvvhp
+3-5 q: qqqql
+17-19 p: ppppppppppppppppmpg
+10-11 k: kkkkkkkkktrk
+2-4 f: tgprtftkfx
+8-9 x: xxxxxxxld
+4-6 l: lhzllllzhv
+8-9 g: bhgkfgsggxg
+5-9 d: dkdddddmdwd
+2-13 s: sdffzhrpbnvtswxsbrcs
+7-8 q: qjqpdqvwqqdtxpq
+5-8 n: lncnfnzxtsn
+8-9 p: khtrxgvhtqwrfpqrd
+2-4 s: zhln
+5-6 q: bqqqddp
+7-13 g: gggjggggggggg
+10-12 w: wwwwwwwwwkww
+1-4 b: bwbbdbhbl
+9-18 j: jjjjjjjjjjjjjjjjjjj
+10-18 j: jjjvjjjtjjqjjjjfbjd
+11-13 m: mmdmmmmmdmmmqm
+6-9 n: nnnndtnvfnn
+2-3 q: qckq
+16-17 x: xcxxxxxxxxxxxxxpxx
+14-17 k: kkkkkkkkqkkkkkkck
+3-8 l: llkllllvl
+8-13 p: nkptlpntkcknppwpdhb
+6-12 s: ssssssssssss
+8-14 c: ccccccccccccccccsc
+6-9 p: cpppdnppztxbpp
+8-12 w: vshmsmbckwjmw
+1-10 g: qqtfmmxnbg
+1-6 m: mmkmmmfmw
+5-8 v: vvvwxvvdqv
+7-8 f: ffffffff
+2-10 k: kkkkkkkkkk
+1-4 g: wjhxhq
+3-4 w: znpwwmwcwjgs
+5-9 d: ddddrdddwl
+6-8 j: kjjhvzrbrwcjjm
+2-5 j: jhjjxjjsj
+2-6 t: ccwdcm
+4-12 q: qlqrsgqqhqqf
+13-16 w: mwwwwwhwwwwwwwwwww
+9-10 g: ggggggggggmtgwj
+1-3 x: xxxx
+1-3 n: jxtqjbhpkgrcrdrptvd
+14-15 w: wwhwwwwwwwwwwww
+7-10 d: wddddzvdddkdm
+1-4 p: lzph
+6-9 w: wwwzwswwr
+17-18 t: kjtktrtfgkhpzthvsjt
+12-13 j: jjjjjjjjjjjxs
+8-9 r: srrzrmrxnhrrr
+1-5 s: spzsshkzfmkdss
+1-7 z: zzsmzzhzzxzzzzz
+1-2 d: ddvx
+2-9 h: hhhhhhhhhhh
+6-8 p: ppppppppx
+4-8 v: bqvvxmvtvhfvv
+3-4 z: zzzz
+2-4 r: rrrrrrr
+4-5 r: mhrrrrrrq
+5-6 b: nkhgfjrzqldbbbbmpx
+7-8 n: nnnsnwnncdnn
+13-15 p: pppntwcpppppppv
+5-11 r: tmkrdcmrpcrrkrl
+3-4 v: vvgf
+4-5 j: jjvtcj
+3-5 p: ppppp
+1-3 r: mrrr
+13-14 v: vvvvvsvvnvvvhxvvv
+10-14 z: ltwsklmfdpvxmxgq
+16-17 b: bbbbbbbbbbbbbbbqqbbb
+3-8 q: qbpqpvqll
+9-10 x: xxxxqtxxzxxxx
+8-12 d: pdddnddcbcdx
+2-3 m: fmmmsfmvcmkc
+9-10 x: slxtnxxtjnnxjnq
+5-13 h: hhshhhhvhffhhn
+6-14 t: wwwmqttttkpmqtrt
+1-5 b: mbbbb
+10-12 k: kfkkpkrkkkkkkkh
+5-6 m: mnlmbvmm
+5-6 x: xxxxvl
+5-7 b: dbbbpbc
+2-19 t: qhdtkxjzdcwjqjkglpzr
+1-4 h: hhgqhnhhhhfhhh
+1-10 b: bqbbbbzbbbbbbwb
+2-3 b: dbbkgnxmbtpg
+3-8 r: rrrjrgrrwq
+4-7 s: ssrfwfgvskmssws
+13-14 m: smdmmmmmgmfmmjs
+13-15 h: hhhshhwhjhhhhhhhh
+12-13 n: nnnnnnnnnnnnnn
+6-14 n: ndnnpqwrlgfrmn
+3-16 m: rldkmmmkhmsmbnqbmgs
+2-3 m: rmmmmm
+5-9 x: xxxxfxxstxxs
+4-8 b: bgbbbbgbbbb
+9-11 c: kwcclccccscxp
+10-17 v: vvvvvvvvvvvvvvvvvv
+13-18 n: nrnnnnnnnnnnfnnnnpn
+3-4 c: hbcc
+13-14 w: wwgwwwwwwwwwwc
+4-6 z: fwmzzzz
+12-15 h: vhhfhhhhhwhrhhlkmhhh
+1-5 v: jqvvhvvbt
+4-5 n: vnnscn
+5-6 n: qnrvnnndnffnkknfrdt
+6-7 w: wwwwwvznwwwwww
+6-12 h: hvhhhdhhhhhr
+4-5 m: vtmmmmdmp
+8-9 f: ffffffffffffffffdf
+5-11 z: zzzzjzhzgjwzzhlz
+8-10 d: mdnnfwswns
+4-15 c: rptccckzhgcvlccbh
+4-5 r: brrrgtd
+4-15 x: rxsfxqhhzxdsxqxgw
+8-9 c: ccccclcccccccc
+2-9 l: mwltgglzztlpllgf
+12-13 g: nnjgzggjkgzgd
+4-6 j: jjfjjnj
+11-14 m: mmfqpmkmmmmmmmrm
+6-7 c: cccccqccmccccc
+6-9 f: ffzgcfcpfwztjk
+6-9 r: sjgrxnrvnqmmlxdrsp
+3-11 c: cchwcfcckcn
+7-10 p: jpzdflzgkxnbhj
+5-6 b: bblblp
+7-8 p: ppppppllppp
+10-13 b: bbbbbvbbggbbb
+5-6 p: pppptp
+2-6 t: qttttjtt
+3-6 n: vwlhczrnwpnvrnl
+8-9 r: jrrdrrrjwrrrrrs
+3-4 n: nnwqn
+4-8 b: mbscbwxn
+10-12 v: tqbvxmlqvvvv
+1-9 l: qcllllncllcllllrn
+6-10 b: gbbxfblbbx
+11-13 g: gggqgggtgggtgrgsg
+2-3 f: fjkz
+5-11 t: tttttttttttt
+5-18 j: zjdxgjjpshjjkjbtjvg
+9-11 k: kjkfkwkkrkgk
+1-8 w: hwhcwwbffvcdwzwbww
+7-16 l: rrljlvlmmlssllkllqj
+1-4 d: hddldvddddf
+7-9 b: bgbbbrmblb
+2-5 v: ltvvvv
+5-6 r: rgrrdvrrrrrrr
+8-9 n: wnnnnnnnn
+1-8 q: sfmbjqqwvqqq
+2-11 b: wblbmlrcwffl
+4-5 n: cfmnn
+15-16 g: gggggggggggggggq
+6-10 x: xxxxxxxxltxxx
+5-9 g: gggbgxgggpgn
+8-10 z: zzztjzzzqzp
+4-5 x: xxxfl
+6-10 v: vvvhvvvvvv
+6-8 v: tdrvsnvpvzxbwvv
+8-11 q: qqqqqqqqqqjqqq
+12-13 z: zjzzzvzjkzzzz
+1-8 b: bsqqmbnbcwhkphfh
+1-5 z: zdjzzrm
+3-4 m: vlmmtbmmxcdkmdmfb
+7-14 k: kkwpcjfkkkrknzkk
+1-3 f: cfbljmpfghhgxdbg
+6-7 n: mrnhnxn
+16-17 g: gggggggggggggggmr
+7-8 q: qqqkqhqqwkpzshq
+9-15 j: jjjjjjjjjjpjjjj
+5-6 t: tttttl
+4-15 h: hhhhhbsbphhhlzgh
+4-6 h: qhhlhh
+2-6 f: wfwdff
+1-7 c: rczccfx
+3-8 b: jkznbbbqlk
+8-14 r: srtchmrjxmzznm
+4-8 s: ssgskspsdsmclrmxzp
+9-12 j: kjjjfcjjljjqjj
+3-5 l: lllvllll
+15-16 s: sssssssssssssszs
+5-6 z: zzzzmfjz
+13-14 v: vnvvgvvvvwvvfrvspv
+7-8 t: ttttttkst
+17-18 f: ffffffffffffffffhx
+8-11 b: bbbkbswbbpbnbbbbx
+7-14 s: ssjfssssssjsdp
+6-8 s: sssssqsps
+5-8 h: hhdhphhmhhhh
+8-9 r: prrmrpsrrrvrzrrrsrn
+4-17 t: ttttjttjttthtktttt
+7-9 v: tvvwvpvrbnvvvv
+8-12 j: plfsgrjjgjrjwcgc
+2-7 r: krqzzprxrldwg
+4-11 k: sfpkkkcwkwk
+2-3 z: zzhp
+6-9 h: xkjwshvmhbjhfjvkwcmh
+4-8 d: dvndvmdzn
+3-6 r: wrrrrr
+6-8 g: kggdgfgzz
+3-5 j: jjjjj
+2-9 x: qkksvkxxvxbxx
+12-17 b: kjpbpbmddcnwbbbxb
+2-10 w: rwpbpbwrbmwgwwvghvg
+1-12 f: fbfqmffffftf
+1-8 z: qvbjgplznjztjvqjhv
+1-5 b: bbbbbbbbb
+7-11 p: kddppkdtqpjcfpp
+14-20 z: zzzzzmzzzzzzzzzzzzzz
+7-8 p: sjspdphq
+11-12 w: wpwwwwwwwwwd
+7-12 d: sdddddkdjddd
+6-8 g: gggfzzhglgxqpgbnbgbx
+10-13 c: hcccctjcccccccn
+14-16 k: kkkkkvkkkkkkkkpxk
+16-18 c: ccccccccclcccccccjc
+2-4 r: llrh
+11-13 g: ggggggggggggm
+1-4 z: zfwzzz
+4-6 s: ssssfs
+5-12 t: tttttntttttt
+2-6 n: gnghnp
+1-3 q: qqgq
+10-11 f: rdzfzffhtfffffff
+4-9 k: kpfhvkkkk
+3-10 t: twlkttptttt
+4-10 d: dkdvgkdddwd
+5-12 t: ttttnttghtthtvtt
+4-5 c: ctczwcccc
+17-18 l: llllllllllllllllmx
+2-8 t: knmttnttdjbtttvtkt
+1-2 j: jdjjjj
+12-16 j: wmqlfjlnxnvlrjkmj
+13-17 s: snsdsssssssssssss
+8-14 h: hhhhhfhhhwhphhscphd
+9-10 b: bbbgbbbbqcb
+15-16 z: fjjcjrwjtrcnltzz
+6-8 s: ssssxjshd
+2-4 k: kkkw
+3-6 s: xsfgbpss
+13-15 x: xxpxxxxdxxxgjxgxxx
+4-5 l: llqlllsl
+10-15 g: jggxgsggggggjtgg
+2-6 b: prpbjbkbbkcb
+7-9 h: hhhhhkfhh
+8-11 f: fzhftffvffwffnl
+11-15 x: xxxcxxxxxngxxxcxx
+11-12 k: skkkkkkkkkxhn
+5-15 n: cnnnnqqbnnnncznnp
+1-3 v: vqvxlfwpjvxtpkvlhxjv
+3-8 b: gfbbbsfbb
+3-4 z: qzzzbczk
+8-17 t: cpttttttpttttttttt
+11-17 l: lprllfllllnlllllnll
+7-8 f: ffffffrd
+2-6 z: hghjzzwpwz
+6-13 m: thzmtmcsmtctf
+2-4 c: dctc
+10-17 s: sssssssspzssssssl
+6-10 j: jjjjljljjjjjzj
+5-7 b: bbxbvsxphgrmnqgzbbx
+1-11 l: rlnlllllllvlllll
+13-16 b: bbbbfbnbbbbbzgbwbb
+5-11 p: bpjpnpqpppjpmppphrk
+1-3 l: llll
+11-15 l: llgllllcllllllllfll
+2-7 x: kxsnzzx
+18-19 g: gglgggvqkjzgkgggzgg
+3-5 j: fqvjjcjjhb
+6-7 c: fccccccct
+13-16 m: mzmtcgmcmmmkdmlk
+5-9 w: wwsjwwwww
+1-2 m: jzmj
+16-18 m: mmmmmmvmmmmmmmmqwn
+11-12 w: wwwbrwcwwxwwmwwrdww
+3-4 v: nsvddwnvvvm
+5-8 m: mjmrbpmh
+2-3 t: xdrtzgdl
+2-6 n: fnwwgnnzwsp
+7-9 p: jpppppvppsqt
+1-8 k: gkkkkkkkk
+2-9 q: jqqqwfzxhqqqqsxqm
+2-4 t: jtwt
+6-20 d: hqdkcmkdndjrftmgjgqc
+2-9 r: crgmrqpwrrr
+9-15 p: pwmjlrgnrppwphg
+3-4 t: ttqttttnttttt
+1-5 v: hvvvv
+1-2 x: ggxxxxt
+17-18 m: mmmmmmmmmmmmmmmmcl
+4-10 d: dxtmsjvhczfjd
+8-10 x: xpbxsxpxgxqxxqxxk
+6-9 f: ffffmffdwkfrlffx
+8-10 m: ldmmgxxmbmnqftt
+12-13 p: ppxpxhppgppqqpvppp
+4-12 k: kkkkkkkgklkkjkkqvkk
+3-4 x: xxcp
+7-8 k: kkkkkkkr
+11-14 d: dddkpddvdddddg
+3-8 l: lsgmlqll
+12-13 z: znzzzzzzzzzzrz
+3-5 h: hhdphh
+3-4 h: hqhhh
+4-6 f: wfsfrffzf
+8-12 k: ktkdmhvkxktkhr
+2-6 d: dpdwdddd
+7-12 n: nnnnnnpnnnnxn
+1-3 v: vvvv
+3-11 q: gmqqqqmqshpq
+3-4 j: jjjjkjhjf
+2-4 b: glbxb
+13-14 s: ssssssssssrssds
+16-18 d: dddddddddddddddddd
+3-9 g: fgggzttsg
+11-12 r: grrrrrrqrrrrrrr
+2-5 q: cdqqv
+6-11 l: lfclllslllxllll
+2-3 d: dzdddg
+2-4 n: tkwm
+4-5 r: kdccjnrfrzrhplrz
+4-16 j: tfxsmxlrjptjjrxw
+16-17 p: stpsgsgwvqrzpblpsx
+8-12 r: rrdrgrrgrrhrwqjmp
+5-8 j: jjqjjkjjjjnv
+2-7 n: wzgnnnnnn
+1-3 v: vvvv
+4-5 l: hlgnx
+8-15 c: ccccpccczvcsccc
+3-15 f: ffnfffffffffffv
+4-5 w: wwjgww
+10-15 d: ddddbcrddmddddld
+7-11 w: wwwwwwwwwwz
+3-4 h: hhhh
+4-9 v: vvpgvvnvtv
+8-11 q: qqqqvqqqxqcqnmq
+2-5 s: lsnpdqqqsj
+8-9 g: ggsgggggz
+6-10 s: sssssbsbbtss
+12-16 z: zhzzzszzzzznnzbwz
+9-10 p: ppnpdpgldl
+10-11 r: rrrrrrrlrtfrr
+1-13 h: xhhrhhhhhhhhchhhhcp
+5-14 m: mmmmmmmmmmmmmqm
+8-9 h: hhhhchhhhhkt
+3-4 f: fflf
+7-13 s: ssssssssscsssjs
+2-3 t: twlcfmbmbxtt
+4-6 v: vdvhvf
+1-7 c: bccccccccccc
+13-14 r: wrrvrvrtrrrrrrrrrrr
+1-3 b: sjvfpdrbcnwr
+1-7 z: xzzzzwjz
+6-14 j: jfrxjjjrqcqjwmbfjjjm
+11-14 f: ffffffffffqffzqf
+6-8 z: zzzzzrzw
+1-5 j: jjjnjjjjj
+9-10 g: ggggggxggg
+7-9 r: rrrvrrbrdr
+9-18 j: jjjjjjjjnjjjjjjjjfjj
+14-18 q: kjtxqqqqltlpgqshdx
+8-12 k: kkkkkkwjkkkfkkk
+2-4 s: ssvs
+3-5 z: zzfjk
+9-10 m: rmmlmsmfmbj
+14-15 z: nlzzzzzzzzzdzzzzzz
+8-12 r: zrrrrprrxrrrrkrhk
+1-2 z: qlfzd
+1-6 j: kqjpjzpsgjjqz
+1-5 s: qfssks
+2-5 r: nrrzrr
+4-6 g: kggggg
+6-7 c: cccccdqcc
+2-6 x: vjkxbrfwnj
+16-18 s: kssssssswssssssssssb
\ No newline at end of file
+++ /dev/null
-### A Pluto.jl notebook ###
-# v0.12.15
-
-using Markdown
-using InteractiveUtils
-
-# ╔═╡ f0dd4400-3313-11eb-3295-af913c2212fb
-md"# Advent Of Code 2020"
-
-# ╔═╡ 0b7b8920-3314-11eb-2cfb-7d20c0967e67
-md"## Day 1"
-
-# ╔═╡ 877b32e0-3315-11eb-0e96-650b19da693e
-begin
- input_day1_raw = "1254
- 1313
- 1456
- 1782
- 1742
- 1391
- 1273
- 1286
- 1373
- 1891
- 1188
- 1994
- 1887
- 1816
- 1984
- 961
- 1428
- 1105
- 1123
- 1699
- 1154
- 1953
- 1977
- 1450
- 1696
- 1068
- 1241
- 1926
- 1228
- 1591
- 1789
- 1966
- 1508
- 1193
- 1190
- 1654
- 444
- 1282
- 1169
- 1165
- 1778
- 1669
- 1570
- 1671
- 1845
- 1208
- 1728
- 1798
- 847
- 1300
- 1817
- 1200
- 1297
- 1658
- 1296
- 1571
- 1991
- 1305
- 1314
- 1903
- 1472
- 1359
- 1506
- 1999
- 1877
- 1168
- 1137
- 1288
- 1083
- 1656
- 413
- 1430
- 1408
- 1397
- 1846
- 1218
- 684
- 1234
- 2007
- 900
- 1604
- 1460
- 1848
- 1693
- 1324
- 1401
- 1968
- 1918
- 1975
- 1665
- 1413
- 1874
- 1852
- 1521
- 1753
- 1229
- 1940
- 1650
- 1976
- 1235
- 1130
- 1927
- 1365
- 1908
- 1441
- 1302
- 1986
- 1449
- 1692
- 1944
- 1277
- 1312
- 1826
- 1231
- 1289
- 1814
- 1170
- 1606
- 1608
- 1773
- 1883
- 1936
- 1626
- 1497
- 1860
- 1673
- 1295
- 2005
- 1481
- 1995
- 1734
- 1646
- 1557
- 1298
- 1174
- 1894
- 1309
- 1240
- 1982
- 1414
- 1799
- 1620
- 1863
- 1220
- 1642
- 508
- 1146
- 1187
- 1253
- 1284
- 1952
- 1527
- 1610
- 1333
- 1221
- 1362
- 1457
- 1721
- 1493
- 1330
- 156
- 1647
- 1841
- 1724
- 2000
- 1398
- 1745
- 1985
- 1269
- 1722
- 2001
- 1923
- 1395
- 1094
- 1140
- 1958
- 1239
- 1336
- 1588
- 1338
- 1750
- 1757
- 1444
- 1822
- 1335
- 1941
- 1865
- 1767
- 1881
- 1499
- 1157
- 1990
- 1210
- 1779
- 1201
- 1784
- 1961
- 1476
- 1861
- 1468"
- input_day1 = parse.(Int64, split(input_day1_raw)) |> sort
-end
-
-# ╔═╡ 4adcf8d0-33a8-11eb-0220-696f06894ef3
-function day1_part1(input)
- for n ∈ input
- r = searchsorted(input_day1, 2020 - n)
- if r.start ≤ r.stop
- return n * input[r.start]
- end
- end
-end
-
-# ╔═╡ 1e8e7230-33ae-11eb-0a77-035e6a4b9ba8
-function day1_part2(input)
- l = length(input)
- for i ∈ 1:l
- for j ∈ i+1:l
- v = 2020 - input[i] - input[j]
- if v ≤ 0
- break
- end
- r = searchsorted(input_day1, v)
- if r.start ≤ r.stop
- return input[i] * input[j] * input[r.start]
- end
- end
- end
-end
-
-# ╔═╡ 7a037310-33ac-11eb-34fb-9bf552883937
-md"**Result for part 1:** $(day1_part1(input_day1))"
-
-# ╔═╡ c7dcdae0-33b1-11eb-2cab-fbc06c8ef76b
-md"**Result for part 2:** $(day1_part2(input_day1))"
-
-# ╔═╡ 5d9712b0-3472-11eb-1423-719331dfe52f
-md"## Day 2"
-
-# ╔═╡ b9144990-3473-11eb-0ba9-59f3fe6ddbc0
-struct Password
- policy_range :: UnitRange
- policy_char :: Char
- p :: String
-end
-
-# ╔═╡ 10f5ffa0-3474-11eb-2a36-d5c6f78f18c6
-function parse_day2(input :: String) :: AbstractArray{Password}
- line_regexp = r"^(\d+)-(\d+) ([a-z]): ([a-z]+)$"
- result = Array{Password, 1}()
- for line ∈ split(input, '\n')
- m = match(line_regexp, line)
- push!(
- result,
- Password(
- UnitRange(parse(Int64, m.captures[1]), parse(Int64, m.captures[2])),
- m.captures[3][1],
- m.captures[4]
- )
- )
- end
- result
-end
-
-# ╔═╡ 6695038e-3472-11eb-1846-3b1c041be59d
-function nb_of_valid_passwords_part1(passwords :: AbstractArray{Password})
- sum(
- function (password)
- m = 0
- for c in password.p
- m += c == password.policy_char
- end
- m ∈ password.policy_range
- end,
- passwords
- )
-end
-
-# ╔═╡ bbda1c1e-347a-11eb-0e7a-756906c4c9f4
-function nb_of_valid_passwords_part2(passwords :: AbstractArray{Password})
- sum(
- password ->
- (password.p[password.policy_range.start] == password.policy_char) ⊻
- (password.p[password.policy_range.stop] == password.policy_char),
- passwords
- )
-end
-
-# ╔═╡ a0cfb670-3474-11eb-1a05-c12914658a0a
-let
- test1_input = "1-3 a: abcde
-1-3 b: cdefg
-2-9 c: ccccccccc"
-
- test1_part1_result = nb_of_valid_passwords_part1(parse_day2(test1_input))
- test1_part2_result = nb_of_valid_passwords_part2(parse_day2(test1_input))
-
- md"
-Test 1, part 1: $(test1_part1_result == 2)
-
-Test 1, part 2: $(test1_part2_result == 1)
- "
-end
-
-# ╔═╡ 2b112350-347a-11eb-1725-5f70e3623379
-input_day2_raw = "1-13 r: gqdrspndrpsrjfjx
-5-16 j: jjjjkjjzjjjjjfjzjjj
-14-16 r: rrrnrrrrrcnrgxrr
-1-3 k: bkktwhgktv
-3-5 q: dxqqqzmqvs
-11-14 s: sssssssssssssv
-1-3 d: cdzdq
-13-16 q: scdqpdgpkvbwwqbv
-9-10 d: ddrdddlddd
-15-17 v: jvvvvvvgcvvvvrcvnv
-2-3 s: xssx
-8-15 j: jwjjjjkhjjjltjmjjjr
-7-15 m: wqspfmtpjftmplwp
-1-11 s: swdgzhgsxtssndzfm
-3-4 b: bgjrg
-1-12 x: jxgxxxpjwpsht
-5-15 x: xxjxwshpxjxxxxsnxvz
-4-11 r: bjnrpswfprrng
-12-14 j: wjjzmwnmmvzsjhnnkj
-3-4 d: dddv
-2-4 b: bfxx
-15-16 r: rrrrrrrrrrrlrrphrr
-6-11 j: jsljjjjjjjj
-6-7 m: mpttcmmmmng
-6-7 g: gsggggg
-2-10 b: nbtbqbbfpb
-4-6 h: hhqhrzkcrhh
-13-14 b: bbbbbbbbbbnbbbb
-5-6 g: gggggg
-5-6 x: rsxvxx
-3-6 q: wxqzqqqtzsq
-1-2 h: sjhj
-6-18 t: jtptcwtbfgffpkdwthbf
-5-9 w: wwwwcwwww
-15-16 g: wqdwztbmrqdmgmvc
-8-15 t: ttttgztvtttnttb
-9-11 r: rrvrrrrnhrzr
-8-9 l: lllllllqwl
-10-11 h: hhhhhhhhhhd
-3-5 g: gggrwqc
-5-12 f: ffcdxfglcffsf
-6-7 f: fffffzk
-3-5 b: btbbbb
-2-8 z: wblnvfzzwzzbchx
-13-14 r: rrrrrfrrrrrrlf
-2-9 r: wgbmfvksl
-5-12 m: xrmmfhmqdhmmvhvrzmwq
-3-4 j: jwpd
-6-8 v: mvfwgskpxgvcsr
-1-3 c: ctpr
-2-8 d: dzdfsddd
-10-14 c: ccccczcccccqlchvclcc
-2-8 s: sscwcfssssssdt
-2-11 l: xlsslrlclfls
-7-8 r: rrrjrrrrtdcr
-7-9 z: zzzzzzzpzz
-12-14 r: rrrrrrrrrrrprrr
-13-14 g: hdczwngvjtgmhn
-1-7 q: qqdqqqqvq
-5-6 q: qqqqql
-11-16 p: wgwrzltpskwgxprm
-4-12 d: dvddddddwddz
-15-16 q: qqqqqqqqqqqqqqqqq
-1-5 m: mmrjmmqsjkm
-13-14 m: mlmxmmmdmgmmmw
-4-5 q: qcqvmhqdq
-2-3 m: brdzbfzj
-3-4 s: snshj
-5-9 k: kzpkkbkvqjktrk
-12-13 t: fltttttttjtpstttt
-7-8 c: kcccfccccxtcc
-2-6 q: nnjqqd
-2-9 n: msnvnrxgldqnxnngsn
-2-4 c: scccwp
-12-13 c: ccbccqdcccfcvdccc
-6-7 f: fmdffffxcbbpffl
-2-6 r: rbrrrvr
-7-10 j: jzjtjjqfvjj
-3-7 j: jjrjjjjj
-2-13 m: mmmlmqddkmtmmm
-19-20 l: drpwllkdlsjslmllsdrv
-3-5 v: vxmrwwvh
-5-13 z: zzzzkzzzzzzzkzzzf
-5-6 g: gggggfg
-4-6 c: crfvlc
-14-18 x: xxxxxxxxxjxxxzxdqc
-4-7 p: plzqjtp
-2-4 v: nmdbhftxvbv
-5-8 s: knfcsbbsxssssxd
-2-13 p: mpwpnbrnlxmqvfbltcq
-7-11 v: vbvvvkfvvvg
-14-17 x: xxrxxxbxxwmhxxpxqxv
-5-7 f: qffndfmqfsrv
-7-8 v: vvvqvvbvv
-9-10 j: jjjdjjjslljjjjjch
-4-6 l: lllplgr
-3-4 n: nnqn
-4-5 c: ccccc
-1-2 q: lwhqw
-6-7 d: dddmddqd
-6-7 g: gggggzxg
-2-10 j: jsjjjjjjjsjj
-13-15 b: dxbbbbbbbbbbbmbbbmbl
-5-10 q: qqqqwqqqqxq
-12-13 j: jjjjjzjjjjbjxjjb
-5-10 t: ttfttphtttttmthttp
-3-4 t: tttj
-7-8 n: nnknnpphfwnn
-9-10 x: xxxxxxxxcx
-14-17 h: hhkhhzxhhhhhhjhhxhh
-4-5 w: whxtwwftw
-10-12 q: xqgqsqqvqqlqqqdqpqrq
-1-3 l: jsvlzrm
-8-16 z: sbzzqzxzzzskzzxgrzcz
-7-10 k: kkkkjklkkt
-9-11 f: ffffwfffwflnwf
-1-8 c: cmccwcqzzhxccr
-6-9 h: vnfxddhrhbdqkqr
-8-9 t: tzttdtttvvtb
-6-9 q: qqqqqqqqqqqqq
-15-17 k: kkkkkkkkkkkkkklkqk
-3-10 p: pprppppppfp
-5-11 d: nhgkdjgvmdddt
-7-9 d: rdddddddpd
-1-3 r: rrwrr
-5-16 t: gttwtrqqmwwljhfn
-6-9 q: qqqswdzllqqf
-7-13 b: mxpxbjgvsncqwv
-7-8 d: dddddrddds
-3-4 z: zzqzz
-10-18 z: zzzqzzzzbzzwzzpzzzz
-8-9 p: pppppppppp
-13-16 f: fffffffffffffxtf
-8-9 w: fwgwwwlsfpww
-4-5 g: grgmcpdqggwckq
-16-17 g: gggggwgggggggggln
-3-13 j: jjmjjjjjjjjjbjjjjjj
-9-13 x: xxxxxxxxxxxxx
-5-12 b: bbrmbhbbsgbbbpbbz
-14-18 z: zzzszzszzzzzzzzzzzh
-1-13 k: pkkkkkhgfkfbtkkpkf
-3-14 v: vvvpdlvvvvdfvvjvvsv
-12-13 m: mmmmrmbmmmmmmrmmm
-12-14 v: vvvvvvvvvcrlvkvv
-18-19 p: mxpppgpwcphkzppktppk
-4-10 x: xxxxxxxxxxxxx
-4-5 k: kklkkk
-11-13 m: mmmvmmwmzwmmmnvgmm
-7-11 p: qdppjspwtcpppp
-4-8 l: lllllllll
-12-16 j: jjvjtjjsstfjjnjjk
-15-17 h: phhhhhhhhhhrhhhhh
-4-7 j: sqfjjjj
-3-20 m: wzmqhwmjmclzmmmdlzqm
-8-13 m: jpmmbmtgmnprgt
-8-13 h: hhhhjjhchhbhqshh
-15-20 b: mbbbgbbzmkbbkbbpffqb
-2-3 t: tdlt
-10-16 l: llllkgllrnllllll
-2-4 p: phpf
-3-5 d: ddddd
-5-6 h: hhhhhhh
-2-3 j: cjjrj
-7-10 g: hgwtggfgbcpgd
-3-4 d: dddk
-4-6 t: mltdtf
-8-9 h: zhljxshhh
-2-3 p: vqjgbsp
-6-7 x: gcxvjxp
-15-17 s: sswgssdsgssjlssss
-1-3 m: qvswmm
-1-7 v: svbrvsjv
-3-5 j: vjhjdq
-15-16 b: bbbnbbbmbbbbbbbdbbmb
-6-19 k: spkgcpkhlkkthkgkfzkj
-1-2 c: dxqxnrrlfnnc
-7-11 j: qjjjjjkdrjjjjj
-5-11 g: ztdgvvgwhrlgnq
-3-4 c: fcmqglp
-4-5 q: qqqqqqq
-6-7 c: cccccrc
-7-11 n: nnnnbnnnnnn
-9-13 x: xxxxxbdtqxdwxsx
-9-15 j: ljjjjjjjjjjjjjz
-2-11 j: pjjhzmtwlgjwpkjjdwq
-5-6 k: kkkkkk
-12-13 q: qqqqqqqqqqqmg
-3-14 j: nwkjjlbbrnqvqm
-3-4 h: hhhhshhhhhhmrh
-2-4 l: djkxl
-1-9 t: tttttfttl
-9-10 g: ckggggtggggggv
-3-12 l: cqlclvwhpxwlnzzsqgs
-8-14 d: ddddddddnddfdh
-1-5 v: vvvvxm
-2-5 q: mqqqqlqk
-3-4 j: tkjpj
-13-16 w: wwwwwwwwwwwwwwxww
-13-18 m: mmmmmmmmmmmmmzmmmmm
-2-4 x: xxfxx
-1-2 d: ddvddddkdddd
-3-5 c: cctdc
-2-10 q: tqjkqqpsctx
-2-18 n: nlnnhnxnnnnnnnnnnln
-3-7 k: rkkkbkk
-3-4 n: ngnn
-3-11 d: dqdbwtbghbdj
-3-5 q: fqqqq
-5-10 x: xxxxfgxxjbxbhxx
-5-6 m: mmtmcn
-4-6 x: xxxkxk
-17-19 b: bbbbbbbbbbbbbmbbbjbb
-5-6 k: kkkkhk
-10-12 k: kkkkkkkkkpkgk
-3-4 z: zzzz
-18-19 p: plcppppksppcnptppvmp
-3-6 t: tdtrltmn
-3-4 q: qqqq
-10-19 v: vvzrvvvvvvvvvvvvvvhv
-11-16 d: kjdtddddkdvcdddpd
-12-16 l: lllllllllllllllll
-4-10 b: dbvbqfqlrb
-10-11 k: kbkvkhlkqrv
-1-9 x: sbqnkxdmxpc
-5-10 l: ldlllkllrln
-9-13 j: bpjjjjjjjkjzjnj
-11-12 j: jjjjjjjjdjjj
-2-8 l: jllzbhjlqlwcltllq
-4-5 s: gsssd
-2-4 s: kswn
-1-18 p: bpppppppppppppppptp
-9-11 v: vhvvvvvvvvvv
-2-5 v: vvkvvv
-8-11 p: plplqpjhdzlfpppppl
-11-18 g: ggggglgvgcgggggggg
-9-11 r: rrrrwrrrmrzp
-3-12 g: tggggmggwnpzvgpnp
-13-17 t: tnvvttxttttvtftptgt
-5-16 c: cccqccccjvcccccccczc
-2-4 f: tfbfrjftf
-2-4 s: ssssx
-3-9 v: vvspvvvjv
-3-4 h: hhxh
-15-17 l: lllllllllqllmlvwblll
-4-9 j: rjljjjjfjjskdkwttbjt
-9-10 m: jmmmmmvmhh
-1-8 w: wwwlcwgwwwp
-1-8 j: mllsjncl
-3-4 b: tfbkbssb
-1-7 g: qvdbrjkdgggb
-1-3 l: wlbll
-4-6 v: jvzqbvvvg
-2-3 w: vjlwx
-10-12 c: ccvcccrccjfhgccdw
-10-18 b: bbtbbbbbggbbbbbbbvb
-8-9 j: jjjjjjjjjpjg
-5-15 c: ccbccccccccccvccc
-16-17 t: ttttgtttttttttttthtx
-13-15 t: tvsmjtjttktztrt
-9-12 c: jzrpnzdncldmxqjmvccb
-6-7 v: jjdvpdhv
-4-5 c: ccccccccccccc
-6-7 t: ttzttttt
-10-11 q: qgxqqqqqqqqqq
-14-15 h: hhhhhhhhhhhhhhh
-3-8 b: bbbbmbbbbb
-11-12 r: rhlrsrrrrjrr
-2-6 v: vrvvvhv
-4-5 n: nnnhn
-3-5 p: pqhmnjp
-7-13 h: qhhcwhhhhqhhfq
-10-11 d: dddddddddxh
-10-11 d: gdcdcdddcddtddsddd
-1-5 f: bffspf
-5-8 s: skssblsg
-8-11 m: mmmcmmmwmzmmmvm
-6-8 q: kqqkmqhqq
-2-8 q: nqnqbdgm
-6-11 b: bbbbmbbqbbb
-5-14 q: qqqqpbqqqqqqqgqq
-2-5 p: prprwh
-13-14 k: kkkkkkkkkkkkkkkk
-2-7 v: vnvvdlwvd
-2-3 t: hpsqzxrltrwbttwgbz
-1-5 n: srnlwnnkjnnwhnf
-2-3 r: dtlcv
-2-5 h: hhthhdcm
-2-11 d: rdxfbdhqpbdjjlhf
-1-4 b: bxbshbjr
-4-10 s: sthspqlnsst
-1-10 h: mhwpfrbhhbn
-16-18 g: gggggggglgjgggqcgzgg
-3-4 d: dddd
-12-16 h: dhhhhhhhshhhmnlhhhh
-15-19 q: qmqkqqzqtqdqnqqzqqz
-14-15 p: kgjpqpppppqpdpph
-4-6 z: zzlzzztbbzzr
-11-14 l: blllwlqmhlllldllll
-2-4 q: qqrqc
-5-6 r: qrrvrrr
-2-4 f: fffv
-13-15 v: vkvvvpvvvvvvvhvvvv
-3-8 k: kzqkkkkkk
-4-10 w: wvkwwcwxkwv
-2-6 t: tvtttttttt
-3-4 t: tttt
-11-12 p: pzpzppplplppppk
-6-12 p: pppppdpppppgp
-5-9 w: wwwwwwwzwwww
-4-6 m: mmmmmhmmq
-4-9 j: xsqjsllnjj
-6-9 c: zmcdccgtfccbccfc
-4-5 p: vwpzhpp
-15-16 v: pjtmwtrxmjnjfkvgrv
-9-10 p: pppppppspp
-2-10 f: vffzxnfnxfcfcsmtrncz
-5-7 v: blwvvvvfvvh
-12-16 z: zzzzzzzzzzzzzzzr
-5-6 z: zkvhpz
-9-13 w: wwnwwwwwwwwww
-5-6 p: wmlhpptppmfvngh
-9-11 r: rrrrrgsrrdrmrrrr
-2-5 b: bbbbzb
-13-15 r: rcrrrrrlrrrrqgfrrnr
-5-7 k: klkmkkk
-3-4 f: zfffgdnfff
-3-4 q: qjbjhzltvl
-17-19 w: wwwwwwmwwwwwwwwwqwqw
-7-9 l: nlrldrlvlnvllllvf
-8-9 m: mmmmmpmmm
-11-16 k: kkmkkkwkkkkbkkkkd
-11-14 s: mvsdsnsncsssrs
-6-17 j: jjjjjgzjjsjjjjjjjjd
-19-20 p: ppppppppppppppppppkp
-1-16 k: nkkkkkkktkkxkkxz
-2-4 c: xkcccvvcv
-3-4 v: vvvvvkn
-11-13 q: qqqqqqqqqqsqj
-10-13 g: gxggggggggggg
-3-4 x: xxpx
-4-7 d: dvbddcdhdd
-17-18 g: gggggggggggggggglbgg
-18-19 m: mmmmmmmmmmmmmmmmsmtm
-4-6 g: xbtgrgbgggmgcrx
-8-13 w: wtwcwnwwwcwssxwpbw
-2-3 v: vcsv
-4-5 g: gggpt
-2-3 g: tggtpgkg
-3-4 p: pglt
-9-12 v: vvvvvvvvvvvvn
-11-15 f: fhffffffffnfffq
-2-5 s: snssk
-2-3 m: mmmm
-10-14 x: xxmjbxbxkbwjxxxxj
-5-14 l: lmlmlczxfsllzpkljt
-6-12 n: nnnxpjtbjjdnrnsvxnwt
-5-9 s: ssssfsssb
-3-11 f: bffrlbwzfpf
-3-4 t: twtt
-1-4 r: rkxrsrlrr
-7-8 x: xxxxxxlf
-9-15 d: nddbddddxdddrdntdd
-16-18 v: vrxvwgbqtlkzprlvwvrk
-9-10 l: lllllllllzlll
-3-18 l: mfllwjggswwjjgrnrl
-5-7 j: jjjtjxjvqjjltjj
-5-14 n: nnnnnnnnnnnnnnqn
-3-12 l: pllqlhpllpklcds
-2-5 f: fsgfrpfflq
-4-8 q: xqsfqqqrqhqjsqndz
-1-5 c: hcttt
-13-14 r: rrrrrrrrrrrrrgrr
-4-6 d: dddddt
-3-4 d: tdqgdk
-14-15 s: snskdsjxpsgmbsssssf
-3-5 m: mhlcxmmmw
-2-12 c: ccmccchbrrscv
-14-16 c: ccccccrccccccccmc
-8-17 w: pwqmtwwwwrwxwtmmww
-5-8 h: hhhhmhhmlb
-10-12 b: bbbqwbbbbbbb
-6-7 n: nxnnnnl
-7-10 v: vcvgvtgvvkwvtlvcv
-10-11 t: ttttttktttttttt
-2-5 t: tzdtkpsf
-4-5 r: rrrmhr
-9-10 w: wcdwxgxrwwwk
-1-6 g: jggggcg
-1-7 v: vvvvvvvmv
-12-15 q: rqqqqkqqqjqqbqqqqqrq
-3-10 w: vwwgwwwzwwwwxwwxsw
-3-4 c: mmhfccccjclccrdccc
-1-5 m: mmmmm
-4-5 h: vhhxh
-13-14 z: zzbzzzzzzzzzbcz
-9-11 k: bkkskkkkkkk
-1-6 j: jxvjrm
-4-6 f: ffffff
-3-5 m: mmmmmm
-1-3 x: xxxxxxxxxxx
-16-17 f: fffffffffffvfffrxf
-3-4 f: fwff
-2-11 j: zvbdwnthjfh
-9-10 f: gffffffffff
-1-3 z: zmrnxvs
-5-16 k: llkdkrkvkkhkktkktlkd
-9-13 z: mvjzzzkhzvzxzqmf
-4-5 d: flgsdd
-2-6 p: mftwthqkqqkp
-2-4 f: vfff
-7-12 w: swwwwwwwfwwwwqwfvw
-10-13 c: csdkvcctnccncczc
-12-15 q: qqqqqqhvqqqmqqcfqq
-2-8 v: gvkfgbzvvmfmg
-3-14 m: txwnzwhmcrnnltc
-8-13 v: zsvmsddwnkvrkgmx
-12-13 f: fffffffffffff
-1-16 g: trrkggqglgbbgljx
-13-14 c: ccxcccccccmccd
-9-12 x: xxxxxxxxcxxlxx
-10-14 q: qqqfcqwqqpqqqs
-11-16 l: xllllllllllllbll
-12-13 v: vvvvvvvvvvvvvv
-17-18 g: gggggxggggggggggpcg
-1-5 x: xxrxxklxgw
-4-5 f: fffqt
-10-11 l: llllbklllsgxllr
-6-9 r: crfmrsjhpf
-4-8 h: hhhchhhx
-6-12 v: cvlvvvtbqcsvvzvlztv
-2-3 x: bsgfvxdl
-2-5 j: njzjjj
-13-14 s: ssssssssssssfw
-8-11 l: jllfllllllmlllll
-2-11 p: pxppppppphq
-6-9 f: crtfxvfmwwdvt
-3-5 n: nnnnnn
-3-4 h: hhhh
-3-5 d: kldhd
-18-19 x: xxxxxxxxxxxxxxfxxbs
-4-5 k: kkkct
-9-12 n: nxlnnpnnwnnb
-2-4 g: gqggz
-15-16 z: zzzzzzzzzzzzzzzz
-8-10 p: kpcppjbrzqpfcpgppp
-5-6 g: qggggrg
-7-8 c: cccfncccccc
-2-8 k: hgnsbkckkkqktkstks
-3-14 x: xxlxjxxxxxxxxvxfbx
-1-8 l: lllllllll
-1-2 p: ptbmvp
-10-15 k: jkkkkktkkkkkkkkkknzg
-6-11 k: kkkkdgkkkkk
-7-8 m: mmmmmmmm
-13-19 z: zzzzzzzkzzzzkzzzvzxz
-2-4 g: tghm
-3-8 b: bbbbbvdb
-6-8 d: dddddrvxdddfdd
-5-10 m: mnmnsmmmmxmd
-1-8 r: cgcnqrvfb
-16-17 l: mhjqbmhszwllqqllr
-2-4 s: csssts
-7-10 j: jjjjjjzjqt
-1-12 x: xmxtxxxxxtxxzdxx
-5-6 w: wwnwmwrw
-10-11 p: lpjpgpqpkpprdpppp
-8-9 k: zhkkbkfkk
-1-2 j: klhz
-6-13 d: dmstddpddtddddddd
-1-8 h: khvcwhhhhlj
-8-11 s: bsssbzsfdrsssss
-1-18 s: xsssssssssssssssstss
-8-15 l: xjllsmjtlllmsxll
-1-5 m: mmmmmm
-17-18 k: kkkkkkkkwkkkkkkkbmk
-1-7 t: tttttgtdclpkx
-4-14 k: tgvzgdwkgtcdrd
-2-3 z: tzprzcdzhnnll
-2-4 j: rntmnjxbwq
-5-6 r: rrnjnr
-5-9 g: lrggvfggp
-4-5 s: sssdl
-4-18 h: hhhhhghphbshhhhhhhhh
-4-6 s: sfpjvsk
-1-10 m: fwgstfsjmtp
-4-8 w: wpwwwwwmwsh
-2-19 l: lnllllllllllllllllwl
-4-15 v: vmwhvvwvvvvsvtdvvkv
-5-6 p: lpppslppjppp
-5-7 p: ppzppcmdppt
-14-18 f: mffxfftfwffdffffffff
-4-7 v: kvvdvjvvkmh
-1-7 p: rdkzpkfdpzrxq
-2-3 h: cdhhngnnjslfjbh
-3-6 q: qqzqqwqt
-5-10 s: kpcsszfcwsh
-11-12 g: gggggggggggw
-14-15 w: wwwwwwwwwwwwwsp
-6-10 h: bhkzhhhsbhhh
-3-4 l: fcnvfxtln
-2-7 j: jzsjfrjjjmxqjxjjss
-6-9 s: nvdhnsbhsdwxhlj
-1-2 v: vvrp
-2-5 h: qhnbhfbsdhs
-3-4 x: xqvzps
-3-4 m: mcmm
-9-11 l: srdlflnwlrl
-1-8 x: cxjgmlgwvqdpnbzn
-3-4 q: qqqk
-4-5 r: wsdlmbdv
-1-3 d: tbtdddp
-3-8 g: gsggsggvgggpgrgx
-5-7 t: ktzrvktqpllxwzt
-1-2 s: spss
-6-19 d: dtjdmqdldddbdcnzkqpd
-9-11 f: fffffffffzf
-1-12 g: wggnvsgcrgmx
-5-7 f: qfpzfmkfmfjc
-14-15 j: jhjjjjjjxqjdvvfj
-6-7 v: vvtvvqs
-4-11 q: qqqxqcqjqqmqqgt
-1-3 l: gbkhxlzld
-1-4 s: pssz
-13-16 x: xxxxxxxxxxxxfsxpp
-3-6 p: mlptcpvcrppn
-13-15 x: xxxxxxxxxxxxxxxxx
-13-14 f: ffffffffffffff
-2-5 j: jjpwj
-2-7 r: xrrzrvrkjr
-8-9 m: mmhlmhmmmpzpmmhgmvz
-3-4 g: zgggdwgggdl
-6-9 t: tttttxjzttttr
-1-4 h: njzthhch
-3-14 x: xprxtxbpxxxxlg
-9-15 q: qqqqqjqqqqqqhqqqqq
-4-6 w: wwfwwwrb
-6-8 w: wwwwwwww
-10-11 k: kkkkkkkkksl
-3-4 n: nnqfvfn
-11-13 c: ccccccccccccc
-5-9 n: vnvnmnnnqfnq
-13-14 f: ffpzrfflffffffqffff
-17-18 p: ppppppppppthpppppzp
-3-8 m: hsmzgwdmm
-4-7 z: zlzhtzcnzzzz
-6-13 b: bvbbbhbbbbbbgbb
-11-16 x: lpxtdgxvzbxpcwxc
-10-14 d: dddddddddrddddddd
-2-5 j: lhjnv
-2-3 p: pdkp
-3-10 l: lnllqjpgqfl
-1-4 t: ttttttt
-4-8 q: qxzqqqfczksrwmmzx
-1-4 l: lllll
-5-19 z: ttzhzcbczmjxzrjzpwz
-4-7 s: sgssssjs
-12-13 s: sssssssssssbq
-9-12 h: hhhlchhhvhwb
-5-13 n: fncqnnnnwkhnn
-10-13 g: ggggjggggrgcqgg
-8-12 q: qqxqvqqmqrpdrxqq
-5-6 l: ldwlvnllwq
-12-15 v: cvvvkvvvvvvvvrvvvl
-6-11 x: kxmthvnkgxq
-6-9 n: nfdfnkmnln
-3-5 x: nqcxt
-2-7 p: tpgkbpwxhpzldtmrqd
-8-9 r: rrrsrrzrrmrr
-3-10 x: fmmjlxbqlz
-1-10 g: cngggggqghf
-10-11 r: frrrrrrrrgj
-2-5 q: sqgqq
-7-8 x: cxxxwxsvjgxx
-8-16 t: ttttttgpttqttttt
-4-8 n: ndznlllnqwpmnnfwvxb
-4-15 j: jjbszvrjjjjfjjjwjjcj
-4-5 c: ccvrlc
-17-19 f: ffffkpfffjxffwffcff
-3-4 z: qfzzz
-7-9 s: szssssjsm
-13-18 q: lngqqpvqqdjvcqdqvlq
-7-8 b: bbbbbbbb
-2-4 n: lnqr
-11-13 k: kkkkkgkkkqxkhfk
-2-4 g: tggqzdxp
-3-5 t: ttvtft
-2-4 v: pzbbr
-1-4 h: thhhh
-2-5 m: mqxdt
-8-9 k: kkkkkkkkk
-2-6 w: jqfwlhv
-17-18 x: xhxxxkxxxxxxxxxxxbxx
-9-10 p: ppwppdpxvvjzpp
-10-16 h: hmhjpxmhvnhqhjfmb
-11-15 k: kkxkkkkkkgckkkcs
-5-9 b: cwcbjsqbdwmbw
-10-11 z: zzzzzzzzzzz
-14-16 w: wptvwbwdwwwwwwww
-8-10 c: xccclcchcrvtqc
-7-12 r: rhnrrrrrrrkqrrtm
-3-5 h: hhrhph
-7-10 c: wblrcccpctnhvdc
-15-17 n: nnnnnnnnnnnnnnnnn
-5-13 s: ssssssssrssmslsssv
-8-19 k: pvqbhlzkwpnkcgkvkwk
-4-5 s: pkrxgskxsswbqwlfxsvw
-5-10 d: ddsbdcdsdd
-12-13 q: hwrkqrhqrrxmw
-5-15 b: blcbfqbgbnghjbnglbbb
-1-3 z: zzczzz
-3-14 s: jsxssskvsssptw
-8-13 n: nnnnknnnnnnnnnn
-3-11 c: ccccccccccbccccc
-1-6 n: nnnlbn
-9-12 k: qkkkkkkkkxwkkk
-19-20 w: wwwwwwwrwwwwwwwwwwww
-10-15 n: nnnnnnndnnndfnnnn
-8-14 c: cvndjxlcsccwxl
-1-3 v: vrvwv
-8-10 s: rshsssjssss
-2-10 n: nnjnnnnnnhnkm
-1-2 c: ccbcflcp
-3-6 v: jtntcsvvvhp
-3-5 q: qqqql
-17-19 p: ppppppppppppppppmpg
-10-11 k: kkkkkkkkktrk
-2-4 f: tgprtftkfx
-8-9 x: xxxxxxxld
-4-6 l: lhzllllzhv
-8-9 g: bhgkfgsggxg
-5-9 d: dkdddddmdwd
-2-13 s: sdffzhrpbnvtswxsbrcs
-7-8 q: qjqpdqvwqqdtxpq
-5-8 n: lncnfnzxtsn
-8-9 p: khtrxgvhtqwrfpqrd
-2-4 s: zhln
-5-6 q: bqqqddp
-7-13 g: gggjggggggggg
-10-12 w: wwwwwwwwwkww
-1-4 b: bwbbdbhbl
-9-18 j: jjjjjjjjjjjjjjjjjjj
-10-18 j: jjjvjjjtjjqjjjjfbjd
-11-13 m: mmdmmmmmdmmmqm
-6-9 n: nnnndtnvfnn
-2-3 q: qckq
-16-17 x: xcxxxxxxxxxxxxxpxx
-14-17 k: kkkkkkkkqkkkkkkck
-3-8 l: llkllllvl
-8-13 p: nkptlpntkcknppwpdhb
-6-12 s: ssssssssssss
-8-14 c: ccccccccccccccccsc
-6-9 p: cpppdnppztxbpp
-8-12 w: vshmsmbckwjmw
-1-10 g: qqtfmmxnbg
-1-6 m: mmkmmmfmw
-5-8 v: vvvwxvvdqv
-7-8 f: ffffffff
-2-10 k: kkkkkkkkkk
-1-4 g: wjhxhq
-3-4 w: znpwwmwcwjgs
-5-9 d: ddddrdddwl
-6-8 j: kjjhvzrbrwcjjm
-2-5 j: jhjjxjjsj
-2-6 t: ccwdcm
-4-12 q: qlqrsgqqhqqf
-13-16 w: mwwwwwhwwwwwwwwwww
-9-10 g: ggggggggggmtgwj
-1-3 x: xxxx
-1-3 n: jxtqjbhpkgrcrdrptvd
-14-15 w: wwhwwwwwwwwwwww
-7-10 d: wddddzvdddkdm
-1-4 p: lzph
-6-9 w: wwwzwswwr
-17-18 t: kjtktrtfgkhpzthvsjt
-12-13 j: jjjjjjjjjjjxs
-8-9 r: srrzrmrxnhrrr
-1-5 s: spzsshkzfmkdss
-1-7 z: zzsmzzhzzxzzzzz
-1-2 d: ddvx
-2-9 h: hhhhhhhhhhh
-6-8 p: ppppppppx
-4-8 v: bqvvxmvtvhfvv
-3-4 z: zzzz
-2-4 r: rrrrrrr
-4-5 r: mhrrrrrrq
-5-6 b: nkhgfjrzqldbbbbmpx
-7-8 n: nnnsnwnncdnn
-13-15 p: pppntwcpppppppv
-5-11 r: tmkrdcmrpcrrkrl
-3-4 v: vvgf
-4-5 j: jjvtcj
-3-5 p: ppppp
-1-3 r: mrrr
-13-14 v: vvvvvsvvnvvvhxvvv
-10-14 z: ltwsklmfdpvxmxgq
-16-17 b: bbbbbbbbbbbbbbbqqbbb
-3-8 q: qbpqpvqll
-9-10 x: xxxxqtxxzxxxx
-8-12 d: pdddnddcbcdx
-2-3 m: fmmmsfmvcmkc
-9-10 x: slxtnxxtjnnxjnq
-5-13 h: hhshhhhvhffhhn
-6-14 t: wwwmqttttkpmqtrt
-1-5 b: mbbbb
-10-12 k: kfkkpkrkkkkkkkh
-5-6 m: mnlmbvmm
-5-6 x: xxxxvl
-5-7 b: dbbbpbc
-2-19 t: qhdtkxjzdcwjqjkglpzr
-1-4 h: hhgqhnhhhhfhhh
-1-10 b: bqbbbbzbbbbbbwb
-2-3 b: dbbkgnxmbtpg
-3-8 r: rrrjrgrrwq
-4-7 s: ssrfwfgvskmssws
-13-14 m: smdmmmmmgmfmmjs
-13-15 h: hhhshhwhjhhhhhhhh
-12-13 n: nnnnnnnnnnnnnn
-6-14 n: ndnnpqwrlgfrmn
-3-16 m: rldkmmmkhmsmbnqbmgs
-2-3 m: rmmmmm
-5-9 x: xxxxfxxstxxs
-4-8 b: bgbbbbgbbbb
-9-11 c: kwcclccccscxp
-10-17 v: vvvvvvvvvvvvvvvvvv
-13-18 n: nrnnnnnnnnnnfnnnnpn
-3-4 c: hbcc
-13-14 w: wwgwwwwwwwwwwc
-4-6 z: fwmzzzz
-12-15 h: vhhfhhhhhwhrhhlkmhhh
-1-5 v: jqvvhvvbt
-4-5 n: vnnscn
-5-6 n: qnrvnnndnffnkknfrdt
-6-7 w: wwwwwvznwwwwww
-6-12 h: hvhhhdhhhhhr
-4-5 m: vtmmmmdmp
-8-9 f: ffffffffffffffffdf
-5-11 z: zzzzjzhzgjwzzhlz
-8-10 d: mdnnfwswns
-4-15 c: rptccckzhgcvlccbh
-4-5 r: brrrgtd
-4-15 x: rxsfxqhhzxdsxqxgw
-8-9 c: ccccclcccccccc
-2-9 l: mwltgglzztlpllgf
-12-13 g: nnjgzggjkgzgd
-4-6 j: jjfjjnj
-11-14 m: mmfqpmkmmmmmmmrm
-6-7 c: cccccqccmccccc
-6-9 f: ffzgcfcpfwztjk
-6-9 r: sjgrxnrvnqmmlxdrsp
-3-11 c: cchwcfcckcn
-7-10 p: jpzdflzgkxnbhj
-5-6 b: bblblp
-7-8 p: ppppppllppp
-10-13 b: bbbbbvbbggbbb
-5-6 p: pppptp
-2-6 t: qttttjtt
-3-6 n: vwlhczrnwpnvrnl
-8-9 r: jrrdrrrjwrrrrrs
-3-4 n: nnwqn
-4-8 b: mbscbwxn
-10-12 v: tqbvxmlqvvvv
-1-9 l: qcllllncllcllllrn
-6-10 b: gbbxfblbbx
-11-13 g: gggqgggtgggtgrgsg
-2-3 f: fjkz
-5-11 t: tttttttttttt
-5-18 j: zjdxgjjpshjjkjbtjvg
-9-11 k: kjkfkwkkrkgk
-1-8 w: hwhcwwbffvcdwzwbww
-7-16 l: rrljlvlmmlssllkllqj
-1-4 d: hddldvddddf
-7-9 b: bgbbbrmblb
-2-5 v: ltvvvv
-5-6 r: rgrrdvrrrrrrr
-8-9 n: wnnnnnnnn
-1-8 q: sfmbjqqwvqqq
-2-11 b: wblbmlrcwffl
-4-5 n: cfmnn
-15-16 g: gggggggggggggggq
-6-10 x: xxxxxxxxltxxx
-5-9 g: gggbgxgggpgn
-8-10 z: zzztjzzzqzp
-4-5 x: xxxfl
-6-10 v: vvvhvvvvvv
-6-8 v: tdrvsnvpvzxbwvv
-8-11 q: qqqqqqqqqqjqqq
-12-13 z: zjzzzvzjkzzzz
-1-8 b: bsqqmbnbcwhkphfh
-1-5 z: zdjzzrm
-3-4 m: vlmmtbmmxcdkmdmfb
-7-14 k: kkwpcjfkkkrknzkk
-1-3 f: cfbljmpfghhgxdbg
-6-7 n: mrnhnxn
-16-17 g: gggggggggggggggmr
-7-8 q: qqqkqhqqwkpzshq
-9-15 j: jjjjjjjjjjpjjjj
-5-6 t: tttttl
-4-15 h: hhhhhbsbphhhlzgh
-4-6 h: qhhlhh
-2-6 f: wfwdff
-1-7 c: rczccfx
-3-8 b: jkznbbbqlk
-8-14 r: srtchmrjxmzznm
-4-8 s: ssgskspsdsmclrmxzp
-9-12 j: kjjjfcjjljjqjj
-3-5 l: lllvllll
-15-16 s: sssssssssssssszs
-5-6 z: zzzzmfjz
-13-14 v: vnvvgvvvvwvvfrvspv
-7-8 t: ttttttkst
-17-18 f: ffffffffffffffffhx
-8-11 b: bbbkbswbbpbnbbbbx
-7-14 s: ssjfssssssjsdp
-6-8 s: sssssqsps
-5-8 h: hhdhphhmhhhh
-8-9 r: prrmrpsrrrvrzrrrsrn
-4-17 t: ttttjttjttthtktttt
-7-9 v: tvvwvpvrbnvvvv
-8-12 j: plfsgrjjgjrjwcgc
-2-7 r: krqzzprxrldwg
-4-11 k: sfpkkkcwkwk
-2-3 z: zzhp
-6-9 h: xkjwshvmhbjhfjvkwcmh
-4-8 d: dvndvmdzn
-3-6 r: wrrrrr
-6-8 g: kggdgfgzz
-3-5 j: jjjjj
-2-9 x: qkksvkxxvxbxx
-12-17 b: kjpbpbmddcnwbbbxb
-2-10 w: rwpbpbwrbmwgwwvghvg
-1-12 f: fbfqmffffftf
-1-8 z: qvbjgplznjztjvqjhv
-1-5 b: bbbbbbbbb
-7-11 p: kddppkdtqpjcfpp
-14-20 z: zzzzzmzzzzzzzzzzzzzz
-7-8 p: sjspdphq
-11-12 w: wpwwwwwwwwwd
-7-12 d: sdddddkdjddd
-6-8 g: gggfzzhglgxqpgbnbgbx
-10-13 c: hcccctjcccccccn
-14-16 k: kkkkkvkkkkkkkkpxk
-16-18 c: ccccccccclcccccccjc
-2-4 r: llrh
-11-13 g: ggggggggggggm
-1-4 z: zfwzzz
-4-6 s: ssssfs
-5-12 t: tttttntttttt
-2-6 n: gnghnp
-1-3 q: qqgq
-10-11 f: rdzfzffhtfffffff
-4-9 k: kpfhvkkkk
-3-10 t: twlkttptttt
-4-10 d: dkdvgkdddwd
-5-12 t: ttttnttghtthtvtt
-4-5 c: ctczwcccc
-17-18 l: llllllllllllllllmx
-2-8 t: knmttnttdjbtttvtkt
-1-2 j: jdjjjj
-12-16 j: wmqlfjlnxnvlrjkmj
-13-17 s: snsdsssssssssssss
-8-14 h: hhhhhfhhhwhphhscphd
-9-10 b: bbbgbbbbqcb
-15-16 z: fjjcjrwjtrcnltzz
-6-8 s: ssssxjshd
-2-4 k: kkkw
-3-6 s: xsfgbpss
-13-15 x: xxpxxxxdxxxgjxgxxx
-4-5 l: llqlllsl
-10-15 g: jggxgsggggggjtgg
-2-6 b: prpbjbkbbkcb
-7-9 h: hhhhhkfhh
-8-11 f: fzhftffvffwffnl
-11-15 x: xxxcxxxxxngxxxcxx
-11-12 k: skkkkkkkkkxhn
-5-15 n: cnnnnqqbnnnncznnp
-1-3 v: vqvxlfwpjvxtpkvlhxjv
-3-8 b: gfbbbsfbb
-3-4 z: qzzzbczk
-8-17 t: cpttttttpttttttttt
-11-17 l: lprllfllllnlllllnll
-7-8 f: ffffffrd
-2-6 z: hghjzzwpwz
-6-13 m: thzmtmcsmtctf
-2-4 c: dctc
-10-17 s: sssssssspzssssssl
-6-10 j: jjjjljljjjjjzj
-5-7 b: bbxbvsxphgrmnqgzbbx
-1-11 l: rlnlllllllvlllll
-13-16 b: bbbbfbnbbbbbzgbwbb
-5-11 p: bpjpnpqpppjpmppphrk
-1-3 l: llll
-11-15 l: llgllllcllllllllfll
-2-7 x: kxsnzzx
-18-19 g: gglgggvqkjzgkgggzgg
-3-5 j: fqvjjcjjhb
-6-7 c: fccccccct
-13-16 m: mzmtcgmcmmmkdmlk
-5-9 w: wwsjwwwww
-1-2 m: jzmj
-16-18 m: mmmmmmvmmmmmmmmqwn
-11-12 w: wwwbrwcwwxwwmwwrdww
-3-4 v: nsvddwnvvvm
-5-8 m: mjmrbpmh
-2-3 t: xdrtzgdl
-2-6 n: fnwwgnnzwsp
-7-9 p: jpppppvppsqt
-1-8 k: gkkkkkkkk
-2-9 q: jqqqwfzxhqqqqsxqm
-2-4 t: jtwt
-6-20 d: hqdkcmkdndjrftmgjgqc
-2-9 r: crgmrqpwrrr
-9-15 p: pwmjlrgnrppwphg
-3-4 t: ttqttttnttttt
-1-5 v: hvvvv
-1-2 x: ggxxxxt
-17-18 m: mmmmmmmmmmmmmmmmcl
-4-10 d: dxtmsjvhczfjd
-8-10 x: xpbxsxpxgxqxxqxxk
-6-9 f: ffffmffdwkfrlffx
-8-10 m: ldmmgxxmbmnqftt
-12-13 p: ppxpxhppgppqqpvppp
-4-12 k: kkkkkkkgklkkjkkqvkk
-3-4 x: xxcp
-7-8 k: kkkkkkkr
-11-14 d: dddkpddvdddddg
-3-8 l: lsgmlqll
-12-13 z: znzzzzzzzzzzrz
-3-5 h: hhdphh
-3-4 h: hqhhh
-4-6 f: wfsfrffzf
-8-12 k: ktkdmhvkxktkhr
-2-6 d: dpdwdddd
-7-12 n: nnnnnnpnnnnxn
-1-3 v: vvvv
-3-11 q: gmqqqqmqshpq
-3-4 j: jjjjkjhjf
-2-4 b: glbxb
-13-14 s: ssssssssssrssds
-16-18 d: dddddddddddddddddd
-3-9 g: fgggzttsg
-11-12 r: grrrrrrqrrrrrrr
-2-5 q: cdqqv
-6-11 l: lfclllslllxllll
-2-3 d: dzdddg
-2-4 n: tkwm
-4-5 r: kdccjnrfrzrhplrz
-4-16 j: tfxsmxlrjptjjrxw
-16-17 p: stpsgsgwvqrzpblpsx
-8-12 r: rrdrgrrgrrhrwqjmp
-5-8 j: jjqjjkjjjjnv
-2-7 n: wzgnnnnnn
-1-3 v: vvvv
-4-5 l: hlgnx
-8-15 c: ccccpccczvcsccc
-3-15 f: ffnfffffffffffv
-4-5 w: wwjgww
-10-15 d: ddddbcrddmddddld
-7-11 w: wwwwwwwwwwz
-3-4 h: hhhh
-4-9 v: vvpgvvnvtv
-8-11 q: qqqqvqqqxqcqnmq
-2-5 s: lsnpdqqqsj
-8-9 g: ggsgggggz
-6-10 s: sssssbsbbtss
-12-16 z: zhzzzszzzzznnzbwz
-9-10 p: ppnpdpgldl
-10-11 r: rrrrrrrlrtfrr
-1-13 h: xhhrhhhhhhhhchhhhcp
-5-14 m: mmmmmmmmmmmmmqm
-8-9 h: hhhhchhhhhkt
-3-4 f: fflf
-7-13 s: ssssssssscsssjs
-2-3 t: twlcfmbmbxtt
-4-6 v: vdvhvf
-1-7 c: bccccccccccc
-13-14 r: wrrvrvrtrrrrrrrrrrr
-1-3 b: sjvfpdrbcnwr
-1-7 z: xzzzzwjz
-6-14 j: jfrxjjjrqcqjwmbfjjjm
-11-14 f: ffffffffffqffzqf
-6-8 z: zzzzzrzw
-1-5 j: jjjnjjjjj
-9-10 g: ggggggxggg
-7-9 r: rrrvrrbrdr
-9-18 j: jjjjjjjjnjjjjjjjjfjj
-14-18 q: kjtxqqqqltlpgqshdx
-8-12 k: kkkkkkwjkkkfkkk
-2-4 s: ssvs
-3-5 z: zzfjk
-9-10 m: rmmlmsmfmbj
-14-15 z: nlzzzzzzzzzdzzzzzz
-8-12 r: zrrrrprrxrrrrkrhk
-1-2 z: qlfzd
-1-6 j: kqjpjzpsgjjqz
-1-5 s: qfssks
-2-5 r: nrrzrr
-4-6 g: kggggg
-6-7 c: cccccdqcc
-2-6 x: vjkxbrfwnj
-16-18 s: kssssssswssssssssssb"
-
-# ╔═╡ 4a629040-347a-11eb-2aae-6f37a4c89168
-input_day2 = parse_day2(input_day2_raw)
-
-# ╔═╡ 5825aa50-347a-11eb-37ca-811e1b59d37a
-md"**Result for part 1**: $(nb_of_valid_passwords_part1(input_day2))"
-
-# ╔═╡ de3c2f00-347b-11eb-0aec-8b776a855f6a
-md"**Result for part 2**: $(nb_of_valid_passwords_part2(input_day2))"
-
-# ╔═╡ Cell order:
-# ╟─f0dd4400-3313-11eb-3295-af913c2212fb
-# ╟─0b7b8920-3314-11eb-2cfb-7d20c0967e67
-# ╟─877b32e0-3315-11eb-0e96-650b19da693e
-# ╠═4adcf8d0-33a8-11eb-0220-696f06894ef3
-# ╠═1e8e7230-33ae-11eb-0a77-035e6a4b9ba8
-# ╟─7a037310-33ac-11eb-34fb-9bf552883937
-# ╟─c7dcdae0-33b1-11eb-2cab-fbc06c8ef76b
-# ╟─5d9712b0-3472-11eb-1423-719331dfe52f
-# ╠═b9144990-3473-11eb-0ba9-59f3fe6ddbc0
-# ╟─10f5ffa0-3474-11eb-2a36-d5c6f78f18c6
-# ╠═6695038e-3472-11eb-1846-3b1c041be59d
-# ╠═bbda1c1e-347a-11eb-0e7a-756906c4c9f4
-# ╟─a0cfb670-3474-11eb-1a05-c12914658a0a
-# ╟─2b112350-347a-11eb-1725-5f70e3623379
-# ╟─4a629040-347a-11eb-2aae-6f37a4c89168
-# ╟─5825aa50-347a-11eb-37ca-811e1b59d37a
-# ╟─de3c2f00-347b-11eb-0aec-8b776a855f6a