#include <bits/stdc++.h>
using namespace std;
using ll = long long;
int N, Q;
string s;
vector<char> t, d;
int sim(int x) {
  for (int i = 0; i < Q; ++i) {
    if (s[x] == t[i]) {
      if (d[i] == 'L')
        x--;
      else
        x++;
    }
    if (x < 0)
      return -1;
    else if (x > N - 1)
      return -2;
  }
  return 0;
}
int main() {
  cin >> N >> Q;
  cin >> s;
  t.resize(Q), d.resize(Q);
  for (int i = 0; i < Q; ++i) cin >> t[i] >> d[i];
  int le = 0, ri = N - 1, mid;
  while (ri - le > 1) {
    mid = (le + ri) / 2;
    if (sim(mid) == -1)
      le = mid;
    else
      ri = mid;
  }
  int lle = 0, rri = N - 1;
  while (rri - lle > 1) {
    mid = (lle + rri) / 2;
    if (sim(mid) == -2)
      rri = mid;
    else
      lle = mid;
  }
  cout << lle - ri + 1 << endl;
}
