#include <bits/stdc++.h>
using namespace std;
#define int long long
using ld = long double;
using pr = pair<int, int>;
using prf = pair<long double, int>;
using ld = long double;
#define pb push_back
#define ff first
#define ss second
const int INF = 1e18+1, MOD = 1e9+7, MAXN = 4e5+5, MAXA = 41;
void solve() {
int n, q;
cin >> n >> q;
string s;
cin >> s;
vector<array<int, 3>> que(q);
for (int i = 0; i < q; i++) {
string t;
cin >> t;
if (t == "query") {
int a, b;
cin >> a >> b;
que[i] = {0, a, b-1};
}
else {
int a; cin >> a;
que[i] = {1, a, 0};
}
}
vector<vector<int>> pref(q, vector<int>(n+1, 0));
vector<int> res;
vector<int> a(n+1);
for (int i = 0; i < n; i++) a[i+1] = s[i] - '0';
for (int i = 0; i < q; i++) {
auto [t, x, y] = que[i];
for (int j = 1; j <= n; j++) pref[i][j] = pref[i][j-1] + a[j];
if (t == 1) {
a[x] ^= 1;
}
if (t == 0) {
int sum = 0;
for (int j = 0; j <= i; j++) {
if (pref[j][y] - pref[j][x-1] == y - x + 1) sum++;
}
res.pb(sum);
}
}
for (auto i : res) cout << i << '\n';
}
signed main() {
ios_base::sync_with_stdio(0);
cin.tie(0);
// int T;
// cin >> T;
// while (T--)
solve();
}