#include<bits/stdc++.h>
using namespace std;
string str[25];
int used[25];
int n,ans;
int valid(string a,string b)
{
int len1=a.length(),len2=b.length();
for(int i=1;i<=min(len1,len2)-1;i++)
{
int good=1;
for(int j=1;j<=i;j++)
if(a[len1-1-i+j]!=b[j-1])
{
good=0;
break;
}
if(good)
{
return len1+len2-i;
}
}
return -1;
}
void dfs(int len,string last)
{
bool good=0;
for(int i=1;i<=n;i++)
{
if(used[i]<2)
{
int tmp=valid(last,str[i]);
if(tmp!=-1)
{
used[i]++;
dfs(len+tmp-last.length(),str[i]);
good=1;
used[i]--;
}
}
}
if(!good)
{
ans=max(len,ans);
}
}
int main()
{
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>str[i];
}
char st;
cin>>st;
for(int i=1;i<=n;i++)
{
if(str[i][0]==st)
{
dfs(str[i].length(),str[i]);
}
}
cout<<ans<<endl;
return 0;
}
前3个点wa