func_code_string: #include <bits/stdc++.h>   using namespace std;   int k;   bool primes[200000][100];   int okay[5000000];   int okayN;   int nLeft[1000];   bool isPrime[1000];   bool used[5000000];   vector<int> ans;   bool compare(int a, int b) {     if (nLeft[a] > nLeft[b]) return 1;     if (nLeft[a] < nLeft[b]) return 0;     return (a < b);   }   int main() {     scanf( %d , &k);     okayN = 1;     okay[0] = 1;     isPrime[1] = 0;     for (int p = 2; true; ++p) {       bool prime = 1;       for (int i = 2; i * i <= p; ++i) {         if (p % i == 0) prime = 0;       }       if (!prime) {         isPrime[p] = 0;         continue;       }       isPrime[p] = 1;       for (int i = okayN - 1; i >= 0; --i) {         int j = okay[i] * p;         while (j <= 2 * k * k) {           for (int m = 2; m < p; ++m) primes[okayN][m] = primes[i][m];           primes[okayN][p] = 1;           okay[okayN++] = j;           j *= p;         }       }       for (int i = 2; i <= p; ++i) nLeft[i] = (k + 1) / 2;       int need[1000];       int needN = 0;       for (int i = 2; i <= p; ++i)         if (isPrime[i]) need[needN++] = i;       for (int i = 0; i < okayN; ++i) used[i] = 0;       bool ok = 1;       bool anybad = 0;       ans.clear();       while (ans.size() < k) {         int best = 0;         for (int i = 1; i < okayN; ++i) {           if (used[i]) continue;           for (int j = 0; j < needN; ++j) {             if (primes[i][need[j]] && !primes[best][need[j]]) {               best = i;               break;             }             if (!primes[i][need[j]] && primes[best][need[j]]) {               break;             }           }         }         ans.push_back(okay[best]);         if (used[best]) {           ok = 0;           break;         }         used[best] = 1;         anybad = 0;         for (int j = 0; j < needN; ++j) {           if (nLeft[need[j]]) anybad = 1;           if (primes[best][need[j]] && nLeft[need[j]]) --nLeft[need[j]];         }         sort(need, need + needN, compare);       }       if (ok && !anybad) {         for (int i = 0; i < ans.size(); ++i) printf( %d  , ans[i]);         return 0;       }     }     return 0;   }   