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