#include<iostream>
using namespace std;
typedef long long ll;
int main(){
ll n,k;
ll all=1;
cin>>n>>k;
string password;
cin>>password;
string a[10010];
for(int i=1;i<=n;i++){
int x;
cin>>x>>a[i];
all*=x;
int len=a[i].size();
int cnt=0;
for(int j=0;j<len;j++){
if(a[i][j]==password[i-1]){
cnt++;
}
}
if(cnt==0){
cout<<-1<<endl;
return 0;
}
}
string b[10010];
int k1=k;
for(int i=1;i<=k;i++){
cin>>b[i];
int len=b[i].size();
int cnt=0;
for(int l=1;l<=n;l++){
for(int j=0;j<len;j++){
if(b[l][j]==password[l-1]){
cnt++;
}
}
}
if(cnt==0){
k1--;
}
}
cout<<all-k1<<endl;
return 0;
}