Відлуння перестановки#13045

Відлуння перестановки

3 секунди
512 мегабайтів
Дуже складна

Вам дано ціле число та масив довжини .

Нехай

m=n+1.

Знайдіть перестановку чисел від до таку, що для кожного (1 \le i \le n) виконується

p_1 \cdot p_2 \cdot \ldots \cdot p_i \equiv b_i \pmod{m}.

Якщо такої перестановки не існує, виведіть -1.

Вхідні дані

У першому рядку задано одне ціле число (1 \le n \le 2 \cdot 10^5).

У другому рядку задано цілих чисел b_1,b_2,\ldots,b_n (0 \le b_i \le n).

Вихідні дані

Якщо така перестановка існує, виведіть цілих чисел p_1,p_2,\ldots,p_n.

Інакше виведіть -1.

Якщо існує кілька таких перестановок, виведіть будь-яку з них.

Приклади

Приклад 1

Loading
Loading

Приклад 2

Loading
Loading

Примітка

У першому прикладі такої перестановки не існує.

У другому прикладі перестановка

p=[1,2,3]

підходить, оскільки її префіксні добутки за модулем дорівнюють

1,\ 2,\ 2.

Оцінювання

  1. Підзадача ( балів): n \le 8.

  2. Підзадача ( балів): n \le 100.

  3. Підзадача ( балів): n+1 є простим числом.

  4. Підзадача ( балів): n \le 5000.

  5. Підзадача ( балів): b_i>0 для кожного .

  6. Підзадача ( балів): Без додаткових обмежень.