你正在进行一场锁定赛(lockout match)。规则很简单:这是一场 1v1 的比赛,共有 $n$ 道分值不同的题目。只有第一个提交并通过该题的选手才能获得分数,即使另一位选手只晚了 1 秒,也无法获得任何分数。为简化起见,我们不考虑时间限制或提前获胜的情况:比赛会一直持续到每道题都被至少一名选手解决为止。
你很强,但是……你的对手是 tourist。我知道,这简直是一场灾难。想要获胜很难,但你希望能抢到一些分数来挽回颜面。如果你和 tourist 同时做同一道题,他肯定会赢你。但如果你选择了一道不同的题目,机会就来了!你将能够比 tourist 先解决这道题!但随后他会进入“狂暴模式”,并瞬间解决所有剩余的题目。拿到一道题总比什么都没有强,不是吗?
让我们将这个过程形式化。每一轮,你和 tourist 都有一些未解决的题目可供选择。如果没有剩余的未解决题目,游戏结束,你得 0 分。否则,你和 tourist 各自选择一道题目去解决,且双方都不知道对方选择了哪道题。如果你选择了同一道题,tourist 会比你先解决它,然后我们回到初始状态,但剩余的题目减少了。否则,你将获得你所选题目对应的分数,但游戏会立即结束,因为 tourist 会瞬间解决所有剩余的题目。
你希望最大化你的得分,而 tourist 希望最小化它。如果双方都采取最优策略,游戏的期望得分是多少?
输入格式
第一行包含一个整数 $n$ ($1 \le n \le 22$),表示题目数量。 第二行包含 $n$ 个整数 $a_i$ ($1 \le a_i \le 10^9$),表示每道题的分值。
输出格式
输出一个数字,表示你的期望得分。
如果你的答案与标准答案的绝对误差或相对误差不超过 $10^{-6}$,则视为正确。 形式化地,设你的答案为 $a$,标准答案为 $b$,当且仅当 $\frac{|a-b|}{\max(1,|b|)} \le 10^{-6}$ 时,你的答案被接受。
样例
输入格式 1
2 6 7
输出格式 1
3.2307692307692
输入格式 2
3 1 1 1
输出格式 2
0.8333333333333
输入格式 3
11 1 2 3 4 5 6 7 8 9 10 11
输出格式 3
9.4422713866103
说明
注意,在第一个样例中,tourist 本可以稳赢比赛,总是选择第二道题;而针对这种策略,你总是可以选择第一道题并获得 6 分。但 tourist 会采取最优策略来最小化你的期望得分,这有时意味着他会允许你赢得比赛。