#include char s[200005], t[400005]; int main() { long long int n, a; scanf("%lld %lld", &n, &a); scanf("%s", s); long long int cnt1 = 0; long long int m = 0; long long int i; for (i = 0; i < n; i++) { t[m] = s[i]; if (m > 0) { if (t[m - 1] == '0' && t[m] == '1') { m--; cnt1++; continue; } } m++; } long long int c[2] = { 0,0 }; for (i = 0; i < m; i++) c[t[i] - '0']++; long long int cnt2 = c[0]; if (cnt2 > c[1]) cnt2 = c[1]; cnt2 += cnt1; if (a <= cnt1) { long long int r = 1200; for (i = 0; a > 0; i++) { if (s[i] == '0') r--; else { if (r < 1200) { r++; a--; } } } printf("%lld\n", i); return 0; } long long int ans = n; a -= cnt1; ans += a / cnt2 * n; a %= cnt2; if (a == 0) { ans -= n; a += cnt2; } for (i = 0; a > 0; i++, ans++) { t[m] = s[i]; if (m > 0) { if (t[m - 1] == '0' && t[m] == '1') { m--; a--; continue; } } m++; } printf("%lld\n", ans); return 0; }