#include <bits/stdc++.h>
using namespace std;
struct node {
  int i;
  int j;
  int t;
};
node nodes[800 * 800];
int ans[810];
bool myfunc(node a, node b) { return a.t > b.t; }
int main() {
  ios_base::sync_with_stdio(false);
  int n;
  cin >> n;
  int teams = 2 * n;
  int k = 0;
  int x;
  for (int i = 2; i <= teams; i++) {
    for (int j = 1; j < i; j++) {
      cin >> x;
      nodes[k].i = i;
      nodes[k].j = j;
      nodes[k].t = x;
      k++;
    }
  }
  sort(nodes, nodes + k, myfunc);
  for (int a = 0; a < k; a++) {
    if (ans[nodes[a].i] == 0 && ans[nodes[a].j] == 0) {
      ans[nodes[a].i] = nodes[a].j;
      ans[nodes[a].j] = nodes[a].i;
    }
  }
  for (int i = 1; i <= 2 * n; i++) {
    cout << ans[i] << " ";
  }
  return 0;
}
