#include <bits/stdc++.h>
using namespace std;
int a;
int d[8];
int main() {
  int n;
  cin >> n;
  memset(d, 0, sizeof(int));
  for (int i = 0; i < n; i++) {
    cin >> a;
    d[a]++;
  }
  if (2 * d[1] == d[2] + d[4] + d[3] + d[6] && d[2] + d[3] >= d[6] &&
      d[2] >= d[4] && d[2] >= d[4] + d[6] - d[3] &&
      ((d[2] > 0 && (d[4] > 0 || d[6] > 0)) || (d[3] > 0 && d[6] > 0)) &&
      d[5] == 0 && d[7] == 0) {
    for (int i = 0; i < n / 3; i++) {
      int last = 1;
      for (int i = last; i < 7; i++) {
        if (d[i] > 0 && i % last == 0) {
          cout << i << " ";
          last = i;
          d[i]--;
        }
      }
      cout << endl;
    }
  } else
    cout << -1;
  return 0;
}
