#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cmath>
#include<string>
#include<cstring>
using namespace std;
int nxt[1000005];
int main()
{
string s1,s2; cin>>s1>>s2;
int len1=s1.size();
int len2=s2.size();
nxt[0]=nxt[1]=0;
for(int i=1;i<len2;i++)
{
int j=nxt[i];
while(j!=0 && s2[i]!=s2[j]) j=nxt[j];
if(s2[i]==s2[j]) nxt[i+1]=j+1;
else nxt[i+1]=0;
}
int j=0;
for(int i=0;i<len1;i++)
{
while(j!=0 && s1[i]!=s2[j]) j=nxt[j];
if(s1[i]==s2[j]) j++;
if(j==len2)
{
printf("%d\n",i-len2+2);
j=nxt[j];
}
}
for(int i=1;i<=len2;i++) printf("%d ",nxt[i]);
return 0;
}