N=int(input())
D={};E=[]
for i in range(N):
  x,y=map(int, input().split())
  if y not in D:
    E.append(y)
    D[y]=[]
  D[y].append([x,i+1])

ans=[];f=0
E=sorted(E)[::-1]
F=[]
from collections import deque
d=deque()
for e in E:
  A=D[e]
  A=sorted(A)[::-1]
  for a,b in A:
    d.append((a,b))

s=len(d)//2 
for i in range(s):
  _,x=d.popleft()
  _,y=d.popleft()
  ans.append((x,y))
print(len(ans))
for x,y in ans:
  print(x,y)