%:pragma GCC optimize(2)
#include<bits/stdc++.h>
using namespace std;
char st[10000001];
char zi[10000001];
int next[10000001];
int main()
{
scanf("%s%s",st,zi);
int k=0;int len=strlen(zi);
for(int i=1;i<len;i++)
{
while(k>0&&zi[k]!=zi[i])
{
k=next[k-1];
}
if(zi[k]==zi[i]) k++;
next[i]=k;
}
k=0;int ll=strlen(st);
for(int i=0;i<=ll;i++)
{
while(k>0&&zi[k]!=st[i])k=next[k-1];
if(zi[k]==st[i]) k++;
if(k==len){printf("%d\n",i-len+2);break;}
}
}
#include<cstdio>
#include<iostream>
#include<cstring>
#include<algorithm>
using namespace std;
int ne[1000001];
char s[1000001];
char t[1000001];
int main()
{
scanf("%s%s",s,t);
int lent=strlen(t),lens=strlen(s);
int wei=0;
for(int i=1;i<lent;i++)
{
while(wei&&t[wei]!=t[i]) wei=ne[wei-1];
if(t[wei]==t[i]) wei++;
ne[i]=wei;
}
wei=0;
for(int i=0;i<lens;i++)
{
while(wei&&t[wei]!=s[i]) wei=ne[wei-1];
if(t[wei]==s[i]) wei++;
if(wei==lent)
{
printf("%d",i-lent+2);
return 0;
}
}
}