#P5009. 「长乐集训 2017 Day3」开锁

「长乐集训 2017 Day3」开锁

Description

A君有 n n 个盒子,每个盒子被一把锁锁着,每个盒子内都有一把钥匙。对于每个盒子而言有且仅有一把钥匙内打开锁着它的锁,而打开它便把能拿着放置在这个盒子内的钥匙去开启其他盒子。

现在A君打算随机选择 k k 个盒子并用魔法将它们打开,并用所得到的钥匙去尝试开启其他所有的盒子(开启一个盒子后,新得到的钥匙还能继续使用)。

A君想知道,最终他能打开所有盒子的概率是多少,请你帮助他。

Input Format

第一行一个整数 T T 表示数据组数。

每组数据第一行两个整数 n,k n, k , 意义见题目描述。

第二行 n n 个整数 ai a_i ,表示第 i i 个盒子中装有可以打开第 ai a_i 的盒子的锁的钥匙。

Output Format

对于每组数据输出一行表示答案,要求绝对误差不超过 104 10 ^ {-4}

Sample

样例输入

4
5 1
2 5 4 3 1
5 2
2 5 4 3 1
5 3
2 5 4 3 1
5 4
2 5 4 3 1

样例输出

0.000000000
0.600000000
0.900000000
1.000000000

Hint

对于所有数据,$ 1 \leq n \leq 300, 1 \leq T \leq 100, 0 \leq k \leq n $