#include <bits/stdc++.h>
#define pb push_back
using namespace std;
ifstream f("strmatch.in");
ofstream g("strmatch.out");
typedef long long ll;
typedef pair<int, int> pi;
int t, T;
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
string P, T;
f >> P >> T;
P = " " + P;
T = " " + T;
int n = P.size(), m = T.size();
vector<int> dp(n);
dp[1] = 0;
for (int i = 2; i < n; i++) {
int k = dp[i - 1];
while (k > 0 && P[k + 1] != P[i]) k = dp[k];
dp[i] = k + (P[k + 1] == P[i] ? 1 : 0);
}
int prev = 0;
vector<int> ans;
for (int i = 1; i < m; i++) {
int k = prev;
while (k > 0 && P[k + 1] != T[i]) k = dp[k];
prev = k + (P[k + 1] == T[i] ? 1 : 0);
if (prev == n - 1 && ans.size() < 1000)
{
ans.push_back(i - n + 1);
}
}
g << ans.size() << '\n';
for (int x: ans) g << x << ' ';
return 0;
}