C. LRU
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

При создании высоконагруженных систем важную роль играет кэширование данных. В данной задаче пойдёт речь о схеме кэширования LRU (Least Recently Used).

Допустим, размер кэша позволяет хранить не более k объектов. В начале работы программы кэш пуст. При поступлении запроса на обращение к некоторому объекту проверяется его наличие в кэше, и в случае отсутствия объект помещается в кэш. Если после этого в кэше становится больше чем k объектов, то из него удаляется тот объект, который последний раз запрашивался раньше всех, то есть дольше всех не использовался.

Пусть на некотором сервере хранится n видеороликов, причём все видеоролики одинакового размера. Кэш сервера вмещает k видеороликов, и используется схема кэширования, описанная в предыдущем абзаце. Известно, что когда пользователь заходит на сервер и выбирает какой-нибудь ролик для просмотра, вероятность выбрать видеоролик i составляет pi. При этом выбор очередного видеоролика никак не зависит от того, что происходило ранее.

Требуется для каждого видеоролика посчитать вероятность того, что он будет находиться в кэше через 10100 запросов пользователей.

Входные данные

В первой строке входных данных записаны два числа n и k (1 ≤ k ≤ n ≤ 20) — количество видеороликов и размер кэша соответственно. В следующей строке находятся n вещественных чисел pi (0 ≤ pi ≤ 1), заданных с не более чем двумя знаками после запятой.

Гарантируется, что сумма всех pi равняется 1.

Выходные данные

Выведите n вещественных чисел, i-е из которых должно равняться вероятности того, что i-й видеоролик будет находиться в кэше через 10100 операций. Ваш ответ будет считаться правильным, если его абсолютная или относительная ошибка не будет превосходить 10 - 6.

А именно: пусть ваш ответ равен a, а ответ жюри — b. Проверяющая программа будет считать ваш ответ правильным, если .

Примеры
Входные данные
3 1
0.3 0.2 0.5
Выходные данные
0.3 0.2 0.5 
Входные данные
2 1
0.0 1.0
Выходные данные
0.0 1.0 
Входные данные
3 2
0.3 0.2 0.5
Выходные данные
0.675 0.4857142857142857 0.8392857142857143 
Входные данные
3 3
0.2 0.3 0.5
Выходные данные
1.0 1.0 1.0