#include <bits/stdc++.h>
using namespace std;
ifstream fin("strmatch.in");
ofstream fout("strmatch.out");
vector<int> longestCommonPrefixSubfix;
vector<int> occurrences;
void getLongestCommonPrefixSubfix(const string& input) {
int stringLength = input.size();
longestCommonPrefixSubfix = vector<int>(stringLength);
for (int i = 1; i < stringLength; i++) {
int prefixSubfix = longestCommonPrefixSubfix[i - 1];
// if (i == 99) {
// cout << prefixSubfix << " ";
// }
// int cntIter = 0;
while (prefixSubfix > 0 && input[i] != input[prefixSubfix]) {
prefixSubfix = longestCommonPrefixSubfix[prefixSubfix - 1];
// if (i == 99) {
// cout << prefixSubfix << " ";
// cntIter++;
// if (cntIter == 1000)
// break;
// }
}
longestCommonPrefixSubfix[i] = prefixSubfix + (input[i] == input[prefixSubfix]);
}
// exit(0);
}
void printSizeAndElements() {
int occurencesSize = occurrences.size();
fout << occurencesSize << "\n";
for (int i = 0; i < occurencesSize && i < 1000; i++) {
fout << occurrences[i] << " ";
}
}
void findOccurrences(const string& smallString, const string& largeString) {
getLongestCommonPrefixSubfix(smallString);
int smallStringSize = smallString.size();
int largeStringSize = largeString.size();
int nextIndexToMatch = 0;
for (int i = 0; i < largeStringSize && i + (smallStringSize - nextIndexToMatch - 1) < largeStringSize; i++) {
// if (i % 1 == 0)
// cout << "Arrived on index " << i << ". Next index to match=" << nextIndexToMatch << "\n";
if (largeString[i] == smallString[nextIndexToMatch]) {
if (nextIndexToMatch == smallStringSize - 1) {
occurrences.push_back(i - smallStringSize + 1);
nextIndexToMatch = longestCommonPrefixSubfix[smallStringSize - 1];
} else {
nextIndexToMatch++;
}
} else if (nextIndexToMatch > 0) {
while (nextIndexToMatch > 0 && largeString[i] != smallString[nextIndexToMatch]) {
nextIndexToMatch = longestCommonPrefixSubfix[nextIndexToMatch - 1];
}
if (largeString[i] == smallString[nextIndexToMatch]) {
nextIndexToMatch++;
}
}
}
}
int main() {
string A;
string B;
getline(fin, A);
getline(fin, B);
findOccurrences(A, B);
printSizeAndElements();
return 0;
}