#include <bits/stdc++.h>
using namespace std;
int main() {
  int n, z, ans[1000], c = 0;
  map<int, pair<int, int> > x;
  map<int, bool> b;
  map<int, pair<int, int> >::reverse_iterator it;
  cin >> n;
  for (int i = 2; i <= 2 * n; i++)
    for (int j = 1; j < i; j++) cin >> z, x[z] = make_pair(i, j);
  for (it = x.rbegin(); it != x.rend(); it++) {
    if (!b[(*it).second.first] && !b[(*it).second.second]) {
      ans[(*it).second.first] = (*it).second.second;
      ans[(*it).second.second] = (*it).second.first;
      b[(*it).second.first] = b[(*it).second.second] = 1;
      c++;
    }
    if (c == n) break;
  }
  for (int i = 1; i <= 2 * n; i++) cout << ans[i] << " ";
  cout << endl;
  return 0;
}
