func_code_string: #include <bits/stdc++.h>   using namespace std;   const int N = 400005;   map<int, int> H;   int n, m, p, l, r, s, tot, T, a[N], b[N], c[N], ans[N];   int get() {     int v;     scanf( %d , &v);     if (!H[v]) H[v] = ++tot;     return H[v];   }   void add(int x) {     if (c[x]++ < 0)       --s;     else       ++s;   }   void del(int x) {     if (c[x]-- > 0)       --s;     else       ++s;   }   int main() {     scanf( %d%d%d , &n, &m, &p);     for (int i = 0; i < n; ++i) a[i] = get();     for (int i = 0; i < m; ++i) b[i] = get(), --c[b[i]];     for (int i = 0; i < p; ++i) {       l = i, r = i, s = m;       for (int j = 0; j < m - 1; ++j) {         add(a[r]), r += p;         if (r >= n) break;       }       while (r <= n) {         add(a[r]), r += p;         if (!s) ans[T++] = l;         del(a[l]), l += p;       }       while (l <= n) del(a[l]), l += p;     }     printf( %d n , T);     sort(ans, ans + T);     for (int i = 0; i < T; ++i) printf( %d  , ans[i] + 1);     return 0;   }   