QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#463913#5166. 回文匹配Iratis25 387ms224812kbC++144.5kb2024-07-05 16:03:482024-07-05 16:03:48

Judging History

你现在查看的是最新测评结果

  • [2024-07-05 16:03:48]
  • 评测
  • 测评结果:25
  • 用时:387ms
  • 内存:224812kb
  • [2024-07-05 16:03:48]
  • 提交

answer

#include<bits/stdc++.h>
using namespace std;
#define md(a) a=(a%mod+mod)%mod
#define file(a) freopen(#a".in","r",stdin);freopen(#a".out","w",stdout)

bool ST;

const int N=1000005,B=710,P1=36634229,mod1=998244353;
int pw1[N*2];
int Test,n,Q,Ans[N],qx[N],qy[N];char str[N],s[N*2];vector<int>inc[N],qry[N];
bool vst[N];int all,t,st[N],top,lim[N*2];vector<int>req[N];

const int M=19491001;
struct Hash_Table
{
	int h[M],st[M],top,tot,val[N*2],f[N*2],nxt[N*2];
	inline void ins(int v)
	{
		int x=v%M;
		for(int k=h[x];k;k=nxt[k])if(val[k]==v){f[k]++;return ;}
		tot++;if(!h[x])st[++top]=x;f[tot]=1,val[tot]=v,nxt[tot]=h[x],h[x]=tot;
	}
	inline int ask(int v)
	{
		int x=v%M;
		for(int k=h[x];k;k=nxt[k])if(val[k]==v)return f[k];
		return 0;
	}
	inline void Clear()
	{
		while(top)h[st[top]]=0,top--;tot=0;
	}
}Map;

int il1[N],dl1[N],ha1[N];
inline void ad1(int&x,int y){x+=y;if(x>=mod1)x-=mod1;}
inline void de1(int&x,int y){x-=y;if(x<0)x+=mod1;}
int scc=0;
struct num
{
	int m,len,h1n;vector<int>f;
	inline void read(int id)
	{
		cin>>(str+1);m=strlen(str+1);s[0]=' ';
		for(int i=1;i<m;i++)s[++len]=str[i],s[++len]='#';s[++len]=str[m];f.resize(len+1);
		for(int i=1,p=0,mid=0;i<=len;i++)
		{
			if(i<=p)f[i]=min(p-i+1,f[mid*2-i]);
			while(i-f[i]>=1&&i+f[i]<=len&&s[i-f[i]]==s[i+f[i]])f[i]++;
			if(i+f[i]-1>p)p=i+f[i]-1,mid=i;
		}
		if(m<B)inc[m].push_back(id);
		// for(int i=1;i<=len;i++)cout<<f[i]<<' ';cout<<'\n';
	}
	inline void gethash()
	{
		h1n=0;
		for(int i=1;i<=len;i++)
		{
			int a=f[i];if(a>=lim[i])a=5e6+1;
			// cout<<a<<'\n';
			h1n=(1ll*h1n*P1+a)%mod1;
		}
	}
	inline void up(int l,int r,int st,int v)
	{
		if(l>r||r<1||l>m)return ;if(l<1)st+=(1-l)*2,l=1;if(r>m)r=m;
		// cout<<"up:"<<l<<' '<<r<<' '<<st<<' '<<v<<'\n';
		ad1(il1[l],1ll*pw1[st]*v%mod1),ad1(dl1[r],1ll*pw1[st+(r-l)*2]*v%mod1);
	}
	inline void Run()
	{
		// for(int i=all;i<=len;i+=2)
		// {
		// 	int hs=0;
		// 	for(int t=1,p=i-all+1;t<=all;t++,p++)
		// 	{
		// 		int a=f[p];if(a>=lim[t])a=5e6+1;
		// 		hs=(1ll*hs*P1+a)%mod1;
		// 	}
		// 	Map.ins(hs);
		// }return ;
		int l1=0,r1=0,l2=0,r2=0;
		l1=0,r1=(t-1)/2,l2=r1+1,r2=t-1;
		// cout<<l1<<' '<<r1<<' '<<l2<<" "<<r2<<'\n';
		// for(int i=1;i<=m;i++)cout<<il1[i]<<' ';cout<<'\n';
		// for(int i=1;i<=m;i++)cout<<dl1[i]<<' ';cout<<'\n';
		for(int i=1;i<=len;i+=2)
		{
			int x=(i+1)/2,d=(f[i]-1)/2,p=0;if(!f[i])d=-1;
			p=min(d,r1-l1);up(x+l1,x+p,l1*2,5e6+1),up(x+p+1,x+r1,(p+1)*2,f[i]);
			p=min(d,r2-l2);up(x+r2-p,x+r2,(r2-p)*2,5e6+1),up(x+l2,x+r2-p-1,l2*2,f[i]);
		}
		l1=0,r1=t/2-1,l2=r1+1,r2=t-2;
		// cout<<l1<<' '<<r1<<' '<<l2<<" "<<r2<<'\n';
		for(int i=2;i<=len;i+=2)
		{
			int x=i/2+1,d=f[i]/2-1,p=0;
			// cout<<x<<" "<<p<<'\n';
			p=min(d,r1-l1);up(x+l1,x+p,l1*2+1,5e6+1),up(x+p+1,x+r1,(p+1)*2+1,f[i]);
			p=min(d,r2-l2);up(x+r2-p,x+r2,(r2-p)*2+1,5e6+1),up(x+l2,x+r2-p-1,l2*2+1,f[i]);
		}
		// for(int i=1;i<=m;i++)cout<<il1[i]<<' ';cout<<'\n';
		// for(int i=1;i<=m;i++)cout<<dl1[i]<<' ';cout<<'\n';
		for(int i=1,h1=0;i<=m;i++)
		{
			h1=1ll*h1*pw1[2]%mod1;
			ad1(h1,il1[i]);
			ad1(ha1[i],h1);
			de1(h1,dl1[i]);
		}
		for(int i=1;i<=m;i++)if(i>=t)
		{
			Map.ins(ha1[i]);
			// cout<<ha1[i]<<' ';
		}
		// cout<<'\n';
		for(int i=1;i<=m;i++)il1[i]=dl1[i]=ha1[i]=0;
	}
}a[N];

inline void Run(int id)
{
	// cout<<"run:"<<id<<'\n';
	a[id].Run();
	for(int qid:req[id]){int x=qx[qid];Ans[qid]=Map.ask(a[x].h1n);}
	Map.Clear(),req[id].clear();
}

inline void calc()
{
	for(int id:inc[t])for(int qid:qry[id])
	{
		int y=qy[qid];req[y].push_back(qid);
		if(!vst[y])st[++top]=y,vst[y]=1;
	}all=t*2-1;if(!top)return ;
	for(int i=1;i<=all;i++)lim[i]=min(i,all-i+1);for(int id:inc[t])a[id].gethash();
	while(top)Run(st[top]),vst[st[top]]=0,top--;
}

inline void calc2(int id)
{
	t=a[id].m;
	for(int qid:qry[id])
	{
		int y=qy[qid];req[y].push_back(qid);
		if(!vst[y])st[++top]=y,vst[y]=1;
	}all=t*2-1;if(!top)return ;
	for(int i=1;i<=all;i++)lim[i]=min(i,all-i+1);a[id].gethash();
	while(top)Run(st[top]),vst[st[top]]=0,top--;
}

bool ED;

signed main()
{
	cerr<<(&ST-&ED)/1024.0/1024<<endl;ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
	// file(match7);
	pw1[0]=1;for(int i=1;i<N*2;i++)pw1[i]=1ll*pw1[i-1]*P1%mod1;
	cin>>Test>>n>>Q;for(int i=1;i<=n;i++)a[i].read(i);
	for(int i=1;i<=Q;i++){int x,y;cin>>x>>y;qx[i]=x,qy[i]=y;if(a[x].m<=a[y].m)qry[x].push_back(i);}
	for(int i=1;i<B;i++)t=i,calc();for(int i=1;i<=n;i++){if(a[i].m>=B)calc2(i);}
	for(int i=1;i<=Q;i++)cout<<Ans[i]<<'\n';
	return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Subtask #1:

score: 5
Accepted

Test #1:

score: 5
Accepted
time: 69ms
memory: 134784kb

input:

0 2 500000
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...

output:

1
1
1
487
1
0
1
487
0
1
0
0
1
1
1
0
487
0
0
1
487
1
1
1
1
487
1
0
0
0
487
487
1
1
487
487
1
0
1
0
1
0
0
487
1
0
1
0
1
1
487
1
1
1
1
1
1
0
1
0
0
0
0
0
0
487
0
1
1
0
1
0
0
1
0
487
487
487
1
1
487
487
1
1
1
1
1
487
0
487
0
0
0
487
0
1
487
487
1
1
1
0
0
1
1
487
1
1
0
1
1
1
1
1
1
487
1
1
0
1
1
0
0
1
0
1
...

result:

ok 500000 tokens

Test #2:

score: 0
Accepted
time: 79ms
memory: 135148kb

input:

0 2 500000
bbbbaaabbabababbbabaaaabaaabbaababbababaababbaabbaabbaaabbabaaabbbabbabaaaaabbbabbbaabbabbbaabaaaaabbbbabaaabbbbbbbabaaaabaaabbbbabbbababaaaababaaababbbbbababbbbbababbbaababbabbabaaaabbbaaabaabbbbaabaabaabbaaabbaabaaabbaaaabbaabbaabbbbaaabbbbabababaaabbbbaaaaababaaaababbbbbababababaaaabba...

output:

1
999
1
999
1
999
1
0
1
1
0
1
0
999
0
1
1
0
999
0
1
1
1
1
999
999
999
1
1
1
1
1
1
1
1
999
0
999
999
999
1
0
1
999
0
999
1
999
1
0
999
1
0
1
1
999
0
1
0
999
999
1
999
999
1
0
1
999
1
1
1
1
1
1
1
999
0
0
1
999
1
1
1
1
1
1
1
999
0
999
1
0
1
1
1
1
999
1
999
1
1
1
0
1
0
999
0
999
0
0
0
0
1
1
999
999
1
0
...

result:

ok 500000 tokens

Test #3:

score: 0
Accepted
time: 70ms
memory: 148476kb

input:

0 10 500000
baaaaabbaabbabbbbbbaabbbbaaabaaaaabbaaaaabaabaabaaaaaabababbaabababbaabaaaaaaabbbbaabbaaaabbbbaaaaaaaaaaaaabbaabbababaababbababbaaaabaaabaabbaaaabbaaabababbabbbaabbabbaaaabbaaaababbabaabbaabbbabbbbababaabbbaaabaaaabbbaabbabbaaababbbaababaabbbbbbaabaabbbabbabbbabaaabaaabbabbaabbabaaabaaaa...

output:

1
0
0
0
0
225
0
0
0
0
0
0
0
0
0
0
1
35
0
0
1
1
30
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
16
0
0
3
0
0
1
0
0
0
1
0
1
0
0
0
0
54
50
0
1
0
0
0
1
5
0
0
0
63
0
50
175
109
0
0
0
0
0
0
0
0
0
0
1
175
3
109
0
0
0
35
0
0
0
0
0
0
0
0
0
0
50
0
4
0
0
0
0
0
3
0
18
0
0
0
35
301
0
0
0
0
0
0
35
0
0
175
0
0
1
1
0
0
0
0
1
0
0...

result:

ok 500000 tokens

Test #4:

score: 0
Accepted
time: 88ms
memory: 158140kb

input:

0 30 500000
ababbababaabaababaaabbaaabbabaabababaaaababbaaababba
abaababaaababaabaabbb
baba
aaabbaaabbaaabbaa
ab
bbbbbaabbababbaabaaba
bbbbbbabbbbaaaaabaabbaabbabbbaaaaaaaaaabaabb
bbb
bba
baaaaaaabbbababbbaaaabbbba
aaabaaaaaaabbbabaaabaaaabbbbabbaabbbaabbbaabaaaaabbabbbabbbabbaaabbbbbbbbabaabbbaabbb...

output:

26
0
0
0
0
0
33
0
0
16
0
1
0
14
0
0
1
0
0
6
4
26
1
0
6
0
14
0
0
50
0
1
0
1
11
0
0
0
0
0
3
0
0
1
0
0
0
0
0
0
0
10
0
3
0
0
2
1
0
0
16
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
3
0
6
0
0
0
165
2
0
0
0
0
0
0
0
0
0
13
0
0
0
36
0
2
10
0
0
1
0
0
0
0
0
36
0
0
14
0
0
0
0
0
2
2
0
0
0
6
1
2
0
1
0
0
13
0
0
1
18
0
0
0
0
0
0...

result:

ok 500000 tokens

Test #5:

score: 0
Accepted
time: 87ms
memory: 157348kb

input:

0 100 500000
a
aba
aaa
aababbbaaaabbabba
abaaabb
babbabbabbaa
bbbb
baaabb
aaaababbbabbaababaa
babaabbab
ababbabab
aaaba
baaabbaabaabb
abbababbaababbabaabbbaaaaabababaabab
ba
bb
aaabbbbbbb
a
bbabaaabababbaa
aab
bba
aaa
abb
b
bbbbab
abab
bbaab
bbbabbbabbbabaabbabb
ababa
bb
babaaaaaaaaaaaabaabaaaaaa
ba...

output:

1
0
0
0
0
0
0
37
13
0
0
0
0
2
0
1
0
0
5
0
0
0
0
0
2
10
0
0
7
0
0
3
0
0
3
0
3
0
0
3
13
0
0
2
0
0
0
0
8
5
0
0
0
0
0
1
0
1
0
1
0
0
0
0
0
27
0
5
3
0
0
1
0
0
0
6
0
0
3
0
0
0
0
0
0
0
2
2
0
0
5
0
9
0
0
0
6
0
0
0
0
0
0
0
0
6
0
0
0
1
5
21
0
8
0
0
0
0
0
0
0
0
0
0
0
2
2
0
0
0
1
0
0
1
2
0
0
3
0
0
0
0
1
0
25
8
1...

result:

ok 500000 tokens

Test #6:

score: 0
Accepted
time: 73ms
memory: 144668kb

input:

0 10 500000
dwufssiqlihcwjeunletiposagglzrtaebzfwarrgxpffcgdfjlkyaiaprxqtlnmdweczqpbcqppbaeghojhodqyicl
dskgaujjtcaaiobkallyeoyddhqgfsrpyghyqnpxihmlyg
qwpqdmsygfqpyotyqayhprdccctiunclkqeguxmlvplrxauwxwdccmfepmrivspacjlkncuylibvguvqvncoykwtjuxorgiiqpmotlhmkmqdaxtiiqamskzledzucczsygneqrmzrikhffuqbclgf...

output:

0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
1
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
...

result:

ok 500000 tokens

Test #7:

score: 0
Accepted
time: 83ms
memory: 149620kb

input:

0 30 500000
zfypsxangtebfdztifwcdgdzo
qtxczqnulhrscugzkghnmwzviuwlpwjvqdrqdectpvnpyjzxgzlkainkoekbmn
ilec
joqqzftazpykqlhnvualkp
bfhpanqhkctymdmwutvzrmvanfwippyqaowidnqzzbrvyhdahjayzkvwbohilzbwshkvmjsxrxyrzodwdk
mwcnzm
wyoujkavpsopsxkgdhqxrvdj
nruhek
jaannpkquuayfyhagnjydj
bcfdanjogbtyhexqqahovggcli...

output:

0
0
4
0
16
0
0
0
0
1
0
3
0
1
0
22
0
0
3
0
0
0
0
67
169
22
0
39
0
0
14
0
22
69
0
0
0
0
0
0
0
0
0
0
0
8
51
0
0
0
0
0
0
0
0
0
6
3
0
0
15
0
15
0
0
0
0
0
0
0
18
0
0
0
15
1
0
0
0
1
69
0
0
0
1
0
0
59
0
0
0
0
0
0
0
0
0
18
16
0
0
0
0
0
33
0
11
0
0
2
16
60
0
56
0
0
0
0
0
5
0
1
0
0
0
0
18
0
0
1
0
46
0
2
0
0
0
...

result:

ok 500000 tokens

Test #8:

score: 0
Accepted
time: 93ms
memory: 141780kb

input:

0 100 500000
f
vctmhqmlcvwadkbtiptgiynjdrv
klnurfsks
mdtew
w
dobxagftzyiep
aigx
ku
vgx
hlmmtvh
gf
vm
inbaj
hlugbhc
xkmdikabexzvkhkvjl
tiglgdhvmzeibfnt
deofjsoxepazkrbmthsebbnylmcptldzvqyfqpolfimoiux
brh
rc
mvvwq
jjzhgrmoxxlrkm
uawxorf
bixvlsfqjnufva
oq
fiemitnd
ezybml
nmckgblttqyq
lldyiyulzinj
sdvog...

output:

0
4
17
0
0
0
0
0
41
4
0
11
0
1
0
0
8
0
2
0
21
2
0
4
2
3
0
0
0
0
0
0
0
0
0
15
9
13
22
0
0
0
0
0
1
0
0
6
6
1
0
0
0
0
1
0
1
5
6
0
1
0
0
10
0
0
17
0
13
0
0
3
0
0
0
1
0
9
21
0
0
0
1
6
0
1
0
10
0
0
0
0
0
2
53
0
7
0
0
5
2
13
19
2
0
0
4
7
0
0
32
0
0
0
0
6
0
8
0
5
0
5
0
0
0
0
0
0
0
7
0
0
1
26
32
0
1
8
0
0
6
...

result:

ok 500000 tokens

Test #9:

score: 0
Accepted
time: 74ms
memory: 152868kb

input:

0 1000 500000
o
i
k
p
e
o
h
v
g
p
v
h
f
v
r
j
j
u
b
x
s
s
l
v
e
x
o
i
b
r
b
k
z
a
v
k
j
i
o
g
r
c
n
x
j
t
p
r
c
r
i
u
k
n
s
s
o
f
c
y
x
i
a
o
p
g
q
n
d
j
t
c
h
s
w
e
q
z
w
e
k
p
q
c
z
d
c
j
w
f
p
w
e
i
v
i
r
p
f
s
a
v
u
v
n
l
y
s
n
v
r
c
h
k
n
m
e
m
t
g
t
f
x
g
q
l
v
f
g
l
i
y
w
t
h
x
y
j
q
o
b
b
o
...

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
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
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 500000 tokens

Subtask #2:

score: 0
Time Limit Exceeded

Test #10:

score: 15
Accepted
time: 387ms
memory: 188568kb

input:

0 500000 500000
v
s
o
w
f
c
z
u
d
b
z
h
b
e
w
p
n
l
e
i
e
h
g
h
o
q
u
x
n
k
t
z
i
f
e
t
q
b
s
h
o
q
k
n
k
t
d
x
t
u
p
w
l
h
g
j
c
q
n
i
s
o
v
s
u
e
n
c
j
f
u
w
q
g
u
p
v
w
z
w
p
r
d
n
m
v
d
z
n
j
l
o
n
v
y
u
j
x
j
v
a
e
x
r
l
s
x
g
u
a
h
u
c
b
z
k
b
t
g
h
o
g
k
t
l
u
i
c
q
p
v
c
s
s
s
l
i
c
h
t
o
s
...

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
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
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 500000 tokens

Test #11:

score: 0
Accepted
time: 359ms
memory: 168732kb

input:

0 250000 500000
di
ne
pk
cw
la
bt
cx
hs
ku
ga
rq
zq
jo
zr
at
ue
og
sl
su
ju
gy
oo
om
ev
df
bm
jh
um
vw
ts
qs
we
pn
pe
zc
zb
nl
ld
kl
pl
tk
uh
cm
hn
qb
xi
wb
lu
kq
gf
vc
eq
xe
ni
se
ng
kn
rt
zd
bv
vb
vn
ui
dz
kn
do
cg
nn
ct
mz
op
od
lu
cb
ra
ib
dk
lh
xh
wh
ny
ws
jw
lh
vk
bl
ak
an
rz
xv
sm
zt
mp
yr
an...

output:

1
1
1
0
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
0
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
...

result:

ok 500000 tokens

Test #12:

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

input:

0 50000 500000
qkubvtpdzm
soafdgztoz
dzihbjgzlv
qzmgwddcum
edjlwzdesz
uzdcradqvu
keljvoztlv
rwibigjyiq
txgwbogpxx
hpkzemjevp
zgygtmqivo
vmhpsomqgj
icjqyepuzv
lgxnfnvmnk
wgetijbyql
qsglhyjkee
enfkhyfory
hwzrhlcqfj
bhifrgvfly
bpuphqsvau
yvdgurwpeo
vxyypvbpfh
ghgrliyqyb
vaunorfwvl
xzisdbfkbu
vpxuecgonr...

output:

0
0
0
1
1
1
0
1
1
0
0
0
0
0
1
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
0
0
0
0
0
0
0
0
0
0
1
0
0
1
1
1
0
0
1
0
0
0
0
1
0
1
1
0
0
0
1
0
0
1
1
1
1
0
0
0
1
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
...

result:

ok 500000 tokens

Test #13:

score: 0
Accepted
time: 134ms
memory: 172248kb

input:

0 5000 500000
wgnhspqfqmsglvytlzswiyhhryunyqtbwgrybapsfazarmqfzeyaqheruzccfiwvosvttasxklvfyiyutasgnqzielbmzfwzneea
ksqsaughjpdpmrxyqrnkenvuhhbnxjlgaxoebfgosierjxuhbxxnnupigxqjcmknzuomavqyafbwippqznniqixbbutybznxxlcg
jqhxhvoknjktzdegmtdvxapbfobchmgvxavvbksiqekqtjkvvgwkfxsuqueklxlyqlanorcambowdgzvdovf...

output:

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
...

result:

ok 500000 tokens

Test #14:

score: -15
Time Limit Exceeded

input:

0 200 500000
ztvrelbmgkwawltubkecueenrrxoafbslwjaeqvzzppfzxvgycgliaiwhfeyvodpsapqeyjirgclwrdflcqispbtbivlkaiecakocarlmhpdowzwjhxgpjbcccepmpceyyrwwrnmlyyioslgqbppnutbqcxhiyfntvxwslcpqnvmonyevbadqpkhlddixawynfoztkjmfsafyoolgspflnixalfeulgtuymhzpeutrquxqnkhwhezovdksbthwzirpdnhinlvnjijtytwzggcoptflsjhbl...

output:


result:


Subtask #3:

score: 20
Accepted

Test #32:

score: 20
Accepted
time: 60ms
memory: 153464kb

input:

0 1 1
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...

output:

1

result:

ok "1"

Test #33:

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

input:

0 2 1
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...

output:

1

result:

ok "1"

Test #34:

score: 0
Accepted
time: 49ms
memory: 150072kb

input:

0 2 1
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...

output:

300001

result:

ok "300001"

Test #35:

score: 0
Accepted
time: 51ms
memory: 151336kb

input:

0 2 1
bccbaabccbaabccbaabccbaabccbaabccbaabccbaabccbaabccbaabccbaabccbaabccbaabccbaabccbaabccbaabccbaabccbaabccbaabccbaabccbaabccbaabccbaabccbaabccbaabccbaabccbaabccbaabccbaabccbaabccbaabccbaabccbaabccbaabccbaabccbaabccbaabccbaabccbaabccbaabccbaabccbaabccbaabccbaabccbaabccbaabccbaabccbaabccbaabccbaa...

output:

33334

result:

ok "33334"

Test #36:

score: 0
Accepted
time: 54ms
memory: 149980kb

input:

0 2 1
bccbaabccbaabccbaabccbaabccbaabccbaabccbaabccbaabccbaabccbaabccbaabccbaabccbaabccbaabccbaabccbaabccbaabccbaabccbaabccbaabccbaabccbaabccbaabccbaabccbaabccbaabccbaabccbaabccbaabccbaabccbaabccbaabccbaabccbaabccbaabccbaabccbaabccbaabccbaabccbaabccbaabccbaabccbaabccbaabccbaabccbaabccbaabccbaabccbaa...

output:

100001

result:

ok "100001"

Test #37:

score: 0
Accepted
time: 35ms
memory: 149288kb

input:

0 2 1
bcdeedcbaabcdeedcbaabcdeedcbaabcdeedcbaabcdeedcbaabcdeedcbaabcdeedcbaabcdeedcbaabcdeedcbaabcdeedcbaabcdeedcbaabcdeedcbaabcdeedcbaabcdeedcbaabcdeedcbaabcdeedcbaabcdeedcbaabcdeedcbaabcdeedcbaabcdeedcbaabcdeedcbaabcdeedcbaabcdeedcbaabcdeedcbaabcdeedcbaabcdeedcbaabcdeedcbaabcdeedcbaabcdeedcbaabcde...

output:

20001

result:

ok "20001"

Test #38:

score: 0
Accepted
time: 50ms
memory: 148288kb

input:

0 100 1
a
j
w
z
m
h
d
n
f
c
k
z
f
c
m
d
v
o
e
w
t
r
j
j
e
l
q
q
m
y
a
a
q
g
i
e
y
p
k
x
c
q
t
b
c
r
l
n
e
t
x
d
x
w
a
a
p
g
e
v
x
o
r
v
e
n
t
s
t
x
u
y
l
x
bcddcbaabcddcbaabcddcbaabcddcbaabcddcbaabcddcbaabcddcbaabcddcbaabcddcbaabcddcbaabcddcbaabcddcbaabcddcbaabcddcbaabcddcbaabcddcbaabcddcbaabcddcbaa...

output:

74976

result:

ok "74976"

Test #39:

score: 0
Accepted
time: 51ms
memory: 153936kb

input:

0 2 1
epppipfhwh
wnybdiecccdcqdrdyrrrzrxizicvvvrvoxpxnpppspbnknmuuupuykckegggqgwctclhhhihvonooxxxrxwujuussswsxltlujjjpjxysyudddydrqeqozzzgznsislcccjcqlilyjgfxccctchvlvqfffhfvcpcyrrrqrstntomxvvvmvgprpawwwpwnjmjyjjjdjpbnbevvvovadmdrzzzpzothtekfffaflnwngkkkxkycncczzzgzsgvgldddjdnqmqyzzzbzwmhmmaaahawrvr...

output:

47042

result:

ok "47042"

Test #40:

score: 0
Accepted
time: 51ms
memory: 223352kb

input:

0 2 1
eoaxlzjsyyyysyyyysysyysyssysyysyssyysyyssysyssyyssysyssyysyyssyyssyysyyssyysssyyssyysyysssyysssysyysysssyyssavvhuqyhpetbpcplkobyavffffnffffnfnffnfnnfnffnfnnffnffnnfnfnnffnnfnfnnffnffnnffnnffnffnnffnnnffnnffnffnnnffnnnfnffnfnnnffnnbbbbsbbbbsbsbbsbssbsbbsbssbbsbbssbsbssbbssbsbssbbsbbssbbssbbsbbs...

output:

4748

result:

ok "4748"

Test #41:

score: 0
Accepted
time: 53ms
memory: 224812kb

input:

0 2 1
llllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll...

output:

13476

result:

ok "13476"

Test #42:

score: 0
Accepted
time: 59ms
memory: 224628kb

input:

0 2 1
zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz...

output:

47

result:

ok "47"

Test #43:

score: 0
Accepted
time: 58ms
memory: 221832kb

input:

0 2 1
bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb...

output:

4

result:

ok "4"

Test #44:

score: 0
Accepted
time: 27ms
memory: 134640kb

input:

0 3 1
bbbbabaaabbaaaaabbbbabbabaabbbaaabaababbbabbaababbaaaababbaabbbaabbbababbbbbbababaaababbbbaabaabbaaaabaaabaabaabbbabaabaabbbaaaabaabbabababbaabbaaaaaababbbbabbabbaabaaabaabbbbaababbaabababbaabaaabbaabababbaabaaaababababababbaaaababbbabbababbbabaaaabababbaaabbaaabababbaaaabaaababbbaabaabbababba...

output:

0

result:

ok "0"

Subtask #4:

score: 0
Skipped

Dependency #1:

100%
Accepted

Dependency #2:

0%

Subtask #5:

score: 0
Skipped

Dependency #4:

0%