func_code_string: #include <bits/stdc++.h>   using namespace std;   vector<long long int> ans;   vector<long long int> allD;   unordered_map<long long int, int> comp;   const int MM = 1e4;   const int LIM = 1e5;   vector<long long int> gr[MM];   void solve(long long int N, long long int K) {     if (K == 0 || N == 0) {       ans.push_back(N);       return;     }     for (long long int u : gr[N]) {       solve(u, K - 1);       if (ans.size() == LIM) {         return;       }     }   }   int main() {     ios_base::sync_with_stdio(0);     cin.tie(0);     cout.tie(0);     long long int N, K;     cin >> N >> K;     for (long long int i = 1; i * i <= N; i++) {       if (N % i == 0) {         allD.push_back(i);         if (i * i != N) {           allD.push_back(N / i);         }       }     }     sort(allD.begin(), allD.end());     for (int i = 0; i < allD.size(); i++) {       for (int j = 0; j <= i; j++) {         if (allD[i] % allD[j] == 0) {           gr[i].push_back(j);         }       }     }     K = min(K, (long long int)LIM);     solve(allD.size() - 1, K);     for (auto u : ans) {       cout << allD[u] <<    ;     }     return 0;   }   