#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<climits>
using namespace std;
const int Max=100005;
int next[Max];
void GetNext(string p)
{
int plen=p.size();
next[0]=-1;
int k=-1,j=0;
while(j<plen-1)
{
if(k==-1||p[j]==p[k])
{
k++;
j++;
next[j]=k;
}
else
k=next[k];
}
}
int KmpSearch(string s,string p)
{
int i=0,j=0;
int slen=s.size();
int plen=p.size();
while(i<slen && j<plen)
{
if(j==-1 || s[i]==p[j])
{
i++;
j++;
}
else
{
j=next[j];
}
}
if(j==plen)
return i-j;
return -1;
}
int main()
{
string s,p;
while(cin>>s>>p)
{
GetNext(p);
cout<<KmpSearch(s,p)<<endl;
}
return 0;
}
12-27
09-01
05-25