using System;
using System.Linq;//リストの使用
using System.Collections.Generic;
using System.Text;//テキストの高速出力に必要
class Program
{
	static void Main()
	{
		string[] input = Console.ReadLine().Split(' ');
		int n = int.Parse(input[0]);
		int q = int.Parse(input[1]);
		string s = Console.ReadLine();
    char[] aas = new char[q];
    char[] bbs = new char[q];
    for(int i = 0; i < q; i++)
    {
      var nums = Console.ReadLine().Split(' ');//１行ごとに受け取る
      aas[i] = nums[0][0];
      bbs[i] = nums[1][0];
    }
    int leftDrop = 0;
    int rightDrop = 0;

    for(int i = 0; i < q; i++)
    {
      if(s[leftDrop] == aas[q-1-i] && bbs[q-1-i] == 'L')
      {
        leftDrop++;
      }else if(s[n-1-rightDrop] == aas[q-1-i] && bbs[q-1-i] == 'R')
      {
        rightDrop++;
      }
      if(leftDrop + rightDrop == n) break;
    }

    int answer = n-leftDrop-rightDrop;
    
		Console.WriteLine(answer);
	}
}