import sys input = sys.stdin.readline N = int(input()) X, Y = [0] * N, [0] * N M = 8005 D = [[] for i in range(M)] for i in range(N): X[i], Y[i] = map(int, input().split()) D[Y[i]].append((X[i], i)) ans = [] pre = -1 for i in range(M): if not D[i]: continue D[i].sort() if pre != -1: _, z = D[i].pop() ans.append((pre, z + 1)) while len(D[i]) >= 2: _, z = D[i].pop() _, w = D[i].pop() ans.append((z + 1, w + 1)) if D[i]: _, pre = D[i].pop() pre += 1 else: pre = -1 print(len(ans)) for a, b in ans: print(a, b)