#include <bits/stdc++.h>
using namespace std;
const int N = 200000;
int main() {
  int i, n, q;
  int golem[N];
  string s;
  char t, d;
  map<char, vector<int> > mp;
  vector<int> v;
  cin >> n >> q;
  for (i = 0; i < n; i++) golem[i] = 1;
  cin >> s;
  for (i = 0; i < n; i++) {
    if (mp.find(s[i]) == mp.end()) {
      v.clear();
      v.push_back(i);
      mp[s[i]] = v;
    } else {
      mp[s[i]].push_back(i);
    }
  }
  for (i = 0; i < q; i++) {
    cin >> t >> d;
    v = mp[t];
    for (vector<int>::iterator it = v.begin(); it != v.end(); it++) {
      if (golem[*it] > 0) {
        if (d == 'L' && *it > 0) golem[*it - 1] += golem[*it];
        if (d == 'R' && *it < n - 1) golem[*it + 1] += golem[*it];
        golem[*it] = 0;
      }
    }
  }
  int golem_num = 0;
  for (i = 0; i < n; i++) golem_num += golem[i];
  cout << golem_num << endl;
  return 0;
}
