#include <bits/stdc++.h>
using namespace std;
int main() {
  long long N, Q;
  std::cin >> N >> Q;
  string s;
  std::cin >> s;
  vector<char> t(Q), d(Q);
  for (int i = 0; i < Q; i++) {
    std::cin >> t[i] >> d[i];
  }
  vector<bitset<300000>> map(26, bitset<300000>(0));
  for (int i = 0; i < N; i++) {
    map[s[i] - 'A'].set(i + 1);
  }
  bitset<300000> a(0);
  a.set(0);
  a.set(N + 1);
  for (int i = Q - 1; i >= 0; i--) {
    if (d[i] == 'L') {
      a &= ~(map[t[i] - 'A']);
      a |= (a << 1) & map[t[i] - 'A'];
    } else {
      a &= ~(map[t[i] - 'A']);
      a |= (a >> 1) & map[t[i] - 'A'];
    }
  }
  std::cout << N - (a.count() - 2) << std::endl;
  return 0;
}
