RT
#include<iostream>
#include<cstdio>
#include<cstring>
#include<map>
#include<cmath>
#include<queue>
#include<algorithm>
using namespace std;
long long kmp[100021100],j=0;
string a,b;
int main()
{
int lena=a.length() ,lenb=b.length() ;
cin>>a>>b;
for(int i=1;i<lenb;i++)
{
while(j>0&&b[i]!=b[j])
{
j=kmp[j-1];
}
if(b[i]==b[j])
{
j++;
}
kmp[i]=j;
}
j=0;
for(int i=0;i<=lena;i++)
{
while(j>0&&a[i]!=b[j])
{
j=kmp[j-1];
}
if(a[i]==b[j])
{
j++;
}
if(j==lenb)
{
cout<<i-(lenb-1)+1<<endl;
}
}
return 0;
}