func_code_string: #include <bits/stdc++.h>   using namespace std;   int n, sum, cnt[10];   bool check;   void ghi() {     bool check = false;     for (int i = 9; i > -1; i--) {       if (cnt[i] == 0) continue;       if (i != 0) check = true;       if (!i && !check) cnt[i] = 1;       for (int j = 1; j <= cnt[i]; j++) printf( %d , i);     }     printf(  n );   }   int main() {     if (0) {       freopen( a.inp ,  r , stdin);     };     scanf( %d , &n);     int x;     for (int i = 0; i < n; i++) {       scanf( %d , &x);       cnt[x]++;       sum += x;       if (x == 0) check = true;     }     if (!check) {       printf( -1 n );       return 0;     }     if (sum % 3 == 1) {       for (int i = 0; i < 10; i++) {         if (i % 3 != 1 || cnt[i] == 0) continue;         cnt[i]--;         ghi();         return 0;       }       for (int i = 0; i < 10; i++) {         if (i % 3 != 2 || cnt[i] == 0) continue;         cnt[i]--;         for (int j = i; j < 10; j++) {           if (j % 3 != 2 || cnt[j] == 0) continue;           cnt[j]--;           ghi();           return 0;         }       }     } else if (sum % 3 == 2) {       for (int i = 0; i < 10; i++) {         if (i % 3 != 2 || cnt[i] == 0) continue;         cnt[i]--;         ghi();         return 0;       }       for (int i = 0; i < 10; i++) {         if (i % 3 != 1 || cnt[i] == 0) continue;         cnt[i]--;         for (int j = i; j < 10; j++) {           if (j % 3 != 1 || cnt[j] == 0) continue;           cnt[j]--;           ghi();           return 0;         }       }     } else       ghi();   }   