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