Гра, сет і матч
У цій задачі вам потрібно допомогти в обчисленні ймовірності виграшу в тенісі. Ось коротке пояснення того, як працює система підрахунку очок. У тенісному матчі гравці грають певну кількість послідовних сетів. Кожен сет складається з серії геймів (і може включати тай-брейк, якщо це необхідно). Нарешті, кожен гейм складається з очок.
Очки. Кожне очко починається з подачі одного з гравців (тобто удару м'яча в зону подачі на протилежному боці корту) і прийому подачі іншим гравцем. Потім подаючий намагається повернути м'яч на бік подаючого, і гравці по черзі б'ють м'яч через сітку. Коли один з гравців не в змозі зробити правильний удар (наприклад, якщо м'яч вилітає за межі корту), він або вона втрачає очко. Специфіка того, як виграються очки, для нас не важлива.
Гейми. Система підрахунку очок у геймі, м'яко кажучи, своєрідна. Коли гравець виграє очки в геймі, його рахунок змінюється з початкового значення 0 (читається як "любов") на 15, 30 або 40 (так, щойно ви думаєте, що починаєте помічати закономірність у цьому безладі, вона руйнується). Немає заздалегідь визначеного обмеження на тривалість гейму (тобто кількість зіграних очок), але рахунок гравця завжди вказується одним із цих чисел згідно з наступними правилами. Коли гравець має три очки (рахунок 40) і виграє наступне очко, він виграє гейм, якщо початковий рахунок не був 40-40 (читається як "рівно"). Гравець повинен виграти два послідовні очки з рівного, щоб виграти гейм. Виграш одного дає йому перевагу; якщо за ним слідує друге вигране очко, гейм виграний ним, але якщо за ним слідує програне очко, рахунок повертається до рівного.
Приклад: при 40-30, якщо перший гравець виграє наступне очко, він виграє гейм. Однак, якщо другий гравець виграє наступні три очки, гейм його.
Сети. Гравець виграє сет, якщо він виграє щонайменше чотири гейми (в поточному сеті) і випереджає свого суперника на два гейми, але, як ви, можливо, починаєте підозрювати, є ще одне виключення. У випадку, якщо рахунок за кількістю виграних геймів досягає шість-шість (6-6), замість цього грається тай-брейк, щоб вирішити сет. Приклад: при 5-4, якщо перший гравець виграє наступний гейм, він бере сет 6-4. Але якщо він програє, сет все ще не вирішений і може закінчитися 7-5, 5-7 або тай-брейком.
Тай-брейк. Тай-брейк (і сет, до якого він належить) виграється, коли гравець виграє щонайменше сім очок з перевагою в два очки або більше.
Матч. Переможцем матчу стає перший гравець, який виграє 2 сети (перемоги не обов'язково повинні бути послідовними). Отже, матч може тривати 2 або 3 сети в залежності від розвитку гри.
Рафа уважно вивчав свої минулі виступи проти свого наступного суперника і знає, що він виграє кожне очко з ймовірністю точно p, незалежно від того, чи подає він, чи приймає подачу, і незалежно від усіх інших зіграних очок. Чи можете ви допомогти йому оцінити його шанси на перемогу в матчі?
Вхідні дані
Кожен тестовий випадок описується одним числом з плаваючою комою p, 0 ≤ p ≤ 1 в окремому рядку. Значення -1 для p позначає кінець введення.
Вихідні дані
Для кожного тестового випадку виведіть один рядок з ймовірностями виграшу Рафи в даному геймі, сеті та матчі, відповідно. Ці три числа повинні бути розділені пробілом. Ваші відповіді повинні бути точними з абсолютною похибкою 10^{-6}.