QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#591690#6837. AC Automatonydzr00000AC ✓4570ms135740kbC++175.6kb2024-09-26 17:12:492024-09-26 17:12:52

Judging History

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

  • [2024-09-26 17:12:52]
  • 评测
  • 测评结果:AC
  • 用时:4570ms
  • 内存:135740kb
  • [2024-09-26 17:12:49]
  • 提交

answer

#include<bits/stdc++.h>
using namespace std;
vector<int>e[300001],vr[300001];
int ch[300001];
int dep[300001],fir[300001],top=0,dfn[600001];
int st[600001][20],lg2[600001];
int up[300001][3],down[300001][3];
inline void dfs(int now)
{
	dfn[++top]=now;
	fir[now]=top;
	for(auto to: e[now])
	{
		dep[to]=dep[now]+1;
		dfs(to);
		dfn[++top]=now;
	}
}
inline int LCA(int u,int v)
{
	u=fir[u];v=fir[v];
	if(u>v)
		swap(u,v);
	int t=lg2[v-u+1];
	int x=st[u][t],y=st[v-(1<<t)+1][t];
	return dep[x]<dep[y]?x:y;
}
vector<pair<int,int>>op;
int bel[300001],fa[300001];
int f[300001],g[300001];
vector<int>point;
int upnode[300001],dwnode[300001],id[300001],vf[300001];
inline void calc(int now)
{
	up[now][ch[now]]++;
	down[now][ch[now]]++;
	for(auto to: e[now])
	{
		for(int i=0;i<3;i++)
			up[to][i]+=up[now][i];
		calc(to);
		for(int i=0;i<3;i++)
			down[now][i]+=down[to][i];
	}
}
struct Block{
	int buf[3001],del;
	int cnt0,cnt2;
	int tagf,tagg;
	long long sumf,sumg;
	inline void init(int L)
	{
		tagf=tagg=0;
		sumf=sumg=0;
		cnt0=cnt2=0;del=L;
		fill(buf,buf+2*L+1,0);
	}
	inline void updateF(int val)
	{
		sumf-=tagf*cnt0;
		tagf+=val;
		sumf+=tagf*cnt0;
	}
	inline void updateG(int val)
	{
		if(val==1)
		{
			sumg+=cnt2;
			tagg++;
			cnt2+=buf[del-tagg];
		}
		else
		{
			cnt2-=buf[del-tagg];
			tagg--;
			sumg-=cnt2;
		}
	}
}B[3001];
int ord[15001],rnk[300001],sz[300001],anc[300001];
inline void getorder(int now)
{
	ord[++top]=now;
	rnk[now]=top;
	sz[now]=1;
	for(auto to: vr[now])
	{
		anc[to]=now;
		getorder(to);
		sz[now]+=sz[to];
	}
}
int main(){
	int n,q;
	scanf("%d %d",&n,&q);
	string str;
	cin>>str;
	for(int i=0;i<n;i++)
		ch[i+1]=(str[i]=='?'?2:(str[i]=='A'?0:1));
	for(int i=2;i<=n;i++)
	{
		int f;
		scanf("%d",&f);
		fa[i]=f;
		e[f].push_back(i);
	}
	dep[1]=1;
	dfs(1);
	for(int i=1;i<=top;i++)
		st[i][0]=dfn[i];
	lg2[0]=-1;
	for(int i=1;i<=top;i++)
		lg2[i]=lg2[i>>1]+1;
	for(int i=1;i<=lg2[top];i++)
		for(int j=1;j+(1<<i)-1<=top;j++)
		{
			int u=st[j][i-1],v=st[j+(1<<(i-1))][i-1];
			st[j][i]=(dep[u]<dep[v]?u:v);
		}
	int L=(int)sqrt(1.00*q);
	//int L=1;
	auto solve=[&]()->void
	{
		//Build of Virtual Tree
		for(auto [x,c]: op)
			point.push_back(x);
		point.push_back(1);
		sort(point.begin(),point.end(),[&](const int &x,const int &y){
			return fir[x]<fir[y];
		});
		point.erase(unique(point.begin(),point.end()),point.end());
		int s=point.size();
		for(int i=0;i<s-1;i++)
			point.push_back(LCA(point[i],point[i+1]));
		sort(point.begin(),point.end(),[&](const int &x,const int &y){
			return fir[x]<fir[y];
		});
		point.erase(unique(point.begin(),point.end()),point.end());
		s=point.size();
		for(int i=0;i<s-1;i++)
		{
			int u=LCA(point[i],point[i+1]);
			vf[i+1]=u;
			vr[u].push_back(point[i+1]);
		}
		//Block
		for(int i=0;i<s;i++)
			id[point[i]]=i+1;
		for(int i=0;i<s;i++)
		{
			int x=point[i];
			while(x!=vf[i])
			{
				dwnode[x]=point[i];
				x=fa[x];
			}
		}
		for(int i=1;i<=n;i++)
			upnode[i]=(id[i]?i:upnode[fa[i]]);
		int Bnum=0;
		for(int i=1;i<=n;i++)
			if(!id[i])
			{
				bel[i]=(dwnode[i]?id[dwnode[i]]:id[upnode[i]]+s);
				Bnum=max(Bnum,bel[i]);
			}
		for(int i=1;i<=2*s;i++)
			B[i].init(L);
		//Calculate
		top=0;
		getorder(1);
		long long ans=0;
		for(int i=1;i<=n;i++)
		{
			int Bid=bel[i];
			if(!Bid)
			{
				ans+=(ch[i]==0)*f[i]+(ch[i]==2)*max(g[i],0);
				continue;
			}
			if(ch[i]==0)
			{
				B[Bid].sumf+=f[i];
				B[Bid].cnt0++;
			}
			if(ch[i]==2)
			{
				B[Bid].sumg+=max(g[i],0);
				if(g[i]>=0)
					B[Bid].cnt2++;
				if(g[i]>=-L&&g[i]<=L)
					B[Bid].buf[g[i]+L]++;
			}
		}
		for(int i=1;i<=Bnum;i++)
			ans+=B[i].sumf+B[i].sumg;
		auto updateU=[&](int x,int op)->void
		{
			auto change=[&](int x,int op)->void
			{
				ans-=B[x].sumf+B[x].sumg;
				B[x].updateF(op);B[x].updateG(op);
				ans+=B[x].sumf+B[x].sumg;	
			};
			change(id[x],op);
			while(anc[x])
			{
				x=anc[x];
				change(id[x],op);
				ans-=(ch[x]==0)*f[x]+(ch[x]==2)*max(g[x],0);
				f[x]+=op;g[x]+=op;
				ans+=(ch[x]==0)*f[x]+(ch[x]==2)*max(g[x],0);
			}
		};
		auto updateD=[&](int x,int op)->void
		{
			int st=rnk[x]+1,ed=rnk[x]+sz[x]-1;
			auto change=[&](int x,int op)->void
			{
				ans-=B[x].sumg;
				B[x].updateG(op);
				ans+=B[x].sumg;	
			};
			change(id[x]+s,op);
			for(int i=st;i<=ed;i++)
			{
				int u=ord[i];
				change(id[u],op);change(id[u]+s,op);
				ans-=(ch[u]==2)*max(g[u],0);
				g[u]+=op;
				ans+=(ch[u]==2)*max(g[u],0);
			}
		};
		auto updateN=[&](int x,int typ,int op)->void
		{
			if(typ==0)
				ans+=op*f[x],g[x]-=op;
			else if(typ==1)
				f[x]+=op,g[x]+=op;
			else
				f[x]+=op,ans+=op*max(g[x],0);
		};
		for(auto [x,c]: op)
		{
			if(ch[x]!=c)
			{
				updateN(x,ch[x],-1);
				if(ch[x]!=0) updateU(x,-1);
				if(ch[x]!=1) updateD(x,1);
				ch[x]=c;
				if(ch[x]!=0) updateU(x,1);
				if(ch[x]!=1) updateD(x,-1);
				updateN(x,ch[x],1);
			}
			printf("%lld\n",ans);
		}
		//Clear
		for(int i=1;i<=n;i++)
		{
			f[i]+=B[bel[i]].tagf;g[i]+=B[bel[i]].tagg;
			id[i]=bel[i]=anc[i]=upnode[i]=dwnode[i]=0;
			for(int j=0;j<3;j++)
				up[i][j]=down[i][j]=0;
		}
		for(int i=1;i<s;i++)
			vr[vf[i]].clear();
		op.clear();point.clear();
	};
	calc(1);
	for(int i=1;i<=n;i++)
	{
		f[i]=down[i][1]+down[i][2];
		g[i]=down[i][1]+down[i][2]-up[i][0]-up[i][2];
	}
	for(int i=1;i<=q;i++)
	{
		int x;
		char c;
		scanf("%d %c",&x,&c);
		op.push_back({x,(c=='?'?2:(c=='A'?0:1))});
		if(i%L==0||i==q)
			solve();
	}
	
    return 0;
}

这程序好像有点Bug,我给组数据试试?

詳細信息

Test #1:

score: 100
Accepted
time: 3ms
memory: 44028kb

input:

5 3
AC??C
1 2 2 1
1 ?
4 A
2 ?

output:

4
3
3

result:

ok 3 lines

Test #2:

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

input:

1000 1000
AC?ACCCCC?CCA??CCCCC?A?AC?C??C?ACCCACC?C?CCC?CACACA???????C?????CC?C?AAAAACCA??AAAACACACA???AACAC?CCC?CAC?AAAACCAC???ACAA??A??A?CA?A?ACACACCAA?ACACA?AC??AC??ACAAACCC??CAA?A???CC?AA??AC???A?CCCC??CACCAACC?AA?C?AAACCCA?AAA??C?CC??CACCACAACCA?AACCC?A?CCC?CC???AA?CACCCAAC??CAA??C?AA??CA???CAAA...

output:

2344
2345
2342
2342
2768
2768
2772
2772
2772
2772
2772
2772
2772
2767
2767
2767
2767
2764
2766
2766
2769
2765
2761
2764
2767
2772
2772
2772
2772
2772
2772
2777
2777
2777
2777
2774
2771
2774
2782
2778
2778
2772
2768
2772
2772
2772
2772
2772
2774
2774
2778
2781
2781
2779
2782
2784
2787
2782
2786
2788
...

result:

ok 1000 lines

Test #3:

score: 0
Accepted
time: 3879ms
memory: 135740kb

input:

300000 300000
AAA?CA?AA?AC?A?CCA?AACCAAA???CA?ACCAACCCCAACAAA?CCAAAC?A?C??CC?C?C?CCCA?CAA?ACA??C?C?AC??CA??ACA?AA???CACAAA?CACCCCCCC?A?AAAAAC?AACCA????CCC?C?AAACCCAA?C???CCCC?AAACAAA???A?CAAC??A??A??CCCC??AA?C??ACA?AACAAA????CAA???AAAAACC?C?CCA?CCAA?AAC?CC?CA?A??CC??CCAC??C??????AAC?AA?AA?AAC?C??AAC...

output:

14995917235
14995917235
14996064601
14996083631
14995980103
14995925797
14995925797
14995925797
14995967213
14995967213
14995967213
14995876211
14995774037
14995774037
14995774037
14995876791
14995866113
14995756158
14995647554
14995647554
14995560537
14995560537
14995583619
14995583619
14995583619
...

result:

ok 300000 lines

Test #4:

score: 0
Accepted
time: 2187ms
memory: 111072kb

input:

300000 300000
?ACA???CCCA?C???AA??CAAAAACCC??A?CAC??C???????CAA?C?C?A?C???A?CC?CCAC?C?ACC??C?CAACA??CA?CA?CAACA??AACCC?CCCACACC?AAC?CA??C?C?CCCA?ACAA??AA?CCAACACCA?AC?C?CCCCCCAAA?CC??A?CCC???A?CA?ACAC???C??CCA??CCAA?AAC???CCCC??AA?C?C?C?CACAC?C?CA??AACC?A????C??CACAAAAA?C?CAACACA?ACCAC?A?CCCACACA??A...

output:

200180
200181
200182
200182
200182
200182
200182
200182
200183
200183
200183
200182
200183
200183
200183
200183
200183
200182
200183
200183
200183
200183
200183
200183
200183
200183
200184
200183
200182
200181
200180
200180
200180
200181
200181
200182
200181
200180
200180
200181
200182
200181
200182...

result:

ok 300000 lines

Test #5:

score: 0
Accepted
time: 4570ms
memory: 135612kb

input:

300000 300000
A??CCAAACAC?A?CCACA?CA??ACC?CCA?CCAACACAC?A?CCC??ACC?ACC?CA?CA?C??A?CACCCC?C?AC?AAC??A???CA?C???AC?A?A?ACCCAACC?AA?CCACCCAAAA????C?ACC?????ACACA?C?A?CCC?A?AC????AC?C?A???ACA??CAACACC????CAA???ACCAC???CCCA?A?CAA?C??CCCCA?ACCA?A?CCC?ACA?C??AA?C??ACA?AAACC?CCAACCCAC?CAAA??ACC?ACCAA??????A...

output:

15015050020
15015050020
15015135045
15015202340
15015303448
15015303448
15015282042
15015282042
15015310379
15015329461
15015377957
15015514924
15015514924
15015613521
15015724614
15015640441
15015598420
15015635210
15015635210
15015544590
15015671373
15015653717
15015706346
15015805421
15015835446
...

result:

ok 300000 lines

Test #6:

score: 0
Accepted
time: 1320ms
memory: 106500kb

input:

300000 300000
??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????...

output:

10018652160
10018652160
10018652160
10018652160
10018652160
10018652160
10018652160
10018652160
10018652160
10018652160
10018652160
10018652160
10018652160
10018652160
10018652160
10018652160
10018652160
10018652160
10018652160
10018652160
10018652160
10018652160
10018652160
10018652160
10018652160
...

result:

ok 300000 lines

Test #7:

score: 0
Accepted
time: 1335ms
memory: 98220kb

input:

300000 300000
??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????...

output:

2619172
2891340
2619172
2891340
2619172
2891340
2619172
2891340
2619172
2891340
2619172
2891340
2619172
2891340
2619172
2891340
2619172
2891340
2619172
2891340
2619172
2891340
2619172
2891340
2619172
2891340
2619172
2891340
2619172
2891340
2619172
2891340
2619172
2891340
2619172
2891340
2619172
2891...

result:

ok 300000 lines

Test #8:

score: 0
Accepted
time: 1356ms
memory: 100312kb

input:

300000 300000
??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????...

output:

2972868
3149825
2972868
2700372
2875914
2700372
2972868
2700372
2875914
3149825
2875914
3149825
2972868
2700372
2972868
2700372
2972868
2700372
2875914
2700372
2972868
2700372
2875914
3149825
2972868
3149825
2972868
3149825
2972868
3149825
2875914
2700372
2875914
3149825
2972868
3149825
2972868
2700...

result:

ok 300000 lines

Test #9:

score: 0
Accepted
time: 1352ms
memory: 100224kb

input:

300000 300000
??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????...

output:

2733980
2504686
2733980
2504686
2733980
3006821
2775490
2504686
2733980
3006821
2733980
2504686
2775490
2504686
2733980
2504686
2733980
2504686
2775490
2504686
2775490
2504686
2775490
3006821
2733980
2504686
2775490
2504686
2775490
2504686
2733980
3006821
2775490
3006821
2775490
3006821
2775490
3006...

result:

ok 300000 lines

Test #10:

score: 0
Accepted
time: 1946ms
memory: 97448kb

input:

300000 300000
?C??C?C??C??C??CC???C???CCC?CCCCCC??C???C?CCCC????C??C????C???C???C????C?CC??CC?C???CC?C??C?C?CCC??C?CCCCC?C??C??C?CC?C?CC?CC?CCC??C?C???C??CC??CC???CC?C??CCC??C??C???C???C??C?C????CCCCCC????CC?CC?CCC?CCC?CCC?C???CC????CCC?CC??C?CC?C?C?C???CCC?CCCCC??C??C???CC??C??CCCCC?C??C?CCC???C???...

output:

2075827
1795155
1531311
1795155
2075827
1809426
2075827
1809426
1531311
1795155
1531311
1795155
1531311
1795155
1531311
1795155
2075827
1809426
2075827
1809426
2075827
1795155
1531311
1795155
2075827
1795155
2075827
1795155
2075827
1795155
2075827
1809426
2075827
1809426
2075827
1795155
2075827
1795...

result:

ok 300000 lines

Test #11:

score: 0
Accepted
time: 1946ms
memory: 100284kb

input:

300000 300000
?C??C???C?CC?C????CCCCC?C?CC?C??CC?CC?CC???C?????C????CC?C???C?CC?CCCCCC????C??CC??C?CC????????C?CC??C?C???CCC?C???CC??C????????C?C?C??C?C??CCC?C???CC???C???CC??CCCC?C????C?CCCCC???CC?CC?CCC?C??C??C??CC?C?C?C?CC??C????CCC?CC???C??CC??C?C?????CC?C??C?????????CC?CCCC??CCCC?CCCC?CC??CCC??...

output:

2157824
1877034
2157824
1896339
1617981
1896339
1617981
1896339
2157824
1896339
1617981
1896339
1617981
1896339
1617981
1896339
1617981
1896339
1617981
1896339
2157824
1896339
2157824
1896339
2157824
1877034
1617981
1877034
2157824
1877034
2157824
1896339
1617981
1896339
1617981
1896339
2157824
1877...

result:

ok 300000 lines

Test #12:

score: 0
Accepted
time: 1348ms
memory: 97796kb

input:

300000 300000
??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????...

output:

2735497
2557038
2735497
2557038
2735497
2557038
2735497
2557038
2828577
2557038
2735497
3008607
2828577
3008607
2828577
3008607
2735497
3008607
2828577
2557038
2828577
2557038
2828577
2557038
2828577
2557038
2828577
2557038
2735497
3008607
2735497
3008607
2735497
2557038
2735497
3008607
2735497
2557...

result:

ok 300000 lines

Test #13:

score: 0
Accepted
time: 1938ms
memory: 97912kb

input:

300000 300000
??C?CC?CCCCC?CC?????C??C?CCCCC?CCC?C?CC????CC?CCCC?C??C?C??CC?CC??C?C?CC?C?C?C?C?????C?CCCCCCCCCC??CCCC?CC?CC?????CCC?C?CC??C??CC?????CC?C?C?CC?C?C????CCCC?C?????C????C?C???C?C????CC?C?C?C?CCC??C?CCCCCCCC????C?C??C?C?C??CCC?C???CC?CC?????CC?CC?????C??C???CCC????CCCCC??CCC???C??C??C?C??...

output:

1485826
1212139
1485826
1212139
1400502
1677115
1485826
1677115
1400502
1677115
1485826
1212139
1485826
1212139
1485826
1677115
1485826
1677115
1485826
1212139
1400502
1677115
1400502
1212139
1485826
1212139
1485826
1677115
1400502
1677115
1400502
1212139
1485826
1212139
1485826
1212139
1485826
1212...

result:

ok 300000 lines

Test #14:

score: 0
Accepted
time: 1931ms
memory: 100052kb

input:

300000 300000
C??CC?????CCC?CCCC????CC?C?C???CCC????C???CC?CC?C???CC?????????CCC?C?C????CC??C?????CC?CCC??C????CC?C???CC??CC??CCC??CCC?C??C?C?CC??CCCC???CC??C?CCC?CCCCCC??CCC?C????C?CCCC??CCC?C?CCCC?C?C???C????CCCCC???C?????CC??CC??CC?C?CCCC??C?CC????C?C??C??CC?C?C?CCCCC?C?CC?CCCC??C???C??C??C?CCCC?...

output:

1974842
1695078
1430018
1695078
1430018
1695078
1974842
1706826
1974842
1706826
1430018
1706826
1974842
1706826
1430018
1706826
1974842
1695078
1974842
1695078
1430018
1695078
1430018
1706826
1430018
1706826
1974842
1695078
1430018
1706826
1430018
1706826
1430018
1706826
1430018
1695078
1430018
1706...

result:

ok 300000 lines

Test #15:

score: 0
Accepted
time: 1951ms
memory: 100212kb

input:

300000 300000
CC?C?CC?CC?C?CC??C???CCCCC?C??C?CC????????CCCC????CC???C?CC?C???CCC??C?CC??C???C?C?CC??CC??C???CCCC???C?C?C?CC??CCC?CCC?CCCCC???????C?C???C?C?????CC?CCCC?C?C???C?????????CCC??CC?CCCC??C?C?CC???C??CC???CC?C?CC??C????CCCC???C?CC?C?CCCCCCCC?C?CCC???CCCCCC?C??C???????C??C????CC??C??C?C??CC...

output:

1728837
1451650
1663426
1942865
1728837
1942865
1663426
1942865
1663426
1942865
1663426
1942865
1663426
1942865
1728837
1451650
1663426
1451650
1663426
1942865
1663426
1451650
1728837
1942865
1663426
1942865
1728837
1942865
1728837
1451650
1728837
1942865
1663426
1451650
1728837
1451650
1663426
1942...

result:

ok 300000 lines

Test #16:

score: 0
Accepted
time: 1352ms
memory: 100372kb

input:

300000 300000
??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????...

output:

3019536
2746517
3019536
3285983
3010822
2746517
3010822
3285983
3010822
2746517
3010822
3285983
3019536
3285983
3010822
3285983
3019536
3285983
3019536
2746517
3019536
3285983
3019536
3285983
3010822
2746517
3010822
3285983
3010822
3285983
3019536
2746517
3019536
3285983
3010822
2746517
3019536
2746...

result:

ok 300000 lines

Test #17:

score: 0
Accepted
time: 1944ms
memory: 100036kb

input:

300000 300000
C???C?C?CCCC?C??C??CCC??CCC??C?CCC???C?C??CC?C?CC?CC??C?C????CCC??C??CC?????CC???C????CCCCC??CCCC?CC??CCC???CC?????CC????CCC???C??C?C?????C?CC?CC?CCCCCC???C?CCCC???C??????CC?C??C??C?C??C?C?????????C??CC?CC??C?????C??CC?C?CCCCCCC?C??C?C?C?C?CCC???CCC?CCC????C?C?CC?CC?CCC?C??CCC?????CCCC...

output:

1891146
1702030
1891146
1702030
1891146
1612503
1425186
1702030
1891146
1702030
1425186
1612503
1425186
1612503
1891146
1612503
1891146
1612503
1891146
1612503
1891146
1612503
1425186
1612503
1425186
1702030
1891146
1612503
1425186
1702030
1425186
1702030
1891146
1612503
1891146
1702030
1425186
1702...

result:

ok 300000 lines

Test #18:

score: 0
Accepted
time: 1939ms
memory: 98468kb

input:

300000 300000
??CC?????CCCCC?????C?C?C?C???CC???CC???C?C???C??????C?C?C????CC?CCCC?CC?CC?C??CCC???CC???????CC???CC?C?CC?CC?C?CC?C?C?????C????CC?C?CCC????CCC?????C??CCCCC??C?C?C?C???CCCCCC??CC?C????CCCCC?CC?CC?CC???C?CCC?CC?CC?C???C?C?C??C?C?C?C????C?CCC?CC??C?CC??C?C??CCCC??CCCCC?CC?CC????CCC????CCC...

output:

1635795
1915088
1635795
1915088
1635795
1915088
1635795
1915088
1635795
1915088
1635795
1915088
1635795
1915088
1635795
1915088
1635795
1915088
1635795
1915088
1635795
1915088
1635795
1915088
1635795
1915088
1635795
1915088
1635795
1915088
1635795
1915088
1635795
1915088
1635795
1915088
1635795
1915...

result:

ok 300000 lines

Test #19:

score: 0
Accepted
time: 1936ms
memory: 100372kb

input:

300000 300000
?CCC?C??????CC?CCCCCCCC??C??CC???CC?CCCC?CC????CCC?C?C??CCC??C???CCC?CCCC?CCC?C?C??CC??CCCC?CCC?C???CC??CCC??C????C??C????C??C?C?CC??????CCC?CCCC????C?CC?C??CCCC????CCC??CC???C???C?CC??C?CC?C??C????CCC??C???C?CCC??C??????C???C?C????CC?C???C??C????C??CC???C?C?C?CCCCC?C?????CC?CCC??CC?CC...

output:

1446155
1708168
1987846
1722916
1446155
1722916
1987846
1708168
1987846
1722916
1987846
1708168
1987846
1722916
1446155
1722916
1446155
1722916
1987846
1722916
1987846
1722916
1987846
1708168
1987846
1722916
1446155
1708168
1987846
1708168
1987846
1722916
1987846
1708168
1987846
1708168
1987846
1708...

result:

ok 300000 lines

Test #20:

score: 0
Accepted
time: 2530ms
memory: 121116kb

input:

300000 300000
C??AA??C?AACC?CC?CAA??AAAAACAA??CAAAACACCCCA?CC??C?CC?CCCAAA?ACC?ACA?AA??AC?CA??AAAC?AC?A?CA??ACC??ACACC??CCA??A?C?CCCA???A???A?ACCAAC?CA??C??AA?A?ACCACA???CCACCCACAACAA??C??C?CACA??AA?ACAA??A??CCAA?CAA?AC?AC?CCCA?C?C???C?CCCC??CCACAC??CC?CCACA?CCA?AACC?AC???ACAC?AA?ACAACA?ACAAACA?C??C...

output:

1446727
1446731
1446741
1446749
1446749
1446755
1446761
1446757
1446757
1446757
1446757
1446757
1446763
1446754
1446754
1446754
1446754
1446754
1446751
1446751
1446751
1446757
1446760
1446762
1446762
1446762
1446762
1446762
1446772
1446765
1446765
1446765
1446768
1446768
1446771
1446771
1446771
1446...

result:

ok 300000 lines

Test #21:

score: 0
Accepted
time: 2182ms
memory: 121116kb

input:

300000 300000
??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????...

output:

3167927
3167921
3167910
3167904
3167893
3167889
3167882
3167870
3167870
3167862
3167857
3167846
3167837
3167822
3167809
3167803
3167792
3167783
3167769
3167759
3167750
3167741
3167735
3167730
3167713
3167704
3167689
3167689
3167684
3167668
3167656
3167648
3167636
3167636
3167625
3167611
3167599
3167...

result:

ok 300000 lines

Test #22:

score: 0
Accepted
time: 2235ms
memory: 121188kb

input:

300000 300000
??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????...

output:

3008613
3008613
3008613
3008613
3008613
3008613
3008613
3008613
3008613
3008613
3008613
3008613
3008613
3008537
3008537
3008537
3008537
3008537
3008537
3008537
3008537
3008537
3008537
3008537
3008537
3008533
3008533
3008533
3008533
3008533
3008533
3008533
3008533
3008533
3008533
3008533
3008533
3008...

result:

ok 300000 lines

Test #23:

score: 0
Accepted
time: 2218ms
memory: 121352kb

input:

300000 300000
??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????...

output:

2861906
2861906
2861906
2861906
2861906
2861906
2861906
2861906
2861906
2861897
2861885
2861868
2861868
2861858
2861850
2861850
2861850
2861850
2861835
2861829
2861829
2861821
2861816
2861816
2861807
2861807
2861798
2861797
2861788
2861788
2861779
2861768
2861768
2861768
2861760
2861760
2861747
2861...

result:

ok 300000 lines

Test #24:

score: 0
Accepted
time: 2112ms
memory: 100276kb

input:

300000 300000
A?????CAA??A?ACCACCCCA?ACAA??CC?C?C?C?AAAC?A?A?CAAAACA??CAA???CAA?C?AAAA?CAA?C?C?ACA??C?C??CCC?ACA?A?A?C?AA?CACCCC??A?AACA?C??C?A?CC?C?C?A?A??A??C?CA?CA?A?AAA????A???AAC?CC?C?CACC?C?C?CA?C?CACCCC??????ACCAACCC?AA?AAA???AACAC??C?C?AA?AA?A?C?AA?AAC?CAC??AC?A???CCC????CCA???ACAC?AA?A?A?AC...

output:

1586159
1586159
1520065
1586159
1478768
1586159
1520065
1586159
1586159
1586159
1520065
1586159
1520065
1520065
1586159
1586159
1586159
1586159
1586159
1586159
1586159
1520065
1520065
1329238
1329238
1329238
1394959
1394959
1394959
1586159
1586159
1586159
1520065
1520065
1520065
1520065
1520065
1586...

result:

ok 300000 lines

Test #25:

score: 0
Accepted
time: 2176ms
memory: 117396kb

input:

300000 300000
??CA?ACCCCCCC?C?ACC??ACACA?ACA????CAA?C?AC?A???A?CCCA?A?CC?CCA??AC???AACAC?ACAAACCAA?AA?C??AA?AACAA???A?AAAC??A?CCA?????ACC?C??A?C?AAAAC??AA?ACCCC?CCACCCCA???AAACC?AAC?A??CAAC?AA??C??CACCAC??ACCA?AA?CC?AA?AAA??CC??AC?AA?AA??CAAACAC??CAAA?AA?AACAC??ACC?AAA??CAC?CAAAC?CCCCCA?AA?AA??AC?AC...

output:

15019584772
15019584772
15019584772
15019684753
15019784735
15019784735
15019784735
15019684754
15019684754
15019684754
15019684754
15019784735
15019784735
15019684753
15019684753
15019684753
15019684753
15019784735
15019684755
15019584773
15019684754
15019784735
15019784735
15019784735
15019684755
...

result:

ok 300000 lines

Test #26:

score: 0
Accepted
time: 1903ms
memory: 117332kb

input:

300000 300000
CCCCCACACAAACACAAACAACCCAAACAAAACCCAACCCACCACCACCAAAACACCCAAACAACAAAAAACACAAACCCCCACCAACCACAAAACACCCCACCAAAAAAACAAACACACACCACACCAAACCCACAACACAAAACCACCACAAACCACACCAAACCACCACCAAAACCAACAACACAAAAAACCAACACACAACAACACAAAACCCACCCACAACCACAAACCACCCAACCCAAAAACAAACCCACCCAAAACACCAACAAACAAACCAAAACAA...

output:

11250190690
11250290857
11250391020
11250391020
11250491189
11250491189
11250491189
11250591342
11250691501
11250691501
11250691501
11250691501
11250691501
11250791657
11250791657
11250791657
11250791657
11250891817
11250891817
11250891817
11250891817
11250891817
11250891817
11250991979
11250991979
...

result:

ok 300000 lines

Test #27:

score: 0
Accepted
time: 2114ms
memory: 104892kb

input:

300000 300000
CC?CAAA???CC??ACC?C???C?CCACA??C?ACAAC?AAC?A?C??A?CC?CA?A???CCACAAAC???A?AAA??CACC?A??CC???CCCCACACAAA?AAA?A?CC???AACCCCC??ACC?AAAAA?AC?C?A?C?A?AA?C??AC?AAACCAAAC???A???CACAAA???CAAAC?CAAAA?AAAACCCA??CA?CCCC?AACAC?C?A?CAAC??CCAC?ACAA???ACAA?ACACAA?AC?AAA?C??CCAAAAAACAC?CCA?AACA?A??C??A...

output:

371245400
371243347
371245400
371245400
371245400
371243347
371245400
371243347
371245400
371243347
371245400
371245400
371243347
371245400
371245400
371245400
371245400
371243347
371245400
371245400
371245400
371245400
371245400
371243347
371245400
371243347
371245400
371245400
371245400
371243347
...

result:

ok 300000 lines

Test #28:

score: 0
Accepted
time: 2130ms
memory: 102644kb

input:

300000 300000
AC?AC??C???CAAACCC?CA?C?C?CAC??CAACA???A???C?CAA?CAC?ACCAACC?CCC?AC??C?AA?A?ACAAC?C?AAC?AAAC?C??CCACCCC?AACC?A?AC?A?C?ACC?C?CCAC???ACAC?CCCCAA??C??CAAC?CCACCACCCA??C?CA??A?CC?A???CCCC?C??CAACCACA?A??AAACCACA??CCAA?C?AC?ACC???CCAACCC?????AACCAA?CA??CC?CACACAA?A?CAA?AACCA?CAAC??A???CAAAC...

output:

470903990
470903990
470901190
470903990
470903990
470903990
470903990
470901190
470901190
470903990
470903990
470901190
470903990
470901190
470903990
470903990
470901190
470901190
470901190
470903990
470903990
470903990
470903990
470903990
470903990
470901190
470903990
470903990
470903990
470901190
...

result:

ok 300000 lines

Test #29:

score: 0
Accepted
time: 1927ms
memory: 106364kb

input:

300000 300000
??CC??CCC????C?C?CC?C?????C?C?CC?CCC?CCC?C?CC????CCC?C????C?CC??CCCCCC???C???C?C?C?C?C?CC??C?????CCC?C?C???CC?C?C???CCC?C?CC??CCCC??C??CC??C?C?CC??CCCC?C?CC?????C?C??CCC???CC?C??CCCCCC????C??????C??CC?C?C???CCCCCC??C??C?CCCCCC???CCCCCC?CC?CCC?C?C??C??C?CCC????CCC??C?CCCCC??CCC?CCCCC?C?...

output:

5221101235
5221101235
5221101235
5221101235
5221101235
5221101235
5221101235
5221101235
5221101235
5221101235
5221101235
5221101235
5221101235
5221101235
5221101235
5221101235
5221101235
5221101235
5221101235
5221101235
5221101235
5221101235
5221101235
5221101235
5221101235
5221101235
5221101235
522...

result:

ok 300000 lines

Test #30:

score: 0
Accepted
time: 2001ms
memory: 110452kb

input:

300000 300000
C??CCC??C?C????C????CC?C?C??C????CCC??CCC??C?CCCCC?C?CC?C???CC??CCCCCC??C??C?C?C???CC?CC????CCCC??CCC??C?C??CCCC??C????CCCC?CC?CCC???CC??C??C???CC?CCCCC??CCC??C?C?CCCC??????C??C?CCC?C?CCCC??????C?C?CC??CCC???C???C??C?CCC?CC?C?CC?C????CCCCCCCC?C?CCCCCC??C??C?CC?C??CCCC?CCCCC?CC?CC?C???C...

output:

13525771476
13525771476
13525771476
13525771476
13525771476
13525771476
13525771476
13525771476
13525771476
13525771476
13525771476
13525771476
13525771476
13525771476
13525771476
13525771476
13525771476
13525771476
13525771476
13525771476
13525771476
13525771476
13525771476
13525771476
13525771476
...

result:

ok 300000 lines

Test #31:

score: 0
Accepted
time: 1940ms
memory: 105952kb

input:

300000 300000
????C???C??C??CCC?CCCCCC??C??CCCCC?C?C???C?C?CC?CC??C?CC?C??C???C????CC?C?CCCC?C??CCC???????????CC?CCC???C??CC?CC??CC?C??C?C???CCCCCCC?C?CCC?CCC?C?C??CCCC?????CC??C?C???C??CC?C?C?C??C??CCC?C?C??CC?CCC?C?CC??CCC?CCCCCCCC?CC??CC?????C?C??CC??C?CCC?CCC?????C??C??CC??C?????C?CCC??CCC????C?...

output:

3239074691
3239074691
3239074691
3239074691
3239074691
3239074691
3239074691
3239074691
3239074691
3239074691
3239074691
3239074691
3239074691
3239074691
3239074691
3239074691
3239074691
3239074691
3239074691
3239074691
3239074691
3239074691
3239074691
3239074691
3239074691
3239074691
3239074691
323...

result:

ok 300000 lines

Test #32:

score: 0
Accepted
time: 1942ms
memory: 107032kb

input:

300000 300000
???CCCCCCC?C?C?C?????CCCC?C??C?CC?C?CC??????CC???CC??C???C?CCCCC?CC??C??C??CCC???C??CC???CC??C?C?CC???C???C?????CCC?C?C??CCCC?CCCCC?C?CCC??C??CC?C??CC?CC?C?CCCCC??C?CC??CCCCCCCC??CC?CCC?C?C?C??????????C?C?C???CC??CCC?CC?CCCC?CCC??C???CCC??CC?CCCCCCC???CCC?C??????C??CCC?CCCC????CCCCCC?C...

output:

6342727579
6342727579
6342727579
6342727579
6342727579
6342727579
6342727579
6342727579
6342727579
6342727579
6342727579
6342727579
6342727579
6342727579
6342727579
6342727579
6342727579
6342727579
6342727579
6342727579
6342727579
6342727579
6342727579
6342727579
6342727579
6342727579
6342727579
634...

result:

ok 300000 lines

Test #33:

score: 0
Accepted
time: 1995ms
memory: 109232kb

input:

300000 300000
C??CCCCCC??CCCC?C???C?CC?????CCCCC?????CC??CC??C??CC???CC??C???CCCC???CC???C?CC??CCC?CC?????C??C?CC?C?C??C?CCCCCC?C??CC??C?C?C?CCC??CCC??????CC??C?C??C????CC????C??CCCC???CCCC?C??C??C??CCC?C?CCCC???CC??C??CC?C?CC??C?C??CCC??C??C?CC?CC?C????????C??C?CC?C?CCCCC?C????C?C?C?????C??C?CC??C?...

output:

11216233327
11216233327
11216233327
11216233327
11216233327
11216233327
11216233327
11216233327
11216233327
11216233327
11216233327
11216233327
11216233327
11216233327
11216233327
11216233327
11216233327
11216233327
11216233327
11216233327
11216233327
11216233327
11216233327
11216233327
11216233327
...

result:

ok 300000 lines

Test #34:

score: 0
Accepted
time: 2466ms
memory: 131292kb

input:

300000 300000
?CCC???????CCCCCC?CCC????CCCCC?CC??????C?C??C?CC?C?C?C?CCC????CCC?C??C???CCC?C?C??CCC?CCC??C??CC?CC??C?CC?????CC?CCC??CC?C??CCCCC???????CCCC???C??CC?C?????C?CC??C?CC?CC?C?C??C??CC??C????CCCCC??C?C???CC???????CCC??????C?CCC?C?CC?CCCCC???CC?C?CC?????CCCCC?CC?CC?CC?CCC?C?C?CCC?CCCC????CCC...

output:

13745882773
13745882773
13745882773
13745882773
13745882773
13745882773
13745882773
13745882773
13745882773
13745882773
13745882773
13745882773
13745882773
13745882773
13745882773
13745882773
13745882773
13745882773
13745882773
13745882773
13745882773
13745882773
13745882773
13745882773
13745882773
...

result:

ok 300000 lines

Test #35:

score: 0
Accepted
time: 1802ms
memory: 127008kb

input:

300000 300000
??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????...

output:

10018652160
10018652160
10018652160
10018652160
10018652160
10018652160
10018652160
10018652160
10018652160
10018652160
10018652160
10018652160
10018652160
10018652160
10018652160
10018652160
10018652160
10018652160
10018652160
10018652160
10018652160
10018652160
10018652160
10018652160
10018652160
...

result:

ok 300000 lines

Test #36:

score: 0
Accepted
time: 2336ms
memory: 122816kb

input:

300000 300000
C???C??C??C?C??CCCCCC?CCC??C?C?C?C??C?CC?CC?C???CCC?C??CC?????CC????CC??C?CCC??C?C?CCCC??C?CC?CCCCC?CC?????C??C?CCCCC?CCC?C?CC????CC?CCCC?C??C?C??CC?CC??C?C?CC?C?C?C?C?????C?CCCCCCCCCC??CCCC?CC?CC?????CCC?C?CC??C??CC?????CC?C?C?CC?C?C????CCCC?C?????C????C?C???C?C????CC?C?C?C?CCC??C?CCC...

output:

13538785511
13538785511
13538785511
13538785511
13538785511
13538785511
13538785511
13538785511
13538785511
13538785511
13538785511
13538785511
13538785511
13538785511
13538785511
13538785511
13538785511
13538785511
13538785511
13538785511
13538785511
13538785511
13538785511
13538785511
13538785511
...

result:

ok 300000 lines

Test #37:

score: 0
Accepted
time: 1687ms
memory: 115952kb

input:

300000 300000
??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????...

output:

6150914352
6150914352
6150914352
6150914352
6150914352
6150914352
6150914352
6150914352
6150914352
6150914352
6150914352
6150914352
6150914352
6150914352
6150914352
6150914352
6150914352
6150914352
6150914352
6150914352
6150914352
6150914352
6150914352
6150914352
6150914352
6150914352
6150914352
615...

result:

ok 300000 lines

Test #38:

score: 0
Accepted
time: 1601ms
memory: 113084kb

input:

300000 300000
??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????...

output:

11904000000
11904000000
11904000000
11904000000
11904000000
11904000000
11904000000
11904000000
11904000000
11904000000
11904000000
11904000000
11904000000
11904000000
11904000000
11904000000
11904000000
11904000000
11904000000
11904000000
11904000000
11904000000
11904000000
11904000000
11904000000
...

result:

ok 300000 lines

Test #39:

score: 0
Accepted
time: 1625ms
memory: 111312kb

input:

300000 300000
??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????...

output:

19840320000
19840320000
19840320000
19840320000
19840320000
19840320000
19840320000
19840320000
19840320000
19840320000
19840320000
19840320000
19840320000
19840320000
19840320000
19840320000
19840320000
19840320000
19840320000
19840320000
19840320000
19840320000
19840320000
19840320000
19840320000
...

result:

ok 300000 lines

Test #40:

score: 0
Accepted
time: 1311ms
memory: 105084kb

input:

300000 300000
??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????...

output:

1202880000
1202880000
1202880000
1202880000
1202880000
1202880000
1202880000
1202880000
1202880000
1202880000
1202880000
1202880000
1202880000
1202880000
1202880000
1202880000
1202880000
1202880000
1202880000
1202880000
1202880000
1202880000
1202880000
1202880000
1202880000
1202880000
1202880000
120...

result:

ok 300000 lines

Test #41:

score: 0
Accepted
time: 1911ms
memory: 104968kb

input:

300000 300000
??????CC???CCCC??C?CC????CCC?CC???C??CC?CCCCC?C??????CC??C?CCCC?CC?CC??CC?C?C???CCCC???C??C?CC?C?C??C????C?CC?CC????C?C??CCC?C???CCCC?CC??C?CC?CCC?CCCCCCC?CCCC?CC???????CCCC???C?C?CC?CC??CC????C?C???CC??CCCCC?CC???CC?C?C???C??C?CCCCC??CCCC???CC?C??C?C???C?CCCC??C??CCC??CC???CCCCCCCC??C...

output:

356828931
356828931
356828931
356828931
356828931
356828931
356828931
356828931
356828931
356828931
356828931
356828931
356828931
356828931
356828931
356828931
356828931
356828931
356828931
356828931
356828931
356828931
356828931
356828931
356828931
356828931
356828931
356828931
356828931
356828931
...

result:

ok 300000 lines

Test #42:

score: 0
Accepted
time: 1923ms
memory: 104116kb

input:

300000 300000
C?C?C??CCC?C??C?C?CCCCCCCCC???CCC?CCC?CC???CCCC?CC?C?CC??CC?C?C?CC??C???C?C???????C?CC??C?C?CC???C????C?C?C???CCCCCC?C?C?CCCC??CCC?C??C??CC?CCCCC?CC?C??C??C?C????CC?CCCCC??CC???CC?CCCCCCC???C?C?CCC?C??C??CCCCC?C?C?C??C?CCCCC?CC?CCCCCCCC????C??CC?C?CCCCC???C?C??????C????CC?CC??C??CC??CC...

output:

376580169
376580169
376580169
376580169
376580169
376580169
376580169
376580169
376580169
376580169
376580169
376580169
376580169
376580169
376580169
376580169
376580169
376580169
376580169
376580169
376580169
376580169
376580169
376580169
376580169
376580169
376580169
376580169
376580169
376580169
...

result:

ok 300000 lines

Test #43:

score: 0
Accepted
time: 1891ms
memory: 102500kb

input:

300000 300000
?????C?CCCCCC??CC?C????C??C??CC??C?C?CCC????CCC?CC?C??C?C?CC?CCCC?C??C??CCCC?C?CC???C?CCC????C??CC?C??C???C???????C????C??CCCCCCC????CCC?C?C??C??CC??CCCC?C?CCC??CC?????C??CCC??C?C?CCC?CC?C?????CC????CCC??C?CC?C?CCC?C????CC?CC???CC??CCC????????CC?????C?C??C?CC?CCCC?CC???C?C??C???C?C?C?C...

output:

390611353
390611353
390611353
390611353
390611353
390611353
390611353
390611353
390611353
390611353
390611353
390611353
390611353
390611353
390611353
390611353
390611353
390611353
390611353
390611353
390611353
390611353
390611353
390611353
390611353
390611353
390611353
390611353
390611353
390611353
...

result:

ok 300000 lines

Test #44:

score: 0
Accepted
time: 1905ms
memory: 104720kb

input:

300000 300000
??C?CCC?C??C?CCCCCCC??C?C?CCC??CCC?CC?CC??C??CC?C???CCC???C????C??C?CC?C?C?CC???CCCC??CCC?CC??CCCCCC??C??C?C?????C????CC?C???CCCCCCC??C?C?C?CCC?C?C?C?????????CCCC?CC??CCCC?????????C???CCC?CCCC?C?C???C??C??C?C?C??C?CCC?C?C????CCCCC??CC?C??C?CC????C?C??C??CCC??CCCCC?C?C??CCC??C?C?C?C????...

output:

262017313
262017313
262017313
262017313
262017313
262017313
262017313
262017313
262017313
262017313
262017313
262017313
262017313
262017313
262017313
262017313
262017313
262017313
262017313
262017313
262017313
262017313
262017313
262017313
262017313
262017313
262017313
262017313
262017313
262017313
...

result:

ok 300000 lines

Test #45:

score: 0
Accepted
time: 2421ms
memory: 121208kb

input:

300000 300000
C?C?CC???C???CC????C?CCC??CC??CCCC?CC?CCC?CCCC?CCC??C?CCCCC?C???CCC?CCCC?CC??CCCC????CCC?????C?CC????CCCCCC?C????CC??C??CC?C??C?CCCCCC?CC??C???CCCCCC?CC??C????C????CCCCCC?C??C??C?CC?C??????C??CC???CCCCCCCC?CCCCCCCCCCC????CCC??CC??CCC?????C?CCCCC??C?CC??CCCCC?CCCCC???????CC??CC??CC?????...

output:

267189549
267189549
267189549
267189549
267189549
267189549
267189549
267189549
267189549
267189549
267189549
267189549
267189549
267189549
267189549
267189549
267189549
267189549
267189549
267189549
267189549
267189549
267189549
267189549
267189549
267189549
267189549
267189549
267189549
267189549
...

result:

ok 300000 lines

Test #46:

score: 0
Accepted
time: 2273ms
memory: 115224kb

input:

300000 300000
?C???CCCCCCC?CCC???CCCC?CCCCCCC?????????CCCCCCCC????C?CC???CC?C??CCCC?CC?C?C?CCC????CC?C??CC?C?CCCCC???C?CCCCCC??C????CCCC?C??CC????C?C??????CC?C??C????C?CC??CCC?CC????C?CC?CCCC?CCC?C??????C???????CC?C?CC??CCC????CCCCCC??????C?CC??CC?CC???CC??C?CC?C?CCC??C?C???C?CC?C??C??C?CCC?CCCC???C...

output:

386616272
386616272
386616272
386616272
386616272
386616272
386616272
386616272
386616272
386616272
386616272
386616272
386616272
386616272
386616272
386616272
386616272
386616272
386616272
386616272
386616272
386616272
386616272
386616272
386616272
386616272
386616272
386616272
386616272
386616272
...

result:

ok 300000 lines

Test #47:

score: 0
Accepted
time: 2248ms
memory: 115272kb

input:

300000 300000
?CCC?CC?C???CC???C??CC??C???CC??C?CC?CCC?C???C?C????CC?C???C?CC?????CC??CC?C?C?C??C??CC???C?CC??????CC?C?C??CCCCC?????CC??CC????C?CC????CCCCC?C???C???C?C??C??CCC?CCCC???C?C?C??CCCC????CCC???CCCC??C??C??CCC?CC?CC?CC????C??CC???CCC?C??CCC????C?CC??C?CC?C?C??CC??CC????CC?C??C?CCC?CCC??CC?...

output:

359624722
359624722
359624722
359624722
359624722
359624722
359624722
359624722
359624722
359624722
359624722
359624722
359624722
359624722
359624722
359624722
359624722
359624722
359624722
359624722
359624722
359624722
359624722
359624722
359624722
359624722
359624722
359624722
359624722
359624722
...

result:

ok 300000 lines

Test #48:

score: 0
Accepted
time: 2253ms
memory: 115164kb

input:

300000 300000
C??CCCC??????CCCC??CCC???CCCCC??C?????C?C?C????C?C?C?C?CC??C?CCC???CC?C?CC?C?CCC??CCCC?CC?C?C?????C??CCCCC??CCCC?CCCCCC?C?C?C?????C?????C?CCC???????CC??C?CCCC?C?C????CCCCC?C???C?CCCCCCC?CCC??CC?C??C???C??C?CCC?C?C??C??C?CC?C?CC??C??CC??CCC?????CC??CC?CCCCCC??CCCC???C?????CC?????C??C??C...

output:

377887901
377887901
377887901
377887901
377887901
377887901
377887901
377887901
377887901
377887901
377887901
377887901
377887901
377887901
377887901
377887901
377887901
377887901
377887901
377887901
377887901
377887901
377887901
377887901
377887901
377887901
377887901
377887901
377887901
377887901
...

result:

ok 300000 lines

Test #49:

score: 0
Accepted
time: 1298ms
memory: 104216kb

input:

300000 300000
??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????...

output:

401120000
401120000
401120000
401120000
401120000
401120000
401120000
401120000
401120000
401120000
401120000
401120000
401120000
401120000
401120000
401120000
401120000
401120000
401120000
401120000
401120000
401120000
401120000
401120000
401120000
401120000
401120000
401120000
401120000
401120000
...

result:

ok 300000 lines

Test #50:

score: 0
Accepted
time: 1303ms
memory: 105092kb

input:

300000 300000
??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????...

output:

890539375
890539375
890539375
890539375
890539375
890539375
890539375
890539375
890539375
890539375
890539375
890539375
890539375
890539375
890539375
890539375
890539375
890539375
890539375
890539375
890539375
890539375
890539375
890539375
890539375
890539375
890539375
890539375
890539375
890539375
...

result:

ok 300000 lines

Test #51:

score: 0
Accepted
time: 1289ms
memory: 104204kb

input:

300000 300000
??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????...

output:

699120000
699120000
699120000
699120000
699120000
699120000
699120000
699120000
699120000
699120000
699120000
699120000
699120000
699120000
699120000
699120000
699120000
699120000
699120000
699120000
699120000
699120000
699120000
699120000
699120000
699120000
699120000
699120000
699120000
699120000
...

result:

ok 300000 lines

Test #52:

score: 0
Accepted
time: 1707ms
memory: 125620kb

input:

300000 300000
??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????...

output:

226740000
226740000
226740000
226740000
226740000
226740000
226740000
226740000
226740000
226740000
226740000
226740000
226740000
226740000
226740000
226740000
226740000
226740000
226740000
226740000
226740000
226740000
226740000
226740000
226740000
226740000
226740000
226740000
226740000
226740000
...

result:

ok 300000 lines

Test #53:

score: 0
Accepted
time: 1660ms
memory: 123420kb

input:

300000 300000
??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????...

output:

401120000
401120000
401120000
401120000
401120000
401120000
401120000
401120000
401120000
401120000
401120000
401120000
401120000
401120000
401120000
401120000
401120000
401120000
401120000
401120000
401120000
401120000
401120000
401120000
401120000
401120000
401120000
401120000
401120000
401120000
...

result:

ok 300000 lines

Test #54:

score: 0
Accepted
time: 1686ms
memory: 117404kb

input:

300000 300000
??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????...

output:

890539375
890539375
890539375
890539375
890539375
890539375
890539375
890539375
890539375
890539375
890539375
890539375
890539375
890539375
890539375
890539375
890539375
890539375
890539375
890539375
890539375
890539375
890539375
890539375
890539375
890539375
890539375
890539375
890539375
890539375
...

result:

ok 300000 lines

Test #55:

score: 0
Accepted
time: 1631ms
memory: 115508kb

input:

300000 300000
??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????...

output:

699120000
699120000
699120000
699120000
699120000
699120000
699120000
699120000
699120000
699120000
699120000
699120000
699120000
699120000
699120000
699120000
699120000
699120000
699120000
699120000
699120000
699120000
699120000
699120000
699120000
699120000
699120000
699120000
699120000
699120000
...

result:

ok 300000 lines

Test #56:

score: 0
Accepted
time: 2414ms
memory: 111172kb

input:

300000 300000
?CAC??CC??C?A?ACCA?AA?A??CA?AAA?ACAA?A?A?C??C?CCACCCA?C?ACCACA?CAAACCA???AAA?CCAAACA?A?ACCACCC??AAACA?A?AAC?C?AC??CAAACC?A???C??CCA?CCC??C?A?ACACAACCC??AA?CCCA?ACC?A?AAAC?AC?ACCCC???A?CCC?A???A?AA?C?AC??ACCCACCCCCAC?A?C?CC?ACAACAAACCA????A?AA???A?CCC?A?A?AA?C?CC????CCCCCCC?ACCA?A???C??...

output:

648652693
648648958
648648958
648648958
648652734
648649995
648649995
648652806
648656583
648656583
648660337
648664004
648667704
648670443
648674118
648674118
648674118
648670451
648666757
648669597
648669597
648672402
648672402
648676165
648676165
648679946
648679946
648677176
648680912
648683703
...

result:

ok 300000 lines

Test #57:

score: 0
Accepted
time: 2328ms
memory: 109516kb

input:

300000 300000
ACA?ACCACAA?A?CCCA?ACCAA?C??A?AA??AA?CC?CACC?CCAC?AACA?A?C?C?ACA?????CCCC?C?CA?C???AA?A??CC??AAA?C?CAC?CCAAAA??CAAAAC?A???A?CC???ACC?ACAACACCCCCC?C?CA?AA??AAC?CCCCCC?AACCC?AC?C???ACA?CA?ACC?CCCACAACCA?CAACCA??AAC???AAAC??AACAC?CCCCAAA??CACACC??C?C?ACA?ACA??AAC?AC?C?CA?ACAACCA??AA?C?C?C...

output:

1109207684
1109201361
1109201361
1109194992
1109194992
1109190259
1109195053
1109188711
1109193525
1109187191
1109193525
1109193525
1109193525
1109188751
1109193484
1109187108
1109187108
1109193477
1109193477
1109193477
1109188697
1109188697
1109193389
1109188631
1109188631
1109193405
1109188582
110...

result:

ok 300000 lines

Test #58:

score: 0
Accepted
time: 2134ms
memory: 105396kb

input:

300000 300000
?CCACACC??AACAAA?CCAAACC?CCC?AACAACAC?A??A?CCC???AACCA?C????C?AA?CA?AC???AA?A?ACCCAA?AACC?AAC???A?A?ACCCA?AACCCAA??CACCC??AA??C?AC?C?A?CC?A?CAACAC?C????AAACA?C??C?A?CCCCC?CA?CAACA?ACCCC?CC??AC???CCA??AAA?A?CCCACA?ACAACCCC????C?C?CAAA?CC?C????CCACACC?A?C?CAACCAACCC??C?C?A????A??AAAA????...

output:

653023096
653019360
653023096
653023096
653019360
653023096
653023096
653019360
653023096
653023096
653019360
653023096
653019360
653023096
653019360
653023096
653023096
653019360
653023096
653019360
653023096
653019360
653023096
653023096
653019360
653023096
653019360
653023096
653019360
653023096
...

result:

ok 300000 lines

Test #59:

score: 0
Accepted
time: 2143ms
memory: 105044kb

input:

300000 300000
AAAACC?C???C?CAACCCC?CCAC?CAAACC??CCC??CCCCA???CCCCAA?????AC??CCACC?C?AA???AA?C?AC??AAAAA?CCA?CCAAAAAC?ACCCAAA??CC??C?C?C?A??CCACAC?CCCACA?CAC?CAACA?CAAA?A??ACA?CC???C??CA?C?C?CCC?AA?AA?AAAA??A?C??A?CCC?CC?C??AA?A?????C?AC?AAA?CA?CA?ACAC?AA???CAAAAA?A??C?A?ACC?CCCACA?A?AC?A?AAC??CA?ACA...

output:

1119408992
1119415349
1119408992
1119415349
1119415349
1119408992
1119415349
1119408992
1119415349
1119415349
1119415349
1119408992
1119415349
1119415349
1119415349
1119415349
1119415349
1119408992
1119415349
1119415349
1119408992
1119415349
1119408992
1119415349
1119408992
1119415349
1119408992
111...

result:

ok 300000 lines

Test #60:

score: 0
Accepted
time: 4538ms
memory: 135496kb

input:

300000 300000
C?CCC??C?C??CC?CCCC?C????C??CCC??????CCC?CC???C?CCCCC??CCCC??C??CC??CC?????C??????CC??C?????C?C?C?C?C??CCCCCCC?C?CC?CCC?????CC?C???C?CC?CC???C?C????CCCCC??C?C?C??CC?C?CC??CCCCCCCC?????C?C???C?C?????CC??CC??C?CC?C?CCC??CC?C?C??C?C??C????C???CCCC?C??C???C????C??CC?CCC?C?C??C?C???CCC???CC...

output:

14998070534
14998070534
14998007100
14998172540
14998241942
14998359195
14998504022
14998504022
14998504022
14998346520
14998504013
14998585000
14998410463
14998410463
14998452764
14998441709
14998611519
14998611519
14998611519
14998634588
14998789900
14998793480
14998955837
14998775250
14998586888
...

result:

ok 300000 lines

Test #61:

score: 0
Accepted
time: 2055ms
memory: 110520kb

input:

300000 300000
AA????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????...

output:

1317667500
1317667500
1317667500
1317667500
1317667500
1317667500
1317667500
1317667500
1317667500
1317667500
1317667500
1317667500
1317667500
1317667500
1317667500
1317667500
1317667500
1317667500
1317667500
1317667500
1317667500
1317667500
1317667500
1317667500
1317667500
1317667500
1317667500
131...

result:

ok 300000 lines

Test #62:

score: 0
Accepted
time: 2072ms
memory: 113468kb

input:

300000 300000
AA????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????...

output:

1424750000
1424750000
1424750000
1424750000
1424750000
1424750000
1424750000
1424750000
1424750000
1424750000
1424750000
1424750000
1424750000
1424750000
1424750000
1424750000
1424750000
1424750000
1424750000
1424750000
1424750000
1424750000
1424750000
1424750000
1424750000
1424750000
1424750000
142...

result:

ok 300000 lines

Test #63:

score: 0
Accepted
time: 2144ms
memory: 112836kb

input:

300000 300000
AA????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????...

output:

1620360000
1620360000
1620360000
1620360000
1620360000
1620360000
1620360000
1620360000
1620360000
1620360000
1620360000
1620360000
1620360000
1620360000
1620360000
1620360000
1620360000
1620360000
1620360000
1620360000
1620360000
1620354310
1620354310
1620354310
1620354310
1620354310
1620354310
162...

result:

ok 300000 lines

Test #64:

score: 0
Accepted
time: 1882ms
memory: 121312kb

input:

300000 300000
AA????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????...

output:

2041600000
2041600000
2041600000
2041600000
2041600000
2041600000
2041600000
2041600000
2041600000
2041600000
2041600000
2041600000
2041600000
2041600000
2041600000
2041600000
2041600000
2041600000
2041600000
2041600000
2041600000
2041600000
2041600000
2041600000
2041600000
2041600000
2041600000
204...

result:

ok 300000 lines

Test #65:

score: 0
Accepted
time: 781ms
memory: 83004kb

input:

122211 159587
ACC?A?AACCC?CCC???CCA?AACC?C?C?CCCCACCC?C?CC??CA?CA?CCACA??C?CC??C?AACACCAC??ACC???CAA??CAACCA?C?CCCACA?CCAC?CAAA?ACAC???CCCCAAC?A?CCCCAC?C?CACC?A?ACC?A?CAAACCCC?A??CCAC?C??AACCACAAAA??A?C?ACCAACAAC?CAC?C??CACACCAC?CA?AC?CCC??CCACC??ACA?AAA?A?CAACAA???CC?AC?A?CA?A?ACC?C?A?AAC?A?AAA?CAA...

output:

495494
495494
495502
495506
495506
495506
495497
495497
495494
495492
495486
495478
495478
495478
495473
495478
495478
495471
495471
495466
495466
495466
495466
495466
495463
495463
495490
495490
495482
495482
495478
495478
495478
495475
495475
495513
495513
495513
495523
495523
495529
495529
495538...

result:

ok 159587 lines

Test #66:

score: 0
Accepted
time: 1485ms
memory: 102372kb

input:

163654 155551
ACAAACC?ACACAC?ACC?C?A?CCCA?ACAAA?AAAACA?CACCC??CC??CAAAA?AAAA???ACA?CACCCA??CC?AAAACAA??A???AAC?C?CAC??AA?C?A???C?A?CACC???ACA?C?CC??A?AC?ACACC?C?CC?AC?AACAC?A?CCCC?AAACAAC?A?CACACA??C?CCC?CACCA???CA???AC?C?CACAAA?A?C?CCA?AAACA??CCCA?AC?CCC?A??A??AC??A?ACA?CCCC?CCC?ACAC??AA?C?ACC????A...

output:

4452490397
4452490397
4452539260
4452573871
4452573871
4452500700
4452500700
4452500700
4452500700
4452500700
4452530009
4452530009
4452530009
4452530009
4452530009
4452530009
4452543734
4452543734
4452543734
4452543734
4452583144
4452529076
4452529076
4452474525
4452478596
4452478596
4452478596
445...

result:

ok 155551 lines

Test #67:

score: 0
Accepted
time: 598ms
memory: 81396kb

input:

131313 111111
AA?CACC?AACAC??CA???CA??C?C????AAAACAC?????ACCC?AA?A??ACCAA?A??A?CC?C?CAACAC??AAAC?CCCC??AACA?AACAA????A?AACA??CCCCCAC?CCA?AC?A?AC?AA?A?AC??A?AAC??C??CCACACACACC?AA?ACA?CCCA?CACA?AACC?ACA?AACCAACCAAAC??CCAC?A????AAA?ACA?A??CC??AC?A?AAC?CAA?CA???CAAA??C?CA?AAAC?C?CCCA?C??AA?CC?CC?CC?CAC...

output:

87550
87551
87551
87550
87550
87549
87550
87551
87551
87552
87552
87551
87550
87550
87550
87550
87550
87549
87549
87549
87549
87549
87549
87549
87549
87550
87550
87550
87551
87551
87551
87551
87551
87552
87552
87552
87551
87551
87551
87551
87551
87551
87551
87551
87551
87551
87551
87551
87550
87550
...

result:

ok 111111 lines

Test #68:

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

input:

1 1
C
1 C

output:

0

result:

ok single line: '0'

Test #69:

score: 0
Accepted
time: 1363ms
memory: 108520kb

input:

300000 300000
??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????...

output:

18814192180
18814192180
18814192180
18814192180
18814192180
18814192180
18814192180
18814192180
18814192180
18814192180
18814192180
18814192180
18814192180
18814192180
18814192180
18814192180
18814192180
18814192180
18814192180
18814192180
18814192180
18814192180
18814192180
18814192180
18814192180
...

result:

ok 300000 lines

Test #70:

score: 0
Accepted
time: 1325ms
memory: 98264kb

input:

300000 300000
??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????...

output:

2798277
3071699
2798277
3071699
2798277
3071699
2798277
3071699
2798277
3071699
2798277
3071699
2798277
3071699
2798277
3071699
2798277
3071699
2798277
3071699
2798277
3071699
2798277
3071699
2798277
3071699
2798277
3071699
2798277
3071699
2798277
3071699
2798277
3071699
2798277
3071699
2798277
3071...

result:

ok 300000 lines

Test #71:

score: 0
Accepted
time: 1923ms
memory: 99452kb

input:

300000 300000
C??C?CCCCCCCC?????C?C??C??C??CC??CC???C?CCCCC?CC?C??C?CC??C??C?C?C?C?CCCCCC?CC???CC??C?C?CC?C?C???CCCCCCCCCC?C?C???C?C???C??CCC???C????CCC??CCC?CC?CC?CC????C?CCC???C??C??????C?C???CCCCC?CC??CC?C????C?CCCC?CC???????C???C?C?C?CC?C?CC???CCC?C??C?C????CC?CC?C???CC?C?CC???CC?CC?CC????CC??C?...

output:

1785000
1555695
1280958
1507087
1785000
1555695
1785000
1507087
1280958
1507087
1785000
1507087
1280958
1555695
1785000
1555695
1280958
1507087
1785000
1507087
1280958
1555695
1280958
1555695
1785000
1507087
1785000
1507087
1785000
1555695
1785000
1507087
1280958
1555695
1785000
1555695
1785000
1555...

result:

ok 300000 lines

Test #72:

score: 0
Accepted
time: 1908ms
memory: 108960kb

input:

300000 300000
??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????...

output:

708887459
708887459
708887459
708887459
708887459
708887459
708887459
708887459
708887459
708887459
708887459
708887459
708887459
708887459
708887459
708887459
708887459
708887459
708887459
708887459
708887459
708887459
708887459
708887459
708887459
708887459
708887459
708887459
708887459
708887459
...

result:

ok 300000 lines

Test #73:

score: 0
Accepted
time: 1357ms
memory: 100272kb

input:

300000 300000
??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????...

output:

2850941
3124929
2850941
3124929
2888870
3124929
2888870
3124929
2850941
2616813
2850941
3124929
2850941
2616813
2850941
2616813
2850941
3124929
2888870
3124929
2850941
3124929
2888870
3124929
2850941
3124929
2850941
2616813
2850941
2616813
2888870
3124929
2850941
3124929
2888870
3124929
2888870
3124...

result:

ok 300000 lines

Test #74:

score: 0
Accepted
time: 2074ms
memory: 113460kb

input:

300000 300000
A?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????...

output:

1424750000
1424750000
1424750000
1424750000
1424750000
1424750000
1424750000
1424750000
1424750000
1424750000
1424750000
1424750000
1424750000
1424750000
1424750000
1424750000
1424750000
1424750000
1424750000
1424750000
1424750000
1424750000
1424750000
1424750000
1424750000
1424750000
1424750000
142...

result:

ok 300000 lines