포켓몬 카드 게임

시간 제한0.4초메모리 제한1024 MB

문제

동우는 포켓몬 카드 게임을 좋아한다. 게임에 사용하는 포켓몬 카드에는 레어도라는 개념이 있는데, 어떤 카드가 레어할 확률은 $p$이다. 동우는 이번 대회를 도와주는 조건으로 23학번 민재와 24학번 현민이에게 포켓몬 카드 팩을 각각 한 팩씩 선물 받았다.

포켓몬 카드 팩에는 단계가 있는데, $1$단계 카드 팩은 $N$장의 카드가 있고, $2$단계 카드 팩은 $1$단계 카드 팩이 $N$팩, 이런 식으로 $i+1$단계 카드 팩은 $i$단계 카드 팩이 $N$팩 있다.

$1$단계 카드 팩을 열었을 때, 정확히 $K$장의 카드가 레어한 경우에 해당 $1$단계 카드 팩을 레어하다고 정의한다. 이보다 많은 수의 카드가 레어하다면 그 카드 팩은 조작의 의심을 받기 때문이다. 마찬가지로 $i+1$단계 카드 팩을 구성하는 $N$팩의 $i$단계 카드 팩 중 정확히 $K$팩이 레어한 경우 해당 $i+1$단계 카드 팩을 레어하다고 정의한다.

동우는 23학번 민재에게 $23\uparrow\uparrow 23$*단계 카드 팩, 24학번 현민이에게 $24\uparrow\uparrow 24$단계 카드 팩을 선물 받았다. 민재와 현민이가 선물해 준 카드 팩이 레어할 확률을 구해보자.


*${a\uparrow\uparrow n} :=\begin{cases}1&\text{if } n=0,\\ a^{a\uparrow\uparrow(n-1)}&\text{if } n>0,\end{cases}$로 정의된다. 예를 들어, $4\uparrow\uparrow 3=4^{4^4}=4^{256}$이다.

입력

첫 번째 줄에 테스트 케이스의 개수 $T(1\le T\le 10^5)$가 주어진다.

각 테스트 케이스 별로 한 줄에 정수 $N(1\le N\le 10^{18})$, $K$와 카드가 레어할 확률을 나타내는 실수 $p(0\le p\le 1)$가 소수점 아래 $9$자리까지 공백으로 구분되어 주어진다.

출력

각 테스트 케이스 별로 한 줄에 민재와 현민이가 선물해 준 카드 팩이 레어할 확률을 공백으로 구분하여 출력한다.

정답과의 절대/상대 오차는 $10^{-9}$까지 허용한다.