#include <bits/stdc++.h>
int main() {
  int N, Q, i;
  int max, min;
  char s[200001];
  char t[200001], d[200001];
  scanf("%d %d", &N, &Q);
  scanf("%s", s);
  for (i = 0; i < Q; i++) scanf("%c %c", &t[i], &d[i]);
  for (i = Q - 1, min = 0, max = N - 1; i >= 0; i--) {
    switch (d[i]) {
      case 'R':
        if (t[i] == s[max]) {
          max--;
        }
        if (min > 0 && t[i] == s[min - i]) {
          min--;
        }
        break;
      case 'L':
        if (t[i] == s[min]) {
          min++;
        }
        if (max < N - 1 && t[i] == s[max + 1]) {
          max++;
        }
        break;
    }
  }
  printf("%d\n", max - min + 1);
  return 0;
}
