#include <bits/stdc++.h>
using namespace std;
int main() {
  ios::sync_with_stdio(0);
  cin.tie(0);
  int n;
  cin >> n;
  map<int, int> mapa;
  int paila = false;
  for (int i = 0; i < n; ++i) {
    int t;
    cin >> t;
    mapa[t]++;
  }
  if (mapa[5] || mapa[7]) paila = true;
  if (!paila) {
    vector<int> ans;
    int n2 = n;
    while (n2) {
      if (mapa[1] && mapa[2] && mapa[4]) {
        mapa[1]--;
        mapa[2]--;
        mapa[4]--;
        ans.push_back(1);
        ans.push_back(2);
        ans.push_back(4);
      } else if (mapa[1] && mapa[2] && mapa[6]) {
        mapa[1]--;
        mapa[2]--;
        mapa[6]--;
        ans.push_back(1);
        ans.push_back(2);
        ans.push_back(6);
      } else if (mapa[1] && mapa[3] && mapa[6]) {
        mapa[1]--;
        mapa[3]--;
        mapa[6]--;
        ans.push_back(1);
        ans.push_back(3);
        ans.push_back(6);
      } else {
        cout << -1;
        return 0;
      }
      n2 -= 3;
    }
    for (int i = 2; i < n; i += 3) {
      cout << ans[i - 2] << " " << ans[i - 1] << " " << ans[i] << endl;
    }
  } else
    cout << -1;
  return 0;
}
