m-chrzan.xyz
aboutsummaryrefslogtreecommitdiff
path: root/02
diff options
context:
space:
mode:
authorMarcin Chrzanowski <marcin.j.chrzanowski@gmail.com>2020-12-25 15:06:05 +0100
committerMarcin Chrzanowski <marcin.j.chrzanowski@gmail.com>2020-12-25 15:06:05 +0100
commit42c4beb91067ae38951a4ba363e54730d102cbaf (patch)
tree1836ec1e260596ab37fa79a5cfa815205f460e23 /02
parent4ca4d2f3bc6a01a84cd6719bcdc1ead5ed808a7e (diff)
Add da 2
Diffstat (limited to '02')
-rw-r--r--02/a.c120
-rw-r--r--02/b.c120
-rw-r--r--02/input.txt999
3 files changed, 1239 insertions, 0 deletions
diff --git a/02/a.c b/02/a.c
new file mode 100644
index 0000000..8802f01
--- /dev/null
+++ b/02/a.c
@@ -0,0 +1,120 @@
+#include <fcntl.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <unistd.h>
+
+#define BUF_SIZE 8192
+
+enum State {
+ FIRST_NUMBER,
+ DASH,
+ SECOND_NUMBER,
+ SPACE,
+ LETTER,
+ COLON,
+ SPACE2,
+ PASSWORD,
+ EOL,
+ EOI
+};
+
+struct state {
+ enum State s;
+ char letter;
+ int min;
+ int max;
+ int count;
+};
+
+char buffer[BUF_SIZE];
+
+int get_digit(char c) {
+ if (c <= '9' && c >= '0') {
+ return c-'0';
+ }
+}
+
+void parse_byte(struct state *state, char c) {
+ switch (state->s) {
+ case PASSWORD:
+password:
+ if (c == state->letter) {
+ state->count++;
+ } else if (c == '\n') {
+ state->s = EOL;
+ }
+ break;
+ case FIRST_NUMBER:
+ if (c == '-') {
+ state->s = DASH;
+ } else {
+ int digit = get_digit(c);
+ state->min *= 10;
+ state->min += digit;
+ }
+ break;
+ case DASH:
+ state->s = SECOND_NUMBER;
+ case SECOND_NUMBER:
+ if (c == ' ') {
+ state->s = SPACE;
+ } else {
+ int digit = get_digit(c);
+ state->max *= 10;
+ state->max += digit;
+ }
+ break;
+ case SPACE:
+ state->letter = c;
+ state->s = COLON;
+ break;
+ case COLON:
+ state->s = SPACE2;
+ break;
+ case SPACE2:
+ state->s = PASSWORD;
+ goto password;
+ }
+}
+
+int count_correct() {
+ int fd = open("input.txt", O_RDONLY);
+ struct state state;
+ state.s = FIRST_NUMBER;
+ state.min = 0;
+ state.max = 0;
+ state.letter = '\0';
+ state.count = 0;
+ int count = 0;
+
+ while (state.s != EOI) {
+ ssize_t bytes = read(fd, buffer, BUF_SIZE);
+ if (bytes < 0) {
+ printf("failed to read!\n");
+ exit(1);
+ } else if (bytes == 0) {
+ state.s = EOI;
+ }
+
+ for (int i = 0; i < bytes; i++) {
+ parse_byte(&state, buffer[i]);
+ if (state.s == EOL) {
+ if (state.count >= state.min && state.count <= state.max) {
+ count++;
+ }
+ state.s = FIRST_NUMBER;
+ state.min = 0;
+ state.max = 0;
+ state.letter = '\0';
+ state.count = 0;
+ }
+ }
+ }
+ return count;
+}
+
+int main() {
+ printf("%d\n", count_correct());
+}
diff --git a/02/b.c b/02/b.c
new file mode 100644
index 0000000..1e54cbc
--- /dev/null
+++ b/02/b.c
@@ -0,0 +1,120 @@
+#include <fcntl.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <unistd.h>
+
+#define BUF_SIZE (32*8192)
+
+enum State {
+ FIRST_NUMBER,
+ DASH,
+ SECOND_NUMBER,
+ SPACE,
+ LETTER,
+ COLON,
+ SPACE2,
+ PASSWORD,
+ EOL,
+ EOI
+};
+
+struct state {
+ enum State s;
+ char letter;
+ char pos1;
+ char pos2;
+ char current_pos;
+ char matches;
+};
+
+char buffer[BUF_SIZE];
+
+void parse_byte(struct state *state, char c) {
+ switch (state->s) {
+ case PASSWORD:
+password:
+ state->current_pos++;
+ if (c == '\n') {
+ state->s = EOL;
+ } else if (state->letter == c && (state->current_pos == state->pos1 || state->current_pos == state->pos2)) {
+ state->matches++;
+ }
+
+ break;
+ case FIRST_NUMBER:
+ if (c == '-') {
+ state->s = DASH;
+ } else {
+ int digit = c-'0';
+ state->pos1 *= 10;
+ state->pos1 += digit;
+ }
+ break;
+ case DASH:
+ state->s = SECOND_NUMBER;
+ case SECOND_NUMBER:
+ if (c == ' ') {
+ state->s = SPACE;
+ } else {
+ int digit = c-'0';
+ state->pos2 *= 10;
+ state->pos2 += digit;
+ }
+ break;
+ case SPACE:
+ state->letter = c;
+ state->s = LETTER;
+ break;
+ case LETTER:
+ state->s = COLON;
+ break;
+ case COLON:
+ state->s = SPACE2;
+ break;
+ case SPACE2:
+ state->s = PASSWORD;
+ goto password;
+ }
+}
+
+int count_correct() {
+ int fd = open("input.txt", O_RDONLY);
+ struct state state;
+ state.s = FIRST_NUMBER;
+ state.pos1 = 0;
+ state.pos2 = 0;
+ state.letter = '\0';
+ state.current_pos = 0;
+ state.matches = 0;
+ int count = 0;
+
+ while (state.s != EOI) {
+ ssize_t bytes = read(fd, buffer, BUF_SIZE);
+
+ if (bytes == 0) {
+ state.s = EOI;
+ }
+
+ for (int i = 0; i < bytes; i++) {
+ parse_byte(&state, buffer[i]);
+ if (state.s == EOL) {
+ if (state.matches == 1) {
+ count++;
+ }
+ state.s = FIRST_NUMBER;
+ state.pos1 = 0;
+ state.pos2 = 0;
+ state.letter = '\0';
+ state.current_pos = 0;
+ state.matches = 0;
+ }
+ }
+ }
+ return count;
+}
+
+int main() {
+ printf("%d\n", count_correct());
+}
diff --git a/02/input.txt b/02/input.txt
new file mode 100644
index 0000000..16b16e0
--- /dev/null
+++ b/02/input.txt
@@ -0,0 +1,999 @@
+8-9 l: lzllllldsl
+3-11 c: ccchcccccclxnkcmc
+3-10 h: xcvxkdqshh
+4-5 s: gssss
+7-14 m: mmcmqmmxmmmnmmrmcxc
+3-12 n: grnxnbsmzttnzbnnn
+5-9 j: ddqwznjhjcjn
+8-9 d: fddddddmd
+6-8 t: qtlwttsqg
+7-15 m: lxzxrdbmmtvwhgm
+6-10 h: hhnhhhhxhkh
+6-8 z: zhgztgjzzfzqzzvnbmv
+5-6 j: jjjjgt
+2-3 m: mmmfxzm
+6-7 n: nnnqgdnn
+8-13 b: bbbbbbbbqjbbb
+7-8 k: kkgkkbskkk
+1-3 g: gdmvgb
+5-15 g: gggzgpsgsgglxgqdfggg
+12-16 s: snhsmxszbsszzclp
+2-3 n: vhnnn
+5-7 l: slllclllkc
+2-4 g: rnggggdkhjm
+1-3 x: wxcxhxx
+7-12 c: cxzcwcjqgcmpccchc
+4-5 x: lnfsxjxwxx
+9-10 n: nnnnnngnzxnnn
+3-4 h: rhhk
+3-11 r: xrrcnrjrrzsvrrplr
+6-11 r: rrrwrrrrrrrrrrrr
+3-4 x: xmxz
+1-2 l: lllllk
+5-11 h: cmxhhhhhrhd
+2-11 h: mhzlzshjvtcrrcf
+6-15 g: ggggfgwggkcggqz
+3-4 q: qqsc
+2-8 m: wmwxvmsmfqlkgzwhxqdv
+3-9 b: pnrdsgbbbrbgb
+1-7 w: ddqtjwwxgwkqsgswvwkl
+3-4 t: lxtt
+4-6 g: ggxngg
+12-13 d: dddddddddddjjd
+10-20 n: nnnnnnnnnnnnnnnnnnnp
+15-20 j: kjjjljjjjjjjjjjhjjjn
+5-11 r: rwrrrrvrbrrrrr
+2-4 w: wwww
+6-10 v: vvvbvsvvvv
+3-6 d: tkbcdddzddd
+10-13 r: rrrrrrrrrlrrhrr
+3-6 w: ggsxkwjzfpnmkw
+2-6 b: bbqbbq
+7-8 t: tztttwtttvt
+1-3 t: twrttzbfdhrkvdzgn
+4-10 c: jxcxvcpnfccvc
+8-17 r: rrrrrrlvrrrrrrcsrrrh
+1-3 g: gsggjsn
+6-8 l: lllclmjllf
+11-15 b: bbbzbbbhbbbbbnbb
+7-9 l: lflblhzllml
+9-12 v: pvtvrvvvrvvhgmvnv
+1-3 t: zbrtjt
+5-6 f: ffffcf
+3-4 q: cqtz
+13-14 n: wnnnnnnnngnnnhpnnsn
+1-12 d: bdddmdqcsdhd
+9-11 h: hhhhhxhhhjqh
+7-11 w: wwwwwwswtkww
+12-14 m: mmmmbmdmmmmmmmzmjmv
+1-7 x: qdtjxmxhw
+3-5 n: nnnnn
+10-13 d: ldcrdvcvvxdpd
+4-8 m: mrfmwmzgmrp
+3-8 s: ssssssssss
+1-7 h: qhhhhhhhhh
+9-10 q: kqqqqqqmhqqqqhqr
+5-6 c: cmcccl
+3-4 q: qqqw
+2-8 v: vtvvvvvvv
+1-5 z: zzzzqz
+7-8 k: kkkrkqmkkkkk
+14-16 j: jjjjjjjjjjjjjjjs
+6-7 t: tttttpc
+3-5 s: xsxsss
+4-5 v: gvvpjv
+3-5 t: vqgft
+3-4 c: ccwcc
+3-7 s: sslwsss
+2-5 t: tnbgprqgzm
+16-20 b: bbbbbbbsjbbbbbbbbgbd
+6-8 p: ppqppwph
+12-13 m: mmmmmmmmmmmml
+10-13 r: rrrntrrrrhrrr
+9-11 f: fffhffffhfcfmf
+4-8 l: lmsrlllllzmlll
+4-11 p: sxpnpbzpjppgbn
+3-8 c: fcccqmfcccxrhmccw
+6-7 s: sqsjdbssbsrssd
+3-4 g: gggt
+1-3 t: tstnsnksfsbgt
+3-4 v: vvvcv
+13-18 g: tggggppggggggwgggpg
+4-8 m: mmmlmfdm
+1-3 z: fzzz
+1-12 f: ffzfffffmffrnff
+10-11 f: ffkffffffff
+11-12 m: mmpmdmmrmmmtmmm
+9-11 k: zkkkfkkkkkzkkh
+16-19 b: bbbbbbbbbbbbbbbvbbjb
+3-4 v: vvvhvz
+1-6 l: xllllll
+8-15 c: cccccccccccccccccc
+10-12 m: mmvmlzrmrnmmmm
+1-3 c: whcc
+2-3 q: kqgq
+2-13 s: sbssscrslnssldsxtssg
+2-4 v: bfdr
+7-19 c: ccccccccckfgpgcmccf
+7-9 f: fxvfffffsf
+1-5 n: nnnns
+13-15 g: gggggggggggghggg
+9-10 w: hdwcwqswpwwwwww
+14-17 j: jjjjjmjjjjjjfqjjjjj
+2-5 k: pkrfrdtfbvkkrkk
+2-3 s: ssss
+1-8 d: vsxtlvdqpltcj
+3-7 b: nlqhbbb
+6-10 x: xfxxxrmxxxdx
+5-6 n: nnnnnm
+5-6 r: rrrprr
+6-7 t: dfttttqtwktttgrkkj
+1-2 p: npnf
+6-8 p: ppppptppp
+4-8 k: bkkkkqkkq
+11-12 l: kmlnhhmkdlhl
+14-16 b: bmbbbbbbbbbbbcbbb
+3-5 r: rrfrrrr
+5-10 v: glglvvmvkvvvgvrv
+2-3 h: whhcsqjhtx
+7-8 d: ddddbpddddhdhdddddd
+2-3 k: kkkkkkksgkkkkg
+2-6 n: cnrpdmtgwncklll
+3-14 s: sssckrswlqxshdts
+3-4 w: wwgww
+15-19 q: qqpqxqqqqqqwqsqqqqz
+1-5 t: vrtkttttj
+2-7 z: lmpzjbh
+11-15 g: gkghtgpwrgngggggvng
+4-17 b: bbbbbbbbbbbbbbbbbb
+4-6 c: bswcml
+3-4 v: vvxg
+2-4 m: mmmmm
+2-4 w: kwqwjwt
+7-14 x: ghflqcwxcrxzrxm
+6-7 f: fffjffsff
+11-12 s: sssssssssssr
+3-13 v: vvzcvrvjgxvkcvh
+3-8 k: jkhgbzgkkfwvt
+6-7 l: llltllljl
+8-10 p: pppppppkvp
+1-12 l: lbhxdplkxdstmllwncnl
+2-6 c: cqcwrwnbjc
+2-5 v: vvkvvvbbv
+3-4 g: ggnkg
+3-4 z: rczzhbwmszgzhfszd
+8-10 t: fvrttqnwjtft
+11-17 l: cllqltnlldcllnwnllll
+2-9 r: jrrwrrcjrr
+3-5 s: skmsssh
+5-6 q: qqqqtq
+7-16 k: ktzxwrxcdrmkqfpk
+7-12 s: hfsssssssssmsk
+3-11 s: gssjsdxdxsqgpns
+9-11 s: sssssssssss
+5-9 t: xtwthrdtvj
+5-7 q: qjqxqjq
+2-10 r: zlrrrrrtrr
+2-18 w: trwqhcfwrmqwwwqfgwww
+2-5 k: kkkkwkp
+1-4 s: fqss
+1-4 l: xtflz
+10-12 q: qqqqqqqqqnssq
+3-4 s: sssd
+10-20 m: mnmmmmqwmjnpbmmmmbmn
+3-5 l: clpln
+2-11 v: mhrvdkgsxvvvdxvhgv
+15-16 j: jjjjjjjjjjsjjjkj
+2-5 f: gzvzffsnxdcf
+8-10 m: jmmmmmmrmmmmm
+1-2 k: fmhkpmssvdkh
+4-7 l: vgtldqpbmmj
+2-3 v: kdvcgvnw
+15-17 g: ggggggggnggggglgj
+4-5 w: kjwnw
+6-16 j: fjjrjkbjsjjvljzjjdj
+2-4 g: bgvgqs
+9-12 k: lkkgkkkkzfkqkcj
+6-13 b: bbbbbmbbbcbbqb
+7-8 m: mmcmmmmp
+4-5 v: vvvvg
+11-15 n: nnqxnnnnnqmnnnnfnpn
+1-5 z: gkvwtv
+4-5 l: llllk
+3-4 d: ddss
+1-4 v: vvvl
+2-3 v: vjcvvvvq
+9-13 v: vvvvbvvvvgppv
+11-14 d: ldhdddddddwpdddddddd
+2-12 p: rrpppwppxjplprpp
+5-11 p: spfcjpmplbpzpppgpp
+3-6 q: lkqfqcq
+2-4 x: xvxwxv
+2-12 x: bxxxxjxxxtxhktkx
+1-14 c: cccccccccccccpc
+5-16 t: qstttfxttmtvvgtzt
+7-8 q: kqqqqqwq
+5-6 c: cccccdcccccc
+7-9 v: dvnbvvjmh
+5-7 s: sdssswvr
+1-2 t: vtsttt
+6-8 d: dgdwdcdd
+5-18 j: qjjjjjjtjjjjjjjljlj
+2-16 r: ksrtrrrrrlchrljrz
+5-7 m: mmmkmmvmxbflctjhhfxc
+4-10 f: mfftfrfffff
+6-12 x: xxxxxxxxxxxbx
+9-12 s: ssssssssdsshs
+12-14 v: vvvhvvvvvzvvvrzvlvg
+14-17 d: ddhdddddddddddpdd
+1-5 c: rcchc
+1-9 n: npnnnrxnh
+1-4 n: mnnn
+2-3 q: qklxpwr
+7-8 j: djjjjfjnjjv
+4-5 h: hhrcbhc
+6-8 t: txtfclvtz
+8-11 w: grhwwqwhwwww
+1-5 r: rrkrxl
+3-6 v: jgtdsvlpgx
+14-18 r: rrrrrrrrrsrrrhrrrr
+5-13 g: xggsggggggggggn
+18-19 x: xxxxxxxxxxxxxxxxxfx
+4-5 n: dpnnnwnntpwgntqnj
+4-12 c: ccccmcccczrspfrcpx
+15-16 h: hwhzhnhhhhshhhhhhhhh
+3-4 v: vvvg
+3-4 j: jpjs
+10-13 h: bhhhhhrhhhhhsdh
+2-4 v: svvclvv
+12-13 k: zkkkkkdskkkpkwwkk
+8-9 b: bxbhjbbjb
+1-10 k: kpkmkstkhtkl
+5-6 d: qddddx
+1-3 m: mmmm
+1-5 r: trrrrrr
+2-5 l: llvlnlllm
+9-18 d: dddjhddddvdddtddddd
+9-20 j: nxfjfjjbjjljjjjcjjjj
+5-7 v: zkvvzpxvtctvmcvvvvv
+1-6 d: lmcmvwdwq
+1-5 v: dbdvv
+6-11 n: snnzlnnnwnd
+11-17 l: lwlltvlplldlllllsll
+6-8 k: kkkkktkkp
+9-14 q: nclswjgmqwvhjrs
+7-10 c: cgccfccccl
+2-3 z: zqkzzj
+14-15 v: vvvvvvvvvvvvvvg
+7-9 z: zzzztzzqtz
+11-17 n: vnnnnnnnrnnnnnnnqn
+15-16 l: lllllqlllllllllz
+1-14 t: pgskddftttttxtflt
+2-3 d: bdpqd
+3-18 k: dkkpkkkkkjjtjgkkkxs
+6-10 p: qlptppdjppllppp
+8-9 s: sssssssss
+11-16 q: qqjqqqhqqqqqdqqmq
+7-8 p: pprqppvhpqp
+5-12 q: qqqqbqqqqqqqqqqqqq
+1-5 b: wbbbjbb
+9-17 m: fdhmxtmmccxpmmfbmtbm
+2-5 b: tbbptwkghzvsbvcb
+12-16 w: wwwwwfwwwwvwfwwww
+4-5 h: hfhggh
+11-16 z: zlzzdrzzxtxzzzzqz
+3-6 x: xxwxxm
+3-9 w: vmpsthqww
+5-9 q: qqqqpqqqq
+17-18 g: gggggggggggggggggw
+3-8 s: sscmsssssf
+7-15 v: vvvvzvttvvvvvvgvvvv
+14-19 h: mdpmhtmhsdsxxhthhhd
+1-3 h: hbhcbvhxfmjqdgt
+15-17 p: xmnhkrgcxxrdtpprzhfh
+2-5 w: dqqrwwbvq
+16-17 c: ccccccccccccccccc
+1-4 p: plcvxpp
+10-15 b: bbbnbbbbbvlzbvgb
+9-10 g: gggwggggcp
+3-4 d: dtdcd
+1-5 v: vjslbjjtxldvvknn
+2-4 n: fhgnl
+2-3 x: xnjm
+3-8 j: tzvjbjvxchjk
+1-10 g: wgggggghghggq
+5-7 q: dqlwqqqkqqhq
+6-7 d: dddrddhdld
+2-4 x: kxbxxmchtx
+1-2 w: wwjg
+19-20 r: hfjrqwdxppgzppwchrjr
+10-16 r: rrrrrzrrrrrvrrrt
+1-3 m: cmmlm
+14-17 h: hhhhhhhhhhhhzhlbphh
+2-4 f: bfhf
+3-6 j: mkdmmmpjjbqmk
+6-7 x: flxxxqxxx
+12-15 q: qqqqnqqqqqqnqqs
+9-10 w: wgwdwxrlwgwwwmwwcgd
+6-7 k: kdnrppkkkkkkrj
+2-3 n: pntsmsnb
+1-5 c: cqcctccqcccccn
+9-10 f: txffffffffcff
+2-6 b: smtckkcqrsbkzjbtpbtb
+10-14 k: kkckkkkkkhkkkd
+9-11 m: jnwmbmjmmqsfz
+9-10 h: hhhhhhhhhh
+5-6 h: hhhhhvh
+3-6 c: cccccr
+10-11 l: llllllgplll
+6-11 r: prprnrrrqrr
+13-14 p: pppppppppppphp
+5-8 j: pkjjqjjjjh
+7-9 f: zfjfcfhcfkffffxv
+9-10 w: wwwwwwwwwhw
+2-3 z: tzszz
+2-3 t: ntdt
+7-10 l: llllllqllkl
+4-10 j: bmsjjtjjjlbp
+1-3 t: kbrxpnstztz
+2-3 h: chbwpmvdh
+2-11 p: qwqzlpdbpvpxp
+8-11 c: tzcbpcccgfj
+4-5 g: rgcdg
+1-8 t: pwtkzttdlrd
+2-3 l: ldlrvsl
+4-5 j: jjjrj
+2-4 k: vkfk
+18-20 v: vvvvvvvfvvvvvvvvvvvj
+5-11 w: gbjwwwwzxsl
+10-12 d: ddddddddddqd
+1-4 r: rrqr
+7-8 p: pppppzpp
+7-8 c: cccscmcfch
+6-7 c: crncccvtc
+6-8 z: zkzlxzcb
+3-4 h: hhfs
+12-13 t: ttttttttttthmt
+2-12 x: xdxxxxxxxxxxxxx
+2-5 n: cnnnknnn
+10-11 x: xxxxxxxxxsx
+3-9 q: fgfqjqxzqtlqqmgk
+1-4 g: gzsk
+11-14 h: hhhrhwhhsqhchxclhhh
+5-15 q: nqzqqqqnqkqfqqqqqq
+10-14 b: bbbbbbbbbhbbbqbb
+5-6 v: rpfvdvjvvvvvdxjgwc
+6-7 r: rrrrzwrhrdv
+3-4 f: fffb
+9-12 q: qqqqqqqqqqqqqqqqq
+15-19 c: cccclcccxcccctccccs
+2-3 b: jbwqq
+5-6 h: hhchpm
+11-12 f: fffffffffffl
+5-9 s: fsggxprbsssklhhbsl
+12-15 f: ffffcfzfffkrfffnh
+1-2 s: fstz
+1-6 b: nbfbhb
+2-11 k: xfdjrwptgrkk
+18-20 k: kkkwkkkkkkkpkkkkkkkr
+4-8 r: rgcsrgkdrrrrtwr
+3-5 k: kkkkvgkkkkn
+9-13 b: bjgbkxqzbbbjtbx
+1-2 n: rmbgdnjt
+3-6 k: kqnkkk
+3-6 c: gzggcpxszscccccc
+15-17 r: rrjnrrrrtrrrrhrrxrr
+11-12 d: dddddddddddx
+4-8 s: sxztltlssksqwthss
+12-13 l: llxllllskllqvdlll
+4-6 j: cjxdvjjlx
+1-4 t: mwttttttttttttt
+7-8 p: pbpdpbdpmppjpp
+11-13 l: lkjlgdllkllvnl
+9-10 b: sbbbbbbbrb
+9-13 l: lzlllllllljlllll
+6-7 r: tnkpjrhkxzdzwwxv
+1-4 x: hdnxxlx
+4-5 b: kvhwb
+1-2 p: pxmhbcp
+2-5 s: csgfssjssstcq
+3-7 k: htnkkhprxkc
+14-20 c: rlkhpgccjsjchccjmkbg
+2-3 t: ttxt
+13-18 p: pppppppppppwvppppq
+9-10 j: jjqjjjjjdbj
+10-12 m: mmmmmmgmmlmm
+5-11 l: qrwgblsqjxtll
+1-5 m: mqwnn
+7-12 p: pppppppppppppppppp
+4-8 d: bdrntdzdd
+14-15 g: gggggggggggzggc
+3-4 m: mmmc
+2-9 d: hsqjddjfdcqzsjr
+5-9 h: hhhhsffhk
+5-7 f: ffffcff
+6-8 z: wzkzzzzjzzczg
+2-9 q: dqqqgbqdnlfqqws
+6-11 m: mhmmpmxmxtxmp
+7-11 n: nvjtglngnzmbnnqjnjgp
+11-12 v: vvvvvvvvvvdg
+2-3 z: vmzz
+6-8 z: zzzzzzzbzzzzzzzzzzz
+6-13 k: hkvkhpkqkkkkwsdkmk
+1-9 k: gkkkkkkkkk
+2-5 g: gngggxg
+12-14 m: mmmmmmmjmmmrmhm
+1-6 f: cqffffsb
+10-11 p: xppxpqbplpp
+3-17 j: wdjldqqbxqxbcrbkjfth
+5-8 w: wlhwvkwwwzkww
+4-6 t: vtthtt
+6-9 m: rkmtgbzrfmg
+10-11 g: gggrgggsggbgmg
+5-7 x: xxxxrxdxx
+9-12 k: kbgkkgpkkrkkqv
+10-14 z: nzzwjznbpzztzm
+7-16 t: ttttttwbtltttcltt
+13-18 l: lllllltllllltllllll
+5-18 v: mvvvzjvvvvvmvvsnjzv
+12-19 b: bbsbbbbbbmbbbwbbbbdb
+15-16 n: nndgcnnnnnnnnnnpnnnf
+4-11 j: gqdkjblvkgbwjjmtfjg
+12-13 s: ssssssstssmpbsss
+5-7 j: jmgxjjw
+4-9 p: pptlvpppp
+13-17 q: fqqqqqqqrqqqhqqqqngq
+4-6 j: xzjcxjjpcrl
+4-10 w: swwwspwwql
+10-13 s: sssssssssjsss
+2-4 k: nktjkkkm
+2-6 z: vzqzfzncz
+4-10 l: llplslghlwvlh
+5-6 d: ddhdvqd
+5-10 r: rrrrrbrrrjrd
+1-5 d: ddddn
+2-4 t: tttr
+4-7 d: dsddpdkfsdd
+3-8 r: klrclrkzbrrscrpd
+16-18 j: jjjjjjjjwjjjjjjzjj
+18-20 p: tppjpppppppppppppcpp
+9-11 m: mmmmmmmmmmt
+8-12 d: dtxdvddpddmq
+4-8 d: qdcddddcd
+16-17 w: wwwwwwwwwwwwwwwzwww
+3-4 v: hpvhvvpvxnd
+3-5 x: dpxxj
+18-19 d: ddddddddddddddddddbd
+13-16 z: pzzzzhzzqzzzmzzzzzg
+2-6 b: bglglbnbdb
+9-10 t: ttttttttxmttt
+1-7 g: fgggvgm
+8-11 t: ttmrwtttttp
+7-8 d: ddxddddrddddgdddddd
+1-4 p: mpdbdkghzqpkpxbp
+8-10 d: dddjdddzdxd
+3-4 l: lllwl
+6-9 m: mmmmmfmmm
+2-6 d: dvjddj
+5-19 n: ctnnnnnnvngnnqndwnn
+4-7 z: zzwdzdpzzd
+9-12 w: wwwwwwwwkpwww
+13-14 t: tttttttttttwztt
+2-3 z: zzwp
+4-12 q: hqtqshlcjsmqjrt
+6-13 s: bssqsssstflsw
+15-16 l: llllllllllllllllll
+9-10 c: ccccccccgq
+14-15 m: mrmmrmmmmmbmmmcmm
+1-6 r: rrrrrcrrrrr
+4-6 s: zqrdvshjbgpssj
+3-6 h: mmhxthhbshhb
+17-19 q: qqqqqqqqqqqqqqqqrqqq
+4-12 x: fqvxcghgqxkwx
+2-5 q: qqxqdrjrqxkfmq
+3-8 z: wfzzzzzz
+6-7 c: ccccqmc
+1-5 h: hhhhh
+3-4 f: svsf
+7-8 x: xxxxxxxsx
+4-8 g: gggggggngggg
+4-5 w: lwwwx
+2-3 g: ggsqg
+4-6 q: qqqqqq
+3-7 j: jtjdjncjq
+7-9 k: kkkkkkkcf
+4-11 z: pvdzfbzxzfhbf
+6-17 n: nnvnnxnnnnnnnnnnnnn
+2-5 c: ccrlttnnccdlcmjvx
+3-9 l: llllllllpl
+1-2 c: vccc
+2-6 c: qfcncx
+1-3 k: kkvkkkk
+1-5 q: qqjkhq
+3-8 p: pvpppzpgpp
+4-7 b: bbbbbbhbb
+8-15 x: xxxvxlvxxdknxxxxx
+5-6 n: nnnnnv
+4-7 h: hhhbhhth
+9-16 h: hxhhhhhhqhhhpbhlh
+8-10 k: kkkkkghkkkwnk
+4-12 w: bwwwwmwwwwwmwwwwswww
+1-5 q: mzhmqtzlbzvtlwqzpxf
+11-12 x: xxxxxxxxxxds
+16-17 s: sssssrssssssssspwsw
+1-4 q: qwqcq
+1-12 w: wwwwrpwwwwwqwwmwlw
+5-6 m: tlgzvmqcjt
+12-18 c: ccccccccccccccccccc
+6-10 g: jpgggdgbddgg
+11-14 w: hwwkxwhhkfwcjfdkkwfn
+3-4 n: nmdnlnbjxcjsp
+3-4 w: bwvj
+12-14 f: cmqznmfzlsbpfd
+1-3 t: txsttsttzqls
+3-4 w: sdsw
+6-12 b: sbfbqvbbbstb
+17-19 g: nggggggggggggggxngtg
+15-17 h: hhhhhhhhhhhhhhrhh
+2-3 p: ppcpp
+5-9 n: nvnnncqnnhnn
+1-4 r: rzrrrr
+2-10 b: zbbbkbbctkbbwngbbbsl
+1-3 r: rrpn
+3-6 q: mmlqxqqq
+12-13 x: xxxxxxxxjqxkxtxx
+3-5 l: nlllhpcc
+3-11 x: jxxgcxxbfxpxxfml
+3-6 l: nllqlln
+9-14 j: jjjjjjjjhjjjjj
+11-13 j: jjjjjjjbsjjjj
+19-20 k: kkkkkkkkkkkkkkkkkkkv
+7-11 n: ndnnnnxfnbnnnn
+5-6 g: gggtgh
+1-9 f: nfffbnffffc
+4-6 d: sdxlgtrmd
+18-20 n: nnnnwnnnnnnnnnnnnhnn
+9-11 j: jjjdjljjjljtj
+3-4 z: bwcsnqzzz
+1-4 j: jzjj
+9-13 k: cdvwnnwqklwplbzk
+5-9 q: hvqpqqtqh
+2-7 f: vdkrwpz
+12-13 z: zzhzzpwmzzzzq
+7-13 s: nsssssfssssss
+4-6 s: kgmksst
+17-19 p: pfbcgcnxkbpptcbxpsp
+12-13 s: ssssssssssspm
+11-12 g: gggggggvggsg
+6-8 g: gggggzgz
+1-3 j: jjjj
+5-7 d: ddddgdd
+6-7 r: kmrjsbpkrrnpr
+6-9 m: mmmmmmmmmm
+5-6 b: bxbbvbb
+5-10 h: thxgvlhchhzhnfhhhhh
+11-13 l: vcllllnhlllvvllll
+1-9 j: wjjjjjjjnjjjj
+4-8 n: xnlbndngnn
+4-5 f: fffmfz
+7-8 c: pwmzcxvc
+15-17 z: zzzzfzzzzzzzzzzzx
+4-8 d: krddfddxddd
+1-2 w: wpzxcbxmcktpjmspw
+4-14 t: ptcdtvtttbpwtttt
+8-13 f: fmfkffdffqfff
+6-7 j: jwnxpjlnrlxdjxvzhsll
+2-5 m: mmmmmm
+3-4 c: cccc
+3-11 f: fffrvfzqnmffd
+3-5 k: kkxrkkk
+5-8 k: kkkvskvkkkhsk
+12-14 k: jkkkkdkkkmfzkknkpkk
+1-2 h: vhspjh
+3-4 p: pppn
+5-6 v: vrvdvg
+7-8 j: jxrjjjtdjjj
+3-12 z: fzzxzgzzzzzhzz
+10-12 v: vvvvvvvvgvxxv
+12-13 k: kkkplnlpvwkkkkkt
+4-8 t: dvjtltttptt
+15-16 z: zzzzlzzzzzlwzzzhzz
+15-17 n: nnnnnnnnnnnnnnlnn
+12-15 z: zjzzzzzzzzzzzzs
+7-8 x: hzxnxlxlfxxxxvxxxnx
+9-10 r: rrrrrwrrrp
+1-7 r: vrfslcr
+6-15 t: tttttsttttttttt
+3-6 j: wjjdnjznwfclpskvdq
+2-4 v: vzlvls
+9-10 j: jjjjjjjjwj
+8-9 r: kxrrrtqnr
+14-16 h: hhhhhhhhhhhfhlhjhhh
+14-15 x: xxxxxxxxxxxxxmx
+8-10 h: hhhhhhhhhhh
+10-11 m: mmmmmmmmmnnmm
+3-17 r: fwmqrcjkgrkhzcnfrb
+1-15 q: qqqmqzqgcnrqqlkrq
+2-13 w: wdwwwwwwwtwww
+1-8 l: lllbllln
+4-7 n: nnnnnnbnnn
+11-18 l: lkllnllqktnllzllll
+4-5 d: gddbrlb
+12-13 l: llllllnllllztl
+2-6 m: lbhptlvgcsmksqspmtk
+1-2 t: wtctt
+3-4 w: wwbw
+9-12 g: gcggvzggqzgggggsgnt
+2-6 b: bbrcbc
+9-12 m: mmgmkmmmbmmm
+14-17 m: mgpjmmqmmmmmmmmmt
+6-8 p: dpvzpskp
+12-18 x: xxxxxxxxxxxtxxxxxf
+7-12 r: xvjvrrrprrrvrrrcbr
+3-5 q: rqqxhqq
+6-16 s: ssssskssssssssssss
+6-9 c: cccqccccxc
+8-16 r: rrrrrrrrrrcrrrhr
+5-9 t: ctwttthtjl
+16-18 t: ttttttttmttttttttgtt
+13-16 t: zrtttgttttttmttttt
+6-10 k: kntkplgkkkkkmh
+2-4 c: vhsccfcc
+1-4 v: vvvqvvgpvvvvvzzv
+3-4 g: grgvgd
+5-9 p: pppbppppdv
+3-4 x: lxxxx
+8-9 q: qqqqqqzqqqqq
+14-15 c: cpcccccccmcccdcc
+7-10 p: ppfppppppppg
+1-2 h: thrk
+1-3 m: mzlzmtmqrm
+3-5 x: xxxxp
+4-6 t: gtstvvjzqtxdtsrfc
+6-15 p: pppwppwspppcppn
+4-5 g: tkhgj
+10-14 m: mmmmmmmmmnrmmmm
+2-3 b: pnbxfzxxbbrt
+5-16 b: tfvlbmbzbvxbtdjl
+16-19 w: wwwwwwwwjwwlbwwvwwwr
+14-15 w: wwwwwwwwwwwwwgwww
+3-6 n: npvzfntbfvngns
+8-10 s: sgsssssssz
+2-5 n: nnnkcnkn
+12-15 n: nnnnnnnnnnqnnnq
+1-4 p: qppk
+5-10 h: ghdhhcsxtzsdphwh
+5-7 k: kkkkkkb
+10-11 f: ffhlfffcnffmfrffcnff
+6-7 f: fffjfxf
+11-17 j: jjjjjjjjnjjjjjjjj
+2-4 z: wgrdp
+5-6 d: dpmdddfmxzgwd
+8-12 h: qhhhxhnhhhsmhlhh
+7-19 w: wwwwwwwwwwwwwwwwwwmw
+1-4 x: mmlxlc
+1-9 g: mgggggggggggg
+1-12 z: mtkfgpzmjrgs
+7-8 v: vvvgvvzvd
+10-12 j: djjjjjjjjbjj
+3-4 r: srjsfjbrp
+1-4 r: trrr
+3-8 j: jjjjjjjpj
+6-7 l: lltllwl
+13-14 g: gggggggggggggg
+1-4 w: wwrxww
+1-10 l: xfllllldll
+5-7 s: xmwsqpsr
+6-17 p: pkpnpppznppppplpl
+11-12 s: sssssssssdsf
+14-19 c: bsxlpshjmwcflcdhlhcr
+8-12 b: xbnbbbbbmbbkbbbb
+14-16 w: wwwcwwwwwwtwwswww
+13-14 f: zfsfbbffffffsf
+13-15 s: swssssssjsssxss
+1-3 v: vvnvxrwbrbgdc
+8-10 t: mkstnqtttt
+14-15 g: gggptgggggggggtg
+12-15 r: rrrrrrrrrrrrrrkr
+2-5 w: cjwpg
+13-14 w: wwwwwwwwwwwwqw
+5-12 s: bkrrcczsgsfshpwjr
+4-9 w: wwwwwwwwwsnw
+3-4 x: xxxzv
+3-6 g: rggghqvgfk
+9-12 h: hhhdhshwhhkrqhh
+8-11 q: zqqqqqqmqqhq
+5-7 j: ngxjlbhjjjj
+8-9 p: rpxpdqcpkp
+11-13 d: htbdddddddjdddd
+2-3 p: hpbp
+3-4 x: xxxq
+4-7 m: mmmlmmm
+7-8 r: rrrrrrqr
+9-11 x: xxxxxxxxxxx
+5-8 h: hhhhflbv
+1-2 k: vkrkzjpwtbk
+8-10 p: pppppppxpg
+9-10 h: lhbhhhhhnqhh
+3-9 x: xxmqxxxxgx
+17-18 p: ppppppppppppppzpqwp
+8-9 x: xxxxxxxxx
+1-6 l: lrblvjllhll
+1-4 k: klkk
+6-8 m: mmmmmbmmmm
+1-6 h: hhvhqkh
+5-7 n: nnnnwnss
+6-7 k: kkkkkzkksl
+6-9 b: bbbbbbbbm
+9-14 k: kbkkfkkkkkchtklkg
+3-4 f: fcjpff
+6-12 f: fzfxfrqlvhwflfglftpb
+7-8 j: djjjjjjsj
+13-15 v: vvvvvvvrvvvvvbvvvvv
+2-11 p: qpnpfmppphxpp
+3-4 g: ggwgg
+1-4 q: nqqq
+4-9 t: thpqpkxntg
+1-16 l: dllllllljlllllllll
+3-8 w: dbwwhxwzqwph
+13-15 p: ppppppppppppqpm
+4-5 b: bbmbqbthmbn
+2-4 d: zddq
+2-7 x: vpmchtzdbxxxxnxd
+11-13 x: xxxxxxxxxxjxxx
+7-9 m: mmdjmmmnm
+10-12 j: jjjjjjjjjjjx
+12-14 j: wfcvflhjvblzdf
+2-12 j: lqfjjjzncbgjhj
+2-7 j: jtlfjqjbjgqrxgjm
+4-5 t: ttttc
+5-8 v: vvvvvbvpvv
+4-10 b: qghbgkcbbs
+12-14 n: nnnnnnnnnnnnnhnn
+13-19 v: vvvvvvvvvvvrvvvvvvv
+4-16 z: znzvzzzwgzzzzzzzzdz
+4-13 q: qqqlqqqqqnqqlqqm
+9-10 q: qqqqqqqqrs
+2-12 q: qpqszqxqqqqkq
+10-16 v: vvfvvvvvsxvznfvv
+1-3 f: fvjpkglwfjbcgnbc
+2-7 v: vfvqvvv
+6-8 l: llllcllllll
+9-14 v: vvvvvvvvzvvvvwb
+10-11 s: ssmsssssssxsls
+9-10 b: bxbbfbbxbzbzjbbm
+3-15 x: xcxxxxpxxxxxdgxg
+10-13 k: kkkpkjmkscgxkhkbkgd
+2-4 j: djqhc
+9-10 c: cccccrccds
+7-10 v: vvbvvvvjjpvkv
+13-16 n: nnnnnnndnnnnqnnsnnnc
+2-4 g: qfgg
+3-13 v: hvvvvvzrvqvcpvvhj
+5-12 n: rnsnnpnnnnntnnn
+7-8 p: pppptpppp
+1-6 d: cdddqdddddd
+3-5 h: cwzhhhbwlhtd
+8-17 j: jnjdscnljmhrljrjjmjj
+3-4 j: jccj
+4-14 m: mmjkmmhwqbkjqmg
+2-4 b: bbbd
+4-7 v: vhlvvvq
+1-4 p: jppm
+9-12 g: vggzgppggggnggcdfp
+5-6 r: rrrrrp
+6-13 t: bxztttrtbttrm
+17-19 d: ddddddrddddwddddpdk
+1-3 w: jwjwwc
+5-6 k: kkkkkk
+5-6 f: ffffjxff
+8-10 x: xxxxxxxwxl
+6-8 q: qqqqqqqq
+5-8 d: fddtdbfdkddddddjd
+7-15 k: kkkkklnfkqkkxqkkvkk
+2-5 x: cqzxxx
+3-4 j: jjjb
+7-8 w: wwwwwwlw
+18-20 g: gggggggggggggggggggg
+10-11 w: hwwwwwwwnwmwws
+2-10 d: xsdjqqrqzdnhgmvlhkgm
+2-3 s: rsxhms
+7-8 n: tdnnznwpnnn
+10-12 g: gggggggggggg
+7-13 z: zfxzqzzmzzzrndzkvz
+11-12 k: kkkkkkkkkkkk
+6-7 t: ttjxxtc
+4-6 n: nwzlfxnnn
+4-6 j: jjjdmj
+8-14 p: xgspprprpppppppp
+6-7 k: kkkjkkzktn
+5-8 d: dddddmdt
+4-6 j: jfhjjb
+3-4 k: jrkckdwqjbcctpklm
+6-9 w: wwwqwxqwzkwgwwwvqbs
+1-4 t: gthttttttt
+3-4 h: bhhb
+4-6 t: ttqltktv
+11-17 v: vvvvdvvvvvpvvvvvvvv
+13-14 d: ddndddwddkcdvkddddkn
+3-4 b: xhdb
+3-7 w: zwcptvwlkswv
+8-11 p: pptpppppppm
+5-14 p: wpmpnplrppppppptp
+1-3 q: stqdkc
+10-11 c: ccccccccccv
+1-7 s: msszslsps
+12-14 h: hhghhnhhhhhhhmh
+14-16 g: gscwmsggggdgggmg
+7-12 z: htztzwzzkzzkrzzzlz
+3-6 n: dcnnvn
+3-7 k: kkkkkkj
+2-3 m: vmlkkjn
+12-13 r: rrrrlrrrrrrrrr
+6-7 z: zzzzhxxczzsd
+2-7 g: htjgfggbllbgxggq
+13-17 m: xhhnpmdxfpvsmjzwb
+7-9 h: hhhhhhhhjh
+3-4 z: zrzzz
+1-5 l: llgwlszllvxxmflglldt
+7-9 v: vvvvvvmvcq
+5-7 r: rrzcwsmrrgrwxnrg
+14-16 t: twttpttntttttttlt
+7-14 j: qjsmcdzdqjgjpjjcjj
+2-3 s: sshscbks
+3-10 p: vppkpwpplpvp
+2-5 t: ftrrt
+3-7 c: cgrsczccpcpcc
+9-10 v: vvvvvvvvvxvvvvv
+2-3 v: vvsvw
+9-11 d: dddddxdjddbd
+3-4 p: pdpgrpj
+9-10 p: pwppppwpvpp
+4-18 r: hmrdmwvrnggrcgrsrrwg
+3-4 n: nnnnnf
+1-8 x: tblrxhhxwjb
+10-19 f: ffbffffpfffhfksflfkf
+5-12 s: sssjtsssssss
+5-6 z: zzzzfz
+7-8 n: nfnnnnrn
+8-9 x: xxxcxxxxx
+4-8 x: tcdxxxxdx
+3-4 x: xxwc
+6-8 h: whnhrvdlhhhhhhhxkd
+14-15 q: qqqjqmrnnqktdtq
+5-9 f: fhffkhfxhc
+6-8 c: cccccccwc
+17-19 s: ssssssssssmssssszss
+10-12 f: hffffffffzff
+6-7 k: nkmkkdkk
+4-9 v: bvvvvvxvwnvcv
+19-20 v: vvvvvvvvvvvvvvvvvvvv
+4-8 h: nhnhhhhvtvfh
+12-13 l: lltllllllllqll
+13-17 s: ssssssssssssnsssgs
+6-9 g: gdvctgcgzgrgf
+13-15 w: wwwwwwwwwwwwswb
+4-8 l: lllfllcglllljl
+8-9 q: flqqqqqrrqq
+4-5 w: wwwmww
+2-5 v: dqkgvhlmqvv
+6-8 g: gvtggvgg
+3-11 t: ntvttnqtgltttttt
+3-7 m: mmqmjmmm
+9-13 d: dddzddddddddndd
+3-7 j: jjqjhjt
+13-14 q: qqqqqqqqqqqqbq
+5-11 x: lxxxhxxxckxx
+5-6 q: qnqqqwqqq
+2-5 z: hzzskzzckj
+2-3 j: jjzm
+3-4 g: wggs
+1-3 v: vzsbsvv
+2-4 z: mrnz
+16-19 x: fxxxxbxxxxxxxxjxxxf
+6-7 x: xxxxxtx
+1-6 v: qvrvvvv
+4-5 w: hwwdww
+3-4 d: tljd
+6-13 v: nvcdjvjrvvvmqj
+6-10 v: gfqjlnxfvhw
+6-8 f: kzvffvffff
+5-6 r: rvrctrrwcrvr
+6-11 s: csfcvsxhgcsvh
+8-11 b: bbbwwmdbbbjjbtb
+5-13 x: lvxxbvtxbhvdx
+3-6 h: dhhhvmscwwbhbrbk
+4-5 s: gmpqsw
+2-12 z: pzncbwqpfbhsfzzz
+5-6 w: dwwbwqhgb
+2-13 l: llllllllllllcllllll
+1-9 v: vjjvvvvnvvvtvvd
+12-14 f: ffjffzftfcfrffbf
+2-5 b: brwzbs
+6-10 s: tnfszsnjvbwzzhtwqg
+5-6 p: pfkppppppppp
+3-5 n: vstnnnprjn
+9-18 s: sssssssssssssssssr
+1-6 d: wdldddnvdndfqvd
+3-5 t: kttjlcpttzt
+5-7 z: zzzzhlzz
+2-9 p: ppppppppjp
+7-9 v: vvzvvvvvvvvcv
+3-6 r: zrrtrrfpwgzbrtskt
+9-12 s: mptshmsssssslssss
+5-10 c: nccmccchjjthdtlcj
+18-20 r: rrrrrrrrrmrrrrrrrxrr
+2-14 f: frplctstcgdfff
+9-15 h: hfhzhhhhhvmfjhhfjhhh
+1-6 w: wwwwrpm
+4-6 f: hfffhcfjfszdzbbg
+7-10 w: xwwwwzhwrpwkw
+9-10 r: rrrrrrrrzr
+14-16 n: pngnnnnnnvnnnnnsnn
+14-15 p: gppppdpppjppzptpppp
+1-4 n: wnnnnnn
+12-13 t: tttttttttttgt
+4-5 n: nnwsd
+9-10 l: vlllllllln
+5-16 p: pppfxpxpspppmpkgppp
+1-10 v: vlvvtvlkvmgcdwvvtrv
+14-15 s: ssssssssjssskrg
+4-5 n: gxnnnn
+4-10 b: lvbqbjbbbbw
+5-6 k: xkrkfldcs
+5-6 n: nnsnnznfjnf
+6-9 v: gqvvmvvvpb
+14-18 f: sdffffwffflffsfffn
+2-4 m: mmdm
+11-12 g: ggnmgdmfhrpgzgr
+14-15 z: zzzzzzhzzzzzmzcz
+7-13 s: ssssssstssssj
+4-6 g: zgtbcg
+2-7 t: rttskmdpmvk
+6-20 n: nnkpnnnlnfnnbnpnnnnm
+9-10 w: zfpwwhwjwdwwwpwwjww
+3-9 d: ddldddddwdddd
+4-5 f: hfftmfcq
+1-2 w: zwbjt
+7-11 g: cggggkxggvgggtbmm
+5-9 d: dwgfdltddgndwd
+3-4 b: rbrbb
+6-10 z: fzzzzxzzkzxz
+4-5 z: zzhzjzffcz
+8-10 x: wwsxdbkxgd
+9-10 t: lttttfttdtttc
+13-17 d: dddddddtdnddddddrdd
+13-15 w: wwcwwwwwwwwwlwdwq
+4-18 r: rvrrrkwtrmrbrrrzfwlj
+11-14 j: jxjjjjjjtjjjjjv
+8-15 m: mkmmlmmmmmmmmrqmmm
+1-3 g: gsng
+3-11 n: ttdplnfpkmnrwcrqwbvr
+5-10 n: wgnqrlcnnnnnnn
+7-9 c: jgwbrcclt
+1-4 l: flml
+8-13 s: sjssqssrgssrz
+6-7 x: xlxbclxxxzxbwqx
+12-19 g: qlzcctgmgfmrvxgwvgzj
+4-5 w: wwwrr
+11-18 m: kmgxmjskmmmmmmmmmz
+12-16 f: ffqlfhzflqffffkfz
+1-6 k: kzkhrfxkkk
+10-11 x: vxfxxxbxxxxx
+4-6 d: gvqdwrclzsdmhglrz
+5-9 d: dwjddjddd
+1-3 n: ndcqcn
+4-5 r: rrrrh
+5-10 g: pkbxgvczgn
+4-6 w: wggwpfww
+2-4 g: glgggg
+7-8 h: hhhhhhhh
+12-16 h: nkvzdqlbsptvnrzh
+8-14 w: bwlwbwghwwwwtwwl
+4-11 q: vqsllpqnqdcbbtvqrqxb
+2-5 x: xkxxx
+4-10 c: cccjncjsccr
+10-18 h: xkswshrhghxlnmhqzr
+5-18 k: kkkkkkkhkkkklkkkknk
+9-10 t: ttttttttnt
+10-11 x: xxxxxxxxxcv