#include <bits/stdc++.h>
using namespace std;
vector<pair<long long, pair<long long, long long> > > v;
int main() {
  long long no_t, value;
  cin >> no_t;
  long long lines = 2 * no_t;
  for (int i = 2; i <= lines; i++) {
    for (int j = 1; j < i; j++) {
      cin >> value;
      v.push_back(make_pair(value, make_pair(i, j)));
    }
  }
  int temp = 0, t1, t2;
  long long arr[1001];
  while (temp != no_t) {
    long long maxi = 0;
    long long index;
    for (long long i = 0; i < v.size(); i++) {
      if (v[i].first > maxi) {
        maxi = v[i].first;
        index = i;
      }
    }
    t1 = v[index].second.first;
    t2 = v[index].second.second;
    arr[t1] = t2;
    arr[t2] = t1;
    for (int i = 0; i < v.size(); i++) {
      if (v[i].second.first == t1 || v[i].second.second == t1 ||
          v[i].second.first == t2 || v[i].second.second == t2)
        v[i].first = INT_MIN;
    }
    temp++;
  }
  for (int i = 1; i <= no_t * 2; i++) cout << arr[i] << " ";
}
