#include<bits/stdc++.h>
using namespace std;
int n,ans;
char bgin;
int vis[30];
string s[30];
void dfs(int x,int num){
ans=max(ans,num);
for(int i=1;i<=n;i++){
if(vis[i]==2)continue;
int lo=s[x].length();
for(int j=1;j<lo;j++){
if(s[i][0]==s[x][j]){
//cout<<i<<" "<<j<<endl;
bool tmp=1;int cnt=1;int li=s[i].length();
for(int k=j+1;k<lo;k++){
cnt++;
if(s[i][k-j]!=s[x][k]){
//cout<<i<<" "<<k<<" "<<j<<" "<<x<<" "<<k<<" "<<s[i][k-j]<<" "<<s[x][k]<<endl;
tmp=0;
break;
}
}
if(tmp){
vis[i]++;
//cout<<i<<" "<<num<<" "<<s[i].length()<<" "<<cnt<<endl;
dfs(i,num+s[i].length()-cnt);
vis[i]--;
}
}
}
}
}
int main(){
scanf("%d",&n);
for(int i=1;i<=n;i++){
cin>>s[i];
}
bgin=getchar();
bgin=getchar();
for(int i=1;i<=n;i++){
if(s[i][0]==bgin){
vis[i]++;
dfs(i,s[i].length());
vis[i]--;
}
}
printf("%d",ans);
return 0;
}
求求大佬帮忙看看