#include <bits/stdc++.h>
int main() {
  int N;
  int Q;
  std::string s;
  char t;
  char d;
  std::cin >> N >> Q >> s;
  int golemNum[2][200000 + 2] = {0};
  for (int i = 1; i < N + 1; i++) {
    golemNum[0][i] = 1;
    golemNum[1][i] = 0;
  }
  for (int i = 0; i < Q; i++) {
    std::cin >> t >> d;
    if (d == 'L') {
      for (int j = 1; j < N + 1; j++) {
        if (s[j] == t) {
          golemNum[(i + 1) % 2][j - 1] += golemNum[i % 2][j];
        } else {
          golemNum[(i + 1) % 2][j] += golemNum[i % 2][j];
        }
      }
    } else {
      for (int j = 1; j < N + 1; j++) {
        if (s[j] == t) {
          golemNum[(i + 1) % 2][j + 1] += golemNum[i % 2][j];
        } else {
          golemNum[(i + 1) % 2][j] += golemNum[i % 2][j];
        }
      }
    }
    golemNum[(i + 1) % 2][0] += golemNum[i % 2][0];
    golemNum[(i + 1) % 2][N + 2] += golemNum[i % 2][N + 2];
    for (int i = 1; i < N + 1; i++) {
      golemNum[i % 2][i] = 0;
    }
  }
  std::cout << N - golemNum[Q % 2][0] + golemNum[Q % 2][N + 2] << std::endl;
  return 0;
}
