diff --git a/in/2.txt b/in/2.txt new file mode 100644 index 0000000..0f3ccea --- /dev/null +++ b/in/2.txt @@ -0,0 +1,1000 @@ +7-9 l: vslmtglbc +2-3 s: hpbs +1-3 v: pvvr +2-8 h: hhhhvhhh +9-10 x: xxxxxxxxzv +2-5 q: xdqbjj +17-19 n: nnnnnnnnnnnnnnnnrnsn +5-7 f: fxfkffffff +4-7 h: hrjhxlhh +11-12 v: vvvwdvvvvvvvvv +6-7 q: tqqqqvqqq +2-4 b: vlmndngvbkptbb +1-4 t: mttwt +3-4 v: vmgdcj +4-17 n: nwnnnnnnwqncnxxnn +3-4 c: gscc +3-4 w: wwwwww +8-12 j: jdjjtjxjjjjj +1-5 b: bmbfbbb +5-11 k: kkkkkkdkkkkk +1-4 m: mmmm +5-6 z: zzzzhzzz +8-10 z: zmqzzzzgzlzdz +14-15 r: rrrrrrrrrrrrvnr +11-13 q: qqqqqqqpqvpqwq +3-7 q: qnqhqcqq +11-17 r: vrrrrrrjrrrrrrrrrrrr +2-5 g: srqmltncfgdg +7-11 w: wwwwwwtwwwqj +5-14 j: hhwjmjzmjjxjjkjgjj +11-14 x: xffrxxxxxxzxrxxmxqlw +14-16 c: hqcchcjwrxbcgclctx +10-14 k: kkvkkdbqnqkkbfftxm +10-12 c: cccccccccccc +7-13 x: dbjtkxxfjsvvx +9-11 d: ddddddddxdb +4-8 h: mhbhrsvtl +8-13 h: hbhrhjhhjhhqpthxnwhh +10-11 s: sssksssrsssss +6-8 m: mmfmmmmm +4-14 h: bhhnhvhhhhhhlvhmqkh +1-17 c: cccccccccccccccccc +10-11 r: rsrprprrrnr +10-13 d: dddddddddhdddd +5-7 s: msfscsndswsl +3-8 b: bbzzbhbwb +9-20 b: cbbcrbwjfrddqbvzrfxb +9-15 h: shpdthhhhhshhhhh +5-6 n: nnnnnn +1-7 f: dfffffffff +10-11 f: fffffffffvf +3-4 z: xmkkvcrqdz +15-19 h: hhghhhhhhhmhhhhhhhh +4-7 m: lmxkhmmm +3-4 l: zlllkfzcldctlmhq +2-5 j: jxjjqj +10-11 s: sssssssjsgw +2-4 j: vjkjp +9-18 l: lffnlbmrmrvlkrpchj +3-6 q: qqhqqdqq +18-19 d: ddddddddddddddddddd +1-8 m: mmsmzwbchmmlmljslkk +2-6 m: tmbtmmgmmwm +2-8 j: jrjjjjjp +8-12 d: ddddxdbtvdnbdk +8-13 t: tttttttxttrtr +8-13 w: wwwwjgwzdxwwp +3-14 j: jjkjjjrjjcjqjjj +3-4 q: qgpx +6-9 p: ppppppppp +6-8 f: fdffffff +5-10 x: xsmxxxxkxxhtxxmx +1-4 j: dzrhcjljjv +13-14 s: sdxcbwfsprkpss +9-13 n: nnnnnnnnnnnnnn +3-7 r: rrrcrkrrrrm +4-11 f: fmfrfgphxqf +4-13 t: tttrtptttzgttwj +10-12 w: wwwwwwwwwfhh +10-11 q: qvqqqqqjqptqq +8-10 s: sssssxsssv +12-15 c: dsmccckcccbccwcccdc +5-7 l: nllffcmrwkdhw +8-10 t: tttzttvttgtqt +7-8 m: mmmbmmjmm +7-9 c: ckccqmmcccjckdc +3-4 w: twwwd +11-13 g: ghgpggggwggclgfggtzm +10-11 m: lvwmmmmmbfmm +9-12 g: gggggnggtgdgg +5-7 k: kkkkkkk +11-13 g: ghgggggggbrgzgg +3-7 z: zzzzzgzz +7-10 z: zzzzzmszzdzzz +15-20 w: wwwwwlwwwwwwwwwwwwwc +7-9 z: zzzzzzzzz +1-8 q: qqnhbczhtzg +11-14 s: sgcssssvsssvsslvss +2-4 w: mcztwwt +3-7 w: wtwtdwpb +5-8 r: rrrrrrrsr +7-8 v: vnvvvvvv +7-8 j: jjjjjglwj +5-6 w: ktkvwwgqbxgckq +7-9 f: ffffzfffff +12-14 n: nnnnnnnnnnnnngn +3-5 z: zzzzdz +5-11 j: xmjjtjjbjngk +3-5 l: llvldllllvl +7-8 h: hhhhhhhnhh +17-18 p: ptpppppppppppppprq +2-6 s: sssdnlgqjxcvssh +3-6 h: dhhthhhhch +6-18 k: khkkkkzkmkkkvttkkkkk +3-4 x: dxsxxx +4-11 b: bbbbbpbbbbb +5-7 t: ttzthtx +3-6 k: kkrkkxkkhkkk +2-7 b: mbzbjfnb +9-12 l: fglllllllllkl +11-14 l: plctdxwbmnbqnczwvjlv +2-10 f: jfdtpsntnf +18-19 d: dddddddpddddddddddd +4-6 h: gkhbkhhhkhppb +7-9 f: ffqvffffffnfr +3-4 l: llzl +2-12 d: dccfdbdddddndd +12-17 b: bbbbbbbbbbbbbbbbbbbb +2-3 k: bkkp +5-9 h: hlhhjhhhl +4-12 f: ffffrffffffffffflffz +1-5 v: vvvvvwvv +8-9 l: lllllllgb +15-18 t: ttttttttntttltvtts +6-7 q: zqpqcgbqqq +5-11 w: lgrktkmkqzjvwg +8-9 p: ppppppppp +3-4 c: cccc +7-15 b: bqbxzbbbdtbbbmbb +9-11 k: kkkkkkvkdkktk +4-6 t: bktttttt +6-10 m: bwtpbsmmnmmlmfd +5-12 z: zzckszrdzzpmzzzzk +4-5 q: qqqck +3-6 k: kkwpsbbqkntgz +1-6 k: kkkkkk +1-7 f: fffzffffffffffjq +3-4 p: jqpxgn +7-13 v: wvhzbmvvvvvvgvvv +3-5 p: ppvdfgr +16-18 c: ccccqcccwccgcbctsk +5-8 p: ppgpgpjgpzqpw +1-3 t: tspmnttttfm +2-9 b: bmbbbhbbxbb +2-7 n: dnnngnnnmnnnnckn +12-14 c: cccccccccbccrm +12-14 q: qqqqqqqqqhnmlpqqqq +2-3 n: whnnmf +13-15 h: hhhhhhhhhhhhchp +4-5 k: kkcmw +6-7 z: wfqwfkhdvd +3-4 h: bqnhhhncph +3-4 j: kjgkj +16-17 s: ssssssssssssssfqx +4-6 r: rrzbpw +2-3 m: vzmmmm +17-19 z: zzzxzzzzzzzzzzzzfzz +7-12 s: nmpsssdhszssssssnhs +4-5 l: lfqlcl +3-5 d: fdtdb +6-9 b: mlbbjhbbbbbbl +1-5 g: gggggg +4-7 x: xxbxxhxxkxsx +3-6 j: kspjgjzxfpdclkrzk +2-7 s: ffwpjssskscsv +4-5 n: nnndf +5-15 g: gtljgmrlggmghbv +13-16 v: vvvvjvqbvvvvvvvhvvs +6-9 b: dldbmbsmb +5-7 f: sfvffffft +1-3 b: ztblbcxnrmkvnfvz +10-12 r: dljvqxnjttjvtfrcxgh +14-16 w: hgwslvnzbhhxwwvwprww +6-8 s: vssnsssgptshmkst +6-8 s: scssssshs +6-12 g: gggggfgggtnhm +6-10 j: hlcjjlfpljpwjjrvpl +2-8 m: zbbmxlzlrckhrcmksf +1-7 v: vvvnmvl +3-4 x: fxpt +3-12 h: hhhhhhhhqhhhh +8-9 t: tttttttftt +12-18 r: rrrrrrrrrrrrvrrrrdr +10-14 d: dbdddddddvddddd +15-17 r: dvrhrrrrbnrrprrrrrr +7-11 v: fvjgvgvvvsvz +5-6 m: dsmjmm +7-12 k: kkkkkkknkkpkkz +4-7 h: fhdhmhmvwfsh +8-9 f: ffffffffgf +2-4 h: hhhk +5-9 r: mdrcwmllvgnjfzfcwztt +8-9 g: gggggggnjggg +11-16 v: vlgfvvnvvvvvvvvv +12-16 t: tttttttwtttptttk +4-6 w: jfvkvwx +12-17 w: phmrqwdwwqwwwwbwzbwr +16-17 m: mmrmmmmmmmmmmmmdm +9-10 z: jzhzzzzzzzz +11-14 x: xxxxxxxjxxxcxm +11-12 b: bbbbbbbbrbgq +3-5 j: sxjjmxjrztjjldkpbcq +10-16 l: lhlldlldljlllmlm +2-10 t: szsnwnkttt +7-9 q: ppxcslxzj +14-15 c: ccczcccccccccnm +2-9 l: dllppswblllkltl +1-7 z: kcklcmt +8-9 p: ppppppfhjp +4-8 f: ffjkkffl +5-11 g: hgxgggcgjglbgzcdzg +2-4 d: ccdq +11-14 r: rvrtrrrrrtrnrqrrr +9-11 k: kkckkgkzsmkkkrwknkm +7-9 x: sgmxhhjxnpgcx +6-8 t: qhbpjtjtttttttt +7-8 q: wqqrqqqqqn +3-4 z: jzqgm +4-19 g: gdgmgjggkgpghgggggg +2-11 g: ggtgggggsgs +3-5 j: xdtjdjpjwljmd +1-5 h: hbnwh +2-4 h: hhfhhzhdqzhwchql +3-11 k: kjgjltkkmkkm +17-20 d: ddfnglddnddpqdqwdwbd +1-4 x: gxkpxx +2-3 b: zbbmkb +2-9 r: hrhphqrcr +7-10 d: dkdvddddddn +3-4 x: dsxbt +18-19 p: npnnpwpppgvxwmzpszv +14-16 v: vvgvvvvvvvvvvjvvv +1-8 h: nhthchpdnh +7-14 s: ssgssfsmrsssldgscfd +8-9 h: hhhhghhpv +4-5 g: kggslg +3-9 g: gggglngjzgg +11-13 h: hhhhhhhhhhhhhh +4-7 l: lllslgll +2-4 c: cccccnk +1-11 l: hltwqljjlzllhq +1-2 x: bkxtxx +4-5 v: vvvvg +7-8 x: xxxxxxqd +13-14 n: nwvcqqtwttfhnn +2-7 c: cccchcs +2-5 p: pbpgv +16-17 t: tttttvttttttmttlvttt +1-2 j: fbjj +2-5 n: knznnncnfnvn +11-12 l: llglllcnlfllllkllr +7-8 v: vvvvvvtr +8-9 k: kkkkvkkkp +6-7 q: tpxqqqr +5-7 s: sssnssshvxs +13-18 m: mmfmmmmmmmmwlmmmmn +7-11 p: ppppppppppp +6-7 s: bsssssds +3-7 q: qmqwqqqqqqhfp +4-5 r: tffrr +9-11 c: ccccccccccc +1-3 w: vvlhw +1-8 g: vgggggghg +5-6 p: txlxppppspkplxf +7-13 f: fffffffffffff +2-8 g: gggggsgggg +2-5 w: wbwwz +2-3 p: spsrhtmjzpmgvj +1-4 d: vbtd +4-5 g: ggggf +14-16 v: dvvfhdjcvvvmvdvnm +6-8 x: xxxxxxxxx +5-6 j: jjnjjj +13-15 m: mmpmmvmmmmszmdgkm +4-16 z: zzzzzzzzzzzzzzzq +4-10 x: xxxxxxxxxxxx +4-5 r: rrrrr +10-11 m: rmmdmmmmmmdnm +2-3 q: qqqs +7-11 m: mmmmmmmcmmmmx +2-4 x: dcfr +2-4 p: cpppgpp +1-3 n: vnqgqbhn +3-4 p: pppx +13-14 f: fffgfpfffffffqftfn +2-5 h: hsdhhhh +3-6 q: pdqvtq +6-8 l: lllllmlll +5-6 v: vvvvld +10-11 x: jxhxdchxjwx +7-8 h: hhhhhhhh +11-19 z: dtzzxcztmzzzzzzjqzzz +3-4 h: thcchhh +3-5 b: dbbwjbbnb +11-12 q: qqtgqqldkqqqqqqctqq +12-13 l: lllllllklllcxl +2-8 s: sppbsvjfp +10-20 g: xgswhgldgggdkxjggzzg +2-4 n: nnnnn +3-5 c: xmtccjj +1-7 w: wbqwwwsc +3-6 g: wgghgngg +4-6 p: pppptpppwp +1-3 j: jjjjjjjjjjjjjjjsjjjj +2-6 r: drbwrrmtjnzrfsrxwq +1-5 v: rcvvd +2-3 w: dwnzf +4-6 l: lrlbld +3-7 h: hhhhhhkhh +6-12 b: bktbzmzlbbmvmbpm +1-7 n: znfnngntfsh +2-14 z: jzzsgxsqkqmzlzhzljz +3-8 q: qmqfzhfq +8-9 d: ddzdddddd +11-14 k: gkwtwksxrdwxkkh +3-5 v: vvvvnv +6-12 s: pksrzgvspsswsxrpsvss +6-8 w: whpwhwjwwpkww +8-10 w: wdwwbbwwsw +13-19 z: zzzfzzzzzzzzwzzzzzr +3-4 v: vkbv +7-10 x: wxxxkjkxxxdfxx +1-3 g: gpgsgqgb +15-17 r: pfntnqmbtcfcsrlgprqk +7-10 s: sjdssmsssbssssl +3-16 p: ppnjzcppkpppmwvkp +3-7 r: srkrvrjrgrrrr +3-4 x: xmxx +1-5 k: zkkhqdgrt +1-13 c: rcncccdclcccc +4-7 n: nxfmnnbn +8-9 g: gngggpgfwggg +2-5 m: smmfs +1-12 p: snppbhspvzpppnwpwjpp +2-6 s: rczxxsvknqcpwklsbc +4-9 d: ddndgtdddqddddqd +10-13 f: ffffffffftfff +8-9 x: xxxxxxxxxx +4-7 r: krkrsgrfvqzxpcrrgjr +3-4 c: chdc +13-14 k: xkkkkkkkkkkkkq +4-8 t: tmmvccgxfbtttttttt +14-16 l: trkllqstdlclqzlv +1-3 x: qkxx +2-6 s: nsfhklqbnvs +4-5 g: rlggcgg +10-12 l: llzlllllllll +12-14 w: wwwwwwwwdwwtwl +3-4 m: qmvp +2-3 d: dddd +2-6 j: mwqfjdjlnb +7-9 z: zlzwzrzshd +5-8 k: jmkjkqdcwkrtvb +17-18 s: sssssgssssstssssxcds +1-3 k: qfxkt +3-11 j: tsjjvpcnsmd +12-14 v: vfvvdvvvvvvbvjvvvvvv +4-12 v: wvxmcvzlrvtv +4-8 q: qqqqqqqqqqqqq +16-17 s: sssssssssssssssvqs +3-4 d: ddwx +3-4 h: hhhh +8-9 z: znbzzzzgzzz +1-3 b: tkffshrzkxwjbrxkkv +3-8 n: nnqnnnnbnn +6-8 n: bnpnnhfnnnqndxncpgq +10-16 d: sddddlddjszdddtc +6-8 x: wwwmqxzwl +12-16 j: jjjjjmjjjjbxjjjtpv +15-18 z: zzzzzzzzdzzzczhzznf +1-18 n: nvhddhnqnnrbvpnnwn +14-17 z: lbznszzzzzzzzzzzm +7-9 l: jfqxkllcll +8-14 l: lllllllllnllllc +7-13 m: ncmkkmmhwsvhmmsk +2-5 t: ttttth +4-5 k: kgkkkk +4-9 d: ddddddddd +3-6 n: nnntnnn +9-10 h: bbjqqhhhwr +12-16 g: ggfgsjggghcfggbpjggp +2-3 x: dktxtxh +1-2 x: grnz +5-7 x: txxcgddxnwxxx +12-15 b: bbbbbbbbbbjbbbj +11-17 f: fffffrfffcfpfcffff +3-9 l: lllllsvllhltll +1-4 g: lggfg +6-7 l: lgllltl +10-11 c: cccxcwchchcccn +1-2 m: mmmm +8-10 h: hhhhdhhbhh +5-8 d: dnddddtdd +16-20 l: llrlllgldllllllslllt +9-13 w: wwwwwwwwswwww +1-5 f: fpzffwffhrnfdtl +5-12 w: blwkbsstnvhmw +7-13 g: ggjngkmgfkngggggg +1-3 r: rrzr +17-19 d: ddddnddbddddddddqdz +9-13 v: zvvhgkvbvqvvvv +10-14 n: vxxmbptzjnnnxnqshqq +9-10 h: hlhhhhhqpthhhdds +3-5 v: vvcsv +1-5 g: dmggng +2-8 q: pnprhcxqhmf +6-7 z: zzstfvm +6-15 d: ddddddddjdddddd +2-13 c: fgqtczjthccjcc +5-6 j: jjgwjjjjs +11-13 b: bbbbbhbwbzwbqb +1-4 q: jpqdqqr +9-12 p: hpwpqppwpbhj +7-9 l: lllllljfln +13-14 z: zzzzzzzzzzzzzz +10-14 w: qjgqwwzrjwpjcjp +12-13 j: jjxrjjjjjjjsvj +10-12 n: nrnnnnnpnnnb +14-19 s: sszssszsssssswssssms +6-11 z: tzcvzzzlzzmtqzzzh +14-16 f: zfffkfffffqvffff +3-4 f: dfzf +3-5 g: ggsgx +9-11 f: fffjrfffffpfdfqdff +5-8 f: ffffvfgfm +5-8 c: ccccccclc +4-6 p: ppppppp +11-16 b: bbbbbbbbbgvbbbbbbbb +11-12 r: rrnrrrtrrrlbrr +3-4 d: ldqdp +11-13 s: lssnssssssssls +3-4 v: vvvvq +5-6 d: dkdddd +7-17 g: ggggggbgggggggggg +11-12 h: fhpbcfbbhlsj +5-12 d: hdpdddftmdrhdndjfj +2-13 m: stmmmmmmmmmmlbmm +2-6 r: vhqlrnr +13-18 n: dpmnnwnwgpnhnngndn +16-18 m: mmmmmmmmmmmmmmmpmm +13-17 h: vhmhchmthqzshhdthf +4-12 h: hhhkhhhhhhhmhh +2-3 p: pppppp +4-9 g: gmfgxgsgg +3-5 n: fnnhnn +6-7 j: gbdjhrjh +3-4 g: fvgggbgxgk +4-9 v: lvkdlmhvl +1-3 d: dddd +3-5 j: jjjkj +7-10 w: kzsbhmgjwdsvvqcqwlw +1-6 v: vldvvvldvvhvx +3-4 s: hspss +6-7 k: gpkkkkvkpxk +1-13 w: whwwwwzwgwdrwzfx +3-12 k: kkvkkkkkkkkkk +10-12 s: ssscvmsslsgsshsmss +3-9 s: msbncdgwbqsksh +5-9 l: kwlllnwwlhlmlqxdjn +1-10 l: llldldlllglllj +4-5 b: bbbbtbbbbbbbbbbbbbbb +5-7 b: bhbmwsgdcdpbxbfbjls +4-5 b: bbbnz +6-8 z: zzzzzzzz +9-16 q: qmqjqqqxqqqwqqqqpqq +2-4 s: ssssl +10-11 t: tlfttttktgbt +10-11 b: bbbbbbbbbbx +3-6 p: nvpgwlbfdvtjwzqt +14-15 x: xxxgxxxmxxxgxwqrxxx +13-14 w: wwwwwwwwwwwwws +5-6 t: vprgttk +3-4 n: hnnx +14-20 m: vxjbmmfwdhfvmmnnhwrm +9-10 f: ffpxfwfrjffffff +2-10 c: cccctcccccfc +6-10 v: vvvvgkvvvjv +10-14 x: xxxxpsxxxxnlxvfvx +3-4 h: gthpwdbhbmtbgsqwpht +1-2 r: dvfgmprq +1-4 z: hzzlnjbfgrzlzm +4-5 x: rxgcxjxxjxsld +2-14 j: tjmjjgbklphjjbr +2-4 v: vbvv +5-6 v: vvvvnw +4-12 z: zzqzzzzxczzzzz +1-4 l: mhllllwzd +17-18 p: zmsrkxhwghxkfbbsgp +3-8 k: gxvkhkkkb +1-2 c: cctvchzgnmznck +14-16 g: wgggmgggggggggglg +3-8 b: zbrbpbfp +9-10 b: bbbbbbbbwt +1-5 t: tgtvl +11-13 k: kkgkkkkkkkkkk +9-10 h: hbwhjhjfrvhhhhh +4-5 w: zdwdw +1-4 k: kwkkx +5-6 h: hhhhnhhhh +2-4 q: npqxsqgqqs +7-10 j: jjjsljjljjjj +5-9 d: dwhddqddsdnn +4-6 d: ddddddd +5-6 w: wwwkzwnw +3-4 s: rrksrs +2-3 x: cgkg +1-10 t: tfthtmhttz +1-4 b: mlckbj +5-10 t: htttjctltkf +4-5 w: wwnwh +2-15 j: dvqjjjjsjjmjjgb +12-13 l: llkllllllzlggll +3-15 h: hzrlhwcvnhhvhtztvhh +5-7 r: krrrbrn +1-20 d: dfddpddddddddddddddd +2-15 h: kdhhmvshhhpghhphhhh +4-8 k: wfbkcxkkpsktks +3-5 v: pfnmkv +4-5 f: fffff +3-6 k: rnpnkkkg +4-7 j: jjjjjjwb +12-14 r: rrrrrprrrrrrrrrrfw +3-5 v: vvvvv +2-4 b: bbqbb +1-8 j: jbjgnwzj +4-5 s: sssxm +1-3 g: zgggrbzjsk +4-10 w: wgwwwwxtjwf +2-12 p: jrpjhnpppzplk +3-11 q: gpqqwqqqqqq +8-13 m: nmjcmckjmqlmmmnqmmm +7-8 x: wxxxxxxx +11-14 s: dsssssshssnsxpsv +16-18 s: skssssssssssssssss +5-7 d: gzxmjddx +3-8 k: kkkkkkkvkk +9-12 w: wlwwwwtwfwgwnwwwh +5-7 l: llllllnl +1-3 h: mhhh +7-19 w: wkfwpvlmwqcpwmqscws +3-8 k: srtkpksf +6-13 q: hxqqtqrqnqpqqpjqqv +4-6 l: llkllkllllllqs +17-18 q: qjsqqqmqqqqqqqsqqq +5-9 l: llllvlllbll +17-18 m: mmmmmmmmmmmmgmmmff +2-5 z: zzzzzzz +1-15 q: pqqqrfqkkqqbqqfqhnk +11-12 w: wwwwwwwwwwcw +2-11 f: sffqtlfhffdfgfwff +5-6 l: llllll +9-14 f: fvffffffmffffff +1-5 j: jrjmfl +1-11 b: wbbbbxbbbqv +11-13 x: xxxxxxxxxxwxsxx +9-12 p: qpppplphppppps +3-4 k: kkvs +10-20 f: rffqfgthxvfqwffrmmms +13-16 x: xxxxxxxxxxwxxxxm +6-9 z: lzzxnbzwjzgzgz +11-14 c: qrhwwxczldwcdl +3-7 f: fpffffff +3-6 n: nnnnnnn +7-8 z: zzzzzzpm +3-7 w: wwmwwwz +5-9 w: wfwtwjwlwddqlrw +9-12 k: kkkkkkkkkkkk +7-12 q: qbqwqqqqqbzrqcq +4-7 h: hhkhkhhh +7-10 t: fkktttttkfsrtqt +2-3 d: tbclbd +6-8 l: lllllhlll +8-9 v: vlcvtvvvvvvv +4-8 x: njcxxtpxbhv +3-6 k: kxkkkdjxbkh +4-7 j: xjjjfjjsjjsnfjjdd +4-6 d: bkddhddvdsdq +13-17 k: kkkfkkkckkkkkkkkp +5-8 m: xrptnmpbcmfmm +9-10 k: khkkkkkkkq +2-3 n: nnjjn +6-8 p: kkppdsqp +10-11 s: sssshssssbd +8-16 n: tnnrngnnnnnvnnsznn +10-11 m: mdmmmmnmmmlmmm +1-7 k: tkggrkkkkw +7-11 h: hhvhhfrhhhfh +3-7 g: gmggzmggrsw +3-8 h: hwvldcwddhthsk +4-7 f: fskfvlfdfsfs +2-14 d: vdwsmsgjhftncg +14-18 q: qqqfqqqqqqqqnqqqqqq +10-12 l: jllllllllzcdllll +1-9 k: jkpkbhkkd +1-2 n: nnvhbn +6-7 q: rzqsqvqqqdw +2-5 s: wclgs +1-17 b: tbrbbbbnbbbbbwbrp +1-3 x: xxxx +2-3 k: kknkkkk +2-9 j: btjjpbjzmrjbjj +4-8 r: rrjkqrwn +2-5 x: vncxpjxqmsx +1-15 c: zmfgtshnzwhqskchtc +1-6 g: gqgkbqtz +13-17 z: zzbdzzzzzzjzzzzzdzzz +6-7 n: nxnnnnnn +5-6 k: dzsrsknkkkwbk +3-11 s: kzsljkcgkhmpfssssr +2-3 q: pqtq +17-20 p: pppsppkpppppppppvppl +2-6 h: hfbhmkh +3-13 d: qhdlvhddldnxwtvrndx +10-12 v: vvvvvvvvmfvhv +6-7 g: gggtlgggg +11-14 s: ssssssspscssssshrq +3-7 z: zdzgzqkcvzhzsb +3-4 h: hhdkhhhhhhg +2-4 s: sswps +4-10 p: zpsppzppczpd +3-14 j: jjxjjjjjjjjjjvjjjjjj +2-3 m: fmmmm +3-9 h: hhzbjrhhg +2-12 c: cccccccqwcpvccpc +5-8 h: hbhhfhhv +1-5 p: pppprp +3-6 z: zzzzzz +4-5 d: dddgddd +5-6 p: nxfhvqpqpnpmpmp +3-8 q: qqqqqmqqqqmdqq +6-8 b: bbbbzrbhbbbzp +17-18 t: ttttttttttttvttflgt +7-13 m: vsmmmjmbmmzwmmhbs +5-11 h: bbzxzdhhhhhndtfhgv +6-9 x: xxxtqxxxxfxxxh +8-9 r: rrrqrrrxr +5-6 p: ppspqp +9-11 d: qqqddddpdddtzd +4-6 s: sszlssk +15-16 s: ssjssssssssssssssst +5-6 f: ffffff +6-7 k: kkkkkns +10-11 h: hhmvhhhndhchhxshhhh +14-15 w: wwwwwwwwwwwwwrx +3-15 g: gzggggggggggglgg +11-12 n: nnntnnnnnnnn +4-10 r: rrrrrrrrbrcv +2-4 r: vrxtk +13-14 v: vvvvvvvvvvvvvc +3-5 v: vhrvnvnvd +2-15 f: dnfnkzbfvlfnfqfh +1-2 j: jjfj +3-5 w: wwwwwg +3-5 m: bmmmlp +5-6 w: wwwwww +13-14 n: nnnnnhnnnnnnnj +6-7 f: ffcffhbgzkt +6-9 f: kzffzzffjffgfxzf +18-19 g: gggggwgggggggggggpr +13-15 x: xlxxxxxxxxxxcxx +1-6 j: tjjjjhj +3-4 h: shpqdhl +9-15 l: rslpllllkplflqlhpzl +2-7 r: rrvrprl +15-18 d: gdddddddddddpddddddd +13-19 n: nnnnmnnxnxntnnnnnkn +10-11 x: xjxxxpxxxxxxqx +7-10 w: wwwwwwwwww +2-10 l: xllqjvzlwzpl +13-15 m: mmmmmmmmqmmwmmr +9-10 t: zptjnttktttttkvttvt +16-17 j: jjjjfjjgjjjjjjjpjjj +3-6 w: bnjnqwhhqpxcrgx +7-8 z: zzzzqdzzzz +2-4 g: dgkggk +1-3 q: mqqq +9-12 n: twqnnnsxlnnpnnn +12-18 z: czzpzzzzzzztzzzzznz +3-4 x: xglr +8-9 n: nnnhnnnnnn +1-2 v: vgxstl +10-12 p: qvpwpnjpkwpp +13-14 r: qrrrrrrrjnrrrq +3-8 d: ddhddddpddddddd +4-13 k: kkkkkrkckkgkpkkk +8-9 q: qvtbqdscg +3-6 f: fxjqfwdrqxmffhd +6-7 g: gggggjt +14-18 x: prxxtgxmxxhrfxtxkx +11-15 l: lllllllllllllllll +10-14 n: nnnnnznmnnntnn +1-3 d: dddd +16-17 s: sssssssssssssssss +14-15 w: wwwwlwgwwwwswwwww +3-9 f: dfblnfrfffrff +6-7 g: wggfpggggg +1-9 z: kxjqqkzczx +3-9 q: qqqqbqqqq +6-9 w: whwwcwqwwkxwpsbwpnw +7-15 g: rwggggggggzssmggjx +2-5 t: dtxbttt +1-5 x: xxtxxjdxxn +12-13 n: nnnnnnnnnnnznn +2-6 b: bxrpbbq +6-11 n: nnnnndrnnnnn +10-11 k: kkpkkkbkkpkkjk +6-8 c: gccccccm +2-3 x: ptxktrxtv +13-14 x: xxtxxxxdxxxxmhx +10-11 v: vvvdlvvvvlvvv +2-3 k: rtcdksdxk +17-18 w: zmhvwnndrjbvsmnhlw +11-12 m: dmmmmmmmmmml +7-8 g: gvndbzzbsjkpxg +9-16 c: cccggcqtdkcccccj +7-10 m: mqmmmmmmmmnmgbgmmbcq +5-13 c: pcbqcwcnjtvccccfgjx +3-8 f: ffpffffffffffff +9-11 n: cdndnntnnnnnnn +10-16 n: nnnnnnncntnnnmnwnn +6-10 r: rrrwrrrrpn +4-8 v: vcwsvvxvwvcvvh +4-5 g: ggghdg +8-10 v: vmvdvlrvtvtvvjvvd +13-16 j: vrgplxbmgwvljtjgzbw +2-9 s: ssssssnskss +18-20 v: vvvvvvvvvvvldvvvvfvv +8-13 r: rrrprrrhrrrgj +4-6 g: dgjkrhwggg +2-3 n: nnnw +7-11 s: sssscsgsssqs +7-10 c: cccccctccg +9-16 m: mmhmjwzmmgmdmnmmmm +1-4 c: ccvcc +11-15 m: mmmmmmmmmlvmrmmm +10-11 l: zgcnmxlplml +2-11 m: fmsmnmlhmmmmmbgm +6-7 g: hqggggggg +7-9 z: zzzzkznxzzzz +3-5 n: ngntcnnpsdnqnnmnrj +3-9 h: dhhhhfgkthxh +14-15 x: zbxmkfmtznnnxjjtsr +4-7 l: tlklltcll +5-10 s: hffslrssgrsrcwncmqw +5-12 f: ffffjffpfpfp +5-6 h: hhwhhhh +8-10 v: vvvvvzvvvfv +1-8 n: wqnnnglnrnln +11-15 q: qqqqqqqfgqnqqqnwql +2-7 d: wkdwddt +2-5 m: mxmmm +8-15 d: ddddddddddddddxld +6-9 s: sssssgscds +6-8 z: zzwzzzzzz +4-8 x: xfxxxxkxsckrwg +1-9 b: pnlbgtsfwp +6-10 l: dfrrklhrvp +15-16 n: qnnnnnnnnnnnnnlh +16-18 z: zzfczncnztzzkzzzqzz +12-13 r: rwrrqnrrrrrrkrrr +1-2 q: qkqqq +4-8 f: sfpffjfgfw +5-10 q: qqqqqqqqlqq +13-14 q: qqqqqqqqqqqqqd +1-6 v: vvvvtvmqfwvgjjgbtvm +3-8 f: dfffkdjftf +1-4 t: hgtttttttw +5-7 k: kzmkzkmkr +15-17 w: wwwwwwwwwwwwwwxpw +2-14 z: mnzkfkzbzhwfzbkzzzz +13-15 x: xtgxxqxxxxxxvpgrxx +9-10 q: qcqqvqsqssqqq +8-12 g: qghgrlggggggggszg +15-20 l: llllllwllllvllllllll +2-4 b: whhdhlzp +6-7 t: tttxtxct +1-9 g: bgtnvszsk +6-8 g: gggggggg +7-10 z: zqzzzzzszzpzkz +4-8 x: xxxxxxxxx +7-8 n: ztnnnknhpknvzn +11-12 g: gggggzpgxggg +10-13 b: bbbjbbbdbwbbrbq +1-5 w: whzmwwzwwlwwl +4-12 p: pbppdzcxhlllpxqxjm +8-10 f: fzbfpfrdfzff +6-7 v: vvvvrxh +1-4 t: gtjt +3-5 b: jzhpbbbwp +1-2 t: dtttn +3-9 r: dqrfrtvsxbrjwbrg +4-5 p: spppxqpb +4-12 c: sntctfrcsmwcmrlst +1-13 n: nnnnnnnncnnncfnn +4-5 z: zzzzz +11-15 n: nwnnsnfnntnnsnnxnnn +3-13 f: ffnfffffffsfffffff +11-12 b: brfbbqtpbhzrd +5-9 r: krrmrrrrjr +9-10 g: gggggggksc +6-12 m: mmmmmsmmmmth +11-12 w: wwwwwwwwwwww +10-11 x: xxxxxxpxxxs +3-8 j: qgzjmkqhqjszwxjj +4-6 g: kgggwgfg +16-18 r: rrdgrrrrrrrrrrrrrkfl +18-19 r: rrnrrrrrrrrrrrrrrrr +1-7 d: dprhvrdzdjxddd +3-4 p: ppxr +6-13 b: bbwbbbbbbbbhbbh +10-12 g: hrggghfkqtgswxdjcb +8-9 p: pcppppppm +3-4 w: vwlkwbwvp +11-15 f: fnhfffhfdffffffffff +2-7 c: kfccccrlc +9-17 z: zphgvhzrzzzwjzzczxf +3-4 v: vnxvkdrvvf +1-11 w: xxnlwlbzmpgwcw +10-12 v: vvvvvvxlvvvvvvvv +12-13 t: xtrctttpwptjb +6-7 z: zzzzzzz +3-19 m: fmgfmmjpfxmmprmmqhsm +18-19 m: fkmkpdrrbxzwgvdhqmm +2-3 h: xchwlphpkhlc +4-10 j: xrjjjjrjfjjjj +6-9 z: zzzzzvzzz +1-7 d: jdddddddd +4-9 x: xxxrxxxxxx +1-6 w: dwnwws +9-13 l: llllllljkllhlhlvx +4-7 t: tvsttbsqzcwzthtx +11-13 s: sbssrssssscsdsrss +5-6 n: bnnnncnznm +10-15 g: ggggrggggggggwggg +10-15 g: gggrfggxjgbgggjgs +3-5 v: vvvbvmvzvcv +2-5 r: rrrrrr +4-5 k: bkjkkkkf +4-8 z: mxddnzzjpbzm +2-3 r: frrkfzjrncrgpwsf +10-15 m: mmmmshmmmgmskcv +5-8 c: ctcchhczcq +7-8 b: skbqjbbwbncbtbb +6-7 d: ddddjjxgdd +6-13 v: tvcmvbvvvdvvvrzgk +5-10 x: xgsxdxqxxsxxjx +3-12 f: xfbqfffcftkh +4-5 j: wmjkhjj +7-11 n: nnnnpwpnnnrn +8-13 l: lqnlllllmlwll +8-12 s: sssssssssssssss +1-8 g: lggggggwgg +15-17 w: wwwwwwwwwwfwwwwwww +4-17 r: qrrlfhrrlrjrrrkcrrbr +4-5 n: rsrnplnttvxnnkhnvtxz +4-5 n: nnhts +5-6 x: xxxxxxn +1-4 s: gssss +4-6 p: qpppsgjppz +12-16 n: zcnkhqnnnnwtqnrnknnn +13-14 m: mmcmmmmmmmmmmn +9-11 d: kdpdddbdpgdddhd +3-8 k: krkbxgvq +2-6 t: tbhtslxhtfcphkwnth +3-8 z: gzzxzzzmjzzzz +4-5 c: cccwp +3-9 s: skszskstjs +4-10 l: qljlllzqlllvhlls +7-11 c: cccclccccccc +1-2 v: vgfv +14-17 m: hmmmmmmmmmmmmmmmm +2-4 p: pppp +2-3 c: cccs +2-3 k: xppklhkhsfw +5-7 m: mmmmzmqs +3-12 n: nnnqxdvbxnhnrnzfnnp +15-16 s: kssmjbzlwktbddltd +8-9 j: jjjjjjjjkntjh +3-5 g: ggvgpggggmggggg +6-11 t: rstjsmttmkdtttmttttp +5-6 r: rrrrbb +7-8 q: qqqqqtbbq +3-8 c: ccsccccbcccb +6-10 q: qplqqlmqqqq +5-6 v: vvvvvv +1-3 q: sqdqqqqgqqqqqqqq +11-12 j: lnjjjjpjjpwjjjjl +5-7 b: bsdsbbrbqbrpb +5-6 m: rmxmmmjdrvvmmmt +1-4 l: llfwh +1-2 d: hcsd +2-5 m: mmrjmnnmmmm +7-11 k: kkkwkbkkkkk +15-16 g: xsmrgbbgwzqrjgfk +7-8 x: xxxxxxxxxxx +3-7 n: nrmnnnndj +6-10 x: xxkzxpxxxwx +10-14 x: pxxxxxxpxxxxxxfxb +7-9 j: pjwjjjjjjjwp +9-10 r: rfspfrrlrf +1-5 r: rrrpfr +6-11 k: qjsqjnkckqfkcvkk +1-2 b: bbpqjnpbb +5-11 c: kcjxmstklbcjwktcwgk +2-3 h: phcshb +6-18 d: dddhdddddddvpdpdddd +3-7 t: qtkttttqtttn +8-10 j: jfjwjjjbsjjjj +9-11 m: mmmmmmfmmscm +3-4 v: ldvfvvllh +5-11 b: wbbbbvzmckbbtl +2-4 m: msmm +2-3 f: ffffvjff +3-13 c: pmchdcwhdwdnchs +7-12 s: sskdsssssssss +1-4 x: kwqtxnhhxp +13-14 n: nnnnnhnnnnnnnl +11-15 f: nrffwclmlgxgdblj +3-15 w: wvwwllsksktbbbdxmgmh +6-7 g: gggggtgg +12-13 r: rrrrrrrrrrjrrr +4-5 k: lkkkkkxv +8-10 h: hhhhhhhkhh +17-18 q: qqqqqqqqqzqvqqqqxvdq +3-6 w: wwvwsxj +8-15 z: zxczhwthhhzrzzpzfzs +3-5 q: qqqqk +11-18 z: zzzzzzzzzzlhbzzzzzz +6-8 m: mmmphqmt +2-4 h: hnsrkhv +4-9 x: xxxrxfxxvxwxx +1-4 d: ddsxjrmdnwswd +3-6 r: rprvrwrrnflvhnlrv +7-10 r: rrrrrrrcrwtrh +13-14 g: gntfgtrbgdfsgk +12-13 c: cccnbcccccjtkccl +2-3 f: fgsf +2-5 f: dfftfsrkz +6-8 p: wpppprmpp +8-9 k: kkkxkkkkdk +8-10 l: lrmlzpllllltlrblgcld +3-6 z: tfqzzzpz +4-5 r: nrrrrrj +5-10 l: llllsrnslglllqcl +10-17 j: jjjjhjjkjcjjjxjjhj +10-13 h: hhnlhhhhhhhhh +15-16 h: chrhphvhxhjphhxk +5-18 c: cccctcccccccccccccc +14-15 h: hhhhhhhhrhhhhxb +5-6 w: wwwtsdq +2-5 s: slsscz +8-9 f: fffffffdx +7-10 s: fdsssgkrpgssss +16-19 n: nnnnnnnnnnnnnnnnnnnn +8-18 d: dxdvkddjddddzddddgg +12-13 q: qqqqqvqqqqqvq +6-7 l: pvmnlfwzb +3-5 c: cfnclcfrccxstc +4-10 m: mmmjmmmmmmmm +15-17 s: sssssssssssssshsmss +8-10 q: qqwwktqtqsqtb +3-4 n: nbxnn +6-7 p: pppvpvr +1-5 h: dmqlb +9-15 g: gplxmjgdgjgzqlgkxhg +7-11 l: llsltxlllmblgp +7-8 h: hhhhhghhhw +12-13 x: xxxxxxxxxxxxx +2-7 m: tmxtdmmfgn +12-14 r: wrrrrrrmrrrwrn +10-16 t: tlttqdtttgcstttntt +2-10 z: zzzzzzzhzpzzzzzz +8-10 s: sssssssssss +5-7 z: zvzzzzzczzzq +12-13 c: scccwccccccccc +14-18 v: vvqvvvvvxvvvvvdvvv +14-16 v: vvvvvvvvvvvvvtvzv +4-9 d: zddgpddqwdtdd +7-11 l: xllvlzclflzlnhtls +6-7 l: lllllczl +4-12 s: slbsmstssscs +8-11 b: xbqbtjsfbbgq +5-15 r: frrrqwcnrrrrhrrqk +2-3 n: nmtxqfxnnnnnh +14-17 l: glwlzllglblwlmlll +10-12 g: ggggggnjggggg +9-10 b: bbbbbbbbkt +4-9 m: mcmmmmnfmwmwfmmljxmv +7-11 l: lxmllrqllwlhl +9-13 p: bppxpjpmpwcpppdprpp diff --git a/source/app.d b/source/app.d index dcc841b..f86d5d9 100644 --- a/source/app.d +++ b/source/app.d @@ -6,12 +6,14 @@ import std.stdio; import std.getopt; import day1; +import day2; import dayutil; immutable string progName = "aoc-2020"; void function(string[])[] programs = [ - &day1.run + &day1.run, + &day2.run ]; void printUsage(string name) { diff --git a/source/day1.d b/source/day1.d index e351370..5f7da80 100644 --- a/source/day1.d +++ b/source/day1.d @@ -15,7 +15,7 @@ void run(string[] args) { /* For each line on stdin, copy it, map it to an integer and sort it. Sorting a range makes it a SortedRange and functions like contains(range, elem) - will make use of optimised implementations, in the case of contains(range, elem) + will make use of optimised implementations, in the case of contains(range, elem) it will use a binary search instead of a linear search */ auto numbers = stdin.byLineCopy.map!(a => to!int(a)).array.sort; diff --git a/source/day2.d b/source/day2.d new file mode 100644 index 0000000..d73dc5b --- /dev/null +++ b/source/day2.d @@ -0,0 +1,27 @@ +import std.algorithm; +import std.format; +import std.stdio; + + +import dayutil; + +bool isPasswordValid(T)(T line) { + int min, max; + char c; + string password; + line.formattedRead("%d-%d %c: %s", min, max, c, password); + ulong charCount = password.count(c); + return min <= charCount && charCount <= max; +} + +void run(string[] args) { + ulong count = stdin.byLine + .count!(l => isPasswordValid(l)); + writeln(count); +} + +unittest { + assert(isPasswordValid("1-3 a: abcde") == true); + assert(isPasswordValid("1-3 b: cdefg") == false); + assert(isPasswordValid("2-9 c: ccccccccc") == true); +}