func_code_string: #include <bits/stdc++.h>   using namespace std;   long long dp[20];   int main() {     memset(dp, 0, sizeof(dp));     long long n, i, dig;     cin >> dig;     cin >> n;     while (n != 0) {       long long r = n % 10;       if (r == 0 || r == 1) {         n = n / 10;         continue;       }       if (r >= 9) dp[3] += 2;       if (r >= 8) dp[2] += 3;       if (r >= 7) dp[7] += 1;       if (r >= 6) {         dp[2] += 1;         dp[3] += 1;       }       if (r >= 5) dp[5] += 1;       if (r >= 4) dp[2] += 2;       if (r >= 3) dp[3] += 1;       if (r >= 2) dp[2] += 1;       n = n / 10;     }     vector<long long> v;     while (dp[7] >= 1 && dp[5] >= 1 && dp[3] >= 2 && dp[2] >= 4) {       v.push_back(7);       dp[7] -= 1;       dp[5] -= 1;       dp[3] -= 2;       dp[2] -= 4;     }     while (dp[5] >= 1 && dp[3] >= 1 && dp[2] >= 3) {       v.push_back(5);       dp[5] -= 1;       dp[3] -= 1;       dp[2] -= 3;     }     while (dp[3] >= 1 && dp[2] >= 1) {       v.push_back(3);       dp[3] -= 1;       dp[2] -= 1;     }     while (dp[2] >= 1) {       v.push_back(2);       dp[2] -= 1;     }     for (i = 0; i < v.size(); i++) {       cout << v.at(i);     }   }   