#include <bits/stdc++.h>
using namespace std;
signed main() {
  long long n, q;
  cin >> n >> q;
  long long m[26][10000] = {0};
  char a, b;
  long long ans = n;
  string s;
  cin >> s;
  for (long long i = 0; i < (n); i++) {
    m[(long long)s[i] - 'A'][i]++;
  }
  for (long long i = 0; i < (q); i++) {
    cin >> a >> b;
    if (a == 'A') {
      long long il = 0;
      if (b == 'L') {
        if (m[il][0] != 0) {
          ans -= m[il][0];
          for (long long i = 0; i < (n); i++) {
            m[il][i - 1] = m[il][i];
          }
        }
      } else if (b == 'R') {
        if (m[il][n - 1] != 0) {
          ans -= m[il][n - 1];
          for (long long i = 0; i < (n); i++) {
            m[il][i + 1] = m[il][i];
          }
        }
      }
    } else if (a == 'B') {
      long long il = 1;
      if (b == 'L') {
        if (m[il][0] != 0) {
          ans -= m[il][0];
          for (long long i = 0; i < (n); i++) {
            m[il][i - 1] = m[il][i];
          }
        }
      } else if (b == 'R') {
        if (m[il][n - 1] != 0) {
          ans -= m[il][n - 1];
          for (long long i = 0; i < (n); i++) {
            m[il][i + 1] = m[il][i];
          }
        }
      }
    } else if (a == 'C') {
      long long il = 2;
      if (b == 'L') {
        if (m[il][0] != 0) {
          ans -= m[il][0];
          for (long long i = 0; i < (n); i++) {
            m[il][i - 1] = m[il][i];
          }
        }
      } else if (b == 'R') {
        if (m[il][n - 1] != 0) {
          ans -= m[il][n - 1];
          for (long long i = 0; i < (n); i++) {
            m[il][i + 1] = m[il][i];
          }
        }
      }
    } else if (a == 'D') {
      long long il = 3;
      if (b == 'L') {
        if (m[il][0] != 0) {
          ans -= m[il][0];
          for (long long i = 0; i < (n); i++) {
            m[il][i - 1] = m[il][i];
          }
        }
      } else if (b == 'R') {
        if (m[il][n - 1] != 0) {
          ans -= m[il][n - 1];
          for (long long i = 0; i < (n); i++) {
            m[il][i + 1] = m[il][i];
          }
        }
      }
    } else if (a == 'E') {
      long long il = 4;
      if (b == 'L') {
        if (m[il][0] != 0) {
          ans -= m[il][0];
          for (long long i = 0; i < (n); i++) {
            m[il][i - 1] = m[il][i];
          }
        }
      } else if (b == 'R') {
        if (m[il][n - 1] != 0) {
          ans -= m[il][n - 1];
          for (long long i = 0; i < (n); i++) {
            m[il][i + 1] = m[il][i];
          }
        }
      }
    } else if (a == 'F') {
      long long il = 5;
      if (b == 'L') {
        if (m[il][0] != 0) {
          ans -= m[il][0];
          for (long long i = 0; i < (n); i++) {
            m[il][i - 1] = m[il][i];
          }
        }
      } else if (b == 'R') {
        if (m[il][n - 1] != 0) {
          ans -= m[il][n - 1];
          for (long long i = 0; i < (n); i++) {
            m[il][i + 1] = m[il][i];
          }
        }
      }
    } else if (a == 'G') {
      long long il = 6;
      if (b == 'L') {
        if (m[il][0] != 0) {
          ans -= m[il][0];
          for (long long i = 0; i < (n); i++) {
            m[il][i - 1] = m[il][i];
          }
        }
      } else if (b == 'R') {
        if (m[il][n - 1] != 0) {
          ans -= m[il][n - 1];
          for (long long i = 0; i < (n); i++) {
            m[il][i + 1] = m[il][i];
          }
        }
      }
    } else if (a == 'H') {
      long long il = 7;
      if (b == 'L') {
        if (m[il][0] != 0) {
          ans -= m[il][0];
          for (long long i = 0; i < (n); i++) {
            m[il][i - 1] = m[il][i];
          }
        }
      } else if (b == 'R') {
        if (m[il][n - 1] != 0) {
          ans -= m[il][n - 1];
          for (long long i = 0; i < (n); i++) {
            m[il][i + 1] = m[il][i];
          }
        }
      }
    } else if (a == 'I') {
      long long il = 8;
      if (b == 'L') {
        if (m[il][0] != 0) {
          ans -= m[il][0];
          for (long long i = 0; i < (n); i++) {
            m[il][i - 1] = m[il][i];
          }
        }
      } else if (b == 'R') {
        if (m[il][n - 1] != 0) {
          ans -= m[il][n - 1];
          for (long long i = 0; i < (n); i++) {
            m[il][i + 1] = m[il][i];
          }
        }
      }
    } else if (a == 'J') {
      long long il = 9;
      if (b == 'L') {
        if (m[il][0] != 0) {
          ans -= m[il][0];
          for (long long i = 0; i < (n); i++) {
            m[il][i - 1] = m[il][i];
          }
        }
      } else if (b == 'R') {
        if (m[il][n - 1] != 0) {
          ans -= m[il][n - 1];
          for (long long i = 0; i < (n); i++) {
            m[il][i + 1] = m[il][i];
          }
        }
      }
    } else if (a == 'K') {
      long long il = 10;
      if (b == 'L') {
        if (m[il][0] != 0) {
          ans -= m[il][0];
          for (long long i = 0; i < (n); i++) {
            m[il][i - 1] = m[il][i];
          }
        }
      } else if (b == 'R') {
        if (m[il][n - 1] != 0) {
          ans -= m[il][n - 1];
          for (long long i = 0; i < (n); i++) {
            m[il][i + 1] = m[il][i];
          }
        }
      }
    } else if (a == 'L') {
      long long il = 11;
      if (b == 'L') {
        if (m[il][0] != 0) {
          ans -= m[il][0];
          for (long long i = 0; i < (n); i++) {
            m[il][i - 1] = m[il][i];
          }
        }
      } else if (b == 'R') {
        if (m[il][n - 1] != 0) {
          ans -= m[il][n - 1];
          for (long long i = 0; i < (n); i++) {
            m[il][i + 1] = m[il][i];
          }
        }
      }
    } else if (a == 'M') {
      long long il = 12;
      if (b == 'L') {
        if (m[il][0] != 0) {
          ans -= m[il][0];
          for (long long i = 0; i < (n); i++) {
            m[il][i - 1] = m[il][i];
          }
        }
      } else if (b == 'R') {
        if (m[il][n - 1] != 0) {
          ans -= m[il][n - 1];
          for (long long i = 0; i < (n); i++) {
            m[il][i + 1] = m[il][i];
          }
        }
      }
    } else if (a == 'N') {
      long long il = 13;
      if (b == 'L') {
        if (m[il][0] != 0) {
          ans -= m[il][0];
          for (long long i = 0; i < (n); i++) {
            m[il][i - 1] = m[il][i];
          }
        }
      } else if (b == 'R') {
        if (m[il][n - 1] != 0) {
          ans -= m[il][n - 1];
          for (long long i = 0; i < (n); i++) {
            m[il][i + 1] = m[il][i];
          }
        }
      }
    } else if (a == 'O') {
      long long il = 14;
      if (b == 'L') {
        if (m[il][0] != 0) {
          ans -= m[il][0];
          for (long long i = 0; i < (n); i++) {
            m[il][i - 1] = m[il][i];
          }
        }
      } else if (b == 'R') {
        if (m[il][n - 1] != 0) {
          ans -= m[il][n - 1];
          for (long long i = 0; i < (n); i++) {
            m[il][i + 1] = m[il][i];
          }
        }
      }
    } else if (a == 'P') {
      long long il = 15;
      if (b == 'L') {
        if (m[il][0] != 0) {
          ans -= m[il][0];
          for (long long i = 0; i < (n); i++) {
            m[il][i - 1] = m[il][i];
          }
        }
      } else if (b == 'R') {
        if (m[il][n - 1] != 0) {
          ans -= m[il][n - 1];
          for (long long i = 0; i < (n); i++) {
            m[il][i + 1] = m[il][i];
          }
        }
      }
    } else if (a == 'Q') {
      long long il = 16;
      if (b == 'L') {
        if (m[il][0] != 0) {
          ans -= m[il][0];
          for (long long i = 0; i < (n); i++) {
            m[il][i - 1] = m[il][i];
          }
        }
      } else if (b == 'R') {
        if (m[il][n - 1] != 0) {
          ans -= m[il][n - 1];
          for (long long i = 0; i < (n); i++) {
            m[il][i + 1] = m[il][i];
          }
        }
      }
    } else if (a == 'R') {
      long long il = 17;
      if (b == 'L') {
        if (m[il][0] != 0) {
          ans -= m[il][0];
          for (long long i = 0; i < (n); i++) {
            m[il][i - 1] = m[il][i];
          }
        }
      } else if (b == 'R') {
        if (m[il][n - 1] != 0) {
          ans -= m[il][n - 1];
          for (long long i = 0; i < (n); i++) {
            m[il][i + 1] = m[il][i];
          }
        }
      }
    } else if (a == 'S') {
      long long il = 18;
      if (b == 'L') {
        if (m[il][0] != 0) {
          ans -= m[il][0];
          for (long long i = 0; i < (n); i++) {
            m[il][i - 1] = m[il][i];
          }
        }
      } else if (b == 'R') {
        if (m[il][n - 1] != 0) {
          ans -= m[il][n - 1];
          for (long long i = 0; i < (n); i++) {
            m[il][i + 1] = m[il][i];
          }
        }
      }
    } else if (a == 'T') {
      long long il = 19;
      if (b == 'L') {
        if (m[il][0] != 0) {
          ans -= m[il][0];
          for (long long i = 0; i < (n); i++) {
            m[il][i - 1] = m[il][i];
          }
        }
      } else if (b == 'R') {
        if (m[il][n - 1] != 0) {
          ans -= m[il][n - 1];
          for (long long i = 0; i < (n); i++) {
            m[il][i + 1] = m[il][i];
          }
        }
      }
    } else if (a == 'U') {
      long long il = 20;
      if (b == 'L') {
        if (m[il][0] != 0) {
          ans -= m[il][0];
          for (long long i = 0; i < (n); i++) {
            m[il][i - 1] = m[il][i];
          }
        }
      } else if (b == 'R') {
        if (m[il][n - 1] != 0) {
          ans -= m[il][n - 1];
          for (long long i = 0; i < (n); i++) {
            m[il][i + 1] = m[il][i];
          }
        }
      }
    } else if (a == 'V') {
      long long il = 21;
      if (b == 'L') {
        if (m[il][0] != 0) {
          ans -= m[il][0];
          for (long long i = 0; i < (n); i++) {
            m[il][i - 1] = m[il][i];
          }
        }
      } else if (b == 'R') {
        if (m[il][n - 1] != 0) {
          ans -= m[il][n - 1];
          for (long long i = 0; i < (n); i++) {
            m[il][i + 1] = m[il][i];
          }
        }
      }
    } else if (a == 'W') {
      long long il = 22;
      if (b == 'L') {
        if (m[il][0] != 0) {
          ans -= m[il][0];
          for (long long i = 0; i < (n); i++) {
            m[il][i - 1] = m[il][i];
          }
        }
      } else if (b == 'R') {
        if (m[il][n - 1] != 0) {
          ans -= m[il][n - 1];
          for (long long i = 0; i < (n); i++) {
            m[il][i + 1] = m[il][i];
          }
        }
      }
    } else if (a == 'X') {
      long long il = 23;
      if (b == 'L') {
        if (m[il][0] != 0) {
          ans -= m[il][0];
          for (long long i = 0; i < (n); i++) {
            m[il][i - 1] = m[il][i];
          }
        }
      } else if (b == 'R') {
        if (m[il][n - 1] != 0) {
          ans -= m[il][n - 1];
          for (long long i = 0; i < (n); i++) {
            m[il][i + 1] = m[il][i];
          }
        }
      }
    } else if (a == 'Y') {
      long long il = 24;
      if (b == 'L') {
        if (m[il][0] != 0) {
          ans -= m[il][0];
          for (long long i = 0; i < (n); i++) {
            m[il][i - 1] = m[il][i];
          }
        }
      } else if (b == 'R') {
        if (m[il][n - 1] != 0) {
          ans -= m[il][n - 1];
          for (long long i = 0; i < (n); i++) {
            m[il][i + 1] = m[il][i];
          }
        }
      }
    } else if (a == 'Z') {
      long long il = 25;
      if (b == 'L') {
        if (m[il][0] != 0) {
          ans -= m[il][0];
          for (long long i = 0; i < (n); i++) {
            m[il][i - 1] = m[il][i];
          }
        }
      } else if (b == 'R') {
        if (m[il][n - 1] != 0) {
          ans -= m[il][n - 1];
          for (long long i = 0; i < (n); i++) {
            m[il][i + 1] = m[il][i];
          }
        }
      }
    }
  }
  cout << ans << endl;
  return 0;
}
