#include<iostream>
#include<cstring>
using namespace std;
int kmp[1000005];
string s1,s2;
int main()
{
cin>>s1>>s2;
int j;
j=0;
for(int i=1;i<=s2.size();i++)
{
while(j>0&&s2[i]!=s2[j])
{
j=kmp[j-1];
}
if(s2[i]==s2[j])
{
j++;
}
kmp[i]=j;
}
j=0;
for(int i=1;i<=s1.size();i++)
{
while(j>0&&s2[j]!=s1[i])
{
j=kmp[j-1];
}
if(s2[j]==s1[i])
{
j++;
}
if(j==s2.size())
{
cout<<i-s2.size()<<endl;
j=kmp[j-1];
}
}
for(int i=0;i<s2.size();i++)
cout<<kmp[i]<<" ";
return 0;
}