N, K = map(int,input().split()) S = [int(s) for s in input()] pt = 0 mon = 0 cnt = 0 P = [] P2 = [] while cnt < N and pt < N: if pt == 0: mon += 1 pt += S[cnt % N] P.append(cnt) cnt += 1 if cnt >= K: print(len(P)) exit() while cnt < N and pt > 0 and pt < N: pt += S[cnt % N] - 1 cnt += 1 if cnt >= K: print(len(P)) exit() while cnt < N * 2: if pt == 0: mon += 1 pt += S[cnt % N] P2.append(cnt % N) cnt += 1 while cnt < 2 * N and pt > 0: pt += S[cnt % N] cnt += 1 pt -= 1 if len(P2) == 0: print(len(P)) exit() ''' 1巡目 len(P)払ってN+P2[0]個買う 2巡目以降 N個あたりlen(P2)払う ↓ K -= N + P2[0] ans += K // N * len(P2) 払う x = K % N 余る bisect(P2,x)払う  ''' from bisect import bisect_left ans = len(P) K -= N + P2[0] t = K // N ans += t * len(P2) ans += bisect_left(P2,K % N) print(ans)