#include<cstdio>
#include<string>
#include<iostream>
#include<algorithm>
using namespace std;
string ch[20];
int vis[20];
int n, ans;
int cheak(string a, string b){
int c = 0;
for(int i=1;i<min(a.size(), b.size());i++){
int flag=1;
for(int j=0;j<i;j++){
if(a[j] != b[b.size()-i+j]){
flag = 0;
}
}
if(flag) return i;
}
return c;
}
void dfs(int x, int len){
int c;
ans = max(ans, len);
for(int i=0;i<n;i++){
if(vis[i] >= 2){
continue;
}
c = cheak(ch[i], ch[x]);
if(c != 0){
vis[i] += 1;
dfs(i, len+ch[i].size()-c);
vis[i] -= 1;
}
}
}
int main(){
char ar;
scanf("%d", &n);
for(int i=0;i<n;i++){
cin >> ch[i];
}
getchar();
scanf("%c", &ar);
for(int i=0;i<n;i++){
if(ch[i][0] == ar){
vis[i]++;
dfs(i, ch[i].size());
vis[i]--;
}
}
printf("%d", ans);
return 0;
}