#include<bits/stdc++.h>
using namespace std;
string s;
int dp[2000005];
set<string> st[205],maxx;
signed main(){
string sk;
while(cin>>sk){
if(sk==".") break;
st[sk.size()].insert(sk);
int ttt=sk.size();
maxx=max(maxx,int(sk.size()));
}
while(cin>>sk){
s=s+sk;
}
dp[0]=1;
for(int i=0;i<s.size();i++){
for(int j=minn(i,m);j>=0;j--){
string t=s.substr(i-j+1,j);
if(st[t.size()].count(t)==1 && dp[i-j]==1){
dp[i]=1;
break;
}
}
}
for(int i=s.size()-1;i>=0;i--){
if(dp[i]) {
cout<<i+1;
return 0;
}
}
return 0;
}
CE 了,不知到为什么