QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#152857#6837. AC Automaton275307894aAC ✓4621ms53176kbC++143.5kb2023-08-28 21:41:172023-08-28 21:41:17

Judging History

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

  • [2023-08-28 21:41:17]
  • 评测
  • 测评结果:AC
  • 用时:4621ms
  • 内存:53176kb
  • [2023-08-28 21:41:17]
  • 提交

answer

#include<bits/stdc++.h>
#define Gc() getchar() 
#define Me(x,y) memset(x,y,sizeof(x))
#define Mc(x,y) memcpy(x,y,sizeof(x))
#define d(x,y) ((m)*(x-1)+(y))
#define R(n) (rnd()%(n)+1)
#define Pc(x) putchar(x)
#define LB lower_bound
#define UB upper_bound
#define fi first
#define se second
using namespace std;using ll=long long;using db=double;using lb=long db;using ui=unsigned;using ull=unsigned long long;using pii=pair<int,int>;using LL=__int128;
const int N=3e5+5,M=3e5+5,K=600+5,mod=1e9+7,Mod=mod-1;const db eps=1e-9;const int INF=1e9+7;mt19937 rnd(time(0));
int n,m,x[N];char s[N],c[N];vector<int> S[N];
ll ans,tot;
int Bg[N],En[N],Bh,fa[N];
void Make(int x){
	Bg[x]=++Bh;for(int i:S[x]) Make(i);En[x]=Bh;
}
struct bit{
	int f[N];
	void add(int x,int y){while(x<=n) f[x]+=y,x+=x&-x;}
	int qry(int x){int ans=0;while(x) ans+=f[x],x-=x&-x;return ans;}
}f1,f2;
void ins(int x){
	if(s[x]=='A'){
		tot+=f2.qry(En[x])-f2.qry(Bg[x]-1);
		f1.add(Bg[x],1);f1.add(En[x]+1,-1);
	} 
	else{
		tot+=f1.qry(Bg[x]);
		f2.add(Bg[x],1);
	}
}
void del(int x){
	if(s[x]=='A'){
		tot-=f2.qry(En[x])-f2.qry(Bg[x]-1);
		f1.add(Bg[x],-1);f1.add(En[x]+1,1);
	}else{
		tot-=f1.qry(Bg[x]);
		f2.add(Bg[x],-1);
	}
}
int BB,t1[N],t2[N],To[N],CC,t3[N];
struct block{
	int f[K*2],Pt,id,siz;ll sum;
	void clear(int x){Me(f,0);id=x;Pt=BB;sum=siz=0;}
	void add(int x){if(x>=0) siz++,sum+=x;if(abs(x)<=BB) f[Pt+x]++;}
	void ins(int x){
		if(x==1) Pt--,sum+=siz,siz+=f[Pt];
		else siz-=f[Pt],sum-=siz,Pt++;
	}
}f[K*4];
int newn(int x){f[++CC].clear(x);return CC;}
int g1[N],g2[N],A[N];
void dfs3(int x,int Is){
	while(!t1[x]) {
		if(s[x]=='?')f[t1[Is]].add(A[x]);t2[x]=1;x=fa[x];
	}
}
void add1(int x,int w){
	for(int i=1;i<=CC;i++) if(t1[f[i].id]==i){
		if(Bg[f[i].id]>Bg[x]&&Bg[f[i].id]<=En[x]) f[i].ins(w),A[f[i].id]+=w;
	}else {
		if(Bg[f[i].id]>=Bg[x]&&Bg[f[i].id]<=En[x]) f[i].ins(w);
	}
}
void add2(int x,int w){
	int op=1;while(x){
		if(op) f[t1[x]].ins(w),x=To[x];
		else A[x]+=w;
		op^=1;
	}
}
int g[N];
void Solve(){
	int i,j;scanf("%d%d",&n,&m);BB=sqrt(m);
	scanf("%s",s+1);
	for(i=2;i<=n;i++) scanf("%d",&fa[i]),S[fa[i]].emplace_back(i);
	Make(1);
	for(i=1;i<=n;i++) ins(i);
	for(i=1;i<=m;i++) scanf("%d",&x[i]),Gc(),c[i]=Gc();
	for(i=1;i<=m;i++){
		if((i-1)%BB==0){
			Me(t1,0);Me(To,0);Me(t3,0);Me(t2,0);CC=0;
			for(j=i;j<min(i+BB,m+1);j++) if(!t1[x[j]]) t1[x[j]]=newn(x[j]),t3[x[j]]=newn(x[j]);
			if(!t1[1]) t1[1]=newn(1),t3[1]=newn(1);
			Me(g,0);for(j=n;j;j--) t1[j]&&(g[j]=n+1),g[fa[j]]+=(g[j]>0),g[j]>1&&!t1[j]&&(t1[j]=newn(j),t3[j]=newn(j));
			for(j=2;j<=n;j++) if(t1[j]) {
				int x=fa[j];while(!t1[x]) x=fa[x];To[j]=x;
			}
			for(j=2;j<=n;j++) g2[j]=g2[fa[j]]+(s[fa[j]]=='A'||s[fa[j]]=='?');
			Me(g1,0);for(j=n;j>1;j--) g1[fa[j]]+=g1[j]+(s[j]=='C'||s[j]=='?');
			for(j=1;j<=n;j++) A[j]=g1[j]-g2[j];
			Me(t2,0);
			for(j=2;j<=n;j++) if(t1[j]) dfs3(fa[j],j);
			Me(g,0);for(j=1;j<=n;j++) if(t1[j]) g[j]=j;else g[j]=g[fa[j]],!t2[j]&&s[j]=='?'&&(f[t3[g[j]]].add(A[j]),0); 
		}
		int w=(s[x[i]]=='A'||s[x[i]]=='?'?1:0)+(c[i]=='A'||c[i]=='?'?-1:0);
		if(w) add1(x[i],w);
		w=(s[x[i]]=='C'||s[x[i]]=='?'?-1:0)+(c[i]=='C'||c[i]=='?'?1:0);
		if(w) add2(x[i],w);
		del(x[i]);
		s[x[i]]=c[i];
		ins(x[i]);
		ll ans=0;for(j=1;j<=CC;j++){
			ans+=f[j].sum;
			if(j==t1[f[j].id]&&s[f[j].id]=='?') ans+=max(A[f[j].id],0); 
		} 
		printf("%lld\n",ans+tot);
	}
}
int main(){
	int t;
	// scanf("%d",&t);
	t=1;
	while(t--) Solve();
	cerr<<clock()*1.0/CLOCKS_PER_SEC<<'\n';
}

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

详细

Test #1:

score: 100
Accepted
time: 4ms
memory: 31032kb

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: 20ms
memory: 31140kb

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: 4164ms
memory: 53164kb

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: 2809ms
memory: 36036kb

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: 4568ms
memory: 53176kb

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: 1677ms
memory: 40900kb

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: 1590ms
memory: 34160kb

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: 1572ms
memory: 34184kb

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: 1598ms
memory: 33024kb

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: 1924ms
memory: 36052kb

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: 1972ms
memory: 36224kb

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: 1601ms
memory: 34120kb

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: 1972ms
memory: 34112kb

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: 1933ms
memory: 36216kb

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: 1964ms
memory: 34104kb

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: 1544ms
memory: 36168kb

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: 1989ms
memory: 36212kb

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: 1949ms
memory: 34116kb

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: 1963ms
memory: 34164kb

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: 3362ms
memory: 44356kb

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: 2903ms
memory: 42356kb

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: 3653ms
memory: 44348kb

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: 3549ms
memory: 42292kb

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: 1771ms
memory: 36208kb

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: 2279ms
memory: 48936kb

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: 1829ms
memory: 47012kb

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: 2131ms
memory: 38788kb

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: 2139ms
memory: 38820kb

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: 2217ms
memory: 39760kb

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: 2480ms
memory: 44608kb

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: 2287ms
memory: 39428kb

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: 2365ms
memory: 40156kb

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: 2467ms
memory: 41684kb

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: 4621ms
memory: 51876kb

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: 3852ms
memory: 49988kb

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: 3835ms
memory: 46612kb

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: 3249ms
memory: 43476kb

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: 2830ms
memory: 44240kb

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: 2569ms
memory: 43724kb

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: 1713ms
memory: 38884kb

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: 2237ms
memory: 38768kb

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: 2225ms
memory: 40780kb

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: 2218ms
memory: 40832kb

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: 2210ms
memory: 38744kb

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: 4081ms
memory: 46948kb

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: 3566ms
memory: 43896kb

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: 3546ms
memory: 43780kb

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: 3580ms
memory: 42880kb

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: 1636ms
memory: 40772kb

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: 1703ms
memory: 38816kb

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: 1713ms
memory: 38796kb

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: 3687ms
memory: 48916kb

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: 3416ms
memory: 45868kb

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: 3206ms
memory: 43964kb

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: 3042ms
memory: 42860kb

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: 3055ms
memory: 40932kb

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: 2835ms
memory: 41104kb

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: 2139ms
memory: 38876kb

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: 2150ms
memory: 39032kb

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: 4514ms
memory: 53112kb

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: 2562ms
memory: 43040kb

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: 2600ms
memory: 41936kb

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: 2696ms
memory: 43056kb

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: 3558ms
memory: 47180kb

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: 1213ms
memory: 34392kb

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: 1649ms
memory: 43504kb

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: 784ms
memory: 32216kb

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: 1ms
memory: 26984kb

input:

1 1
C
1 C

output:

0

result:

ok single line: '0'

Test #69:

score: 0
Accepted
time: 1770ms
memory: 43200kb

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: 1503ms
memory: 36220kb

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: 1948ms
memory: 34184kb

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: 2114ms
memory: 40832kb

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: 1571ms
memory: 34216kb

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: 2627ms
memory: 43020kb

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