Ничего по телевизору
Нечего смотреть по телевизору? Почему бы не присоединиться к нам в баре на выпивку?
Сообщение на телевизионной программе в одном из отелей Лондона
Джон обожает посещать лондонские пабы. К сожалению, в его доме нет паба, но вокруг их множество. Джон любит ходить в пабы, но это не значит, что он пойдет в любой. Часто, отправляясь в паб, Джон задумывается, что выбрал не тот и ему стоило бы пойти в другой.
Недавно Джон встретил своего друга, психолога и математика Джека, и поделился с ним своей проблемой. Они провели исследование и выяснили, когда Джон считает, что идет не в тот паб. Представим пабы как точки на плоскости, где дом Джона находится в точке (0, 0), а пабы расположены в точках (x_i, y_i). Рассмотрим i-й паб, находящийся в (x_i, y_i), и нарисуем окружность с отрезком (0, 0)-(x_i, y_i) в качестве диаметра.
Назовем такой паб хорошим, если внутри этой окружности или на ее границе не находится другой хороший паб. Джон чувствует себя комфортно только тогда, когда идет в хороший паб.
Теперь Джон и Джек хотят узнать, в какие пабы Джон может пойти, не сомневаясь в своем выборе. Помогите им!
Входные данные
Первая строка входного файла содержит n — количество пабов в окрестностях Джона (1 ≤ n ≤ 100000). Следующие n строк содержат по два целых числа x_i и y_i (|x_i|, |y_i| ≤ 30000). Ни два паба не совпадают. Паба в точке (0, 0) нет.
Выходные данные
Первая строка выходного файла должна содержать k — количество хороших пабов. Вторая строка должна содержать k целых чисел — номера этих пабов. Пабы нумеруются начиная с 1 в порядке их перечисления во входном файле.
Обратите внимание, что паб в точке (1, 1) находится внутри окружности для паба в точке (-1, 4), но этот паб не является хорошим, поэтому он не важен.