#include "cstdio"
#include "cstring"
char a[1000006],b[1000006];
int next[1000006];
int m,n;
void init(){
next[1]=0;
int j=0;
for(int i=2;i<=n;i++){
while (j>0 && b[i]!=b[j+1]){
j = next[j];
}
if(b[i]==b[j+1]){
j++;
}
next[i]=j;
}
}
int main() {
scanf("%s", a + 1);
scanf("%s", b + 1);
n = strlen(a + 1);
m = strlen(b + 1);
init();
int j = 1;
for (int i = 0; i <n; i++){
while (a[i+1] != b[j+1] && j > 0) {
j = next[j];
}
if (a[i+1] == b[j+1]) {
j++;
}
if (j == m) {
printf("%d\n", i +1 - m + 1);
}
}
for(int k=1;k<=m;k++){
printf("%d ",next[k]);
}
return 0;
}