#include using namespace std; #define rep(i, n) for (ll i = 0; i < (ll)(n); i++) #define ll long long const long long mod=998244353; const long long hmod=46216567629137; int main(){ cin.tie(0)->sync_with_stdio(0); cout.tie(0); ll N,A; string S; cin>>N>>A>>S; int zero=0,one=0; rep(i,N){ if(S[i]=='0') zero++; else one++; } int maximum=0; int now=0; rep(i,N){ if(S[i]=='0') now--; else now++; maximum=max(maximum,now); } ll ans=0; if(one-maximum-zero>=0){ ll cnt=(A-1)/(one-maximum); ans+=N*cnt; cnt*=(one-maximum); int now=1200; rep(i,N){ if(cnt==A) break; if(S[i]=='1'){ if(now!=1200){ now++; cnt++; } } else now--; ans++; } cout<=1200-maximum){ ans+=N; cnt+=one-(maximum-1200+now_rate); if(cnt>A){ cnt-=one-0LL,(maximum-1200+now_rate); ans-=N; break; } now_rate+=one-(maximum-1200+now_rate)-zero; } ll loop=(A-cnt-1)/one; ans+=N*loop; cnt+=loop*one; rep(i,N){ if(cnt==A) break; if(S[i]=='1'){ cnt++; } ans++; } cout<