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