Задачи
Раздвоение
Раздвоение
Обозначим две последовательности действительных чисел \textbf{x}(\textbf{k}) и \textbf{y}(\textbf{k}). Определим последовательность комплексных чисел \textbf{z}(\textbf{k}): \textbf{z}(\textbf{k}) = \textbf{x}(\textbf{k}) + \textbf{iy}(\textbf{k}).
\includegraphics{https://static.e-olymp.com/content/9a/9ab843ceb0f04a2f1ae7997a561ebdd426585517.jpg}
Пусть \textbf{FFT_N}(\textbf{k}, \textbf{z}) = . Аналогичным образом определяются \textbf{FFT_N}(\textbf{k}, \textbf{x}) и \textbf{FFT_N}(\textbf{k}, \textbf{y}).
Требуется по вычисленным значениям \textbf{FFT_N}(\textbf{k}, \textbf{z}) восстановить значения \textbf{FFT_N}(\textbf{k}, \textbf{x}) и \textbf{FFT_N}(\textbf{k}, \textbf{y}).
\InputFile
В первой строке входного файла записано целое число \textbf{N} (\textbf{1} ≤ \textbf{N} ≤ \textbf{2^30}, \textbf{N} является степенью двойки). Далее следуют целые неотрицательные числа \textbf{A}, \textbf{B}, \textbf{C}, \textbf{D}, \textbf{E}, \textbf{F}, не превосходящие \textbf{1000}. Для экономии времени ввода значения \textbf{FFT_N}(\textbf{k}, \textbf{z}) нужно будет вычислять по следующим формулам:
\textbf{FFT_N}(\textbf{k}, \textbf{z})\textbf{.real} = ((\textbf{A} + \textbf{B}·\textbf{k}) \textbf{xor} (\textbf{C}·\textbf{k}))·\textbf{10^\{-3\}}, \textbf{FFT_N}(\textbf{k}, \textbf{z})\textbf{.imag} = ((\textbf{D} + \textbf{E}·\textbf{k}) \textbf{xor} (\textbf{F}·\textbf{k}))·\textbf{10^\{-3\}},
где \textbf{FFT_N}(\textbf{k}, \textbf{z})\textbf{.real} и \textbf{FFT_N}(\textbf{k}, \textbf{z})\textbf{.imag} --- действительная и мнимая части соответственно.
Затем дано число \textbf{M} --- количество запросов (\textbf{1} ≤ \textbf{M} ≤ \textbf{10^5}). Далее следуют \textbf{M} целых чисел \textbf{q_i} (\textbf{0} ≤ \textbf{q_i} ≤ \textbf{N}).
\OutputFile
В выходной файл выведите \textbf{M} строк. В \textbf{j}-ой строке --- значения \textbf{FFT_N}(\textbf{q_j}, \textbf{x}) и \textbf{FFT_N}(\textbf{g_j}, \textbf{y}). Значения должны отличаться от правильных не более, чем на \textbf{10^\{-4\}}.
Входные данные #1
2 1000 0 0 0 0 0 2 0 1
Выходные данные #1
1.0000 0.0000 0.0000 0.0000 1.0000 0.0000 0.0000 0.0000