你正在参加一场赢取终身免费煎饼的抽奖活动。目前已经售出了 $N$ 张票。每张票上都写有一个 $1$ 到 $K$(包含 $1$ 和 $K$)之间的整数。不同的票允许写有相同的整数。你确切地知道所有已售出票上的数字,并希望通过购买两张票(这两张票上的数字可以相同)来最大化你获胜的几率。你可以自由选择这两张票上 $1$ 到 $K$ 之间的整数。
你知道你是最后一位顾客,所以当你购买完票后,不会再有其他票被售出。随后,系统会从 $1$ 到 $K$(包含 $1$ 和 $K$)之间均匀随机地选择一个整数 $c$。如果你的其中一张票比所有其他票更接近 $c$,或者你的两张票到 $c$ 的距离相等且比所有其他票更接近 $c$,那么你就赢得了抽奖。否则,你没有获胜。
给定目前已售出票上的整数,通过最优地选择你两张票上的整数,你能获得的最高获胜概率是多少?
输入格式
输入的第一行包含测试用例的数量 $T$。接下来是 $T$ 个测试用例。每个测试用例包含两行。第一行包含两个整数 $N$ 和 $K$:分别表示已售出的票数和可选整数的范围上限。第二行包含 $N$ 个整数 $P_1, P_2, \dots, P_N$,表示已售出票上的整数。
输出格式
对于每个测试用例,输出一行 Case #x: y,其中 $x$ 是测试用例编号(从 $1$ 开始),$y$ 是你最优选择票时能达到的最高获胜概率。
如果 $y$ 与正确答案的绝对误差或相对误差不超过 $10^{-6}$,则被视为正确。请参阅 FAQ 以了解其含义以及我们接受的实数格式。
数据范围
$1 \le T \le 100$。 $1 \le N \le 30$。 $1 \le P_i \le K$,对于所有 $i$。
测试集 1(可见判定) $1 \le K \le 30$。
测试集 2(可见判定) $1 \le K \le 10^9$。
样例
样例输入 1
4 3 10 1 3 7 4 10 4 1 7 3 4 3 1 2 3 2 4 4 1 2 4 2
样例输出 1
Case #1: 0.5 Case #2: 0.4 Case #3: 0.0 Case #4: 0.25
说明
在样例 #1 中,你可以购买写有整数 $4$ 和 $8$ 的票,这样当 $c$ 为 $4, 5, 8, 9$ 或 $10$ 时你获胜,获胜概率为 $5/10 = 0.5$。购买写有整数 $6$ 和 $8$ 的票也能获得 $0.5$ 的获胜概率,但没有组合能获得更高的概率。
在样例 #2 中,$6$ 和 $8$ 是一组可能的最佳票,当 $c$ 为 $6, 8, 9$ 或 $10$ 时获胜。注意,票上的整数不一定按排序顺序给出。
在样例 #3 中,每个可能的 $c$ 到某张已售出的票的距离均为 $0$,因此无论你如何选择都无法获胜。
在样例 #4 中,如果你至少有一张票选为 $3$,则当 $c = 3$ 时你获胜,获胜概率为 $1/4 = 0.25$。当 $c$ 为其他任何整数时都无法获胜,因此这是你能做到的最好结果。