func_code_string: #include <bits/stdc++.h>   using namespace std;   const int MX_A = 1e7;   const int N = 500000;   bool sieve[MX_A + 1];   pair<int, int> pr[MX_A + 1];   int a1[N], a2[N], arr[N];   void handleven(int i) {     int num = arr[i];     while (num % 2 == 0) num /= 2;     if (num != 1) {       a1[i] = 2;       a2[i] = num;     } else {       a1[i] = a2[i] = -1;     }   }   int main() {     ios_base::sync_with_stdio(false);     cin.tie(NULL);     cout.tie(NULL);     for (int i = 2; i <= MX_A; i++) {       if (sieve[i]) continue;       for (int j = i; j <= MX_A; j += i) {         if (!pr[j].second) {           if (!pr[j].first) {             pr[j].first = i;           } else {             pr[j].second = i;           }         }         sieve[j] = true;       }     }     int n;     cin >> n;     for (int i = 0; i < n; i++) {       cin >> arr[i];     }     for (int i = 0; i < n; i++) {       int num = arr[i];       if (arr[i] % 2 == 0) {         while (num % 2 == 0) num /= 2;         if (num != 1) {           a1[i] = 2;           a2[i] = num;         } else {           a1[i] = a2[i] = -1;         }       } else if (pr[arr[i]].second) {         a1[i] = pr[arr[i]].first;         a2[i] = pr[arr[i]].second;       } else {         a1[i] = a2[i] = -1;       }     }     for (int i = 0; i < n; i++) {       cout << a1[i] <<    ;     }     cout <<   n ;     for (int i = 0; i < n; i++) {       cout << a2[i] <<    ;     }     return 0;   }   