var N = 0;

function Main(input) {
  const args = input.split('\n');
  const NQ = args[0].split(' ');
  N = NQ[0];
  const Q = NQ[1];

  var s = [];
  for(var i = 0; i < args[1].length; i++) {
      s[i] = {
        ch: args[1][i],
        count: 1
      }
  }

  for (var i = 2; i < args.length; i++) {
    var td = args[i].split(' ');
    var t = td[0];
    var d = td[1];

    s = move(s, t, d);
  }
  var sum = 0;
  s.map(m => m.count).forEach(f => sum += f);

  console.log(sum);
}

function move(ss, t, d) {
  var nss = [];
  for (var i = 0; i < ss.length; i++) {
    var s = ss[i];
    nss[i] = {ch : s.ch, count: (nss[i] || {count : 0}).count};
    if (s.ch !== t) {
      nss[i].count += s.count;
      continue;
    }
    var count = s.count;
    if (d === 'R') {
      if (i === (ss.length - 1)) {
        continue;
      }
      nss[i + 1] = {
        count : count
      };
    } else {
      if (i === 0) {
        continue
      }
      nss[i - 1].count = nss[i - 1].count + count;
    }
  }
  return nss;
}

Main(require("fs").readFileSync("/dev/stdin", "utf8"));