#include <bits/stdc++.h>
using namespace std;
int N, Q;
string S;
vector<char> T, D;
void input_data(void) {
  cin >> N >> Q >> S;
  T.resize(Q);
  D.resize(Q);
  for (int i = 0; i < Q; ++i) cin >> T[i] >> D[i];
}
int l_check(void) {
  int id = 0;
  for (int i = Q - 1; i >= 0; --i) {
    if (D[i] == 'L' && S[id] == T[i]) ++id;
  }
  return id;
}
int r_check(void) {
  int id = N - 1;
  for (int i = Q - 1; i >= 0; --i) {
    if (D[i] == 'R' && S[id] == T[i]) --id;
  }
  return id;
}
int main(void) {
  cin.tie(0);
  ios::sync_with_stdio(false);
  input_data();
  int l = l_check();
  int r = r_check();
  int ans = max(0, r - l + 1);
  cout << ans << '\n';
  return 0;
}
