#include <iostream>
#include <cstring>
#include <cstdio>
using namespace std;
char a[1000005], b[1005];
int lena, lenb, nxt[1005];
void makenext(){
int k=0;
for(int i=2; i<=lenb; i++){
while(k && b[i]!=b[k+1]) k = nxt[k];
if(b[i]==b[k+1]) nxt[i] = ++k;
}
}
void kmp(){
int k=0;
for(int i=1; i<=lena; i++){
while(k && a[i]!=b[k+1]) k = nxt[k];
if(a[i]==b[k+1]) k++;
if(k==lenb) printf("%d\n", i-lenb+1);
}
}
int main(){
scanf("%s", a+1);
scanf("%s", b+1);
lena = strlen(a+1);
lenb = strlen(b+1);
makenext();
kmp();
for(int i=1; i<=lenb; i++)
printf("%d ", nxt[i]);
return 0;
}
12-27
08-12
08-12
08-12
08-12