QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#867378#1219. 你的名字Gold_Dino88 746ms180160kbC++145.9kb2025-01-23 14:56:362025-01-23 14:56:37

Judging History

This is the latest submission verdict.

  • [2025-01-23 14:56:37]
  • Judged
  • Verdict: 88
  • Time: 746ms
  • Memory: 180160kb
  • [2025-01-23 14:56:36]
  • Submitted

answer

#include <bits/stdc++.h>
using namespace std;
#define info(...) fprintf(stderr, __VA_ARGS__)
using ll_t = long long;
const int N = 5e5 + 7, T = N * 2, Q = 1e5 + 7;
int n, q, L[Q], R[Q]; string s, t[Q]; vector<int> qs[N];
ll_t ret[Q];
int pos[N], tot = 1, trie[T][26], fail[T], len[T], dfn[T], pdfn, sz[T]; vector<int> nxt[T];
int mx[T * 4];
int wt[N], sa[N], satmp[N], *head[N], cnt[N], *las, *cur, rk[N], trk[N * 2], H[N];
int expand(int p, char c)
{
    int v = ++tot, x = c - 'a';
    len[v] = len[p] + 1;
    while (!trie[p][x] && p) trie[p][x] = v, p = fail[p];
    int f = trie[p][x];
    if (!f || f == v) fail[v] = 1;
    else if (len[p] + 1 == len[f]) fail[v] = f;
    else
    {
        int t = ++tot;
        fail[t] = fail[f], fail[f] = t, len[t] = len[p] + 1, memcpy(trie[t], trie[f], sizeof(trie[t]));
        while (trie[p][x] == f && p) trie[p][x] = t, p = fail[p];
        fail[v] = t;
    }
    return v;
}
void DFS(int u)
{
    dfn[u] = ++pdfn, sz[u] = 1;
    for (int v : nxt[u]) DFS(v), sz[u] += sz[v];
}
#define ls (v << 1)
#define rs (ls | 1)
#define mid ((l + r) >> 1)
#define LEF ls, l, mid
#define RIG rs, mid + 1, r
#define INIT int v = 1, int l = 1, int r = tot
void modify(int p, int x, INIT)
{
    // info("[%d %d]\n", l, r);
    mx[v] = x;
    if (l == r) return;
    if (p <= mid) modify(p, x, LEF);
    else modify(p, x, RIG);
}
void query(int L, int R, int &ret, INIT)
{
    // info("%d %d [%d %d]\n", L, R, l, r);
    if (L <= l && R >= r) return mx[v] && (ret = min(ret, mx[v])), void();
    if (L <= mid) query(L, R, ret, LEF);
    if (R > mid) query(L, R, ret, RIG);
}
void clr(int *f, int n) { memset(f, 0, sizeof(int) * n); }
void cpy(int *f, int *h, int n) { memcpy(f, h, sizeof(int) * n); }
int main()
{
    ios::sync_with_stdio(false), cin.tie(NULL);
    cin >> s >> q, n = (int)s.size();
    pos[n + 1] = 1;
    for (int i = n; i >= 1; --i) pos[i] = expand(pos[i + 1], s[i - 1]);
    // for (int i = 1; i <= n; ++i) for (int x = 0; x < 26; ++x) if (trie[i][x]) info("%d %d %c\n", i, trie[i][x], 'a' + x);
    for (int i = 2; i <= tot; ++i) nxt[fail[i]].push_back(i);
    DFS(1);
    for (int i = 1; i <= q; ++i) cin >> t[i] >> L[i] >> R[i], qs[L[i]].push_back(i);
    for (int L = n; L >= 1; --L)
    {
        modify(dfn[pos[L]], L);
        // info("add %d %d\n", dfn[pos[L]], L);
        for (int id : qs[L])
        {
            int p = 1, le = 0, e = (int)t[id].size();
            // info("[%s]\n", t[id].c_str());
            for (int i = e; i; --i)
            {
                char c = t[id][i - 1]; int x = c - 'a';
                while (!trie[p][x] && p) p = fail[p], le = len[p];
                if (trie[p][x]) p = trie[p][x], ++le;
                else p = 1, le = 0;
                auto chk = [&](int x)
                {
                    int ret = n + 1;
                    query(dfn[x], dfn[x] + sz[x] - 1, ret);
                    // info("qry %d = %d %d [%d %d]\n", x, ret, le, dfn[x], dfn[x] + sz[x] - 1);
                    return ret && ret + len[fail[x]] <= R[id];
                };
                while (p && !chk(p)) p = fail[p], le = len[p];
                if (!p)
                {
                    wt[i] = 0, p = 1, le = 0;
                    continue;
                }
                int ret = n + 1;
                query(dfn[p], dfn[p] + sz[p] - 1, ret);
                assert(ret + len[fail[p]] <= R[id]);
                if (ret + le - 1 > R[id]) le = R[id] - ret + 1;
                assert(len[fail[p]] < le <= len[p]);
                wt[i] = le;
            }
            for (int i = 1; i <= e; ++i) ++cnt[rk[i] = t[id][i - 1]];
            head[0] = (las = sa) + 1, cur = satmp;
            for (int i = 1; i <= 127; ++i) head[i] = head[i - 1] + cnt[i - 1];
            for (int i = 1; i <= e; ++i) *(head[rk[i]]++) = i;
            for (int step = 1; step <= e; step <<= 1)
            {
                clr(cnt, max(128, e + 1));
                for (int i = e; i > e - step; --i) ++cnt[rk[i]];
                for (int i = 1; i <= e; ++i) if (las[i] > step) ++cnt[rk[las[i] - step]];
                head[0] = cur + 1;
                for (int i = 1; i <= max(e, 127); ++i) head[i] = head[i - 1] + cnt[i - 1];
                for (int i = e; i > e - step; --i) *(head[rk[i]]++) = i;
                for (int i = 1; i <= e; ++i) if (las[i] > step) *(head[rk[las[i] - step]]++) = las[i] - step;
                cpy(trk, rk, e + 1);
                for (int i = 1; i <= e; ++i) rk[cur[i]] = rk[cur[i - 1]] + (trk[cur[i]] != trk[cur[i - 1]] || trk[cur[i] + step] != trk[cur[i - 1] + step]);
                swap(cur, las);
            }
            for (int i = 1; i <= e; ++i) sa[i] = las[i];
            for (int i = 1; i <= e; ++i)
            {
                int r = rk[i];
                H[r] = max(0, H[rk[i - 1]] - 1);
                while (max(i, sa[r - 1]) + H[r] <= n && t[id][i + H[r] - 1] == t[id][sa[r - 1] + H[r] - 1]) ++H[r];
            }
            // for (int i = 1; i <= e; ++i, info("\n"))
            // {
            //     if (i > 1)
            //     {
            //         for (int j = 1; j <= H[i]; ++j) info("*");
            //         info("\n");
            //     }
            //     for (int j = sa[i]; j <= e; ++j) info("%c", t[id][j - 1]);
            //     info(" %d", wt[sa[i]]);
            // }
            ll_t sum = 0;
            for (int i = 1; i <= e; ++i)
            {
                int len = e - sa[i] + 1;
                if (i > 1 && wt[sa[i - 1]] <= H[i]) sum += len - max(wt[sa[i]], H[i]);
                else sum += len - wt[sa[i]];
            }
            ret[id] = sum;
            clr(cnt, max(128, e + 1)), clr(rk, e + 1), clr(trk, 2 * e + 1), clr(sa, e + 1), clr(satmp, e + 1), clr(H, e + 1);
        }
    }
    for (int i = 1; i <= q; ++i) printf("%lld\n", ret[i]);
    return 0;
}

詳細信息


Pretests


Final Tests

Test #1:

score: 0
Wrong Answer
time: 11ms
memory: 65676kb

input:

aadccabccdcddcdabbbdbdaabcadbcadcccdcadbadaabaaacbacdcdccdcdabbbdbdaadcabdabdbacabdadadbdadbdcddbcbcbaddaaaabccdaddcaaabdbabbcabdbcdccaaddbdcdbbcaccdababdbbdabdcbcccacbddddaacbaccaacadbdbdcabc
190
acdabdbcdcabbacbdacaccbcaddadabccdaabdcdcbcdaadccadcdcaccdcaadcaaddccddbbbadbadbdcaacccdbbbcbdbabcacacb...

output:

18747
19140
18515
18930
17590
17762
17395
18335
17397
18161
18710
19087
18528
18933
17953
18690
17555
17941
17602
18932
17972
17768
17746
18944
18728
18167
17957
18719
18487
18174
17597
18175
17368
17591
17579
18372
18751
19153
17426
18514
17962
17398
18125
18742
17775
17402
19134
18159
18741
17418
...

result:

wrong answer 1st lines differ - expected: '18746', found: '18747'

Test #2:

score: 4
Accepted
time: 14ms
memory: 64696kb

input:

adbdadddcaddcdaacabadbbbacccaadddcdabaaccbbcbacccbdcdbaabbcbddcdadcabcacccccddbdabbbaacaadcdaddbabcabbbddcdccbaddbbbcdbcabdaaabbdaaadcdacbabccdadbabbdaddcbccddadbdcabcdaabbbabcdacbcaaccabcbaabcbcddcddbbbbaadacbddabbdddabbddbcbdabccbbdacbbdccdbddcdcdcadadbbacbdabbbcddcbadcdddaaabdbbdadddaabbdbaaccdab...

output:

17803
18533
18159
17409
17751
18527
17214
18141
18343
17601
18158
17623
18721
18552
18945
17413
17228
17577
18527
18694
17413
17564
17999
18521
18545
17400
18354
17384
18378
18159
17415
18907
17410
17594
17365
18126
17764
18370
17220
18352
18338
17616
17400
17244
18945
18201
17957
17774
18918
17970
...

result:

ok 191 lines

Test #3:

score: 4
Accepted
time: 13ms
memory: 63464kb

input:

abbabcabadbcbbccbabdcbbacdddcccddadabcadabaadcaddbaaccacaabcbbbcabbbdcbadbaadccdbbdbaaccadbbabdccbcaabbaaccabcbabbcaacbdbbadadbdcbddbbcddcaaacbadabbaacaadddacbadbbddaabbcaccdbdabbcdbbccadccaadabccdaddcabbabadadabdbbadacadcaacbcdccdccaddaacdccbacadaccdbccddacbdcabadbcbbaaccbbabcddccdaabacbcbdbcbdbddb...

output:

18912
18173
17219
18910
18551
18349
17395
17373
17739
17934
17975
17576
17237
18552
18712
18941
17913
17203
17385
18945
18568
17180
18135
17208
17989
17984
18347
17798
17974
18909
18159
18724
18558
18540
18761
17987
18512
18388
18171
18352
17435
18936
18151
17765
17772
17225
18750
18553
18166
17965
...

result:

ok 198 lines

Test #4:

score: 0
Wrong Answer
time: 103ms
memory: 62032kb

input:

ddadbccdbdaacdacabdadadcbdbbadddcadbdadddcaddbbacbddddacccccbcabbbdaddcacbbcaaadaaddadadddbadabbadcdbacbdaddadbbbbccdbacaaabcacccdccaaabaddababacdbaccbbbddaabaacadbcddbbcaaccbbbbbdaddaabddbcdbaacbcadbdbccbcbbdacdacbbbcdccadcdbaacbcaadbabadcaccabdddacacabdbcdadccaddcdcaaabcacccbdbdadcbdcabddabbdabdcd...

output:

2895657
2992743
2980377
3051798
2816925
3098915
2951192
2866857
2831106
2948905
2812070
3068972
3031952
2893279
2861987
2978080
3071610
3024605
3024648
2914878
2914947
2826267
2826296
2924595
2881347
2992853
3029549
3073855
2927078
2958406
2838228
3027150
3037113
3034454
2997709
2995256
3044309
2965...

result:

wrong answer 1st lines differ - expected: '2894585', found: '2895657'

Test #5:

score: 0
Wrong Answer
time: 104ms
memory: 66096kb

input:

bacccaaabdacddbbabdabccbdabddccdbcdcdbdbccbddbbcaaddaacdcaaadcbcaddbabbaddaaaddaaccdcaccacababccaddaccbcacbbdccabaacacdcbccbdbadcdbbbbacacdcbbbbaadbcbaadbcadadbbddbccaadbdbcbabdaacdcdacdbcdbdccdabbacbddabcabccbbabcddbdddcaabbcaddbbdabcaddbbcaadabcbdcabcacdaabbdddadaacbbccdbccdabbdcaddddcccdaaaaddada...

output:

2970667
2931925
3091451
2970716
2941626
2961184
2914985
2823974
3002512
2939235
3024594
3000107
2953790
3076618
2845306
2859691
2912531
3054257
2985485
2951274
2985417
2833470
2869379
2963454
3004917
3007417
2890917
3046759
3098908
3039489
2823868
3091565
2934368
3029631
2934354
3061695
2890917
2997...

result:

wrong answer 1st lines differ - expected: '2969627', found: '2970667'

Test #6:

score: 4
Accepted
time: 551ms
memory: 180160kb

input:

jmoifvagmonbuxznpdxtcgfycygerridhihasxonifvcorwbbadpyjvgyveicsfcrcjjecfktxuumtvfjxocbgeoeefrzlykfqeaarrlhkjovevehnezlcjikjjjfuxfoclvirrbctlicoitgwnphfzgzepxyejlsijruxxdvzahqjpaqhgcumtjnwkbskyengdgzbtxteacjoyvndwiturrdtlcyccbckhmlfyqohfcjvzhtcuqxxpexkvlckohvidmwkghiijakocqyjskcfoxxzffzgtylbiyythobvdx...

output:

124863337763

result:

ok single line: '124863337763'

Test #7:

score: 4
Accepted
time: 552ms
memory: 178988kb

input:

jxfsgnlqidcnbfleihizzderbbyzminbutjjknmojrymnghyunksfsqtfijisxyxfaygactkupfrpnugcrvhseqxpdiyrzrzanctqtygvhpumvlxwmvduwbysmkzpckcgbjxmlgyfhdpdjqehloisnpilhpshexuljbjlnkcbkjcnpudmycjigdirokeyvcvkmkrsyjbftizewmcfyuxghxqmwmqdvhswdnsjvybvefdnupdkrqcvnlnfbybifdovvapsdjoppvzvkmxjzevqifzclignjponvndafghncmm...

output:

124869633540

result:

ok single line: '124869633540'

Test #8:

score: 4
Accepted
time: 86ms
memory: 85584kb

input:

lbmckmhibhhmgglmcbfkclhacldibgaadakchjabmimjlidhhldljfmkegaieahdbjccdhjefbfebedjiefeflbejkihgjbfgeflchegbamekdlaaacfgabdabmfgjgfmjailbdgbhfbmaaclcidkkgldmejjhcmahhmgkimgfclcgkkalgdcmaiieakmkmflhbdmmibkbkfcjieekbccheahgegkfchfchemgkfghmiabllamichbbdbhjlcfafkijgihgmekhkdebkfbkdagdbhcgjmkamlfhmkjgmfafl...

output:

199927488
12
4
10
8
12
7
10
11
8
7
12
9
12
11
6
10
10
6
11
5
11
8
9
8
11
9
5
11
11
10
2
4
10
13
9
11
8
8
10
10
11
10
12
11
10
7
10
9
6
10
9
12
10
9
11
12
11
11
11
10
7
8
12
10
12
9
7
5
10
12
8
8
8
10
7
12
7
11
12
9
10
7
10
12
10
13
9
8
9
8
8
9
9
11
11
8
6
4
0
6
4
8
10
9
13
9
12
13
7
7
10
11
8
7
10
8...

result:

ok 4411 lines

Test #9:

score: 4
Accepted
time: 107ms
memory: 87040kb

input:

uwhchfeaycdqlasqdrbylqxaridtgcmyrmkdfdahthdwvkojhqxacqomockaqqoanitzhkmcgcdvniteghvxiyjrqziqjiuljewrdwaabtqwfrfalgloikpxcllbngrzphwcsdmiflqvznvuvxivxsvpqfgkefowexaoplhqfenuwawvwhtmocrmqifqdbyudhmkgiucudnxbjaucppbzobxpmqufhvexdvyjiefmxlfpczvqiuqucvnryxicvusurdiaavudphnnmfqgtichpwfvpaglqqzlmbwwwjohdgx...

output:

199945526
2
3
2
3
3
1
3
3
3
2
3
3
3
3
3
3
3
3
3
2
3
3
3
3
3
2
3
2
2
3
2
3
2
2
2
3
2
3
2
2
2
3
2
1
3
3
3
1
3
3
2
3
2
3
2
3
2
2
3
2
3
3
2
1
3
2
3
3
2
3
3
1
3
3
3
3
2
2
3
2
3
0
3
2
3
2
3
3
3
3
3
2
3
0
3
3
3
2
3
2
3
3
3
3
2
3
3
3
2
3
3
3
3
3
3
3
2
3
2
1
3
3
3
2
2
3
2
3
3
3
3
3
3
3
2
3
2
3
2
3
2
2
2
4
2
...

result:

ok 5706 lines

Test #10:

score: 4
Accepted
time: 182ms
memory: 107932kb

input:

kimblfhedhamehaaacifgbgflkkldkalaakkhlaiejmeccmcffablhblmggjdmkbhljkkhgfjklieakmkjaamgikmccfkfghljahlkijgjdaechcbifailjcglkkedlgicjebfhiebkfciljkeacceejmkaalhcajfhfmkcecdklbdajdlfikkhiekdbebjbbdfgjcjhfbkclbhbbhjfdffegebkjfkcdilemclilbhflaihgihcgkldcbaakhdjhbekibbigibjdmjbbfalhccmddmckgljfmhgjbalbdjg...

output:

799877758
11
1
11
13
12
10
10
8
10
7
13
8
9
12
11
11
1
14
10
7
2
8
8
8
11
4
9
10
9
11
10
4
8
6
2
11
12
10
7
8
10
12
10
7
0
10
11
4
7
6
8
1
4
5
10
10
6
9
11
11
9
4
11
11
11
12
12
8
11
12
12
8
11
12
8
9
6
12
7
8
8
9
8
9
11
10
7
13
9
11
12
10
11
11
11
9
8
9
2
13
8
12
9
8
8
3
10
12
12
11
10
8
11
9
10
11...

result:

ok 8521 lines

Test #11:

score: 4
Accepted
time: 227ms
memory: 101544kb

input:

hpfxngoxndlosbzylksgzehfhkodfvqwwbtwlreetgeusomoymlaukhqqeqhfawfvuqjbwyrtwwjzmrtrnhvibtibiachlutcqbsydmynzxzdrkydyyekbmezwhvvfngnlklzdjpgbpjatahwuvoluqjoefktvlwdtynwprfekbpvgqtwmwneaofpktxfudwpibhlqmiybqbvsfsywlbktjcqvzwxtddkmliwukvkqsdssszsbmtnpynoohpgclvufblcdvqwrpjtuayinwqppbuidyynbpaolisqodbrqqt...

output:

799884036
3
2
2
1
3
2
3
2
1
3
3
2
2
2
3
2
3
1
3
2
2
2
3
2
2
1
3
3
3
2
3
0
3
1
2
3
2
2
2
1
3
2
0
3
3
2
2
3
2
1
3
3
1
2
3
2
2
2
2
2
2
3
3
3
3
2
2
2
2
2
3
3
3
1
2
2
3
2
3
1
3
2
3
3
2
2
2
2
2
2
0
2
2
2
3
2
2
2
2
3
2
3
3
2
3
3
3
2
2
2
2
1
3
3
3
3
3
2
2
2
3
2
2
3
2
3
2
2
2
3
3
3
2
3
3
2
2
1
3
3
2
3
0
3
3
...

result:

ok 11413 lines

Test #12:

score: 4
Accepted
time: 282ms
memory: 124708kb

input:

cdfmjmimggmlmabjlakafafdgkbdkaclfemhajdamjkliajhmajfidkghmejelfkjedddkcgbdidelhghbabckiihdjhdjhakmeldjbikdagdfhalfikeggefcmehhgccilmaehhkagafafaegjgakjekcbhbbjgfhimhmlblgmeddfffdhfgmiacadfhglhjaekdaeacdbfmlcjfffbkcbffljjkbhigejmmmhkaljcljibgekjfhefmbjilcahefblblgeledddgemdgihfecclicgbkmilmifflllhmmc...

output:

1799824843
7
13
11
8
5
12
12
7
12
8
7
10
10
7
7
5
10
0
1
8
5
4
8
1
7
11
7
8
9
11
11
9
8
5
10
10
12
11
10
12
10
7
0
12
11
12
10
10
6
11
5
12
10
10
7
5
10
10
11
10
12
7
7
8
11
8
13
10
10
11
6
10
11
13
13
7
13
8
12
4
11
6
7
11
10
13
5
7
8
2
6
8
6
8
14
11
5
3
8
12
8
9
12
7
9
11
9
9
11
9
8
9
7
4
7
11
11
...

result:

ok 12631 lines

Test #13:

score: 4
Accepted
time: 377ms
memory: 118676kb

input:

ophmmxojwyabxitozutwdxkmleazyhkqzfhqtdjggpjclzkhcerzmpdkprqjkmnpvccyajlwcohqgzqticihosjhxmwymdzoqnawgmtegjqyrngnqcheacmkgbrwsfldsmlnqjkocblhrnwguaexvnfvrceexfqpzumxsuuhfhdhujqoqdxrkknnhiygrabiqspaqdqreiswbcqdjnyqijdzolltfiiismxltjukwuixllitlyjglwwqekrlbkbwutvnifampunpzmpmwyclwxwgrowvnbqqmkreqhrwgvey...

output:

1799817649
2
1
0
1
2
3
2
2
3
1
1
2
3
1
1
3
2
2
3
3
3
1
2
3
2
2
3
1
1
3
2
1
2
3
2
2
3
2
3
2
2
2
1
3
3
1
2
3
3
2
1
2
2
2
2
3
2
1
1
2
3
2
0
1
2
2
2
2
2
3
2
3
1
3
3
3
3
2
3
2
2
2
2
2
3
2
3
2
3
2
2
2
2
2
3
3
1
2
2
3
2
1
3
3
2
3
2
2
1
1
3
3
2
2
2
2
1
2
3
2
1
2
1
3
2
2
2
3
2
2
3
2
1
2
2
3
2
1
3
3
3
2
1
1
3...

result:

ok 17118 lines

Test #14:

score: 4
Accepted
time: 391ms
memory: 142028kb

input:

lbmafbiicbjcmhbbmbabkgmbafmmhjldiifkmhejgmdcbijilcaidajjjebklkikjdjefalfkemjmbifalacllkcehbgkdkabiiefmhjcimlmckcbebidhddclhhlabdalegkfhcdbejbdmbhbfgelmkfdbkbdaclahbfggijmbgigilebmbijddfkjbafdjghijiibljgclgbciijhmjdhcjelmhiecaiahkhledfbekdlmcdceecckhkebclhilgbikmfgjmjgflmffkdjjkbcaemagedmcjajgikgefga...

output:

3199770934
9
9
11
8
9
10
10
13
9
10
8
11
11
10
11
8
10
10
11
8
10
4
4
11
11
9
11
8
11
11
4
12
7
12
11
11
12
8
11
8
6
1
10
10
7
6
11
10
6
11
10
12
8
7
4
11
5
7
11
10
4
10
3
6
12
13
10
8
9
8
12
5
12
10
4
10
10
8
10
8
10
6
14
10
0
10
10
10
12
5
8
1
10
9
11
12
9
5
10
6
9
8
6
9
12
10
12
10
8
11
11
12
5
1...

result:

ok 16741 lines

Test #15:

score: 4
Accepted
time: 545ms
memory: 135320kb

input:

dsppfaesydhozppylwmfzcvsllhggovukeeepvtiodzzdcmlauhymvxijszrobdecuhxjsivtwjtmvphssgvyifmixgddeuofabohugyfnnqbtsjrynkvtvcqkrhwovooktcfwmxagrxgekxdgldaqffybwmdkeykyocudevwdojhcbhipfwclhzmtoyznnbdadomffoaxihkuojezabjppeyzkgwjgcpvuuxvojahfrdeybcklvqwvfftcwkxqfhbddbxfduvitycznkuzgukryyhktzoslzqiiggugpwvr...

output:

3199747543
2
1
2
1
3
3
0
2
1
2
1
2
0
2
2
1
2
2
0
1
0
2
1
2
1
2
3
2
2
2
1
2
2
2
1
3
1
2
1
2
2
2
2
2
1
1
1
3
1
1
3
1
2
3
2
1
2
2
2
1
2
1
1
1
2
2
2
2
1
2
2
2
2
2
3
2
2
2
2
3
2
1
1
2
2
3
3
2
2
1
2
1
3
2
1
2
3
1
3
1
3
2
2
3
2
1
2
2
3
2
2
2
2
3
3
1
1
3
0
1
1
2
1
1
1
2
1
2
2
0
1
1
3
2
2
3
2
2
2
3
3
1
2
2
2...

result:

ok 22825 lines

Test #16:

score: 4
Accepted
time: 510ms
memory: 159564kb

input:

lgcjmilcjkfljihhadhcgcljecggdihjjihgdmbgggmdmfligahflfffcbcmfjlfmamfmcllfgffcciihhcfdihlbgbklmkjacjkhjajhaijifebillabigdeichhklajlechjhbeaiahhidemiaaaehkkaelabbdchficchchdcljbbbdmjfldkmjledjkkhldjjagdimadbdkkmcblkgfbmghieiiaamicjlemabecdemjbbhjjadfhlbaaglbfbbbilljmfjmadcmckfegfalkacbkjkafcgaklgabjkm...

output:

4999715467
11
11
11
8
9
0
10
0
10
12
10
11
11
8
11
11
12
9
9
10
5
11
9
9
8
12
12
11
9
10
12
10
8
12
7
7
11
4
11
0
8
10
6
12
5
8
8
12
3
4
7
11
10
8
8
10
10
5
11
10
9
10
12
8
1
12
9
11
11
13
10
6
8
4
9
10
11
11
12
7
4
10
12
4
0
10
8
6
12
11
10
8
10
11
10
9
11
8
5
13
11
10
8
11
10
12
11
12
9
7
10
8
6
1...

result:

ok 20852 lines

Test #17:

score: 4
Accepted
time: 746ms
memory: 157040kb

input:

crouxgkvirnjrytirundlljrgfwtazivrwzxxwditbfcooymmlaqvtisxnwbhhdusjrqtvebvgmuaietaotldzzsrqtplqfucfyjpfrohwraeeufvpetorvakablkyvvnwetsrqjlxhmjwgqekapdrvcymvxdzojvbsvcjqrjsdnimathoxcldskndebsfnoqpwxjiicaqdaxhmfnozvwhezimqwnwaoktflkfpdqyhuwtdtgqanymowveuxayebwbjeliulrglhaxwgmgvgiqwqvrkwetmdvkshxwpobakc...

output:

4999675655
3
1
1
2
1
2
1
2
3
2
2
1
2
2
1
3
1
2
1
1
1
2
2
2
2
1
3
2
2
2
0
1
1
1
2
1
3
2
3
2
2
3
1
1
2
3
1
2
2
2
1
2
1
2
1
2
2
2
2
3
2
1
2
1
1
1
1
2
2
3
1
1
2
1
2
2
1
2
2
2
1
3
1
1
1
1
2
1
1
2
2
1
2
2
1
1
2
2
2
2
2
2
1
2
0
2
2
0
2
2
1
1
2
2
3
2
3
2
2
1
2
1
3
2
1
1
1
2
3
2
2
2
3
1
1
2
2
2
2
2
1
1
2
3
1...

result:

ok 28531 lines

Test #18:

score: 4
Accepted
time: 403ms
memory: 108436kb

input:

hlheiljjdhhlgihkakdbmjjkjbihblhabaaafedcjickgbmimhldcfdgaeaemhheclgeglffkkiklgalagllffkjkkjbkllkgkkbblficjmklljcfallcicmfdflgebfjeacjejeedmimfdeiadbegfkckiaffagigmckdkihdikgilgehmaglhiddljghmfhgikfkgmfkadekgfalhlemfkdeggcdfkhmjdcdabmeebblbgeflbhkcjgdgadlbfmdebkhhhfajjiflejijamgjekelmjhcmakcglmhafdai...

output:

4999734984
8
12
5
11
9
12
13
9
11
10
5
13
8
13
9
8
11
5
6
9
13
8
9
8
8
3
12
5
13
11
13
9
13
14
11
11
11
5
12
12
8
5
9
14
10
12
14
8
9
11
5
12
5
13
8
12
13
13
11
10
11
12
10
12
13
1
9
14
8
9
5
12
5
0
14
14
12
8
8
11
12
11
11
12
7
9
10
7
10
14
13
5
9
8
7
11
12
9
11
14
11
9
8
12
9
11
1
11
7
12
9
11
11
...

result:

ok 20852 lines

Test #19:

score: 4
Accepted
time: 456ms
memory: 121288kb

input:

hcickbjbggigfjddcmijgfbafdebdkcldbibaaegkhmdeibkjdjigbmfelkbdablaccmeblcgikdglmllmdagaaaikfjhdcldhmhmiiiccbhehdhbkjdgkkjhfkflckidfibicfihaagficicjkbiiejddegmcahacchfgmkmmlehbelhlmbkamelfjhkmgfljbaffjjfmfhmhafjhhhdlgfggbilkkcghfaalllcdeffbbjichaiedagaalehkcaglcacgldciahdgehibefmghedciddglfbbmdigdbjij...

output:

4999739719
13
5
11
8
10
13
9
9
8
12
9
11
7
5
13
11
5
6
6
10
12
3
10
1
13
6
12
11
11
6
0
12
8
8
3
10
12
14
13
11
10
12
13
11
9
13
8
5
12
5
12
12
8
9
10
0
14
11
11
9
5
14
10
9
10
4
6
14
8
10
9
9
8
7
12
8
9
8
11
8
11
13
13
5
6
11
14
12
5
5
15
11
0
11
6
11
11
12
11
12
13
8
1
9
9
13
9
9
0
12
13
12
13
13
...

result:

ok 20852 lines

Test #20:

score: 4
Accepted
time: 497ms
memory: 142252kb

input:

cjhkkbhdfmbagemlcmcdclghhcebjlaikgbdlbkedeckmimkeffkjfljmghahfgeihehlfhicjckhjmidafdkhfgehjdgdclckchjddkglaijcfcmigkgmhkmggelagbkbkikaghbadbfeifkemehhcljcfjeljejeehbklflekflaedfeclhidaahikdfaeljbhbaffkdblmecidjglkddkmecifgccmjkjhjecgaklmemfcfemlfmbkljjbakdhchehfhaelhgkicdbhgddcfjeikimklccbdmccjiilhf...

output:

4999718204
13
12
13
11
15
9
12
11
10
9
1
7
12
12
9
13
11
13
5
11
5
12
12
10
11
14
8
11
12
11
13
11
12
11
11
11
9
14
13
11
12
13
11
12
12
11
14
12
13
5
10
11
7
8
13
13
14
14
0
5
11
9
9
5
14
12
9
1
5
0
8
13
11
13
13
8
5
8
1
10
12
9
7
5
11
13
12
13
11
12
5
0
13
12
4
14
11
11
13
11
11
6
11
10
8
13
11
14...

result:

ok 20852 lines

Test #21:

score: 4
Accepted
time: 544ms
memory: 167636kb

input:

acdalbjachemiccjijekjladlmgcdibegjemfggmcajmkdfaicklclhhjjiifdjkglcdieahidalajicmabkejeggmjdacmljghlicficlaidacjegkhgdmalfbgakblgfbglebhjmkccfgkdkcbgddfgcmkkddlmlikljhmcgfddgkfhddkiekkaefbedjhglclfgebfddlbkkadhlahccmbgjagkkchemmhgbcjkcjdgbmbfhmhgckffedkkllkemkegjhbkijhkjmckkgcccebelfdikbfeigdflebkck...

output:

4999757046
9
13
9
8
11
12
12
6
14
11
5
12
10
10
11
12
11
11
12
8
13
7
5
5
11
9
12
13
13
9
10
11
10
10
4
11
11
11
14
13
11
9
12
8
8
14
10
9
5
10
14
13
1
8
11
5
9
11
10
3
12
10
12
9
13
0
11
11
8
11
8
13
13
9
4
10
14
9
11
10
10
11
10
0
10
2
12
4
9
11
12
12
11
13
12
14
5
7
10
8
12
8
13
14
10
14
13
13
11...

result:

ok 20852 lines

Test #22:

score: 4
Accepted
time: 565ms
memory: 164144kb

input:

mddlmgjdadiajebkkjdcfcaemmacbeefbiheblhihlahcilkgcgcgbgbkdddbiedlejkaibalfggglkghmddiiikfabgmggecdmifaegcmkfcmlcfhlecifdiejflclehcbajacmakchcekkiddljfdlejgefbgkgicbdjamafjfgcdmhaejffmdaedaidabihdckhjdkfdclaafcibjfidakllflmejfaeeilaehkicmifjcdiagiihchgefafeaabbihmkddcaembjgjdeljjldagjgghammkfagahdjgb...

output:

4999718831
10
11
0
15
11
14
12
11
14
5
13
12
9
9
6
13
13
13
12
9
14
13
14
10
12
9
5
11
9
13
11
11
12
6
11
12
14
9
0
8
12
14
14
9
12
9
12
5
12
14
11
12
11
12
11
9
14
10
11
12
11
13
11
12
8
5
13
12
10
12
5
12
8
7
15
9
12
9
14
0
13
12
1
5
9
15
9
12
11
11
11
9
13
9
11
11
11
9
8
8
8
12
5
0
7
13
11
9
9
11...

result:

ok 20852 lines

Test #23:

score: 4
Accepted
time: 559ms
memory: 162196kb

input:

llfdgmcekbmbimkccddilecgmlimhkklijdgcfjcdkblbglbaaegedfeihjfgigigfbajgakjmmafechejfihfmdkidmlfdcejkkielgcakckilmlgiklmlalklfdcgkhlmlhkjbkhmdkbhmbfidfmccicgcbejmklcmelcigfjjiaifebbdimekgaglhejaadaglhahfkmkljkfakaifihfihikecehmafbgicelabajgghlmffhgfciclmhmbfhbkbbffmikkeadafebkjkdcidbgadmiaelbhkegimmbf...

output:

4999718003
11
10
12
12
11
10
8
11
12
12
13
9
0
12
14
9
4
12
14
11
11
14
11
9
11
11
14
9
11
12
14
11
11
9
12
15
12
8
14
13
13
9
12
7
5
13
13
13
10
13
10
11
14
9
12
13
9
12
8
11
9
11
15
11
9
11
8
11
12
2
11
13
1
11
11
11
8
7
12
13
9
9
13
9
14
5
12
12
12
6
5
6
9
12
13
12
11
13
14
12
13
14
9
12
0
11
12
...

result:

ok 20852 lines

Test #24:

score: 4
Accepted
time: 559ms
memory: 159848kb

input:

dhblhcfekgfmbjkhalldhjckleeffihfallgiafelkkehflcmbikdiijmajkeaghlddammajjdffieiidbgedfekciajfflgbgegmfmaljamaliihmjladahiglmkafmiiflcbhbhceimhmhheeidaejgaecmahcmchclijjdjajmkjgjdgkhmljmjlgadflbdkdkgbggdddicllcfkdmajigmglkfcllijleblcaabkajjghhdgkdbllmjhahjecccfhcgmfemljbkamhgbehjkfffaickeagejjhkgmimb...

output:

4999724403
11
11
9
0
8
7
10
12
11
11
12
11
11
12
12
11
5
5
11
11
14
9
9
10
12
9
11
10
9
11
11
12
9
11
13
6
13
12
11
10
13
9
9
12
1
9
14
12
1
13
9
9
9
13
11
13
14
12
11
10
11
8
0
12
7
13
14
11
13
9
10
10
10
9
14
5
8
9
3
5
5
11
5
13
12
9
5
13
11
12
8
11
14
9
14
12
9
9
11
0
11
8
11
12
12
14
6
11
11
13
...

result:

ok 20852 lines

Test #25:

score: 4
Accepted
time: 564ms
memory: 163208kb

input:

iiafeelfecahcjmkadhjkdmmelhmaiafglhiabmlafgmackbbkgfdhdhlageljhmlmehhjgbgkjmbaiffjhcfceiidghmggkhlhkcjdjiehfdcjdlkblgbkcdahgiccjiimggkdlhlkgddbiigbjhbdblbggaealbkldjbfdecmcijdfajlgccfbldbkjmbcmkklfmjfblbhieibecfgjcbchkegbdamflhfjfdgjglkakkgheakegkhlllmhljekmidlhfcmjlgmmajmgjmmlfkhhbklgliejcikjehdijd...

output:

4999717091
12
13
10
8
12
13
10
5
11
9
8
10
13
11
13
13
5
12
6
8
13
11
5
5
11
13
10
9
11
13
10
9
9
12
2
11
12
11
10
11
13
13
13
10
13
11
8
11
11
9
10
5
11
10
8
0
7
11
3
11
11
12
11
7
10
9
12
11
12
11
1
8
5
10
11
11
8
11
11
10
8
13
9
12
5
11
12
10
10
0
13
10
12
15
11
9
10
4
0
11
10
13
5
9
11
12
7
13
1...

result:

ok 20852 lines