416. Праздник

Не решаласьСредняя

У Вити день рождения, он хочет позвать nn своих друзей в гости на вечер настольных игр. Витя приглашает друзей в некотором порядке, одного за другим.

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

В каком порядке Витя должен приглашать своих друзей, чтобы все они пришли?

Формат ввода

В первой строке входных данных содержится одно целое число nn — количество друзей Вити (1n1051 \leqslant n \leqslant 10^5).

Во второй строке содержится nn целых чисел aia_i — описания требований, при которых ii-й друг примет приглашение (nain,1in-n \leqslant a_i \leqslant n, 1 \leqslant i \leqslant n). Если aia_i неотрицательно, то ii-й друг согласится пойти, когда уже идут aia_i друзей (не считая самого Вити). Если же aia_i отрицательно, то ii-й друг согласится пойти, если уже согласился пойти jj-й друг, где j=aij = -a_i. Друзья нумеруются от 11 до nn в порядке перечисления их требований.

Гарантируется, что если aia_i отрицательно, то aii-a_i \neq i (то есть никакой друг не требует позвать самого себя, прежде чем соглашаться).

Формат вывода

Если невозможно добиться того, чтобы все друзья пришли в гости к Вите, то требуется вывести целое число 00.

В противном случае требуется вывести nn целых чисел — номера друзей в том порядке, в котором Витя должен приглашать их в гости. Если правильных ответов несколько, то разрешается вывести любой из них.

Ограничения

Ограничение времени

1 с

Ограничение памяти

128 МБ

Пример 1

Ввод
3
2 1 0
Вывод
3 2 1 

Пример 2

Ввод
2
1 1
Вывод
0

Пример 3

Ввод
3
0 -3 -1
Вывод
1 3 2 
JavaScript Node.js 20.14
Нужно войти, чтобы отправить решение.Войти