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

Восстановление последовательности

Восстановление последовательности

Последовательность \textbf{a} состоит из \textbf{n} целых неотрицательных чисел \textbf{a_i} (\textbf{1} ≤ \textbf{i} ≤ \textbf{n}), каждое из которых строго меньше некоторого простого числа \textbf{p}. По этой последовательности строят последовательность \textbf{b}, \textbf{i}-ый (\textbf{1} ≤ \textbf{i} ≤ \textbf{n}) элемент которой удовлетворяет следующему условию: \textbf{b_i ≡ a_1i^1 + a_2i^2 + ... + a_\{n-1\}i^\{n-1\} + a_ni^n mod p} Даны значения \textbf{b_i} (\textbf{1} ≤ \textbf{i} ≤ \textbf{n}) и \textbf{p}. Требуется восстановить последовательность \textbf{a}. \InputFile В первой строке входного файла записаны простое число \textbf{p} (\textbf{2} ≤ \textbf{p} < \textbf{10^9}) и целое число \textbf{n} (\textbf{1} ≤ \textbf{n} ≤ \textbf{500}). Во второй строке записаны \textbf{n} целых неотрицательных чисел \textbf{b_1}, \textbf{b_2}, ..., \textbf{b_n}, каждое из которых не превосходит \textbf{10^9}. \OutputFile Если последовательности \textbf{a}, удовлетворяющей условию задачи, не существует, выведите одно число \textbf{-1}. Иначе выведите \textbf{n} чисел \textbf{a_1}, \textbf{a_2}, ..., \textbf{a_n} (\textbf{0} ≤ \textbf{a_i} < \textbf{p}). Если подходящих последовательностей несколько, выведите любую из них.
Ліміт часу 0.5 секунд
Ліміт використання пам'яті 256 MiB
Вхідні дані #1
7 2
8 5
Вихідні дані #1
3 5 
Джерело III Міжнародна Літня школа програмування 2012 м. Севастополь