#include <bits/stdc++.h>
using namespace std;
int main() {
  int n, s, o = 0;
  cin >> n;
  int nn = (2 * n) * (2 * n - 1) / 2;
  pair<int, pair<int, int> > arr[nn];
  for (int i = 0; i < 2 * n; i++) {
    for (int j = 0; j < i; j++) {
      cin >> s;
      arr[o] = pair<int, pair<int, int> >(s, pair<int, int>(i, j));
      o++;
    }
  }
  sort(arr, arr + nn);
  bool flag[2 * n];
  int num[2 * n];
  for (int i = 0; i < 2 * n; i++) {
    flag[i] = true;
  }
  for (int i = nn - 1; i >= 0; i--) {
    if (flag[arr[i].second.second] && flag[arr[i].second.first]) {
      num[arr[i].second.second] = arr[i].second.first;
      num[arr[i].second.first] = arr[i].second.second;
      flag[arr[i].second.second] = false;
      flag[arr[i].second.first] = false;
    }
  }
  for (int i = 0; i < 2 * n; i++) {
    cout << num[i] + 1 << " ";
  }
  return 0;
}
