#include #include using namespace std; pair calc(string s,int x){ pair p; int y=0; for(int i=0; i0) x-=1; else y+=1; } else if(s[i]=='1'){ if(x>0) x-=1, x+=1; else x+=1, y+=1; } else if(s[i]=='2'){ if(x>0) x-=1, x+=2; else x+=2, y+=1; } } p.first=x; p.second=y; return p; } int main(){ int N,K; cin>>N>>K; string S; cin>>S; string S2=S; S2+=S; pair p1=calc(S,0); int p1_x=p1.first; int p1_y=p1.second; pair p2=calc(S2,p1_x); int p2_x=p2.first; int p2_y=p2.second; if(p1_x>=p2_x){ int y_sum=0; if(N>K){ string S3=S.substr(0,K); int y_last=calc(S3,0).second; y_sum=y_last; } else if(N==K){ y_sum=p1_y; } else { y_sum+=p1_y; int loop_cnt=(K-N)/N; y_sum+=calc(S,p1_x).second*loop_cnt; int S_last_cnt=K%N; string S3=S.substr(0,S_last_cnt); int y_last=calc(S3,p1_x).second; y_sum+=y_last; } cout<K){ string S3=S.substr(0,K); int y_last=calc(S3,0).second; y_sum=y_last; } else if(N==K){ y_sum=p1_y; } else { y_sum+=p1_y; int wx=p1_x,wy=p1_y; while(1){ int wx2=calc(S,wx).first; int wy2=calc(S,wx).second; if(wy2==wy) break; wx=wx2; wy=wy2; y_sum+=wy2; } } cout<