带富翁
题号:NC210477
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
Special Judge, 64bit IO Format: %lld

题目描述

小明在玩一款带富翁游戏,这个游戏具体来说就是有个奖励点,每个奖励点有一定的奖励分。一开始他站在位置。每次他都会扔一个有面的筛子,如果扔到了,并且小明现在站在这个位置,小明就会向前进步到达这个位置。

如果小明扔出了并且已经大于了,那么小明就会重新扔,直到在合适的位置。小明最后如果到达了号位置,那么小明就会结束游戏,现在小明想知道自己期望的得分是多少。

输入描述:

第一行一个表示奖励点的数量。
第二行个数,第个数表示奖励点的奖励分。

输出描述:

输出一个小数表示到达点时奖励分的期望。用表示你输出的答案,表示标准答案,如果就认为答案正确。
示例1

输入

复制
3
1 2 3

输出

复制
5.0000000000

备注: