atcoder#DPI. Coins

Coins

Score : 100100 points

Problem Statement

Let NN be a positive odd number.

There are NN coins, numbered 1,2,,N1, 2, \ldots, N. For each ii (1iN1 \leq i \leq N), when Coin ii is tossed, it comes up heads with probability pip_i and tails with probability 1pi1 - p_i.

Taro has tossed all the NN coins. Find the probability of having more heads than tails.

Constraints

  • NN is an odd number.
  • 1N29991 \leq N \leq 2999
  • pip_i is a real number and has two decimal places.
  • 0<pi<10 < p_i < 1

Input

Input is given from Standard Input in the following format:

NN

p1p_1 p2p_2 \ldots pNp_N

Output

Print the probability of having more heads than tails. The output is considered correct when the absolute error is not greater than 10910^{-9}.

3
0.30 0.60 0.80
0.612

The probability of each case where we have more heads than tails is as follows:

  • The probability of having (Coin1,Coin2,Coin3)=(Head,Head,Head)(Coin 1, Coin 2, Coin 3) = (Head, Head, Head) is 0.3×0.6×0.8=0.1440.3 \times 0.6 \times 0.8 = 0.144;
  • The probability of having (Coin1,Coin2,Coin3)=(Tail,Head,Head)(Coin 1, Coin 2, Coin 3) = (Tail, Head, Head) is 0.7×0.6×0.8=0.3360.7 \times 0.6 \times 0.8 = 0.336;
  • The probability of having (Coin1,Coin2,Coin3)=(Head,Tail,Head)(Coin 1, Coin 2, Coin 3) = (Head, Tail, Head) is 0.3×0.4×0.8=0.0960.3 \times 0.4 \times 0.8 = 0.096;
  • The probability of having (Coin1,Coin2,Coin3)=(Head,Head,Tail)(Coin 1, Coin 2, Coin 3) = (Head, Head, Tail) is 0.3×0.6×0.2=0.0360.3 \times 0.6 \times 0.2 = 0.036.

Thus, the probability of having more heads than tails is 0.144+0.336+0.096+0.036=0.6120.144 + 0.336 + 0.096 + 0.036 = 0.612.

1
0.50
0.5

Outputs such as 0.500, 0.500000001 and 0.499999999 are also considered correct.

5
0.42 0.01 0.42 0.99 0.42
0.3821815872