#include<stdio.h>
#include<string.h>
char s[1000005],t[1000005],c;
int next[1000005],lens,lent;
int main(void){
int i,j;
gets(s+1);
gets(t+1);
lens=strlen(s+1);
lent=strlen(t+1);
i=1,j=0;
next[1]=0;
while(i<=lent){
if(j==0||t[i]==t[j]){
i++,j++;
next[i]=j;
}else j=next[j];
}
int pos=1;
while(1){
i=pos,j=1;
while(i<=lens&&j<=lent){
if(j==0||s[i]==t[j]){
i++,j++;
}else j=next[j];
}
if(j>lent){
printf("%d\n",i-lent);
pos=i-lent+1;
}else break;
}
for(i=2;i<=lent+1;i++){
printf("%d ",next[i]-1);
}
}