E - Lanzamiento de moneda

Languages: C, C++, Java, Pascal, Python, Tiger, JavaScript, Haskell, C#
Time & Memory limits: (details)

Fito ha lanzado su moneda de la suerte muchas veces, convencido de que la probabilidad de obtener cruz es igual a $P$ $(0 \le P \le 1)$ él propone determinar el valor esperado de la cantidad de cambios en $N$ lanzamientos (los lanzamientos son independientes). Se dice que hay un cambio en el $i$-ésimo lanzamiento de la moneda si su resultado es diferente al del lanzamiento anterior. Considere un escenario donde $P = 0.3$ y $N = 3$:

Resultados

Probabilidad

Cambios

[CARA][CARA][CARA]

0.7 * 0.7 * 0.7 = 0.343

0

[CARA][CARA][ CRUZ ]

0.7 * 0.7 * 0.3 = 0.147

1

[CARA][ CRUZ ][CARA]

0.7 * 0.3 * 0.7 = 0.147

2

[CARA][ CRUZ ][ CRUZ ]

0.7 * 0.3 * 0.3 = 0.063

1

[ CRUZ ][CARA][CARA]

0.3 * 0.7 * 0.7 = 0.147

1

[ CRUZ ][CARA][ CRUZ ]

0.3 * 0.7 * 0.3 = 0.063

2

[ CRUZ ][ CRUZ ][CARA]

0.3 * 0.3 * 0.7 = 0.063

1

[ CRUZ ][ CRUZ ][ CRUZ ]

0.3 * 0.3 * 0.3 = 0.027

0


En el ejemplo anterior el valor esperado de la cantidad de cambios es:

$0.343 * 0 + 0.147 * 1 + 0.147 * 2 + 0.063 * 1 + 0.147 * 1 + 0.063 * 2 + 0.063 * 1 + 0.027 * 0 = 0.84$

Input

Línea 1 : Un entero $T$ $(1 \le T \le 1000)$, la cantidad de casos de pruebas.
Línea 2… T+1 : Dos números separados por espacio $P$ y $N$ $(0 \le P \le 1, 1 \le N \le 10^6)$, donde $P$ es la probabilidad de obtener cara y $N$ es un entero representado la cantidad de lanzamientos en el caso actual.

Output

Línea 1…T : Por cada caso imprima el valor esperado de la cantidad de cambios con precisión $10^{-6}$.

Sample test(s)

Input
1 0.3 3
Output
0.84