#include using namespace std; #define rep(i, n) for (int i = 0; i < (int)(n); i++) int main() { long long N, A; cin >> N >> A; string S; cin >> S; int zero_cnt = 0; vector> AC_counts(2, vector(N)); rep(i, 2) rep(j, N) { if (S[j] == '0') { zero_cnt++; } if (S[j] == '1' && 0 < zero_cnt) { zero_cnt--; AC_counts[i][j]++; } } rep(i, N - 1) { AC_counts[0][i + 1] += AC_counts[0][i]; AC_counts[1][i + 1] += AC_counts[1][i]; } long long ans = 0; if (A <= AC_counts[0].back()) { ans = distance(AC_counts[0].begin(), find(AC_counts[0].begin(), AC_counts[0].end(), A)) + 1; } else { A -= AC_counts[0].back(); long long cycle = (A + AC_counts[1].back() - 1) / AC_counts[1].back() - 1; ans += N + cycle * N; A -= cycle * AC_counts[1].back(); ans += distance(AC_counts[1].begin(), find(AC_counts[1].begin(), AC_counts[1].end(), A)) + 1; } cout << ans << endl; return 0; }