#include <bits/stdc++.h>
#define mp make_pair
#define pii pair<int, int>
using namespace std;
int val[100001] = {0}, n, ans = 0, start[100001] = {0}, last[100001] = {0};
void add(int pos){
val[pos] = 1;
start[pos] = last[pos] = pos;
if(val[pos - 1] == 1){
last[start[pos - 1]] = pos;
start[pos] = start[pos - 1];
}
if(pos < n && val[pos+1] == 1){
start[last[pos+1]] = start[pos];
last[pos] = last[pos+1];
last[start[pos]] = last[pos+1];
}
int cur = last[pos] - start[pos] + 1;
ans = max(ans, cur);
}
int main(){
int q;
cin >> n >> q;
string s;
cin >> s;
for(int j = 1; j <= n; j++)
if(s[j-1] == '0') val[j] = 0;
else{
val[j] = 1;
add(j);
}
while(q--){
int t;
cin >> t;
if(t == 1) cout << ans << endl;
else{
int x;
cin >> x;
if(val[x] == 1) continue;
val[x] = 1;
add(x);
}
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNkZWZpbmUgbXAgbWFrZV9wYWlyCiNkZWZpbmUgcGlpIHBhaXI8aW50LCBpbnQ+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IHZhbFsxMDAwMDFdID0gezB9LCBuLCBhbnMgPSAwLCBzdGFydFsxMDAwMDFdID0gezB9LCBsYXN0WzEwMDAwMV0gPSB7MH07Cgp2b2lkIGFkZChpbnQgcG9zKXsKICAgIHZhbFtwb3NdID0gMTsKICAgIHN0YXJ0W3Bvc10gPSBsYXN0W3Bvc10gPSBwb3M7CiAgICBpZih2YWxbcG9zIC0gMV0gPT0gMSl7CiAgICAgICAgbGFzdFtzdGFydFtwb3MgLSAxXV0gPSBwb3M7CiAgICAgICAgc3RhcnRbcG9zXSA9IHN0YXJ0W3BvcyAtIDFdOwogICAgfQogICAgaWYocG9zIDwgbiAmJiB2YWxbcG9zKzFdID09IDEpewogICAgICAgIHN0YXJ0W2xhc3RbcG9zKzFdXSA9IHN0YXJ0W3Bvc107CiAgICAgICAgbGFzdFtwb3NdID0gbGFzdFtwb3MrMV07CiAgICAgICAgbGFzdFtzdGFydFtwb3NdXSA9IGxhc3RbcG9zKzFdOwogICAgfQogICAgaW50IGN1ciA9IGxhc3RbcG9zXSAtIHN0YXJ0W3Bvc10gKyAxOwogICAgYW5zID0gbWF4KGFucywgY3VyKTsKfQoKaW50IG1haW4oKXsKICAgIGludCBxOwogICAgY2luID4+IG4gPj4gcTsKICAgIHN0cmluZyBzOwogICAgY2luID4+IHM7CiAgICBmb3IoaW50IGogPSAxOyBqIDw9IG47IGorKykKICAgICAgICBpZihzW2otMV0gPT0gJzAnKSB2YWxbal0gPSAwOwogICAgICAgIGVsc2V7CiAgICAgICAgICAgIHZhbFtqXSA9IDE7CiAgICAgICAgICAgIGFkZChqKTsKICAgICAgICB9CiAgICAKICAgIHdoaWxlKHEtLSl7CiAgICAgICAgaW50IHQ7CiAgICAgICAgY2luID4+IHQ7CiAgICAgICAgaWYodCA9PSAxKSBjb3V0IDw8IGFucyA8PCBlbmRsOwogICAgICAgIGVsc2V7CiAgICAgICAgICAgIGludCB4OwogICAgICAgICAgICBjaW4gPj4geDsKICAgICAgICAgICAgaWYodmFsW3hdID09IDEpIGNvbnRpbnVlOwogICAgICAgICAgICB2YWxbeF0gPSAxOwogICAgICAgICAgICBhZGQoeCk7CiAgICAgICAgfQogICAgfQogICAgcmV0dXJuIDA7Cn0=