#include <bits/stdc++.h>
using namespace std;
int main() {
  int n, i = 0, j = 0;
  scanf("%d", &n);
  int st;
  map<int, pair<int, int> > strength;
  for (i = 2; i <= 2 * n; i++) {
    for (j = 1; j < i; j++) {
      scanf("%d", &st);
      strength[st] = make_pair(i, j);
    }
  }
  map<int, pair<int, int> >::reverse_iterator it;
  map<int, int> pairs;
  for (it = strength.rbegin(); it != strength.rend(); it++) {
    pair<int, int> p = it->second;
    if (pairs.find(p.first) != pairs.end() ||
        pairs.find(p.second) != pairs.end()) {
      continue;
    } else {
      pairs[p.first] = p.second;
      pairs[p.second] = p.first;
    }
    if (pairs.size() == 2 * n) {
      break;
    }
  }
  for (i = 1; i <= 2 * n; i++) {
    printf("%d ", pairs[i]);
  }
  printf("\n");
}
