#include <iostream>
#include <vector>
#include <algorithm>
#include <utility>
using namespace std;

int main(){
    int N;
    cin >> N;
    vector<int> x(N);
    vector<int> y(N);
    for (int i = 0; i < N; i++){
        cin >> x[i] >> y[i];
    }
    vector<pair<pair<int,int>, int>> p(N);
    for (int i = 0; i < N; i++){
        pair<int,int> p_stat = pair<int,int>(x[i], y[i]);
        p[i] = pair<pair<int,int>, int>(p_stat, i);
    }
    sort(p.begin(), p.end());

    cout << N / 2 << endl;
    for (int i = 0; i < N - 1; i += 2){
        cout << p[i].second + 1 << " " << p[i + 1].second + 1 << endl;
    }
}