N=int(input()) Points=[list(map(int,input().split()))+[i+1] for i in range(N)] Points.sort(key=lambda x:x[1]) Points.sort(key=lambda x:x[0]) res=[] ans=N//2 from collections import deque q=deque(Points) while len(q)>=2: _,_,i=q.popleft() _,_,j=q.popleft() res.append((i,j)) print(ans) for c in res: print(*c)