#include<bits/stdc++.h>
using namespace std;
int p,k;
int dp[21][21];
int m,sum;
string a[7];
string s[20];
int f(string s,int k,int last)
{
if(k==1)
{
string p="";
int ans;
for(int i=0;i<m;i++)
{
if(s.find(a[i])!=string::npos&&p.find(a[i])!=0)
{
ans++;
p+=a[i];
}
}
return ans;
}
for(int i=0;i<last;i++)
{
if(dp[i][k-1]==0)
dp[i][k-1]=f(s.substr(0,i+1),k-1,i);
dp[last][k]=f(s.substr(i+1,last-i),1,last-i)+dp[i][k-1];
}
return dp[last][k];
}
int main()
{
cin>>p>>k;
for(int i=0;i<p;i++)
cin>>s[i];
cin>>m;
for(int i=0;i<m;i++)
cin>>a[i];
for(int i=0;i<p;i++)
{
sum+=f(s[i],k,s[i].size()-1);
}
cout<<sum;
return 0;
}