#include <algorithm>
#include <fstream>
#include <cstring>
using namespace std;
const int NMAX = 2000005;
char A[NMAX], B[NMAX];
int P[NMAX];
int fans[1005];
int main() {
ifstream fin("strmatch.in");
ofstream fout("strmatch.out");
fin >> (A + 1) >> (B + 1);
int n = strlen(A + 1), m = strlen(B + 1);
for (int i = 2, k = 0; i <= n; ++i) {
while (k != 0 && A[k + 1] != A[i]) {
k = P[k];
}
if (A[k + 1] == A[i]) ++k;
P[i] = k;
}
int cnt = 0;
for (int i = 1, k = 0; i <= m; ++i) {
while (k != 0 && A[k + 1] != B[i]) {
k = P[k];
}
if (A[k + 1] == B[i]) ++k;
if (k == n) {
++cnt;
if (cnt <= 1000) fans[cnt] = i - k;
}
}
fout << cnt << '\n';
for (int i = 1; i <= cnt && i <= 1000; ++i)
fout << fans[i] << ' ';
fout << '\n';
fin.close();
fout.close();
}