#include<bits/stdc++.h>
using namespace std;
vector<int> Next(string c){
vector<int>next;
next.push_back(0);
for(int i=1,j=0;i<c.length();i++){
while(j>0&&c[j]!=c[i]){
j=next[j-1];
}
if(c[i]==c[j]){
j++;
}
next.push_back(j);
}
return next;
}
int main(){
string a,c;
cin>>a>>c;
vector<int> next= Next(c);
for(int i=0,j=0;i<a.length();i++){
while(j>0&&a[i]!=c[j]){
j=next[j-1];
}
if(a[i]c[j]) j++;
if(jc.length()){
cout<<i-j+2<<endl;
j=next[j-1];
}
}
for(int i=0;i<next.size();i++){
cout<<next[i]<<" ";
}
return 0;
}