import sys sys.setrecursionlimit(10**8) input = sys.stdin.readline AVE = 5 * 10**17 N = int(input()) AB = [[int(x) for x in input().split()] for _ in range(N)] # INF = float("inf") INF = 1 << 70 operator = [] best_score = (INF, 0) for _ in range(50): tmp_score = INF tmp_i = 0 for i in range(N): a, b = AB[i] score = abs(AVE - (a + AB[0][0]) // 2) + abs(AVE - (b + AB[0][1]) // 2) if score < tmp_score: tmp_score = score tmp_i = i AB[0][0] = (AB[0][0] + AB[tmp_i][0]) // 2 AB[0][1] = (AB[0][1] + AB[tmp_i][1]) // 2 AB[tmp_i][0] = AB[0][0] AB[tmp_i][1] = AB[0][1] operator.append((1, tmp_i + 1)) if best_score[0] > tmp_score: best_score = (tmp_score, len(operator)) print(best_score[1]) for op in operator[: best_score[1]]: print(*op)