func_code_string: #include <bits/stdc++.h>   using namespace std;   int t[101000], n, h[101000], p[101000];   pair<int, int> w[101000];   int main() {     scanf( %d , &n);     for (int i = 0; i < n; i++) {       scanf( %d , &t[i]);       w[i].first = t[i];       w[i].second = i;     }     sort(w, w + n);     for (int i = n - 1; i >= 0; i--) {       h[i] = ((long long)h[i + 1] * 1337 + t[i]) % 1000000009;     }     p[0] = 1;     for (int i = 1; i <= n; i++) p[i] = (long long)p[i - 1] * 1337 % 1000000009;     vector<pair<int, int> > s;     for (int i = 0; i < n; i++) {       int j = i + 1;       while (j < n && w[j].first == w[i].first) {         int len = w[j].second - w[i].second, start = w[i].second;         long long tmp = h[start] - (long long)h[start + len] * p[len];         tmp -= h[start + len] - (long long)h[start + 2 * len] * p[len];         if (tmp % 1000000009 == 0) s.push_back(pair<int, int>(len, start));         j++;       }     }     sort(s.begin(), s.end());     int first = 0;     for (int i = 0; i < s.size(); i++)       if (s[i].second >= first) {         first = s[i].second + s[i].first;       }     printf( %d n , n - first);     for (int i = first; i < n; i++) printf( %d%c , t[i], i + 1 < n ?     :   n );   }   