#include <bits/stdc++.h>
using namespace std;
int main() {
  int N, Q;
  string s;
  char t_temp, d_temp;
  cin >> N >> Q >> s;
  string t, d;
  t.resize(Q + 1);
  d.resize(Q + 1);
  int Golem[200001] = {};
  int GolemSum = N;
  for (int trial = 0; trial < Q; trial++) {
    cin >> t_temp >> d_temp;
    t[trial] = t_temp;
    d[trial] = d_temp;
    if (trial > 0) {
      if (t[trial] == t[trial - 1] && s[trial] != s[trial - 1]) {
        continue;
      }
    }
    for (int posIndex = 0; posIndex < N; posIndex++) {
      if (trial == 0) Golem[posIndex] += 1;
      if (s[posIndex] != t[trial] || Golem[posIndex] == 0) continue;
      if (d[trial] == 'L') {
        if (posIndex == 0) {
          GolemSum -= Golem[posIndex];
          Golem[posIndex] = 0;
        } else {
          Golem[posIndex - 1] += Golem[posIndex];
          Golem[posIndex] = 0;
        }
      } else if (d[trial] == 'R') {
        if (posIndex == N - 1) {
          GolemSum -= Golem[posIndex];
          Golem[posIndex] = 0;
        } else {
          Golem[posIndex + 1] += Golem[posIndex];
          Golem[posIndex] = 0;
        }
      }
    }
  }
  cout << GolemSum << endl;
  return 0;
}
