#include <bits/stdc++.h>
using namespace std;
char s[100002];
int a[100002][30];
void To_Zero(int index) {
  int i;
  for (i = 0; i < 26; i++) a[index][i] = 0;
}
void pluss(int index, int flag) {
  int i;
  for (i = 0; i < 26; i++)
    if (a[index][i]) a[index + flag][i] = 1;
  To_Zero(index);
}
int main() {
  char t, d;
  int n, q, i, j, ans = 0;
  scanf("%d%d", &n, &q);
  scanf("%s", s);
  for (i = 0; i < n; i++) a[i + 1][s[i] - 'A'] = 1;
  for (i = 1; i <= q; i++) {
    getchar();
    scanf("%c %c", &t, &d);
    if (d == 'L') {
      for (j = 1; j <= n; j++)
        if (a[j][t - 'A']) pluss(j, -1);
    } else if (d == 'R') {
      for (j = n; j >= 1; j--) {
        if (a[j][t - 'A']) pluss(j, 1);
      }
    }
  }
  for (i = 1; i <= n; i++)
    for (j = 0; j < 26; j++)
      if (a[i][j]) ans++;
  printf("%d", ans);
  return 0;
}
