Игра, сет и матч
В этой задаче вам предстоит помочь в вычислении вероятности победы в теннисном матче. Вот краткое объяснение системы подсчета очков. В теннисном матче игроки играют определенное количество последовательных сетов. Каждый сет состоит из серии геймов (и может включать тай-брейк, если это необходимо). Наконец, каждый гейм состоит из очков.
Очки. Каждое очко начинается с подачи одного из игроков (т.е. удара мяча в зону подачи на противоположной стороне корта) и приема подачи другим игроком. Затем подающий пытается вернуть мяч на сторону подающего, и игроки поочередно перебивают мяч через сетку. Когда один из игроков не может сделать правильный возврат (например, если мяч выбивается за пределы корта), он теряет очко. Специфика того, как выигрываются очки, для нас не важна.
Геймы. Система подсчета очков в гейме довольно своеобразна. По мере того как игрок выигрывает очки в гейме, его счет идет от начального значения 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}.