Initially, you have the number $0$. Every second, you randomly choose a number from the range $[0, 2^n-1]$ and perform a bitwise OR operation (the | operator in C++/C, or or in Pascal) with the number you currently hold.
The probability of choosing the number $i$ is $p[i]$. It is guaranteed that $0 \le p[i] \le 1$ and $\sum p[i] = 1$.
Calculate the expected number of seconds until the number you hold becomes $2^n-1$.
Input
The first line contains an integer $n$. The second line contains $2^n$ numbers, where the $i$-th number represents the probability of choosing $i-1$.
Output
Output a single number representing the answer. An absolute or relative error of at most $10^{-6}$ is acceptable.
If there is no solution, output INF.
Examples
Input 1
2 0.25 0.25 0.25 0.25
Output 1
2.6666666667
Input 2
2 1 0 0 0
Output 2
INF
Constraints
For $30\%$ of the data, $n \le 10$. For $60\%$ of the data, $n \le 15$. For $100\%$ of the data, $n \le 20$.