func_code_string: #include <bits/stdc++.h>   using namespace std;   template <typename T>   void setmax(T& x, T y) {     x = max(x, y);   }   template <typename T>   void setmin(T& x, T y) {     x = min(x, y);   }   const double PI = acos(-1.0);   const long long INF = 1e9 + 47;   const long long LINF = INF * INF;   mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());   const int N = 1e7 + 7;   int lp[N];   int main() {     ios_base::sync_with_stdio(0), cin.tie(0), cout.tie(0);     iota(lp, lp + N, 0);     for (int i = (2); i < (N); ++i)       if (lp[i] == i)         for (int j = i + i; j < N; j += i) setmin(lp[j], i);     int n;     cin >> n;     vector<pair<int, int> > ans(n, make_pair(-1, -1));     for (int i = (0); i < (n); ++i) {       int x;       cin >> x;       int p = lp[x];       int t = x;       while (t % p == 0) t /= p;       if (t > 1) {         ans[i] = {t, p};       }     }     for (int i = (0); i < (n); ++i) {       cout << ans[i].first <<    ;     }     cout << endl;     for (int i = (0); i < (n); ++i) {       cout << ans[i].second <<    ;     }     cout << endl;     cerr <<  Time elapsed:   << clock() / (double)CLOCKS_PER_SEC << endl;     return 0;   }   