#include<iostream>
#include<fstream>
#include<vector>
#include<cstring>
#define DX 2000100
using namespace std;
fstream fin("strmatch.in",ios::in),fout("strmatch.out",ios::out);
vector<int> v;
char a[DX],b[DX];
int pi[DX],la,lb;
void f()
{
int i,k=0;
pi[0]=pi[1]=0;
for(i=2;i<=la;i++)
{
while(k>0 && a[k+1]!=a[i]) k=pi[k];
if(a[k+1]==a[i]) k++;
pi[i]=k;
}
}
int main()
{
int i,poz=0,r;
fin>>a>>b;
la=strlen(a);lb=strlen(b);
for(i=la;i>0;i--) a[i]=a[i-1];
for(i=lb;i>0;i--) b[i]=b[i-1];
f();
for(i=1;i<=lb;i++)
{
while(poz>0 && a[poz+1]!=b[i]) poz=pi[poz];
if(a[poz+1]==b[i]) poz++;
if(poz==la)
{
r++;
if(v.size()<1000) v.push_back(i-la);
poz=pi[poz];
}
}
fout<<r<<"\n";
for(i=0;i<v.size();i++) fout<<v[i]<<" ";
}