#include <bits/stdc++.h>
static int n;
static char s[200000 + 2];
static int ng[200000];
static void move_left(char t) {
  if (s[0] == t) {
    ng[0] = 0;
  }
  for (int i = 1; i < n; i++) {
    if (s[i] == t) {
      ng[i - 1] += ng[i];
      ng[i] = 0;
    }
  }
}
static void move_right(char t) {
  if (s[n - 1] == t) {
    ng[n - 1] = 0;
  }
  for (int i = n - 2; i >= 0; i--) {
    if (s[i] == t) {
      ng[i + 1] += ng[i];
      ng[i] = 0;
    }
  }
}
int main() {
  int q;
  scanf("%d%d", &n, &q);
  scanf("%s", s);
  for (int i = 0; i < n; i++) {
    ng[i] = 1;
  }
  for (int i = 0; i < q; i++) {
    char t, d;
    scanf(" %c %c", &t, &d);
    if (d == 'L') {
      move_left(t);
    } else if (d == 'R') {
      move_right(t);
    } else {
      return 1;
    }
  }
  {
    int ans = 0;
    for (int i = 0; i < n; i++) {
      ans += ng[i];
    }
    printf("%d\n", ans);
  }
}
