Знищення дронів#11039

Знищення дронів

1 секунда
128 мегабайтів
Дуже легка

Після втечі з гри, Ральфа почали шукати — за ним відправили спеціально навчених дронів. Однак, Ральф не з простих і зайняв оборонну позицію з туреллю в руках.

Оцінивши ситуацію, Ральф зрозумів, що якщо розглянути площину, де він знаходиться в початку координат — точці (, ), то -й дрон знаходиться в точці з координатами (x_i, y_i). Але дрони його помітили, і тепер час діяти. За одну секунду Ральф може вразити з турелі будь-якого дрона, а всі уцілілі дрони після цього можуть пересунутися в будь-яку з сусідніх для них по горизонталі, вертикалі або діагоналі точок (деякі дрони можуть опинитися в точках з однаковими координатами).

Завдання дронів — дістатися до Ральфа, тобто до точки (, ), а завдання Ральфа — вразити всіх дронів, поки вони до нього не дісталися. Ральф гарантує, що не промахнеться і кожним пострілом вразить рівно одного дрона. Він просить вас допомогти визначити, в якому порядку їх вражати. Допоможіть йому — скажіть, в якому порядку вражати дронів, щоб вони не дісталися до точки (, ), або скажіть, що це неможливо, і Ральфу краще рятуватися втечею.

Вхідні дані

У першому рядку міститься кількість дронів (1 \le n \le 10^5). В -му з наступних рядків містяться два числа x_i і y_i — координати -го дрона (|x_i|, |y_i| \le 10^5). Гарантується, що в точці (, ) немає дронів.

Вихідні дані

В одному рядку виведіть чисел від до — номери дронів у порядку, в якому Ральфу потрібно в них стріляти. Якщо ж якийсь дрон у будь-якому випадку дістанеться до точки (, ), виведіть . Якщо існує декілька рішень, виведіть будь-яке з них.

Приклади

Приклад 1

Loading
Loading

Приклад 2

Loading
Loading