#include<bits/stdc++.h>
using namespace std;
int k,s,f[41][10001];
string a;
vector<string>v;
int count(int s,int e)
{
int cnt=0;
string b;
for(int i=s;i<=e;i++)
{
int tmp=0;
for(int j=i;j<=e;j++)
{
b=a.substr(i,j-i+1);
for(int c=1;c<=s;c++)
if(v[c]==b)tmp=1;
}
cnt+=tmp;
}
return cnt;
}
int main()
{
cin>>k>>s>>a;
v.resize(s+1);
for(int i=1;i<=s;i++)cin>>v[i];
for(int i=1;i<=k;i++)
for(int j=i;j<=a.size();j++)
for(int l=i-1;l<j;l++)
f[i][j]=max(f[i-1][l]+count(l,j-1),f[i][j]);
cout<<f[k][a.size()];
return 0;
}