#include <iostream>
#include <cstring>
using namespace std;
string a,b;
int f[1000005];
int main(){
cin >>a>>b;
int x=a.size(),y=b.size(),j=0;
for(int i=1;i<x-1;i++){
while(j>0&&b[i]!=b[j]) j=f[j-1];
if(b[i]==b[j])j++;
f[i]=j;
}
for(int i=0;i<=x-y;i++){
if(a.substr(i,y)==b) cout <<i+1<<endl;
}
for(int i=0;i<=y-1;i++){
cout <<f[i]<<" ";
}
return 0;
}
subtask 3 全RE 70pts