eolymp
bolt
Спробуйте наш новий інтерфейс для відправки розв'язків
Задачі

Зворотній збір бобів

Зворотній збір бобів

Ліміт часу 1 секунда
Ліміт використання пам'яті 64 MiB

Як ми вже казали у попередній задачі, Петя дуже любить гру з горошинами. Гра полягає у тому, що є N чаш, розставлених по колу, і деяка кількість горошин у кожній з них. Кожен хід він бере усі горошини з деякої чаші і послідовно кладе їх по одній у кожну наступну чашу. На першому ході використовуються горошини з першої чаші, а у подальшому з тієї, у яку була поміщена остання горошина на попередньому кроці. Виконавши декілька таких ходів, Петя отримав стан, у якому знову повинен брати горошини з першої чаші. Але тепер він задумався над тим, яка ж позиція була ходом раніше.

Вхідні дані

У першому рядку вхідного файлу задається кількість чаш N (1N10^5). У другому рядку записано N чисел a_i, які визначають кількості горошин у відповідних чашах (0a_i10^9, a_1 = 0) у поточному стані.

Вихідні дані

У єдиний рядок вихідного файлу необхідно вивести N чисел - кількості горошин у відповідних чашах на попередньому ході. Якщо існує декілька варіантів попереднього стану, можна виводити довільний з них. Якщо таких станів не існує, виведіть одне число −1.

Приклад

Вхідні дані #1
8
1 0 3 0 0 3 2 3
Вихідні дані #1
0 0 3 0 4 2 1 2
Автор Віталій Неспірний
Джерело Літня школа Севастополь 2013, Хвиля 2, День 4