Предсказание

시간 제한4초메모리 제한1024 MB

요약
주어진 점들 중 어떤 점도 지나지 않는 대칭축을 갖는 가장 큰 부분집합을 찾아 출력한다.
난이도

어려움10점 중 8점

유형
기하, 해시맵, 완전 탐색, 정렬
정답자
아직 제출이 없습니다

문제

Как известно, рыцарей подстерегает множество опасностей при спасении принцесс: запутанные дороги в далеких землях, голодные драконы, неприступные башни и, что самое страшное, женитьба на спасенных принцессах и прекращение вольных странствий.

Сэр Петрейн собирается спасти принцессу. Правда, он пока не решил, какую именно. И если героическая кончина в пасти дракона его устраивает, то жениться он пока совсем не хочет. Потому сэр Петрейн отправился в знаменитую Долину Предсказаний. В долине уже много веков живут астрономы-предсказатели из двух древних враждующих школ. Давным-давно, когда первые башни только строились, астрономы возвели Разделительную Стену, которая делила всю долину пополам на две симметричные части.

Сэр Петрейн купил карту долины, на которой отмечены положения всех nn ныне существующих башен, и намеревался дойдя до Стены посетить две любые башни по обе ее стороны. Однако в связи с недавним указом короля о том, что Стена должна быть разобрана на кирпичи для постройки балкона в его замке, сэр Петрейн Стены не нашел. А обиженные астрономы готовы дать ему верное предсказание лишь в том случае, если он поможет им снести некоторые башни и укажет, где им нужно построить новую Стену. Согласно традиции, Стена должна быть осью симметрии для оставшихся башен, причем из-за древней вражды астрономы не хотят, чтобы Стена проходила через какую-то башню (так как непонятно, кому тогда она должна принадлежать). Естественно, астрономы хотят снести как можно меньше башен.

Услышав требования астрономов, сэр Петрейн захворал и уехал из долины, оставив вас, своего оруженосца, защищать честь доблестного рыцаря и помочь астрономам.

입력

Первая строка входного файла содержит число nn --- количество башен в долине (1≤n≤10001 \le n \le 1000). В следующих nn строках содержится по два числа x_ix\_i и y_iy\_i --- координаты соответствующей башни (∣x_i∣,∣y_i∣≤100000|x\_i|, |y\_i| \le 100000).

출력

В первую строку выходного файла выведите число kk - максимальное количество башен, которые можно оставить. Во второй строке выведите kk чисел --- номера этих башен. Если существует несколько групп башен такого размера, выведите любую из них.

예제2

  1. 예제 1

    입력
    3
    0 0
    1 0
    2 0
    
    예상 출력
    2
    1 2
    
  2. 예제 2

    입력
    5
    -1 -1
    -1 1
    1 0
    1 2
    1 -2
    
    예상 출력
    4
    1 5 2 4