#include <bits/stdc++.h>
using namespace std;
long long N, Q;
char s[202020];
char t[10], d[10];
pair<char, char> mg[202020];
long long i, j, l, r, ans;
int ck(long long a) {
  long long i;
  for (i = 0; i < Q; i++) {
    if (mg[i].first == s[a]) {
      if (mg[i].second == 'R') {
        a++;
      } else {
        a--;
      }
      if (N <= a) {
        return 1;
      }
      if (a < 0) {
        return -1;
      }
    }
  }
  return 0;
}
int main() {
  scanf("%lld%lld%s", &N, &Q, s);
  j = 0;
  for (i = 0; i < Q; i++) {
    scanf("%s%s", t, d);
    mg[i] = {t[0], d[0]};
  }
  l = 0;
  r = N - 1;
  while (l < r) {
    long long c = (l + r + 1) / 2;
    if (ck(c) == 1) {
      r = c - 1;
    } else {
      l = c;
    }
  }
  ans = l + 1;
  l = 0;
  r = N - 1;
  while (l < r) {
    long long c = (l + r) / 2;
    if (ck(c) == -1) {
      l = c + 1;
    } else {
      r = c;
    }
  }
  ans -= r;
  printf("%lld", ans);
  return 0;
}
