#include <bits/stdc++.h>
int n, q;
const int N = 2e5 + 5;
char s[N];
int L[26], R[26], c[26];
int main() {
  scanf("%d%d", &n, &q);
  scanf("%s", s + 1);
  char t, d;
  while (q--) {
    getchar();
    scanf("%c %c", &t, &d);
    d == 'L' ? c[t - 'A']-- : c[t - 'A']++;
    L[t - 'A'] = std::min(L[t - 'A'], c[t - 'A']);
    R[t - 'A'] = std::max(R[t - 'A'], c[t - 'A']);
  }
  int ans = 0;
  for (int i = 1; i <= n; i++) {
    int j = s[i] - 'A';
    if (i + L[j] > 0 && i + R[j] <= n) ans++;
  }
  printf("%d\n", ans);
  return 0;
}
