将有 $N$ 个群体参与一场抽奖。第 $i$ 个群体包含 $a_i$ 个人。最终,最多会有 $M$ 个人成为本次抽奖的获胜者。
本次抽奖有一个额外的限制:对于每个群体,该群体中的所有人要么全部获胜,要么全部不获胜。换句话说,每个群体不允许出现部分获胜的情况。
抽奖方案定义为一组结果的集合。每个结果都会宣布抽奖的获胜者。每个结果都有其发生的概率,且所有结果的概率之和等于 $1.0$。
公平抽奖方案是指一种使每个人获胜概率 $p$ 都相同的抽奖方案。请找出所有公平抽奖方案中最大的获胜概率 $p$。
例如,假设有 3 个群体:A、B 和 C,分别包含 1、2 和 2 个人。最多有 3 个人会成为获胜者。
一种可能的公平抽奖方案是:它仅包含一个无人获胜的结果。因此,每个人获胜的概率均为 0%。
一种更好的公平抽奖方案是:存在两个结果,每个结果发生的概率均为 50%。结果 1 宣布群体 A 和 B 的成员获胜;结果 2 宣布群体 C 的成员获胜。因此,每个人获胜的概率均为 50%。很容易验证 50% 是所有抽奖方案中的最大概率。
输入格式
输入的第一行包含测试用例的数量 $T$。接下来有 $T$ 个测试用例。 每个测试用例包含 2 行,第一行包含 2 个数字 $N$ 和 $M$,分别表示群体数量和最多获胜人数。 第二行包含 $N$ 个数字 $a_1, a_2, \dots, a_N$,表示每个群体的人数。
输出格式
对于每个测试用例,输出一行 "Case #x: y",其中 $x$ 是测试用例编号(从 1 开始),$y$ 是所有公平抽奖方案中每个人获胜的最大概率 $p$。 如果 $y$ 与正确答案的绝对误差或相对误差不超过 $10^{-6}$,则视为正确。
数据范围
- $1 \le T \le 100$
- $1 \le N \le 10$
- $1 \le M \le 100$
- $1 \le a_i \le 100$
样例
输入 1
2 3 3 1 2 2 4 2 1 1 1 2
输出 1
Case #1: 0.5000000000 Case #2: 0.4000000000
说明
第一个测试用例即为题目中的样例。 在第二个测试用例中,最优的抽奖方案是:假设群体为 A(1), B(1), C(1), D(2),在 $[0, 0.2)$ 的概率区间内,A 和 B 的成员获胜。在 $[0.2, 0.4)$ 的概率区间内,B 和 C 的成员获胜。在 $[0.4, 0.6)$ 的概率区间内,A 和 C 的成员获胜。在 $[0.6, 1)$ 的概率区间内,D 的成员获胜。