#include <bits/stdc++.h>
using namespace std;
ifstream f ("strmatch.in");
ofstream g ("strmatch.out");
const int nmax=2e6+3;
int k,n1,n2,ant[nmax],sol,pup[nmax];
char s1[nmax],s2[nmax];
void precalc()
{
k=0;
for(int i=2;i<=n1;++i)
{
while(k&&s1[k+1]!=s1[i]) k=ant[k];
if(s1[k+1]==s1[i]) ++k;
ant[i]=k;
}
}
int main()
{
ios::sync_with_stdio(false);
f>>(s1+1);
f>>(s2+1);
n1=strlen(s1+1);
n2=strlen(s2+1);
precalc();
k=0;
for(int i=1;i<=n2;++i)
{
while(k&&s1[k+1]!=s2[i]) k=ant[k];
if(s1[k+1]==s2[i]) ++k;
if(k==n1)
{
++sol;
if(sol<=1000) pup[sol]=i-n1;
k=ant[k];
}
}
g<<sol<<'\n';
for(int i=1;i<=min(1000,sol);++i) g<<pup[i]<<' ';
return 0;
}