#include <bits/stdc++.h>
using namespace std;
int main() {
  long long int n, mark[1000005] = {0};
  cin >> n;
  vector<pair<long long int, pair<long long int, long long int>>> v;
  vector<long long int> vv;
  for (long long int i = 0; i < 2 * n - 1; i++) {
    for (long long int j = 0; j < i + 1; j++) {
      long long int x;
      cin >> x;
      vv.push_back(x);
      pair<long long int, long long int> p = make_pair(i + 1, j);
      v.push_back(make_pair(x, p));
    }
  }
  sort(v.begin(), v.end());
  for (long long int i = v.size() - 1; i >= 0; i--) {
    if (!mark[v[i].second.first] && !mark[v[i].second.second]) {
      mark[v[i].second.second] = v[i].second.first + 1;
      mark[v[i].second.first] = v[i].second.second + 1;
    }
  }
  for (long long int i = 0; i <= 2 * n - 1; i++) cout << mark[i] << " ";
  return 0;
}
