#include<bits/stdc++.h>

using namespace std;

int n,m,L,R;
char s[300000],a[300000][1],b[300000][1];

int main(){
	scanf("%d%d%s",&n,&m,s+1);
	for (int i=1;i<=m;++i){
		scanf("%s%s",a[i],b[i]);
	}
	int l=1,r=n; L=0;
	while (l<=r){
		int mid=(l+r)>>1;
		int x=mid;
		for (int i=1;i<=m;++i){
			if (s[x]==a[i][0]){
				if (b[i][0]=='L') --x;
				else ++x;
			}
			if (!x||x>n) break;
		}
		if (x==0){L=mid; l=mid+1;}
		else r=mid-1;
	}
	l=1,r=n; R=n+1;
	while (l<=r){
		int mid=(l+r)>>1;
		int x=mid;
		for (int i=1;i<=m;++i){
			if (s[x]==a[i][0]){
				if (b[i][0]=='L') --x;
				else ++x;
			}
			if (!x||x>n) break;
		}
		if (x>n){R=mid; r=mid-1;}
		else l=mid+1;
	}
	printf("%d\n",n-(L+(n-R+1)));
	
	return 0;
}
			