#include <bits/stdc++.h>
using namespace std;
const int N = 3e5 + 100;
inline int get(int l, int r) {
  int res = r - l - 2;
  if (res < 0) res = 0;
  return res;
}
char s[N];
char t[5];
int main() {
  int n, qq;
  scanf("%d %d", &n, &qq);
  scanf("%s", s + 1);
  set<int> ss = {0, n + 1};
  int ans = 0, cnt = 0;
  for (int i = 1; i <= n; ++i) {
    if (s[i] == '.') {
      ++cnt;
    } else {
      s[i] = 'a';
      ans += max(0, cnt - 1);
      cnt = 0;
      ss.insert(i);
    }
  }
  ans += max(0, cnt - 1);
  while (qq--) {
    int pos;
    scanf("%d %s", &pos, t);
    if (t[0] != '.') {
      t[0] = 'a';
    }
    if (t[0] != s[pos]) {
      int lo = *(--ss.lower_bound(pos));
      int hi = *(ss.upper_bound(pos));
      if (t[0] == 'a') {
        ans -= get(lo, hi);
        ans += get(lo, pos);
        ans += get(pos, hi);
        ss.insert(pos);
      } else {
        ans -= get(lo, pos);
        ans -= get(pos, hi);
        ans += get(lo, hi);
        ss.erase(ss.find(pos));
      }
    }
    s[pos] = t[0];
    printf("%d\n", ans);
  }
  return 0;
}
