#include #include #include #include #include #include using namespace std; int main(){ int N; cin >> N; assert((2 <= N && N <= 8000)); vector x(N); vector y(N); map, int> mp; for (int i = 0; i < N; i++){ cin >> x[i] >> y[i]; assert((0 <= x[i] && x[i] <= 8000)); assert((0 <= y[i] && y[i] <= 8000)); assert((mp[pair(x[i], y[i])] == 0)); mp[pair(x[i], y[i])]++; } vector, int>> p(N); for (int i = 0; i < N; i++){ pair p_stat = pair(x[i], y[i]); p[i] = pair, 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; } }