Ймовірнісне OR
Кожен знає операцію АБО. Давайте визначимо нову операцію, яку ми називатимемо Ймовірнісне АБО. Ми позначатимемо цю операцію як #. Для заданого дійсного числа p (0 ≤ p ≤ 1) та двох бітів a і b:
якщо a = 1 і b = 1, тоді #(a, b) = 1;
якщо a = 0 і b = 0, тоді #(a, b) = 0;
інакше #(a, b) = 0 з ймовірністю p, #(a, b) = 1 з ймовірністю 1-p.
Тепер для двох заданих невід'ємних цілих чисел x і y ми можемо визначити побітову операцію Ймовірнісне АБО. Результатом цієї операції є число, отримане шляхом виконання операції # для кожної пари бітів x і y на тих самих позиціях. Наприклад, для p = 0.5, x = 2, і y = 4, ми отримаємо 0, 2, 4 або 6 кожне з ймовірністю 0.25.
Вам буде надано список невід'ємних цілих чисел. Ви повинні реалізувати програму, яка обчислить очікуване значення результату виконання побітової операції ймовірнісного АБО для всіх цих чисел при заданому p. Числа будуть братися зліва направо.
Вхідні дані
Вхідний файл починається з дійсного числа p (0 ≤ p ≤ 1) з точно двома знаками після десяткової точки. Далі йде ціле число n (1 ≤ n ≤ 100). Наступний рядок містить n чисел ai в порядку, в якому вони беруть участь в операції (0 ≤ a_i ≤ 10^9).
Вихідні дані
Виведіть очікуване значення виконання операції Ймовірнісне АБО для заданих чисел при заданому p. Виведіть результат з двома знаками після десяткової точки.