#include <bits/stdc++.h>
using namespace std;
const int INF = (int)(INT_MAX - 100);
const int N = (int)(0);
const long long mod = (int)(1e+9 + 7);
int main() {
  int n, F;
  cin >> n;
  vector<pair<int, pair<int, int> > > e;
  vector<bool> used(2 * n + 1);
  vector<int> c(2 * n + 1);
  for (int i = (2); i <= (2 * n); i++) {
    for (int j = (1); j <= (i - 1); j++) {
      cin >> F;
      e.push_back({F, {i, j}});
    }
  }
  sort(e.rbegin(), e.rend());
  for (int it1 = 0; it1 < int(e.size()); it1++) {
    if (used[e[it1].second.first] || used[e[it1].second.second]) continue;
    used[e[it1].second.first] = used[e[it1].second.second] = 1;
    c[e[it1].second.first] = e[it1].second.second;
    c[e[it1].second.second] = e[it1].second.first;
  }
  for (int p = (1); p <= (2 * n); p++) cout << c[p] << " ";
  return 0;
}
