#include <bits/stdc++.h>
using namespace std;
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(0);
  int n;
  cin >> n;
  cin.ignore();
  set<int> skup[n + 1];
  for (int i = 0; i < n - 2; i++) {
    int a, b, c;
    cin >> a;
    cin.ignore();
    cin >> b;
    cin.ignore();
    cin >> c;
    cin.ignore();
    skup[a].insert(b);
    skup[a].insert(c);
    skup[b].insert(a);
    skup[b].insert(c);
    skup[c].insert(a);
    skup[c].insert(b);
  }
  vector<int> v;
  int h1;
  for (h1 = 1; h1 <= n; h1++)
    if (skup[h1].size() == 2) break;
  int h2 = 0;
  int h3 = 0;
  if (skup[*skup[h1].begin()].size() == 3)
    h2 = *skup[h1].begin();
  else
    h3 = *skup[h1].begin();
  skup[h1].erase(*skup[h1].begin());
  if (h2 == 0)
    h2 = *skup[h1].begin();
  else
    h3 = *skup[h1].begin();
  skup[h1].insert(h3);
  skup[h1].erase(h2);
  skup[h2].erase(h1);
  v.push_back(h1);
  v.push_back(h2);
  v.push_back(h3);
  for (int i = 1; i < n - 2; i++) {
    skup[h1].erase(h3);
    skup[h2].erase(h3);
    skup[h3].erase(h1);
    skup[h3].erase(h2);
    int h4 = *skup[h2].begin();
    h1 = h2;
    h2 = h3;
    h3 = h4;
    v.push_back(h4);
  }
  for (int i = 0; i < v.size(); i++) cout << v[i] << ' ';
}
