Розглянемо нескінчену шахову дошку, поля на якій задаються парами чисел: (, ). Чорний ферзь спочатку знаходиться на полі (, ). Ферзь може переміщуватись по горизонталі, вертикалі чи діагоналі, але при цьому не може переміщуватись донизу. А саме, після кожного ходу -координата поля, на якому він знаходиться, повинна бути більшою або рівною -координати поля, на якому він був перед цим ходом.
На дошці також знаходиться білих пішаків, вони розміщені на полях з координатами (x_i, y_i), де y_i > 0.
Ферзь хоче взяти якомога більше пішаків. Білі пішаки не переміщуються, і ферзь може зробити стільки послідовних ходів, скільки потрібно. Проте в результаті кожного ходу ферзь повинен брати пішака. Перестрибувати через пішака не дозволяється.
З'ясуйте, яку максимальну кількість пішаків ферзь може взяти, і які пішаки у якому порядку потрібно брати.
Перший рядок вхідного файлу містить — кількість пішаків (1 \leq n \leq 50000). Наступні рядків містять по два числа — координати (x_i, y_i) пішаків (|x_i| \leq 10^9, 0 < y_i \leq 10^9). Жодні два пішаки не знаходяться на одному і тому ж полі.
Перший рядок вихідного файлу повинен містити число — кількість пішаків, які може взяти ферзь. Другий рядок повинен містити цілих чисел — номери пішаків у тому порядку, у якому їх потрібно брати. Пішаки нумеруються у тому ж порядку, у якому вони задані у вхідному файлі.
Приклад 1