#include <bits/stdc++.h>
using namespace std;
const int N=1e5+5;
string a[N];
int n,f[N],i,j,ans;
bool check(string a,string b)
{
int i,j,l1=a.size(),l2=b.size(),fl;
for(i=1;i<min(l1,l2);i++)
{
fl=1;
for(j=0;j<i;j++)
{
if(b[j]!=a[l1-i+j])fl=0;
}
if(fl)return i;
}
return 0;
}
void dfs(string answ,int s)
{
ans=max(ans,s);
for(int i=0;i<n;i++)
{
if(f[i]>=2)continue;
if(check(answ,a[i])>0)
{
f[i]++;
dfs(a[i],s+a[i].size()-check(answ,a[i]));
f[i]--;
}
}
}
int main()
{
cin>>n;
for(i=0;i<=n;i++)
{
cin>>a[i];
f[i]=0;
}
dfs(" "+a[n],1);
cout<<ans;
return 0;
}