#1720. 【POJ Challenge】吉他英雄

【POJ Challenge】吉他英雄

Background

Special for beginners, ^_^

Description

1tthinking 特别喜欢玩‘guitar hero’。 现在有 N (2 ≤ N ≤ 50) 首歌在这个游戏中,他们被标为 1 到 N 。 游戏会随机把歌曲分组 P 。 更详细的说, 对于 P = <P ~1~ , P ~2~ , ... P ~N~ > , 游戏会在第 i 首之后播放第 *P~i~*首。 因此这 N 首歌会形成几个循环来播放. 举个例子, 如果 N = 3, P = <2, 1, 3> 我们得到了 {1, 2} 和 {3} 两个循环.

每首歌有一个积分值,1thinking特别喜欢玩Queen的 'Another One Bites The Dust',每次他一定会玩这首歌。现在1thinking知道这首歌是积分值 第二大 的歌曲。他想知道他喜欢的歌所在的循环的分数和。 现在给出N首歌的难度值,求1tthinking游戏一次所获得的期望积分和是多少?

举个例子,当前有三首歌,积分为1、2、3。1tthinking总是会选择积分为2的歌曲。一共可能的排列有6种: <1, 2, 3>, <1, 3, 2>, <2, 1, 3>, <2, 3, 1>, <3, 1, 2> and <3, 2, 1>。 1tthinking分别会等概率选择 {2}, {2, 3}, {1, 2}, {1, 2, 3}, {1, 2, 3}, {2} 获得 2, 5, 3, 6, 6, 2 分。平均可以获得 (2 + 5 + 3 + 6 + 6 + 2) / 6 = 24 / 6 = 4.0000 分。

Format

Input

第一个整数 T , 数据的组数。

对于每组数据,第一行,整数 N ,表示排列的长度。

第二行,N个整数 V~1~ , V~2~ , ..., V~N~ , 每首歌的积分值。(0 ≤ V~i~ < 2 ^31^ )

Output

对于每组数据,一个浮点数,期望积分(精确到 0.000001)。

Samples

1
3
1 2 3
4.000000

Limitation

1s, 1024KiB for each test case.