#include <bits/stdc++.h>
using namespace std;
const double PI =
    3.141592653589793238462643383279502884197169399375105820974944592307816406286;
struct State {
  int w, a, b;
  State() {}
  State(int x, int y, int z) {
    w = x;
    a = y;
    b = z;
  }
  bool operator<(const State s) const { return w > s.w; }
};
int main() {
  int N, A, k = 0;
  cin >> N;
  State s[644446];
  for (int i = 1; i < 2 * N; i++)
    for (int j = 0; j < i; j++) {
      cin >> A;
      s[k++] = State(A, i, j);
    }
  sort(s, s + k);
  int p[888], paired = 0;
  memset(p, 0, sizeof(p));
  for (int i = 0; i < k; i++) {
    if (p[s[i].a] || p[s[i].b]) continue;
    p[s[i].a] = s[i].b + 1;
    p[s[i].b] = s[i].a + 1;
  }
  for (int i = 0; i < 2 * N; i++) cout << p[i] << (i < 2 * N - 1 ? " " : "\n");
}
