#include <bits/stdc++.h>
int main(void) {
  int numberofboxes;
  int numberofspells;
  int ans, i2, i3;
  int numberofchar[26] = {};
  int str[26][200002] = {};
  char moji;
  char t1, d1;
  scanf("%d %d", &numberofboxes, &numberofspells);
  ans = numberofboxes;
  char s[200002];
  scanf("%s", s);
  for (i2 = 0; i2 < numberofboxes; i2++) {
    for (moji = 'A'; moji <= 'Z'; moji++) {
      if (s[i2] == moji) {
        str[moji - 'A'][numberofchar[moji - 'A']] = i2 + 1;
        numberofchar[moji - 'A']++;
      }
    }
  }
  for (i2 = 0; i2 < numberofspells; i2++) {
    scanf(" %c", &t1);
    scanf(" %c", &d1);
    for (moji = 'A'; moji <= 'Z'; moji++) {
      if (t1 == moji) {
        if (d1 == 'R') {
          for (i3 = 0; i3 < numberofchar[moji - 'A']; i3++) {
            if (str[moji - 'A'][i3] != 0 ||
                str[moji - 'A'][i3] != numberofboxes + 1) {
              str[moji - 'A'][i3]--;
            }
            if (str[moji - 'A'][i3] == 0 ||
                str[moji - 'A'][i3] == numberofboxes + 1) {
              numberofchar[moji - 'A']--;
              ans--;
            }
          }
        } else {
          for (i3 = 0; i3 < numberofchar[moji - 'A']; i3++) {
            if (str[moji - 'A'][i3] != 0 ||
                str[moji - 'A'][i3] != numberofboxes + 1) {
              str[moji - 'A'][i3]++;
            }
            if (str[moji - 'A'][i3] == 0 ||
                str[moji - 'A'][i3] == numberofboxes + 1) {
              numberofchar[moji - 'A']--;
              ans--;
            }
          }
        }
      }
    }
  }
  printf("%d", ans);
  return 0;
}
