<?php
//error_reporting(0);
list($N,$Q) =  explode(" ",trim(fgets(STDIN)));
$S = trim(fgets(STDIN));
$a = array_fill(0,$N,1);
//先頭をLした時と末尾をRしたときに消える
$last = 0;
for($i=0;$i<$Q;$i++) {
  list($t[],$d[])= explode(" ",trim(fgets(STDIN)));
  if (($t[$i]==$S[0] && $d[$i]=='L') ||
    ($t[$i]==$S[$N-1] && $d[$i]=='R'))
    $last = $i+1;
}
for($i=0;$i<$last;$i++) {
  move($t[$i],$d[$i]);
}
printf("%d\n",array_sum($a));

function move($pos,$dir)
{
  global $S,$N,$a;
  for($i=0;$i<$N;$i++) {
    if ($S[$i]==$pos) {
      if ($dir == 'R') {
        if (isset($a[$i+1])) {
          $a[$i+1]+=$a[$i];
        }
        $a[$i]=0;
      }
      else {
        if (isset($a[$i-1])) {
          $a[$i-1]+=$a[$i];
        }
        $a[$i]=0;
      }
    }
  }
//  printf("%s\n",implode("",$a));
}
