#include <bits/stdc++.h>
struct ichi {
  int m[200000];
  char s[200000];
  int k[200000];
};
int main(void) {
  struct ichi o;
  int n, q;
  char t[200000];
  char d[200000];
  scanf("%d %d", &n, &q);
  scanf("%s", o.s);
  int i, j;
  t[0] = 0;
  d[0] = 0;
  for (i = 1; i < q; i++) {
    scanf("%c %c", t[i], d[i]);
  }
  for (i = 0; i < q; i++) {
    o.m[i] = i + 1;
    o.k[i] = 1;
  }
  for (i = 0; i < q; i++) {
    if (d[i] == 'R') {
      for (j = 0; j < q; j++) {
        if (t[i] == o.s[j]) {
          o.m[j]++;
        }
        if (o.m[j] > q) {
          o.k[j] = 0;
        }
      }
    }
    if (d[i] == 'L') {
      for (j = 0; j < q; j++) {
        if (t[i] == o.s[j]) {
          o.m[j]--;
        }
        if (o.m[j] < 0) {
          o.k[j] = 0;
        }
      }
    }
  }
  int cout = 0;
  for (i = 0; i < q; i++) {
    cout += o.k[i];
  }
  printf("%d", cout);
  return 0;
}
