[HAOI2015]按位或
题号:NC19992
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

刚开始你有一个数字0,每一秒钟你会随机选择一个[0,2^n-1]的数字,与你手上的数字进行或(c++,c的|,pascal 的or)操作。选择数字i的概率是p[i]。保证0 ≤ p[i] ≤ 1,Σp[i]=1问期望多少秒后,你手上的数字变成2^n-1。

输入描述:

第一行输入n表示n个元素,第二行输入2^n个数,第i个数表示选到i-1的概率

输出描述:

仅输出一个数表示答案,绝对误差或相对误差不超过1e-6即可算通过。如果无解则要输出INF
示例1

输入

复制
2
0.250.250.250.25

输出

复制
2.6666666667

备注:

对于100% 的数据,