QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#178992#6837. AC AutomatonCrysflyAC ✓3490ms113228kbC++174.9kb2023-09-14 16:17:382023-09-14 16:17:38

Judging History

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

  • [2023-09-14 16:17:38]
  • 评测
  • 测评结果:AC
  • 用时:3490ms
  • 内存:113228kb
  • [2023-09-14 16:17:38]
  • 提交

answer

#include<bits/stdc++.h>
#define For(i,a,b) for(int i=(a);i<=(b);++i)
#define Rep(i,a,b) for(int i=(a);i>=(b);--i)
#define ll long long
using namespace std;
inline int read()
{
    char c=getchar();int x=0;bool f=0;
    for(;!isdigit(c);c=getchar())f^=!(c^45);
    for(;isdigit(c);c=getchar())x=(x<<1)+(x<<3)+(c^48);
    if(f)x=-x;return x;
}

#define fi first
#define se second
#define pb push_back
#define mkp make_pair
typedef pair<int,int>pii;
typedef vector<int>vi;

#define maxn 300005
#define inf 0x3f3f3f3f

int n,m;
char s[maxn];
vi e[maxn];

int fa[maxn],dep[maxn],sz[maxn];
int dfn[maxn],que[maxn],out[maxn],idx;
int st[20][maxn],lg[maxn];
int depmin(int u,int v){return dep[u]<dep[v]?u:v;}
void dfs(int u){
	dfn[u]=++idx,que[idx]=u,sz[u]=1;
	for(auto v:e[u]){
		if(v==fa[u])continue;
		fa[v]=u,dep[v]=dep[u]+1;
		dfs(v),sz[u]+=sz[v];
	}out[u]=idx;
}
void init(){
	dfs(1);
	For(i,2,n)st[0][i]=fa[que[i]],lg[i]=lg[i>>1]+1;
	For(j,1,19)
		For(i,1,n-(1<<j)+1)
			st[j][i]=depmin(st[j-1][i],st[j-1][i+(1<<(j-1))]);
}
int lca(int u,int v){
	if(u==v)return u;
	if((u=dfn[u])>(v=dfn[v]))swap(u,v); ++u;
	int k=lg[v-u+1];
	return depmin(st[k][u],st[k][v-(1<<k)+1]);
}
int dist(int u,int v){
	if(!u||!v)return -((!u)+(!v));
	return dep[u]+dep[v]-2*dep[lca(u,v)];
}
bool dfncmp(int u,int v){
	return dfn[u]<dfn[v]; 
}

int qu[maxn]; char qc[maxn];
int f[maxn],g[maxn];
ll sum;
bool is1(char c){return c=='C'||c=='?';}
bool is0(char c){return c=='A'||c=='?';}
void predp(int u,int c=0){
	f[u]=is1(s[u]);
	c+=is0(s[u]);
	for(int v:e[u])predp(v,c),f[u]+=f[v];
	g[u]=f[u]-c;
}

int B;
/*
询问分块,虚树 
每次:
加一条祖先链的 f,g 
加 子树的 g 
f easy
max(g,0) 对虚树上每个部分暴力修改 
*/

// B = 500 个询问一块 

int *c[4005],ccc[4005][4005],c0[4005],cg[4005];
void inic(){
	For(i,0,4004) c[i]=ccc[i]+2002;
}

int p[maxn],len;
int vfa[maxn];
vi G[maxn];
int in[maxn],up[maxn],dw[maxn],bel[maxn];

void ins(int id,int u){
	bel[u]=id;
	if(s[u]=='A')++c0[id];
	else if(s[u]=='?'){
		if(g[u]>0) ++cg[id];
		if(g[u]>=-B && g[u]<=B) ++c[id][g[u]];
	}
}

// f+=1,g+=1,g-=1
int tagf[maxn],tagg[maxn];
void addf(int u,int w){
	tagf[u]+=w;
	sum+=w*c0[u];
//	cout<<"addf "<<u<<" "<<w<<endl;
}
void addg(int u){
	cg[u]+=c[u][-tagg[u]];
	++tagg[u];
	sum+=cg[u];
}
void subg(int u){
	--tagg[u];
	sum-=cg[u];
	cg[u]-=c[u][-tagg[u]];
}
void addg(int u,int op){
//	cout<<"addg "<<u<<" "<<op<<endl;
	if(op==1) addg(u);
	else subg(u);
}

void MDF(int u,char ch,int op){
//	cout<<"u: "<<u<<" "<<f[u]<<" "<<g[u]<<" "<<s[u]<<'\n';
	if(ch=='C') f[u]+=op,g[u]+=op;
	if(ch=='A') sum+=f[u]*op,g[u]-=op;
	if(ch=='?') sum+=max(g[u],0)*op,f[u]+=op;
}

void mdfanc(int u,int op){
//	cout<<"mdfanc "<<u<<" "<<op<<endl;
	int x=u;
	while(x){
		addf(in[x],op);
		addg(in[x],op);
		x=vfa[x];
		if(!x)break;
		if(s[x]=='?') sum-=max(g[x],0);
		if(s[x]=='A') sum+=op;
		f[x]+=op,g[x]+=op;
		if(s[x]=='?') sum+=max(g[x],0);
	}
}

int Q[maxn],hd,tl;
void mdfsub(int u,int op){
//	cout<<"mdfsub "<<u<<" "<<op<<endl;
	Q[hd=tl=1]=u;
	while(hd<=tl){
		int x=Q[hd++];
		if(x!=u){
			addg(in[x],-op);
			if(s[x]=='?') sum-=max(0,g[x]);
			g[x]-=op;
			if(s[x]=='?') sum+=max(0,g[x]);
		}
		addg(in[x]+len,-op);
		for(int v:G[x])
			Q[++tl]=v;
	}
}

void mdf(int u,char c){
	if(s[u]==c)return;
	
	MDF(u,s[u],-1);
	MDF(u,c,1);
	char lst=s[u];
	
//	cout<<"Sum "<<sum<<endl;
	if(is1(lst) && !is1(c)) mdfanc(u,-1);
	if(!is1(lst) && is1(c)) mdfanc(u,1);
//	cout<<"nowsum "<<sum<<endl;
	if(is0(lst) && !is0(c)) mdfsub(u,-1);
	if(!is0(lst) && is0(c)) mdfsub(u,1);
	
	s[u]=c;
}

void solve(int l,int r)
{
//	cout<<"solve "<<l<<" "<<r<<endl;
	len=0;
	For(i,l,r)p[++len]=qu[i]; p[++len]=1;
	sort(p+1,p+len+1,dfncmp);
	Rep(i,len-1,1)p[++len]=lca(p[i],p[i+1]);
	sort(p+1,p+len+1,dfncmp);
	len=unique(p+1,p+len+1)-p-1;
	For(i,1,len)G[p[i]].clear();
	For(i,2,len){
		vfa[p[i]]=lca(p[i-1],p[i]);
		G[vfa[p[i]]].pb(p[i]);
	}
	For(i,1,len){
		int u=p[i];
		in[u]=i;
		int x=u;
		while(x!=vfa[u]) dw[x]=u,x=fa[x];
	}
	For(i,1,n)
		up[i]=in[i]?i:up[fa[i]];
	For(i,1,n)
		if(!in[i]){
			if(dw[i])ins(in[dw[i]],i);
			else ins(in[up[i]]+len,i);
		}
	For(i,l,r){
		mdf(qu[i],qc[i]);
		printf("%lld\n",sum);
	}
	// clear
	For(i,1,n){
		if(!in[i]) f[i]+=tagf[bel[i]],g[i]+=tagg[bel[i]];
		in[i]=bel[i]=dw[i]=up[i]=vfa[i]=0;
	}
	For(i,1,2*len){
		tagf[i]=tagg[i]=0;
		c0[i]=cg[i]=0;
		For(j,-B,B)c[i][j]=0;
	}
}

signed main()
{
	//freopen("partial.in","r",stdin);
	//freopen("partial.out","w",stdout);
	n=read(),m=read();
	scanf("%s",s+1);
	For(i,2,n)fa[i]=read(),e[fa[i]].pb(i);
	init();
	predp(1);
	For(i,1,n)
		if(s[i]=='A') sum+=f[i];
		else if(s[i]=='?') sum+=max(0,g[i]);
	For(i,1,m)qu[i]=read(),cin>>qc[i];
	B=sqrt(m);
	inic();
	for(int l=1,r;l<=m;l=r+1){
		r=min(m,l+B-1);
		solve(l,r);
	}
	return 0;
}

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

詳細信息

Test #1:

score: 100
Accepted
time: 0ms
memory: 43472kb

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: 6ms
memory: 48804kb

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: 3125ms
memory: 113228kb

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: 1969ms
memory: 76376kb

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: 3490ms
memory: 111828kb

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: 932ms
memory: 73368kb

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: 963ms
memory: 67904kb

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: 975ms
memory: 65968kb

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: 960ms
memory: 67932kb

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: 1507ms
memory: 67920kb

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: 1520ms
memory: 67912kb

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: 979ms
memory: 65804kb

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: 1511ms
memory: 65868kb

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: 1506ms
memory: 68004kb

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: 1517ms
memory: 65912kb

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: 974ms
memory: 67908kb

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: 1533ms
memory: 67960kb

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: 1513ms
memory: 67912kb

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: 1509ms
memory: 67864kb

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: 2488ms
memory: 96964kb

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: 2134ms
memory: 96912kb

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: 2142ms
memory: 97140kb

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: 2197ms
memory: 97020kb

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: 1669ms
memory: 67900kb

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: 1784ms
memory: 95876kb

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: 1485ms
memory: 95872kb

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: 1704ms
memory: 74988kb

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: 1746ms
memory: 72852kb

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: 1529ms
memory: 75700kb

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: 1630ms
memory: 83364kb

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: 1537ms
memory: 72464kb

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: 1569ms
memory: 76576kb

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: 1602ms
memory: 80968kb

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: 2372ms
memory: 102668kb

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: 1709ms
memory: 94608kb

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: 2113ms
memory: 93796kb

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: 1465ms
memory: 83156kb

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: 1303ms
memory: 79096kb

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: 1235ms
memory: 82376kb

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: 935ms
memory: 73220kb

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: 1526ms
memory: 70816kb

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: 1536ms
memory: 72656kb

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: 1524ms
memory: 72740kb

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: 1524ms
memory: 72712kb

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: 2241ms
memory: 92420kb

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: 2046ms
memory: 83076kb

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: 2027ms
memory: 85704kb

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: 2057ms
memory: 84400kb

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: 904ms
memory: 70512kb

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: 902ms
memory: 72848kb

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: 923ms
memory: 72664kb

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: 1698ms
memory: 99712kb

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: 1596ms
memory: 91336kb

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: 1514ms
memory: 84360kb

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: 1472ms
memory: 83852kb

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: 2127ms
memory: 80484kb

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: 2011ms
memory: 74820kb

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: 1729ms
memory: 71128kb

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: 1725ms
memory: 73428kb

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: 3378ms
memory: 111360kb

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: 1693ms
memory: 78668kb

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: 1734ms
memory: 79980kb

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: 1841ms
memory: 80024kb

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: 1711ms
memory: 86888kb

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: 801ms
memory: 80308kb

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: 1239ms
memory: 89196kb

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: 521ms
memory: 64640kb

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: 4ms
memory: 39524kb

input:

1 1
C
1 C

output:

0

result:

ok single line: '0'

Test #69:

score: 0
Accepted
time: 962ms
memory: 79672kb

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: 965ms
memory: 68136kb

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: 1531ms
memory: 67912kb

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: 1332ms
memory: 76500kb

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: 961ms
memory: 67912kb

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: 1755ms
memory: 79008kb

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