#include <iostream>
#include <map>
using namespace std;

int main() {
	multimap <double,int> multimap;
	int n;
	cin >> n;
	int element;
	for(int i = 1; i <= n; i++) {
		cin >> element;
		multimap.insert(pair<double,int>(element, i));
	}
	while(multimap.size() != 1) {
		pair<double,int> x = *multimap.begin();
		multimap.erase(multimap.begin());
		pair<double,int> y = *multimap.begin();
		multimap.erase(multimap.begin());
		cout << min(x.second, y.second) << " " << max(x.second, y.second) << endl;
		multimap.insert(pair<double,int>((x.first + y.first) / 2, ++n));
	}
	return 0;
}