n,q=(int(x) for x in input().split())
s=list(input())
keta=[1]*n #分布図を作成
counter=0 #指示を読み込む
while counter<q:
    counter +=1
    siji=list(input())
    basyo=siji[0] #場所を文字として認識
    muki=siji[2] #向きを文字として認識
    list_ban=[i for i, x in enumerate(s) if x == basyo] #動かす場所の位置を行列として認識
    list_ban_keta=len(list_ban) #動かす場所の数
    list_counter=0
    if muki=='L':
        while list_counter<list_ban_keta:
            a=int(list_ban[list_counter]) #aは動かす位置
            list_counter +=1
            if keta[a]!=0:
                ninzu=keta[a]
                keta[a]=keta[a]-ninzu
                if a!=0:
                    keta[a-1]=keta[a-1]+ninzu
    if muki=='R':
        while list_counter<list_ban_keta:
            a=int(list_ban[list_ban_keta-1-list_counter])
            list_counter +=1
            if keta[a]!=0:
                ninzu=keta[a]
                keta[a]=keta[a]-ninzu
                if a!=n-1:
                    keta[a+1]=keta[a+1]+ninzu

print(sum(keta))
