#include <bits/stdc++.h>
using namespace std;
int n;
string t_1, t_2;
int k_1;
bool k_2[500001];
int main() {
scanf("%d", &n);
cin >> t_1;
for (int i = 1; i <= n; i++) {
cin >> t_2;
if (t_2.size() - 2 > t_1.size() - 1)
continue;
if (t_2 == t_1) {
k_2[i] = 1;
k_1++;
continue;
} else {
if (t_2.size() >= t_1.size() + 2|| t_2.size() <= t_1.size() - 2)
continue;
int cnt = 0;
for (int j = 0, k = 0; j < t_2.size() && k < t_1.size(); j++, k++) {
if (t_2[j] != t_1[k]) {
cnt++;
if (t_2.size() < t_1.size())
j--;
else if (t_2.size() > t_1.size())
k--;
}
}
if (cnt <= 1)
k_2[i] = 1, k_1++;
}
}
printf("%d\n", k_1);
for (int i = 1; i <= n; i++)
if (k_2[i])
printf("%d ", i);
printf("\n");
}
按倒数第二篇题解写的代码。