rt
#include<bits/stdc++.h>
using namespace std;
int lt,la,lb,lc,cnt,res,i=1,k,l;
string st[50005],sa[50005],sb[50005],sc[50005];
inline void read(int &l,string s[]){
char c;
do{
c=getchar();
}while(c<=32);
for(l=1;;++l){
do{
s[l]+=c;
c=getchar();
}while(c>32);
while(c<=32){
if(c=='\n'||c==EOF)break;
c=getchar();
}
if(c=='\n'||c==EOF)break;
}
}
int main(){
read(lt,st);
read(la,sa);
read(lb,sb);
read(lc,sc);
for(int j=1;j<=la;++i)
if(st[i]==sa[j])
++j;
cnt+=i-la-1;k=i;i=lt;
for(int j=lc;j;--i)
if(st[i]==sc[j])
--j;
cnt+=lt-lc-i;l=i;
for(;k<=l;++k)
if(st[k]==sb[1]){
i=k;
for(int j=1;j<=lb;++i)
if(st[i]==sb[j])
++j;
if(l>=i-1&&res>i-k-lb)res=i-k-lb;
}
cout<<cnt+res;
return 0;
}