# coding: utf-8
def main():
    N,Q = int(input().split())
    s = input()
    Golem_list = [1] * N
    ans = N
    for i in range(Q):
        # 呪文
        t,d = input().split()
        for si in range(len(s)):
            if s[si] == t:#マス目の指定
                    move(Golem_list,d,ans,N,si)
                # if d == 'L':
                #     move(Golem_list,d,ans)
                #     print()#左に移動
                # elif d == 'R':
                #     print()#右に移動

                    # はみ出る場合
    print(ans)


def move(Golem_list,d,ans,N,si):
    if d == 'L':
        if si == 0:
            ans -= Golem_list[0]
            Golem_list[0] = 0
        else :
            Golem_list[si-1] += Golem_list[si]
            Golem_list[si] = 0

    elif d == 'R':
        if si == N-1:
            ans -= Golem_list[N-1]
            Golem_list[N-1] = 0
        else :
            Golem_list[si+1] += Golem_list[si]
            Golem_list[si] = 0


if __name__ == "__main__":
    main()