#include<bits/stdc++.h>
#define memset(a,b) memset(a,b,sizeof(a))
using namespace std;
typedef long long ll;
string a[30];
char c;
int vis[30];
int n,ans=-1;
void DFS(int num,string str)
{
int tt=str.size();
ans=max(ans,tt);
for(int i=1; i<=n; i++)
{
if(vis[i]>=2)
continue;
string p=str;
string q=a[i];
int pp=p.size();
int qq=q.size();
int j;
for(j=min(pp-1,qq-1); j>=1; j--)
{
string tmp1=p.substr(pp-j,j);
string tmp2=q.substr(0,j);
if(tmp1==tmp2)
{
string tmp=q.substr(j,qq-j);
vis[i]++;
str+=tmp;
DFS(i,str);
vis[i]--;
str=str.substr(0,str.size()-tmp.size());
}
}
}
return;
}
int main()
{
cin>>n;
for(int i=1; i<=n; i++)
cin>>a[i];
cin>>c;
memset(vis,0);
string str="";
for(int i=1; i<=n; i++)
{
if(a[i][0]==c)
{
str+=a[i];
vis[i]++;
DFS(i,str);
vis[i]--;
str=str.substr(0,str.size()-a[i].size());
}
}
cout<<ans<<endl;
return 0;
}