Олимпиадный тренинг

Задача . A. Поеду домой


На третьем месяце дистанционного обучения студентке Насте стало скучно, и она решила поехать домой к себе в родной город на пару недель с целью развеяться. Чтобы ей было веселее в дороге, её друг подарил ей массив целых чисел \(a\).

Шел пятый час поездки, и Настя вспомнила про подарок. Чтобы развлечь себя, она решила проверить, можно ли выбрать четыре различных индекса \(x, y, z, w\) таких, что \(a_x + a_y = a_z + a_w\).

Занявшись этим делом, Настя не заметила, как прошло время, и её поезд уже пришел на станцию назначения. Она не успела закончить проверку, но всё ещё хочет узнать истину. Сможете ей помочь?

Входные данные

Первая строка содержит целое число \(n\) (\(4 \leq n \leq 200\,000\)) — количество чисел в массиве.

Вторая строка содержит \(n\) целых чисел \(a_1, a_2, \ldots, a_n\) (\(1 \leq a_i \leq 2.5 \cdot 10^6\)).

Выходные данные

Выведите «YES», если четыре таких индекса существуют, и «NO» иначе.

Если они существуют, далее выведите сами индексы \(x\), \(y\), \(z\) и \(w\) (\(1 \le x, y, z, w \le n\)).

Если возможных ответов несколько, выведите любой.

Примечание

В первом примере \(a_2 + a_3 = 1 + 5 = 2 + 4 = a_1 + a_6\). Обратите внимание, что ответ 2 3 4 6 также подходит.

Во втором примере нельзя выбрать четыре таких индекса. Ответ 1 2 2 3 не подходит, потому что в нем не все индексы различны, хоть и \(a_1 + a_2 = 1 + 3 = 3 + 1 = a_2 + a_3\)


Примеры
Входные данныеВыходные данные
1 6
2 1 5 2 7 4
YES
2 3 1 6
2 5
1 3 1 9 20
NO

time 2000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
Python1
С++ Mingw-w642
Комментарий учителя