#include <bits/stdc++.h>
using namespace std;
int ans[810];
priority_queue<pair<int, int> > q[810];
int main() {
  int n, i, j, x;
  scanf("%d", &n);
  for (i = 2; i <= 2 * n; i++)
    for (j = 1; j < i; j++) {
      scanf("%d", &x);
      q[i].push(make_pair(x, j));
      q[j].push(make_pair(x, i));
    }
  for (j = 1; j <= 2 * n; j++)
    for (i = 1; i <= 2 * n; i++) {
      if (ans[q[i].top().second] != 0) q[i].pop();
      if (!q[i].empty())
        if (!q[q[i].top().second].empty())
          if (q[q[i].top().second].top().second == i && ans[i] == 0 &&
              ans[q[i].top().second] == 0) {
            ans[i] = q[i].top().second;
            ans[q[i].top().second] = i;
            while (!q[q[i].top().second].empty()) q[q[i].top().second].pop();
            while (!q[i].empty()) q[i].pop();
          }
    }
  for (i = 1; i <= 2 * n; i++) printf("%d ", ans[i]);
  printf("\n");
  return 0;
}
