eolymp
bolt
Спробуйте наш новий інтерфейс для відправки розв'язків
Задачі

Голодний ферзь

Голодний ферзь

Розглянемо нескінчену шахову дошку, поля на якій задаються парами чисел: (\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 секунда
Ліміт використання пам'яті 64 MiB
Вхідні дані #1
4
1 1
4 3
-1 3
4 2
Вихідні дані #1
3
1 3 2