#include <fstream>
#include <cstring>
#include <vector>
using namespace std;
ifstream cin("strmatch.in");
ofstream cout("strmatch.out");
char s[2000005];
int p[2000005], indx;
vector<int> sol;
int main()
{
s[0]='*';
cin>>(s+1);
int n=strlen(s)-1;
s[n+1]='&';
cin>>(s+n+2);
int m=strlen(s)-1;
for(int i=2; i<=m;i++){
int aux=p[i-1];
while(aux && s[aux+1]!=s[i])
aux=p[aux];
p[i]=aux;
if(s[aux+1]==s[i])
p[i]++;
if(p[i]==n) indx++;
if(p[i]==n && indx<=1000)
sol.push_back(i-2*n-1);
}
cout<<indx<<'\n';
for(auto x: sol)
cout<<x<<' ';
return 0;
}