func_code_string: #include <bits/stdc++.h>   using namespace std;   #pragma warning(disable : 4996)   #pragma comment(linker,  /STACK:256000000 )   FILE *stream;   const int INF = 1e9 + 7;   const long long INFL = (long long)1e18 + 1;   const int SIZE = 2e5 + 10;   const int TSIZE = 1e3 + 10;   const long double eps = 0.000001;   const long long MOD = 1e9 + 7;   char POW(char a, char b) {     if (b == 0) return 1;     char cur = POW(a, b / 2);     if (b % 2 == 0)       return cur * cur;     else       return cur * cur * a;   }   long long gcd(long long &x, long long &y, long long a, long long b) {     if (a == 0) {       y = 1;       x = 0;       return abs(b);     }     long long x1 = 0, y1 = 0;     long long d = gcd(x1, y1, b % a, a);     x = y1 - (b / a) * x1;     y = x1;     return d;   }   long long gcd(long long a, long long b) {     if (a == 0) {       return abs(b);     }     long long d = gcd(b % a, a);     return d;   }   void accept() {     int n, k, j = 2;     cin >> n >> k;     vector<int> ans;     while (n > 1 && ans.size() < k) {       while (n % j == 0 && ans.size() < k - 1) {         n /= j;         ans.push_back(j);       }       if (n > 1 && ans.size() == k - 1) {         ans.push_back(n);         break;       }       j++;     }     if (ans.size() == k) {       for (int i = 0; i < k; i++) {         cout << ans[i] <<    ;       }     } else {       cout << -1;     }   }   void solution() {     long long t = 1;     for (long long i = 0; i < t; i++) {       accept();     }     return;   }   void test() {     cout <<  100000 n ;     for (int k = 0; k < 100000 - 1; k++) {       cout << k + 1 <<    ;     }     cout <<  100000 n ;   }   int main() {     srand(time(0));     solution();     return 0;   }   