#include<bits/stdc++.h>
using namespace std;
int n,ans,vis[100];
string words[100],start;
int check(string a,string b){
for(int i=1;i<a.length()&&i<b.length();i++)
if(a.substr(i,a.length()-1)==b.substr(0,a.length()-i)) return i;
return 0;
}
void dfs(string s){
int ls=s.length();
ans=max(ans,ls);
for(int i=1;i<n;i++){
if(vis[i]>=2) continue;
int ok=check(s,words[i]);
if(ok){
vis[i]++;
dfs(s+words[i].substr(0,ls-ok));
vis[i]--;
}
}
}
int main(){
cin >>n;
for(int i=1;i<=n;i++) cin >>words[i];
cin >>start;
dfs(start);
cout <<ans;
return 0;
}