#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
const int N=1e6+5;
int n,m,ret[N];
char a[N],b[N];
int main()
{
scanf("%s%s",a,b);
n=strlen(a); m=strlen(b);
for(int i=n;i;i--) a[i]=a[i-1];
for(int i=m;i;i--) b[i]=b[i-1];
for(int i=2,j=0;i<=m;i++)
{
while(j&&b[i]!=b[j+1]) j=ret[j];
if(b[i]==b[j+1]) j++;
ret[i]=j;
}
for(int i=1,j=0;i<=n;i++)
{
while(j&&a[i]!=b[j+1]) j=ret[j];
if(a[i]==b[j+1]) j++;
if(j==m)
{
cout<<i-m+1<<"\n";
j=ret[j];
}
}
for(int i=1;i<=m;i++) cout<<ret[i]<<" ";
return 0;
}