#include <bits/stdc++.h>

#define REP(i,n) for (int i = 0; i < (n); i++)
#define ALL(obj) (obj).begin(), (obj).end()
typedef long long ll;

using namespace std;

int n,q;
string s;
char t[200001];
char d[200001];

int main(){
    cin>>n>>q;
    cin>>s;
    for(int i=0;i<q;i++){
        cin>>t[i]>>d[i];
    }
    vector<int> map[26];
    for(int i=0;i<n;i++){
        int p=s[i]-'A';
        map[p].push_back(i);
    }
    int gol[n];
    for(int i=0;i<n;i++){
        gol[i]=1;
    }
    for(int i=0;i<q;i++){
        int tempgol[n]={0};
        int p=t[i]-'A';
        for(int j=0;j<map[p].size();j++){
            if(d[i]=='R'){
                if(map[p][j]!=n-1){
                    tempgol[map[p][j]+1]=gol[map[p][j]];
                    gol[map[p][j]]=0;
                }else{
                    gol[map[p][j]]=0;
                }
            }else{
                 if(map[p][j]!=0){
                    tempgol[map[p][j]-1]=gol[map[p][j]];
                    gol[map[p][j]]=0;
                }else{
                    gol[map[p][j]]=0;
                }
            }
        }
        for(int k=0;k<n;k++){
            gol[k]=gol[k]+tempgol[k];
        }
    }
    int ans=0;
    for(int i=0;i<n;i++){
        ans=ans+gol[i];
    }
    cout<<ans;
}
