fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. #define ms(s,n) memset(s,n,sizeof(s))
  5. #define all(a) a.begin(),a.end()
  6. #define present(t, x) (t.find(x) != t.end())
  7. #define sz(a) int((a).size())
  8. #define FOR(i, a, b) for (int i = (a); i < (b); ++i)
  9. #define FORd(i, a, b) for (int i = (a) - 1; i >= (b); --i)
  10. #define pb push_back
  11. #define pf push_front
  12. #define fi first
  13. #define se second
  14. #define mp make_pair
  15.  
  16. typedef long long ll;
  17. typedef unsigned long long ull;
  18. typedef long double ld;
  19. typedef pair<int,int> pi;
  20. typedef vector<int> vi;
  21. typedef vector<pi> vii;
  22.  
  23. const int MOD = (int) 1e9+7;
  24. const int INF = (int) 1e9+1;
  25. inline ll gcd(ll a,ll b){ll r;while(b){r=a%b;a=b;b=r;}return a;}
  26. inline ll lcm(ll a,ll b){return a/gcd(a,b)*b;}
  27.  
  28. void solve(string s, int n){
  29. string res ="";
  30. for(char x : s){
  31. if(x == '4'){
  32. res += "322";
  33. }
  34. else if(x == '6'){
  35. res += "35";
  36. }
  37. else if(x == '8'){
  38. res += "2227";
  39. }
  40. else if(x == '9'){
  41. res += "3327";
  42. }
  43. else if(x != '1' && x!= '0') res += x;
  44. }
  45. sort(res.begin(), res.end(), greater<char>());
  46. cout << res << endl;
  47. }
  48.  
  49. int main(){
  50. int t; cin >> t;
  51. while(t--){
  52. int n; cin >> n;
  53. string s; cin >> s;
  54. solve(s, n);
  55. }
  56. }
Success #stdin #stdout 0.01s 5356KB
stdin
1
16 23456789112345678
stdout
777775555333333332222222222222