求hack
#define N 1000010
char s[N],t[N];
int lst[30];
int n,ans=0;
signed main(){
cin>>n;
for(int i=0;i<=26;i++)lst[i]=0x3f3f3f3f;
for(int i=1;i<=n;i++)cin>>s[i];
for(int i=1;i<=n;i++)cin>>t[i];
int cnt=0,len=0;
for(int i=1;i<=n;i++){
lst[s[i]-'a']=i;
if(i-lst[t[i]-'a']<0){
cout<<"-1"<<endl;
return 0;
}
if(i-lst[t[i]-'a']!=len){
if(i-lst[t[i]-'a']-len>1){
cout<<"-1"<<endl;
return 0;
}
ans=max(ans,cnt-1+len);
len=i-lst[t[i]-'a'];
cnt=0;
}
if(len)cnt++;
}
ans=max(ans,cnt-1+len);
cout<<ans<<endl;
return 0;
}