Гра, сет і матч#3068

Гра, сет і матч

1 секунда
64 мегабайти
Середня

У цій задачі вам потрібно допомогти обчислити ймовірність виграшу у тенісі. Ось коротке пояснення того, як працює система підрахунку очок. У тенісному матчі гравці грають певну кількість послідовних сетів. Кожен сет складається із серії геймів (і може містити тай-брейк, якщо це потрібно). Нарешті, кожен гейм складається з очок.

Очки. Кожне очко починається з того, що один із гравців подає (тобто влучає м'яч у сервісний квадрат на протилежному боці корту), а інший приймає подачу. Далі подаючий намагається повернути м'яч у свій корт, і гравці по черзі перебивають м'яч через сітку. Коли один із гравців не робить дозволеної подачі (наприклад, коли м'яч вилітає за межі корту), він або вона програє очко. Конкретика того, як виграються очки, для нас неважлива.

Гейми. Система підрахунку очок у геймі досить особлива. Коли гравець виграє очки у геймі, рахунок з початкового значення (читається "лав") зростає до , або . Попередньо визначеної межі на довжину гейму (тобто кількість зіграних очок) немає, але рахунок гравця завжди позначається одним із цих чисел згідно з такими правилами. Коли гравець має три очки (рахунок ) і виграє наступне очко, він виграє гейм, якщо тільки рахунок не був - (читається "рівність") спочатку. Гравець повинен виграти два поспіль очки з рівності, щоб виграти гейм. Виграш одного приносить йому перевагу; якщо за ним послідує ще одна виграна подача, гейм за ним, але якщо наступне очко програне, рахунок повертається до рівності.

Приклад: за рахунку -, якщо перший гравець виграє наступне очко, він виграє гейм. Однак якщо другий гравець виграє наступні три очки, гейм буде за ним.

Сети. Гравець виграє сет, якщо він виграє щонайменше чотири гейми (у поточному сеті) і випереджає свого суперника на два гейми. Якщо рахунок по геймах досягає -, для визначення переможця сету грається тай-брейк. Приклад: за рахунку -, якщо перший гравець виграє наступний гейм, він забирає сет із рахунком -. Якщо програє — сет ще не вирішено і він може зрештою закінчитись -, - або тай-брейком.

Тай-брейк. Тай-брейк (і сет із ним) виграє той, хто першим набирає щонайменше сім очок з перевагою щонайменше у два очки.

Матч. Переможець матчу — перший гравець, який виграє сети (перемоги не обов'язково мають бути підряд). Тому матч може складатись із чи сетів, залежно від перебігу гри.

Рафа уважно проаналізував свої попередні зустрічі з наступним суперником і знає, що виграє кожне очко з ймовірністю рівно , незалежно від того, подає він чи приймає, і незалежно від усіх інших зіграних очок. Чи можете ви допомогти йому оцінити його шанси на перемогу в матчі?

Вхідні дані

Кожен тестовий випадок описується одним дійсним числом , 0 \leq p \leq 1, у окремому рядку. Значення для означає завершення введення.

Вихідні дані

Для кожного тестового випадку виведіть в одному рядку ймовірності того, що Рафа виграє відповідно гейм, сет і матч. Ці три числа слід розділити пробілом. Ваші відповіді мають бути точними з абсолютною похибкою не більше 10^{-6}.

Приклади

Приклад 1

Loading
Loading