n = int(input()) ls = [list(map(int, input().split())) for _ in range(n)] md = [0] * n for i in range(n): xi, yi = ls[i] d = 1 << 30 for j in range(n): if i == j: continue xj, yj = ls[j] d = min(d, (xi-xj)**2+(yi-yj)**2) md[i] = d order = [i for i in range(n)] order.sort(key = lambda x: [md[x], ls[x][0]]) ans = [] flg = [0] * n print(n//2) for i in order: if flg[i]: continue flg[i] = 1 cnd = -1 d = 1 << 30 xi, yi = ls[i] for j in range(n): if flg[j]: continue xj, yj = ls[j] if d > (xi - xj) ** 2 + (yi - yj) ** 2: d = (xi - xj) ** 2 + (yi - yj) ** 2 cnd = j if cnd != -1: print(i + 1, cnd + 1) flg[cnd] = 1