QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#369510#897. 基本子串字典erduolongAC ✓316ms31596kbC++142.4kb2024-03-28 13:09:292024-03-28 13:09:29

Judging History

This is the latest submission verdict.

  • [2024-03-28 13:09:29]
  • Judged
  • Verdict: AC
  • Time: 316ms
  • Memory: 31596kb
  • [2024-03-28 13:09:29]
  • Submitted

answer

#include<bits/stdc++.h>
using namespace std;
const int N=200005;
int n,q,ql[N],qr[N],sa[N],rk[N],id[N],bu[N],p,ne[N],ll[N],rl[N],lr[N],rr[N],mx[N],mn[N],cnt[N];
vector<int>lq[N],rq[N];
char s[N];
void calc(int i,int x,int l,int r,int d){
	if(l<=x&&x<=r&&!((x-l)%d))
		mx[i]=max(mx[i],x),mn[i]=min(mn[i],x),++cnt[i];
}
void calc(int i,int l1,int r1,int d1,int l2,int r2,int d2){
	if(r1-l1<=d1) for(int x=l1;x<=r1;x+=d1) calc(i,x,l2,r2,d2);
	else if(r2-l2<=d2) for(int x=l2;x<=r2;x+=d2) calc(i,x,l1,r1,d1);
	else if(!((l1-l2)%d1)&&(l1=max(l1,l2))<=(r1=min(r1,r2)))
		mx[i]=max(mx[i],r1),mn[i]=min(mn[i],l1),cnt[i]+=(r1-l1)/d1+1;
}
void solve(int t){
	memset(bu+1,0x3f,p*4);
	for(int i=n-t+1;i;--i) ne[i]=bu[rk[i]],bu[rk[i]]=i;
	memset(bu+1,-1,p*4);
	for(int i=2-t,j;i<=n;++i){
		if(1<=i&&i<=n) bu[rk[i]]=i;
		if(j=i+t-1,1<=j&&j<=n)
			for(int x:rq[j])
				if(qr[x]-ql[x]+1>t)
					lr[x]=bu[rk[ql[x]]];
		if(j=i-t+1,1<=j&&j<=n)
			for(int x:lq[j])
				if(qr[x]-ql[x]+1>t)
					rr[x]=min(bu[rk[qr[x]-t+1]],qr[x]-t+1);
	}
	memset(bu+1,0x3f,p*4);
	for(int i=n,j;i+t-1;--i){
		if(1<=i&&i<=n) bu[rk[i]]=i;
		if(j=i+2*t-2,1<=j&&j<=n)
			for(int x:rq[j])
				if(qr[x]-ql[x]+1>t)
					ll[x]=max(bu[rk[ql[x]]],ne[ql[x]]);
		if(j=i,1<=j&&j<=n)
			for(int x:lq[j])
				if(qr[x]-ql[x]+1>t)
					rl[x]=bu[rk[qr[x]-t+1]];
	}
	for(int i=1,d1,d2;i<=q;++i){
		if(qr[i]-ql[i]<t||ll[i]>lr[i]||rl[i]>rr[i]) continue;
		d1=ne[ll[i]]-ll[i],d2=ne[rl[i]]-rl[i];
		swap(ll[i],lr[i]),rl[i]+=t-ql[i],rr[i]+=t-ql[i];
		ll[i]=qr[i]-ll[i]+1,lr[i]=qr[i]-lr[i]+1;
		calc(i,ll[i],lr[i],d1,rl[i],rr[i],d2);
	}
	if(p==n) return;
	memset(bu+1,0,p*4);
	for(int i=n;i+t>n;--i) id[n-i+1]=i;
	for(int i=1,j=t;i<=n;++i) if(sa[i]>t) id[++j]=sa[i]-t;
	for(int i=1;i<=n;++i) ++bu[rk[i]];
	for(int i=2;i<=p;++i) bu[i]+=bu[i-1];
	for(int i=n;i;--i) sa[bu[rk[id[i]]]--]=id[i],id[i]=rk[i];
	p=0;
	for(int i=1;i<=n;++i)
		rk[sa[i]]=(p+=id[sa[i]]!=id[sa[i-1]]||id[sa[i]+t]!=id[sa[i-1]+t]);
}
int main(){
	scanf("%s%d",s+1,&q),n=strlen(s+1);
	for(int i=1;i<=q;++i){
		scanf("%d%d",&ql[i],&qr[i]),mn[i]=N;
		lq[++ql[i]].emplace_back(i),rq[++qr[i]].emplace_back(i);
	}
	for(int i=1;i<=n;++i) ++bu[s[i]];
	for(int i='b';i<='z';++i) bu[i]+=bu[i-1];
	for(int i=n;i;--i) sa[bu[s[i]]--]=i;
	for(int i=1;i<=n;++i) rk[sa[i]]=(p+=s[sa[i]]!=s[sa[i-1]]);
	for(int i=1;i<=n;i*=2) solve(i);
	for(int i=1;i<=q;++i)
		if(mx[i]) printf("%d %d %d\n",mn[i],mx[i],cnt[i]);
		else puts("-1");
	return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 51ms
memory: 25784kb

input:

ejdzjvhfouduzopksvrmktcerxlnwcaspfztkzjcguzbkloievrzdxutubkvhpwzedsebpjscfhswjzqanpdwjlljxubvoyuaauwxyyjzoryfthvjkbwqbippholdbmrpszwzuhkxxktzclviearfkwdegsrwjttxymiepczmgilmplnvulwbmlngpkxgcvyizlpzwuqfqxcneyjtkozanlkwkdqzsjjberqnyvlqoxrrkpbhyrlugfkwiepnjewhqjqhsursplcpznzfljvdzcrigjjxsmegrrhzetnvzql...

output:

-1
1 1 1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
1 1 1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
1 1 1
-1
-1
-1
-1
-1
-1
-1
...

result:

ok 50000 lines

Test #2:

score: 0
Accepted
time: 40ms
memory: 24648kb

input:

mmrqqmrrqmkhmkmkmkbhmhmgncyrhnbrrimkmkmktmkhmkhmkhqbsqbmmmmmmkhmkhqkhmkhqmkmkmkmkappsohmkhqkhmhmkhqkhmmbqbmmmmmmqbmmmmmmuwyvkbhkbhkbhkbhkbhbqbmmmmmmqbqbmmmmmmqbqbmmmmmmqihqkhmkhqmkmhqkhmkhqmkmymkhqmkmyvdnjurrimkmkmktrrimkmkmktrrimkmkmktynjurrimkmkmktnjurrimkmkmktnjurrimkmkmktrhnbrrimkmkmktrhnbrrimkm...

output:

556 1853 2
13 1254 7
12 1493 9
405 1071 2
1119 1119 1
6 394 5
1137 1137 1
4 795 3
6 1326 4
4 1084 4
359 1613 3
5 288 4
16 1738 7
79 710 2
7 1500 8
589 589 1
138 1510 3
136 1774 8
4 1886 10
2 1978 4
4 1886 10
589 1944 2
948 948 1
201 1498 2
345 345 1
11 1366 2
136 838 4
310 1665 2
39 1761 3
1093 2448...

result:

ok 50000 lines

Test #3:

score: 0
Accepted
time: 32ms
memory: 24788kb

input:

oygebgetdmkgpucchnlxqbwrubfyhdkewizorsidqwodzzwrubfyhdwrubfyhdxsqtgmfdcemxzlnjhjtugmfdcemgmfdcemgmfdcemgmfdcemubfyhdkubfyhdkubfyhdkubfyhdkubfyhdkrymyzvetdmkgpuetdmkgpuetdmkgpuetdmkgpuetdmkgputqbqjjyxmkkubfyhdkkubfyhdkkubfyhdkkubfyhdkkubfyhdkkubfyhdkkubfyhdkqbadmavokubfyhdkubfyhdkubfyhdkubfyhdkubfyhd...

output:

2 9058 4529
2 8326 4163
2 6010 3005
2 5722 2861
2 5022 2511
2 8146 4073
1 4949 2475
1 2951 1476
2 8922 4461
2 5546 2773
1 7117 3559
1 5465 2733
2 7464 3732
2 5058 2529
1 7669 3835
1 7789 3895
1 7485 3743
1 5273 2637
2 5058 2529
2 5998 2999
1 6199 3100
1 4345 2173
1 4831 2416
2 8634 4317
1 5993 2997
...

result:

ok 50000 lines

Test #4:

score: 0
Accepted
time: 41ms
memory: 24348kb

input:

jnnoffjsyjmzfwfcdagqxcoyzfjtjdnmjnnzczzybsmzfwfofviuoinoffjsnzczzyawfofkpetfzfmdagrcuetbvmpetfkwcusxogogyjpxgqxcoreiwqdsxwykpoxfmxfiodunzczzybsmzfbsjysmzxlmoprcuetbvmpyzrzfbsjyphlxzybsmzfwfofviuoivetfkwcusxogogyjpxgrhhzfjtjdinnoffjsyjmemogogyjpxgqxljuwpdrbzzretfkwcuzmzfwfofvpsfoprcuetbvmtcfwfcdagqxf...

output:

1 967 2
8 1211 2
499 499 1
1535 1535 1
230 230 1
2099 2099 1
509 509 1
332 332 1
608 608 1
1619 1619 1
1087 1087 1
1525 1525 1
1079 1079 1
455 455 1
309 309 1
245 245 1
433 433 1
1596 1596 1
446 446 1
887 887 1
1497 1497 1
841 841 1
40 486 2
50 963 2
1349 1349 1
1 1408 2
1291 1291 1
1939 1939 1
85 1...

result:

ok 50000 lines

Test #5:

score: 0
Accepted
time: 47ms
memory: 24176kb

input:

lpqpqppqpqppqppqpqppqpqppqppqpqppqppqpqppqpqppqppqpqppqpqppqppqpqppqppqpqppqpqppqppqpqppqppqpqppqpqppqppqpqppqpqppqppqpqppqppqpqppqpqppqppqpqppqpqppqppqpqppqppqpqppqpqppqppqpqppqppqpqppqpqppqppqpqppqpqppqppqpqppqppqpqppqpqppqppqpqppqppqpqppqpqppqppqpqppqpqppqppqpqppqppqpqppqpqppqppqpqppqpqppqppqpqpp...

output:

2 28208 12
1 22196 11
1 12549 9
1 13112 8
1 16603 12
3 6828 11
3 24424 15
2 21454 13
1 24922 8
1 22665 13
1 25809 13
2 23988 11
2 8681 10
1 20581 12
2 16257 10
1 21957 9
1 17814 13
3 14866 12
2 25876 11
1 19372 9
3 17633 9
5 18588 10
1 22565 13
3 22568 8
2 12532 10
5 20711 11
1 21671 11
1 16798 12
3...

result:

ok 50000 lines

Test #6:

score: 0
Accepted
time: 302ms
memory: 31596kb

input:

fqmsihplprqnqqiinahlxivhpazabczbkroqhvdwipsedcwdoajmuyaymjktgpmbccmcpkuoqovmzqkehohupeltdznfvzvrwswhiyatdacoxgmjkrkmqkzlrzclxsowurnvxverfihziptkxgedqhpzncibpyppbttpbiyflvqwgmtdeseeqmgrvvbiedspjocdrvkwbgbmjaloqmgulyofflkmqzaqhitggjhtfuomgwcuinjepkzutyaryhkidybadvebzkyfnrutdllpkndcauptzjgqtxkgrehvudia...

output:

-1
1 1 1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
1 1 1
-1
-1
-1
-1
-1
-1
-1
-1
-1
...

result:

ok 200000 lines

Test #7:

score: 0
Accepted
time: 264ms
memory: 28936kb

input:

mffmffmfmffmffmfmffmfmffmffmfmffmffmfmffmfmffmffmfmffmfmffmffmfmffmffmfmffmfmffmffmfmffmffmfmffmfmffmffmfmffmfmffmffmfmffmffmfmffmfmffmffmfmffmfmffmffmfmffmffmfmffmfmffmffmfmffmffmfmffmfmffmffmfmffmfmffmffmfmffmffmfmffmfmffmffmfmffmffmfmffmfmffmffmfmffmfmffmffmfmffmffmfmffmfmffmffmfmffmfmffmffmfmffm...

output:

1 112967 15
1 75896 12
2 105017 12
1 45210 11
1 107089 15
2 116198 12
3 104510 11
2 86195 14
1 81422 14
3 54081 11
1 74329 12
1 54221 10
2 92660 12
1 80199 13
5 62623 11
2 95314 11
5 81685 15
3 96030 12
2 61769 14
2 27276 11
1 81990 16
1 52500 15
1 115632 15
2 55405 9
1 68620 13
3 110426 14
2 66016 ...

result:

ok 200000 lines

Test #8:

score: 0
Accepted
time: 316ms
memory: 31404kb

input:

orjzbzsidimqhlftjqjrpzgdpsmufzccurjnsvotlbrhtjikcbrbsyhxubacgdvxuuhcidpbxdjomhvwtqxlvrykwaupthxsnhpahixdshtsewxwudmsehqcljnufoigeqjagrflaaindvcdzaesncrucsajyxuyailrfqtybxgxalfanbavdbypemsbaoayclsmsndnjxdzvrfsbjnabxixbolvblkuwkhshfscfdxjvgghdsbiirmaogofcwetqwwovcylgwnqwfjchgsvukdtkkacuotolylqcyndisnu...

output:

-1
-1
-1
-1
-1
-1
1 1 1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
1 1 1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
1 1 1
-1
-1
-1
1 1 1
-1
1 1 1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
1 1 1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
...

result:

ok 200000 lines

Test #9:

score: 0
Accepted
time: 238ms
memory: 28464kb

input:

ijdkzqqczzxhfqcdzzzzhdaehqqqqqczebmipqmmimimimiczeczeoguwkzebmizebmizebmifqmiczmifmifmifdkzdkzdkzihhlcdzzzzhcdzzzzhcgcifmifmifivskhjdhcdzzhcdzztfdkzdfdkzdfdkzdfdkzdzhcdzztfdkzdfdkzdzhcdzztfdkzdfdkzdbjxgckbuyqltftftftftftfqqczebmipqmmimimcbuyqlbuyqldzzzzhcdzzzzhcgcifmifmifidzzzzhcdzzzzhcgcifmifmifidz...

output:

711 2386 2
1 4155 2
954 7695 3
182 4363 2
1 2610 3
1 5938 4
3764 3764 1
5831 5831 1
12 3704 3
52 3402 2
3377 3377 1
3225 3225 1
2144 2144 1
651 3703 3
1072 5253 2
3782 3782 1
1625 5806 2
1 2549 3
5927 5927 1
6245 6245 1
9 5089 2
8 7115 5
5360 5360 1
2004 2004 1
28 8104 4
1398 1398 1
14 4560 3
3859 3...

result:

ok 200000 lines

Test #10:

score: 0
Accepted
time: 227ms
memory: 28368kb

input:

rrrrtrtrrrrrgkrrrbenhabenbenhahahayahaaharrrrgbbebebeoihannnnnhnhahahhahahhahahskkkkkkkkrrrgrrrgrrrgrrrgrrrrrrrrrrrrqfvlfyahaaharrryahaaharrrqqynhahahayahaahanhahahayahaahanhahahayahaahabebebeoibebebeoibebebeoirzmcnjrbebebeoihanbebebeoihanrrrgrrrgrrrrrrrrrrrgrrrgrrrrrrrroyahaaharrrrgbbebebeoihannnnn...

output:

72 5023 2
4157 9554 2
1 3413 3
1 4409 3
1832 4524 2
150 7215 3
136 4348 4
2836 2836 1
1 9327 5
638 3330 2
4934 4934 1
1194 6138 2
10 7723 4
2 4773 5
19 5550 3
66 7619 2
2534 5249 2
1398 4113 2
10 7308 4
1044 8349 3
1 7619 4
554 6191 2
4 3071 2
4195 9832 2
4346 9983 2
1 8200 4
710 7775 3
93 4840 2
2 ...

result:

ok 200000 lines

Test #11:

score: 0
Accepted
time: 206ms
memory: 27716kb

input:

kynffoqykynffoqubztubzypkpeakynkynkynarnftsskwnlynkynynkynynkynynkynkxwkwnlynkynykwnlynkynykwnlynkynycfjpnbqqcobqqcbqqcbqqcbqqcbqqcbqqcbqqcbqqcbqqcbqqctzkxpakynkyakynkyakynkyakynkyyuwjfjpnbqqcobfjpnbqqcobfjpnbqqcobfjpnbqqcobfjpnbqqcobfjpnbqqcobwtfmepycsfvewueeynkynkynarynkynkynarynkynkynarynkynkynar...

output:

1 39521 4942
3 11611 1452
4 36044 4506
1 25345 3170
8 25776 3222
1 25052 3133
2 31074 3885
2 26682 3336
2 35223 4404
1 21910 2740
1 27545 3445
1 41518 5191
2 37111 4640
1 24649 3082
2 19909 2490
1 40006 5002
2 41690 5212
2 31810 3977
1 22564 2822
1 38833 4856
1 26948 3370
8 35672 4459
1 29620 3704
5...

result:

ok 200000 lines

Test #12:

score: 0
Accepted
time: 189ms
memory: 27684kb

input:

amezpqzdfcezezujzivlcxqpuafilacgywkmlzdfcezdfcejbzeamuszlvblfcezezufcezezufcezezudcezezufcezezufcezezufujpuafilacgypuafilacgypuafilacgypuafilacgydsnrlybfdcezezufccezezufccezezufccezezufccezezufccezezufccezezufcezezezezezezezezezezezezezezezezezezezezezezezezezezezezezezezezezezezezezezezezezezezezez...

output:

1 27489 27489
1 30282 30282
1 25244 25244
1 26472 26472
1 22122 22122
1 19073 19073
1 30941 30941
1 28853 28853
1 31504 31504
1 25281 25281
1 22887 22887
1 25247 25247
1 32188 32188
1 29211 29211
1 25912 25912
1 26458 26458
1 23533 23533
1 15452 15452
1 25101 25101
1 31263 31263
1 32800 32800
1 3038...

result:

ok 200000 lines

Test #13:

score: 0
Accepted
time: 222ms
memory: 28404kb

input:

vwerjycxrmqpxskgskyjywebpamlztkiamenclhqluhvviwhkkiamlztpqcjhcxnlswiupqiciwhkkiamjelcxrmqpxswghwzcxnllswiknayqgbhtpgtzjtkiamenclkyjywebpamlxfssxxrxhiigijssxxrxhkyjylswghwzcxnllswbhkabdeolswiknayqgbhtyxpvapbmjpbssxxrxhiigbxfwecjhtsqokiamenclkyjywebpamlxfssgpbhkabdeolswiknwzcxnllklclhqluhvvihiigbxfwec...

output:

6033 6033 1
6926 6926 1
5629 5629 1
6942 6942 1
5535 5535 1
25 3797 2
7331 7331 1
9 4269 2
1984 1984 1
4918 4918 1
6056 6056 1
1519 1519 1
3657 3657 1
3044 3044 1
1894 1894 1
4921 4921 1
15 3344 2
4355 4355 1
2931 2931 1
29 3977 2
4444 4444 1
4537 4537 1
4501 4501 1
5809 5809 1
5055 5055 1
2676 2676...

result:

ok 200000 lines

Test #14:

score: 0
Accepted
time: 237ms
memory: 28392kb

input:

kwgyrspsryokpskkyrdyqdgcgkkywbgcddakpseyrdykluycjegkkyebsykymlavgfknkyvgtpjrdqlavgfknzhajgtpjrdqlaijxbltklzxyrdgtocqdjdqlaijuwjelkksryokpskkyrmqfpqgueodrobtrsprztzrcgxovqejlhdspkpskkyrqwtjnypueeovqejzzdhuxwkluycjegkgkkywbgcddakpseyrdyklucghpdqlavgfknzhajgtpjrdqlaijxghcmsmdhbkmsprztzrcgxovqejlhpiiitt...

output:

3803 3803 1
36 1549 2
4383 4383 1
4312 4312 1
5392 5392 1
3874 3874 1
2427 2427 1
1640 1640 1
4711 4711 1
2711 2711 1
5237 5237 1
1190 1190 1
1059 1059 1
2934 2934 1
4117 4117 1
5489 5489 1
1540 1540 1
2849 2849 1
4968 4968 1
1 4279 3
2 7188 2
5365 5365 1
3451 3451 1
5779 5779 1
3546 3546 1
2987 298...

result:

ok 200000 lines

Test #15:

score: 0
Accepted
time: 265ms
memory: 28960kb

input:

exexeexefbfbffbfbffbffbfbffbfbffbffbfbffbffbfbffbfbffbffbfbffbfbffbffbfbffbffbfbffbfbffbffbfbffbffbfbffbfbffbffbfbffbfbffbffbfbffbffbfbffbfbffbffbfbffbfbffbffbfbffbffbfbffbfbffbffbfbffbffbfbffbfbffbffbfbffbfbffbffbfbffbffbfbffbfbffbffbfbffbffbfbffbfbffbffbfbffbfbffbffbfbffbffbfbffbfbffbffbfbffbfbffb...

output:

3 79473 13
1 116370 15
2 39673 13
1 84202 18
3 74125 13
1 90780 15
2 103326 13
1 82127 11
1 108341 12
1 79618 13
2 79507 12
1 113524 14
1 76401 10
1 46801 11
2 98817 16
2 78331 13
1 101763 13
3 57746 9
1 62773 12
2 97327 10
1 87271 13
1 93431 10
2 67927 11
1 61409 14
2 52925 11
2 55206 10
1 69597 14...

result:

ok 200000 lines

Test #16:

score: 0
Accepted
time: 0ms
memory: 23508kb

input:

uhsubldcdaudhstzvgzupbwirwdzurvqhluslsnqibiafvzlqpuizuylyvxwuepkmhovjqrwodehrjadypwuswakxpfiegtduvzwkyryiisnkwgngzcsntnrbkusvxnfgbpgplwmvktrghwkcshkkfcdoaommcgwdwvyujxxemlnqgoyrewkzhgcqihjmxgkuzgeibdntundevqayklxvphtmktixsribrfdcxchnheljrojnoijxdvulwrhgwpcpppzinbyprbxtyzsjvphadugrczulhluiarlhfgxiugv...

output:

-1
-1
-1
-1
-1
-1
-1
1 1 1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
1 1 1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
...

result:

ok 2000 lines

Test #17:

score: 0
Accepted
time: 0ms
memory: 22428kb

input:

hhvtukffcovscoldtuzwhvmjcococydtbbkavtukhvmdvmjcvmjcvmjcvtuvtuvtuvtutcococococorkcococcococsmjcvmjcvmjmjcvmjcvmjcvmcvmcvmcvmwiotukffcovsctukffcovsciqmcvmwmcvmwmcvmwzzzzzzzzzzzpkvtutcococococovtutcococococovtutcococococowiotukffcovscwiotukffcovscvtuvtutcococococorkcococcocococovtutcococococowiotucoco...

output:

33 33 1
22 99 2
34 111 2
1 82 3
47 124 2
2 87 3
21 98 2
60 60 1
57 57 1
43 43 1
1 78 2
42 119 2
65 142 2
19 96 2
1 103 3
35 112 2
75 75 1
15 92 2
25 102 2
1 46 2
1 37 2
1 135 3
68 68 1
15 92 2
2 59 2
2 79 2
23 23 1
1 122 3
1 116 3
53 53 1
2 96 4
13 90 2
6 37 2
25 102 2
2 57 2
68 145 2
1 30 2
6 28 2
...

result:

ok 2000 lines

Test #18:

score: 0
Accepted
time: 0ms
memory: 23816kb

input:

vydcsvacjwnohxvacjwnovacjwnodhjehjehjehjehjewovacjovacjovacjovacjovacjovacjovacjfjejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejezamlvyywpvacjovavacjovavacjovavacjovavacjovavacjovavacjovavacjovavacjovavacjovavacjovavacjovavacjovavacjovavacjovavacjovavacjovavacjovavacjovaeshaxlx...

output:

1 783 783
1 619 619
1 772 772
1 588 588
1 638 638
1 721 721
1 631 631
1 445 445
1 775 775
1 769 769
1 807 807
1 507 507
1 564 564
1 795 795
1 638 638
1 578 578
1 791 791
1 439 439
1 833 833
1 680 680
1 583 583
1 853 853
1 571 571
1 569 569
1 753 753
1 778 778
1 672 672
1 689 689
1 797 797
1 661 661
...

result:

ok 2000 lines

Test #19:

score: 0
Accepted
time: 2ms
memory: 24088kb

input:

cctcwdmpbnuaqsswtcgojerqmojesjsyxvkmakjcmakjxdtqrtyrbqcctcwdpbnuaqeqnecieqtpsonfzfwtcgojbbwdpbnuaqegitnlebsecieqtpsiojttjglhtrtyrnlhtrtyrnybghhpxlswdcjsyxvkxuonfzfwtcgoptaituxrxebjubsvgrkxdadttrtyrnlhtrtyrnybgmlopfpmswgoptaituxrxebjyybsecieqtpsifokmopsonfzfwtcgojbbwdgoptaituxrxebjubsvgrkxdadthgcrtyr...

output:

43 43 1
49 49 1
74 74 1
38 38 1
4 42 2
66 66 1
45 45 1
75 75 1
37 37 1
11 60 2
16 54 2
22 22 1
33 33 1
11 11 1
24 24 1
9 9 1
28 28 1
61 61 1
44 44 1
74 74 1
1 38 2
38 38 1
21 21 1
53 53 1
69 69 1
62 62 1
39 39 1
12 12 1
44 44 1
39 39 1
24 24 1
48 48 1
63 63 1
28 28 1
24 24 1
18 18 1
58 58 1
37 37 1
...

result:

ok 2000 lines

Test #20:

score: 0
Accepted
time: 3ms
memory: 23916kb

input:

crffrfbiibiibibiibiibibiibibiibiibibiibiibibiibibiibiibibiibibiibiibibiibiibibiibibiibiibibiibiibibiibibiibiibibiibibiibiibibiibiibibiibibiibiibibiibibiibiibibiibiibibiibibiibiibibiibiibibiibibiibiibibiibibiibiibibiibiibibiibibiibiibibiibiibibiibibiibiibibiibibiibiibibiibiibibiibibiibiibibiibibiibii...

output:

2 318 6
2 397 6
1 512 9
2 450 7
3 568 6
2 335 6
5 649 4
2 423 8
5 492 6
1 455 9
2 960 10
1 265 5
1 539 8
3 605 6
1 619 4
8 851 7
2 570 6
1 411 8
3 956 9
1 664 8
2 615 8
-1
1 579 7
1 815 10
2 539 9
5 822 8
2 332 6
1 791 8
1 566 6
2 801 8
-1
3 841 7
1 656 7
2 675 9
1 403 6
1 839 8
1 342 8
1 556 9
1 59...

result:

ok 2000 lines