#include<iostream>
#include<string>
using namespace std;
int nexta[100];
void get_next(string t){
int i=1,j=0;
nexta[1]=0;
while(i<t.length()){
if(j==0||t[i-1]==t[j-1]){
nexta[++i]=++j;
}
else{
j=nexta[j];
}
}
}
int k(string s,string t,int pos){
int i=pos,j=0;
int n=s.length(),m=t.length();
while(i<=n&&j<=m){
if(j==0||s[i-1]==t[j-1]){
i++;
j++;
}else{
j=nexta[j];
}
}
if(j>m) return i-m;
return -128;
}
int main(){
string src,tar;
getline(cin,src);
getline(cin,tar);
if(src.length()<tar.length()){
swap(src,tar);
}
get_next(tar);
if(k(src,tar,0)!=-128){
cout<<tar<<" is substring of "<<src<<endl;
}else{
cout<<"No substring"<<endl;
}
return 0;
}
2345过了,1却没过