Ваш друг подарил вам на день рождения бесконечное количество слизней толщины 1 и 2, и вы решили поиграть, используя этих слизней.
Вы разбиваете подоконник на n ячеек и выбираете некоторое целое число p, которое будет использоваться в игре. Затем, до тех пор пока в последней ячейке нет слизня, выполняется следующая последовательность действий:
- С вероятностью
выбирается слизень толщины 1, а с вероятностью
выбирается слизень толщины 2. Выбранный слизень помещается в ячейку номер n. - Вы последовательно перемещаете нового слизня влево, то есть в направлении ячейки с номером 1. Если он сталкивается с другим слизнем, который при этом имеет одинаковую с ним толщину v, то они объединяются в одного слизня толщины v + 1. Так продолжается до тех пор, пока слизень не дойдет до конца доски или не столкнётся со слизнем, толщина которого отлична от его значения.
Вы играли в эту игру несколько раз, и она вам наскучила. Теперь вы хотите для данных значений n и p вычислить математическое ожидание суммы значений толщины всех слизней на подоконнике после завершения игры.
Выходные данные
Выведите математическое ожидание суммарной толщины всех слизней на доске после завершения игры. Ваш ответ будет считаться правильным, если его абсолютная или относительная ошибка не будет превосходить 10 - 4.
А именно: пусть ваш ответ равен a, а ответ жюри — b. Проверяющая программа будет считать ваш ответ правильным, если
.
Примечание
В первом примере подоконник разбит на две ячейки, при этом с вероятностью 0.5 мы добавляем слизня толщины 1, а с вероятностью 0.5 — толщины 2.
В конце игры подоконник может выглядеть как 1 2 с вероятностью 0.25, 2 1 с вероятностью 0.375, 3 2 с вероятностью 0.1875, 3 1 с вероятностью 0.1875. Таким образом математическое ожидание равно (1 + 2)·0.25 + (2 + 1)·0.375 + (3 + 2)·0.1875 + (3 + 1)·0.1875 = 3.5625.
Примеры
| № | Входные данные | Выходные данные |
|
1
|
2 500000000
|
3.562500000000000
|
|
2
|
10 1
|
64.999983360007620
|
|
3
|
100 123456789
|
269.825611298854770
|