이 문제에서는 테니스 경기에서 이길 확률을 계산하는 일을 돕는다. 먼저 득점 방식을 간단히 설명한다. 테니스 경기에서 두 선수는 여러 개의 세트(set)를 연달아 치른다. 각 세트는 여러 개의 게임(game)으로 이루어지며, 필요하면 타이브레이크(tie-break)를 포함할 수 있다. 그리고 각 게임은 여러 개의 포인트(point)로 이루어진다.
포인트. 각 포인트는 한 선수가 서브를 넣으면서(즉, 반대편 코트의 서비스 박스 안으로 공을 쳐 넣으면서) 시작되고, 다른 선수가 그 서브를 받는다. 이어서 서브를 넣은 선수는 공을 자신의 코트로 되받아 넘기려 하고, 두 선수는 번갈아 공을 네트 너머로 넘긴다. 한 선수가 규칙에 맞게 공을 넘기지 못하면(예를 들어 공이 코트 밖으로 나가면) 그 포인트를 잃는다. 포인트를 얻는 구체적인 방법은 이 문제에서 중요하지 않다.
게임. 한 게임에서 포인트를 얻을 때마다 점수는 처음 값인 0(러브)에서 15, 30, 40으로 올라간다. 한 게임의 포인트 수에는 미리 정해진 상한이 없지만, 점수는 항상 다음 규칙에 따라 이 숫자들로 표시된다. 어떤 선수가 세 포인트(점수 40)를 얻은 상태에서 다음 포인트도 얻으면 그 게임을 이긴다. 단, 점수가 40-40(듀스)인 경우는 예외이다. 듀스에서는 게임을 이기려면 두 포인트를 연속으로 얻어야 한다. 한 포인트를 얻으면 어드밴티지를 갖고, 이어서 한 포인트를 더 얻으면 게임을 이기지만, 그 포인트를 잃으면 점수는 다시 듀스로 돌아간다.
예: 40-30에서 첫 번째 선수가 다음 포인트를 얻으면 게임을 이긴다. 반대로 두 번째 선수가 다음 세 포인트를 연속으로 얻으면 그 게임은 두 번째 선수의 것이 된다.
세트. 한 선수가 그 세트에서 게임을 6개 이상 이기고 상대보다 2게임 이상 앞서면 세트를 이긴다. 다만 한 가지 예외가 있다. 게임 스코어가 6-6이 되면 세트를 결정하기 위해 대신 타이브레이크를 치른다. 예: 5-4에서 첫 번째 선수가 다음 게임을 이기면 6-4로 세트를 가져간다. 하지만 지면 세트는 아직 정해지지 않았고, 결국 7-5, 5-7 또는 타이브레이크로 갈 수 있다.
타이브레이크. 타이브레이크(그리고 그것이 속한 세트)는 한 선수가 포인트를 7점 이상 얻고 2점 이상 차이로 앞서면 이긴다.
매치. 매치의 승자는 세트를 먼저 2개 이기는 선수이다(연속일 필요는 없다). 따라서 매치는 경기 전개에 따라 2세트 또는 3세트로 끝난다.
라파는 다음 상대와의 지난 경기들을 분석해서, 서브를 넣든 받든, 그리고 다른 모든 포인트와 무관하게, 각 포인트를 정확히 확률 $p$로 이긴다는 것을 알고 있다. 라파가 매치를 이길 확률을 계산하는 것을 도와줄 수 있는가?
각 테스트 케이스는 한 줄에 실수 $p$ 하나로 주어지며, $0 \le p \le 1$이다. 값이 $-1$인 줄은 입력의 끝을 나타낸다.
각 테스트 케이스마다 한 줄에 세 개의 수를 출력한다. 각각 라파가 게임, 세트, 매치를 이길 확률이며, 하나의 공백으로 구분한다. 각 확률은 소수점 아래 정확히 8자리로 출력한다(예: printf %.8f).