#include <iostream>
#include <fstream>
#include <cstring>
#define DN 2000003
#define DM 1004
using namespace std;
char p[DN],t[DN];
int pi[DN],rez[DM];
void make_p(){
pi[1]=0;
int k = 0;
for(int i=2;i<=strlen(p+1);++i){
while(p[i] != p[k+1] && k>0)
k = pi[k];
if(p[i] == p[k+1])
++k;
pi[i] = k;
}
}
int main() {
ifstream f("strmatch.in");
ofstream g("strmatch.out");
cin>>p+1>>t+1;
make_p();
int i=1,j=1,n=strlen(t+1),m=strlen(p+1);
for(;i<=n && j<=m;){
if(t[i] == p[j]) ++i,++j;
else
if(j==1) ++i;
else
j = pi[j-1] + 1;
if(j == m + 1){
rez[++rez[0]] = i-m-1;
if(rez[0] == 1000)
break;
j=pi[j-1]+1;
}
}
g<<rez[0]<<"\n";
for(int i=1;i<=rez[0];++i)
g<<rez[i]<<" ";
return 0;
}