N, A = map(int, input().split()) S = input() MAX = 0 cnt = 0 for s in S: if s == "0": cnt -= 1 else: cnt += 1 MAX = max(MAX, cnt) limit = 1200-MAX cnt1 = S.count("1") visited = set() rate = 1200 now = 0 ans = 0 counter = 0 while rate not in visited: visited.add(rate) c = max(rate-limit, 0) if A <= now+(cnt1-c): break ans += N now += cnt1-c rate += cnt1-(N-cnt1)-c counter += 1 if counter == 10**5*5: break if rate in visited: c = max(rate-limit, 0) cnt = (A-now-1)//(cnt1-c) ans += N*cnt now += (cnt1-c)*cnt rate += (cnt1-(N-cnt1)-c)*cnt elif now+(cnt1-c) < A: cnt = (A-now-1)//cnt1 ans += N*cnt now += cnt1*cnt rate += (cnt1-(N-cnt1))*cnt for s in S: ans += 1 if s == "0": rate -= 1 else: if rate < 1200: rate += 1 now += 1 if now == A: print(ans) break