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

Дискретне перетворення Фур`є - 2

Дискретне перетворення Фур`є - 2

\includegraphics{https://static.e-olymp.com/content/d0/d039aaa5a6ab4d239cf99ce0e8d757e8a893544b.jpg} У цій задачі вам потрібно здійснити дискретне перетворення Фур'є для многочлену . Нагадаємо, що дискретне перетворення Фур'є - це вектор \textbf{y = (y_0, y_1, ..., y_\{n-1\})}, коефіцієнти якого обчислюються по формулі: \includegraphics{https://static.e-olymp.com/content/93/9323e6ea35576332c6d3abf00d416a801c0a01e3.jpg} . Для простоти будем вважати, що \textbf{a_0=X}, а починаючи з \textbf{k=1}, виконується: \textbf{a_k = (Ya_\{k-1\}+Z) mod T}, де \textbf{X}, \textbf{Y}, \textbf{Z}, \textbf{T} - задані числа, а \textbf{mod} позначає операцію взяття залишку по модулю. \InputFile У першому рядку вхідних даних записано п'ять цілих чисел: \textbf{n}, \textbf{X}, \textbf{Y}, \textbf{Z}, \textbf{T} (\textbf{1} ≤ \textbf{n} ≤ \textbf{10^7}, \textbf{1} ≤ \textbf{X}, \textbf{Y}, \textbf{Z}, \textbf{T} ≤ \textbf{10^6}). \OutputFile \includegraphics{https://static.e-olymp.com/content/94/94dbefa86e3c22de28ef5fc171093f7662bf81b2.jpg} Виведіть єдине число з відносною чи абсолютною похибкою, яка не перевищує \textbf{10^\{-6\}}, де \textbf{real()} позначає дійсну частину, а \textbf{imag()} --- уявну.
Ліміт часу 0.5 секунд
Ліміт використання пам'яті 64 MiB
Вхідні дані #1
2 7 4 3 8
Вихідні дані #1
14.0000000000
Автор Євген Соболєв
Джерело Літня школа Севастополь 2013, Хвиля 1, День 5