func_code_string: #include <bits/stdc++.h>   bool solve(int *c, int *ans) {     if (c[5] || c[7]) return false;     while (c[3] > 0) {       c[3]--;       if (!c[1] || !c[6])         return false;       else {         c[1]--, c[6]--;         ans[2]++;       }     }     while (c[1] > 0) {       c[1]--;       if (!c[2])         return false;       else {         c[2]--;         if (!c[4] && !c[6]) return false;         if (c[4] > c[6]) {           c[4]--;           ans[0]++;         } else {           c[6]--;           ans[1]++;         }       }     }     for (int i = 0; i <= 7; ++i)       if (c[i] > 0) return false;     return true;   }   int main() {     int n, t, c[10] = {0};     scanf( %d , &n);     while (n--) {       scanf( %d , &t);       c[t]++;     }     int ans[4] = {0};     if (!solve(c, ans)) {       puts( -1 );     } else {       while (ans[0]--) puts( 1 2 4 );       while (ans[1]--) puts( 1 2 6 );       while (ans[2]--) puts( 1 3 6 );     }     return 0;   }   