#include<bits/stdc++.h>
using namespace std;
int main()
{
string s;
string p;
cin >> s >> p;
vector<int> ne(10010);
ne[0] = 0;
for (int i = 1, j = 0; i < p.size(); i++)
{
while (j&&p[i] != p[j]) {
j = ne[j - 1];
}
if (p[i] == p[j])
{
ne[i] = ++j;
}
else {
ne[i] = j;
}
}
for (int i = 0, j = 0; i < s.size(); i++)
{
while (j&&s[i] != p[j]) {
j = ne[j - 1];
}
if (s[i] == p[j])
{
j++;
}
if (j == p.size())
{
cout << i - p.size() + 2 << endl;
j = ne[j - 1];
}
}
for (int i=0;i<p.size();i++)
cout << ne[i] << " ";
}