#include <bits/stdc++.h>
using namespace std;
struct p {
  int a, b;
  int s;
};
bool comp(p i, p j) { return i.s > j.s; }
vector<p> v;
bool b[1000];
int c[1000];
int main() {
  int n;
  cin >> n;
  for (int i = 1; i < 2 * n + 1; i++)
    for (int j = 1; j < i; j++) {
      int m;
      cin >> m;
      p tmp;
      tmp.a = i;
      tmp.b = j;
      tmp.s = m;
      v.push_back(tmp);
    }
  sort(v.begin(), v.end(), comp);
  for (const p a : v) {
    int x = a.a;
    int y = a.b;
    if (b[x] || b[y]) continue;
    c[x] = y;
    c[y] = x;
    b[x] = b[y] = 1;
  }
  for (int i = 1; i < 2 * n + 1; i++) cout << c[i] << " ";
}
