From 42c4beb91067ae38951a4ba363e54730d102cbaf Mon Sep 17 00:00:00 2001 From: Marcin Chrzanowski Date: Fri, 25 Dec 2020 15:06:05 +0100 Subject: Add da 2 --- 02/a.c | 120 +++++++ 02/b.c | 120 +++++++ 02/input.txt | 999 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 1239 insertions(+) create mode 100644 02/a.c create mode 100644 02/b.c create mode 100644 02/input.txt 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 +#include +#include +#include +#include +#include + +#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 +#include +#include +#include +#include +#include + +#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 -- cgit v1.2.3