floors, times = input().split()
floor = [i for i in input()]
golems = [1]*int(floors)

for i in range(int(times)):
    t, d = input().split()
    if d == 'L':
        # ←呪文の場合
        for i in range(int(floors)):
            if t == floor[i]:
                # 呪文対象のマスの場合
                if i == 0:
                    # 一番左のマスの場合
                    if golems[i] > 0:
                        golems[i]=0
                else:
                    # 一番左ではない場合
                    if golems[i] > 0:
                        tmp = golems[i]
                        golems[i]=0
                        golems[i-1]+=tmp
    else:
        # →呪文の場合
        for i in range(int(floors))[::-1]:
            if t == floor[i]:
                if i == int(floors)-1:
                    # 一番右のマスの場合
                    if golems[i] > 0:
                        golems[i]=0
                else:
                    # 一番右ではない場合
                    if golems[i] > 0:
                        tmp = golems[i]
                        golems[i]=0
                        golems[i+1]+=tmp

print(sum(golems))