#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
int
main(void)
{
  int N;
  int Q;
  char *block;
  char *golem;
  
  scanf("%d%d", &N, &Q);
  /* printf("N = %d, Q = %d\n", N, Q); */
  block = malloc(N);
  golem = malloc(N);
  memset(golem, 1, N);
 
  scanf("%s", block);
  scanf("%*c");
  
  while (Q-- > 0) {
    char ascii;
    char dir;
    
    scanf("%c %c%*c", &ascii, &dir);
    /* printf("%c, %c\n", ascii, dir); */
    
    for (int i = 0; i < N; i++) {
      int index;
      if (dir == 'R')
        index = N - i - 1;
      else
        index = i;
 
      if (block[index] == ascii) {
        int tmp = golem[index];
        /* printf("tmp = %d\n", tmp); */
        golem[index] = 0;
        if (dir == 'R' && index < N - 1) {
          golem[index + 1] += tmp;
          /* printf("golem[%d] = %d\n", index + 1, golem[index + 1]); */
        }
        if (dir == 'L' && 0 < index) {
          golem[index - 1] += tmp;
          /* printf("golem[%d] = %d\n", index - 1, golem[index - 1]); */
        }
      }
      
      /* printf("golem[%d] : %d\n", index, golem[index]); */
    }
   	/* printf("\n"); */
  }
  
  int total = 0;
  for (int i = 0; i < N; i++) {
    /* printf("golem[%d] : %d\n", i, golem[i]); */
    total += golem[i];
  }
  
  printf("%d", total);
  
  return 0;
}