n,q=map(int,input().split())
s=list(input())
lis=[list(input().split()) for _ in range(q)]
#ここでdpのうちのどこでゴーレムが落ちるか落ちないかを二分探索で求める。
cnt=0
left=0
right=n-1
while(left!=right): #まずはゴーレムが左に落ちる最右点を求める。
    mid=(left+right+1)//2
    tmp=mid  #tmpはq回の操作でどこにゴーレムがいるのかを記憶している
    for i in range(q):
        if lis[i][0]==s[tmp]:
            if lis[i][1]=="L":
                if tmp!=0:
                    tmp-=1
                else: #ここでmidにいたゴーレムが左に落ちたとわかるので、
                    left=mid
                    break
            else:
                if tmp!=n-1:
                    tmp+=1
                else:
                    right=mid-1
                    break
    else:
        right=mid-1
tmp=0
left_0=0
right_0=n-1
for i in range(q):
    if lis[i][0]==s[tmp]:
        if lis[i][1]=="L":
            if tmp!=0:
                tmp-=1
            else: #ここでmidにいたゴーレムが左に落ちたとわかるので、
                left_0=mid
                break
        else:
            if tmp!=n-1:
                tmp+=1
            else:
                right_0=mid-1
                break
else:
    left=-1

the_most_right_point=left

left=0
right=n-1
while(left!=right): #まずはゴーレムが左に落ちる最右点を求める。
    mid=(left+right)//2
    tmp=mid  #tmpはq回の操作でどこにゴーレムがいるのかを記憶している
    for i in range(q):
        if lis[i][0]==s[tmp]:
            if lis[i][1]=="L":
                if tmp!=0:
                    tmp-=1
                else: #ここでmidにいたゴーレムが左に落ちたとわかるので、
                    left=mid+1
                    break
            else:
                if tmp!=n-1:
                    tmp+=1
                else:
                    right=mid
                    break
    else:
        left=mid+1
tmp=n-1
left_0=0
right_0=n-1
for i in range(q):
    if lis[i][0]==s[tmp]:
        if lis[i][1]=="L":
            if tmp!=0:
                tmp-=1
            else: #ここでmidにいたゴーレムが左に落ちたとわかるので、
                left_0=mid
                left_0=-1
                break
        else:
            if tmp!=n-1:
                tmp+=1
            else:
                right_0=mid-1
                break
else:
    left=n
the_most_left_point=left
ans_right=n-the_most_left_point
ans_left=the_most_right_point+1

print(n-ans_left-ans_right)