#include <bits/stdc++.h>
int main() {
  int N, M, i, j, k;
  int maxi, max, maxj;
  int A[801][801] = {0};
  int part[801] = {0};
  scanf("%d", &N);
  for (i = 2; i <= 2 * N; i++)
    for (j = 1; j < i; j++) scanf("%d", &A[i][j]);
  for (k = 1; k <= N; k++) {
    maxi = 2;
    maxj = 1;
    max = 0;
    for (i = 2; i <= 2 * N; i++) {
      if (part[i] == 0) {
        for (j = 1; j < i; j++)
          if (A[i][j] > max && part[j] == 0) {
            max = A[i][j];
            maxi = i;
            maxj = j;
          }
      }
    }
    part[maxi] = maxj;
    part[maxj] = maxi;
  }
  for (i = 1; i <= 2 * N; i++) printf("%d ", part[i]);
  printf("\n");
  return 0;
}
