#include <bits/stdc++.h>
using namespace std;
int main() {
  int N, Q;
  cin >> N >> Q;
  string S;
  cin >> S;
  int posL[26] = {};
  int posR[26] = {};
  int pos[26] = {};
  for (int i = 0; i < Q; i++) {
    char t, d;
    cin >> t >> d;
    if (d == 'L') {
      pos[t - 'A']--;
    } else {
      pos[t - 'A']++;
    }
    if (posL[t - 'A'] > pos[t - 'A']) {
      posL[t - 'A'] = pos[t - 'A'];
    }
    if (posR[t - 'A'] < pos[t - 'A']) {
      posR[t - 'A'] = pos[t - 'A'];
    }
  }
  int ans = N;
  for (int i = 0; i < S.size(); i++) {
    int nposL = i + posL[S[i] - 'A'];
    if (nposL < 0) {
      ans--;
      continue;
    }
    int nposR = i + posR[S[i] - 'A'];
    if (nposR >= N) {
      ans--;
    }
  }
  cout << ans << endl;
  return 0;
}
