Известен набор событий, заданных массивом целых чисел ai.
Вы считаете, что из события с номером i можно было предвидеть событие с номером j, если верны оба условия:
Цепочка событий, где каждое следующее можно было предвидеть из предыдущего, вы называете заговором.
Докажите всем, что ваша теория заговора не является лишь теорией — найдите заговор, состоящий из наибольшего количества событий.
В первой строке содержится целое число n (1 ≤ n ≤ 106) — количество событий.
Во второй строке содержится n целых чисел a1, a2, ..., an (1 ≤ aj ≤ 2·106) —параметры событий.
В первой строке выведите целое число k (1 ≤ k ≤ n) — максимально возможный размер заговора.
Во второй строке выведите через пробел k целых чисел pj (1 ≤ pj ≤ n) — номера этих событий в порядке предвидения.
В случае, если заговоров максимального размера несколько, выведите любой из них.
5
1 2 3 4 5
2
2 4
8
8 7 10 3 6 5 3 11
4
4 5 1 3
3
2 2 2
1
1
Первый тестовый пример
Последовательность [2;4] является заговором, так как из события a2 = 2 можно предсказать a4 = 4:
(
— наибольший общий делитель). Второй тестовый пример
Последовательность [4;5, 1, 3] является заговором, так как:
;
;
. Третий тестовый пример
В данном примере заговор из двух любых событий невозможен, так как все ai равны между собой.
В то же время любое событие формально является заговором само по себе, поэтому размер ответа всегда не менее 1.