#include <iostream>#include <cstring>#include <algorithm>using namespace std;const int N = 1e5 + 10, M = 1e6 + 10;char p[N], s[M];int n,m,ne[N];int main(){    cin.tie(NULL); ios::sync_with_stdio(false);        cin >> n >> (p+1) >> m >> (s+1);        int i,j,k;    j = 1, k = 0, ne[1] = 0;    while(j <= n){        if(k == 0 || p[j] == p[k]){ne[j+1] = k+1; j++;k++;}        else k = ne[k];    }        i = 1, j = 1;    while(i <= m){        if(j == 0 || s[i] == p[j]){            i++; j++;            if(j > n) printf("%d%c",i-n-1,i>m?'\n':' ');        }        else j = ne[j];    }    //    if(j > n) cout << i-n-1 << endl;//    else cout << -1 <<endl;        return 0;}