#include <bits/stdc++.h>
using namespace std;
bool was[123456];
int ans[123456];
int main() {
  int n;
  scanf("%d", &n);
  vector<pair<int, pair<int, int> > > v(n);
  for (int i = 1; i < 2 * n; i++) {
    for (int j = 0; j < i; j++) {
      int x;
      scanf("%d", &x);
      v.push_back({x, {i + 1, j + 1}});
    }
  }
  sort(v.begin(), v.end());
  for (int i = v.size() - 1; i >= 0; i--) {
    if (!was[v[i].second.first] && !was[v[i].second.second]) {
      ans[v[i].second.first] = v[i].second.second;
      ans[v[i].second.second] = v[i].second.first;
      was[v[i].second.first] = true;
      was[v[i].second.second] = true;
    }
  }
  for (int i = 1; i <= 2 * n; i++) {
    printf("%d ", ans[i]);
  }
  return 0;
}
