n,A=map(int,input().split()) s=input() a=0 c=0 for i in range(n): if s[i]=='0': a+=1 else: if a>0: a-=1 c+=1 if c==A: print(i+1) exit() x=s.count('0') y=s.count('1') if x>=y: z=max(1,(A+y-c-1)//y-3) d=(x-y)*(z-1)+x-c A-=c*z+(y-c)*(z-1) ans=z*n else: z=max(1,(A+x-c)//x-3) d=x-c A-=c*z+(x-c)*(z-1) ans=z*n i=0 while True: if A==0: break ans+=1 if s[i%n]=='0': d+=1 else: if d>0: d-=1 A-=1 i+=1 print(ans)