#include <bits/stdc++.h>
using namespace std;
multiset<int> x;
vector<int> m[1000005];
int n, y;
int a[950];
int rez[950];
int main() {
  cin >> n;
  for (int i = 1; i <= 900; i++) {
    a[i] = 1;
  }
  for (int i = 2; i <= 2 * n; i++) {
    for (int j = 1; j < i; j++) {
      cin >> y;
      m[y].push_back(i);
      m[y].push_back(j);
      x.insert(y);
    }
  }
  auto it = x.end();
  for (int i = 1; i <= 1000005; i++) {
    if (it == x.begin()) break;
    it--;
    if (a[m[*it][0]] == 1 && a[m[*it][1]] == 1) {
      rez[m[*it][0]] = m[*it][1];
      rez[m[*it][1]] = m[*it][0];
      a[m[*it][0]] = 0;
      a[m[*it][1]] = 0;
    }
  }
  for (int i = 1; i <= 2 * n; i++) {
    cout << rez[i] << " ";
  }
}
