虽然最典型的骰子有 6 个面,每个面显示 1 到 6 之间不同的整数,但还有许多游戏使用其他类型的骰子。特别地,$dk$ 是一个有 $k$ 个面的骰子,每个面显示 1 到 $k$ 之间不同的整数。$d6$ 是典型的骰子,$d4$ 有 4 个面,而 $d1000000$ 有一百万个面。
在本题中,我们从一堆骰子开始。第 $i$ 个骰子是 $dS_i$,即它有 $S_i$ 个面,显示 1 到 $S_i$ 的整数。长度为 $\ell$、起始于 $x$ 的顺子(straight)是指整数列表 $x, x + 1, \dots, x + (\ell - 1)$。我们想要选择一些骰子(可能全部),并从每个骰子中选出一个数字来组成一个顺子。我们能以此方式组成的最长顺子是多少?
输入格式
输入的第一行包含测试用例的数量 $T$。接下来是 $T$ 个测试用例。每个测试用例由两行描述。第一行包含一个整数 $N$,表示游戏中的骰子数量。第二行包含 $N$ 个整数 $S_1, S_2, \dots, S_N$,每个整数代表一个不同骰子的面数。
输出格式
对于每个测试用例,输出一行 Case #x: y,其中 $x$ 是测试用例编号(从 1 开始),$y$ 是可以组成顺子的最大骰子数量。
数据范围
内存限制:1 GB。 $1 \le T \le 100$。
测试集 1(可见判定)
时间限制:5 秒。 $1 \le N \le 10$。 $4 \le S_i \le 20$,对于所有 $i$。
测试集 2(可见判定)
时间限制:15 秒。 $1 \le N \le 10^5$。 $4 \le S_i \le 10^6$,对于所有 $i$。
样例
输入格式 1
4 4 6 10 12 8 6 5 4 5 4 4 4 10 10 10 7 6 7 4 4 5 7 4 1 10
输出格式 1
Case #1: 4 Case #2: 5 Case #3: 9 Case #4: 1
说明
在样例 1 中,有多种方法可以使用所有 4 个骰子组成顺子。上图展示了其中一种可能的方式。
在样例 2 中,由于没有任何骰子能显示大于 5 的整数,因此无法组成长度超过 5 的顺子。有多种方法可以组成长度恰好为 5 的顺子。例如,为两个 $d5$ 选择整数 4 和 5,然后为三个 $d4$ 选择整数 1、2 和 3,从而组成 $1, 2, 3, 4, 5$。
在样例 3 中,可以通过丢弃一个 $d4$,并使用 $d4$、$d5$ 和 $d6$ 得到 1 到 4;使用 $d7$ 得到 5 到 7;以及使用 $d10$ 得到 8 和 9,从而组成顺子 $1, 2, 3, 4, 5, 6, 7, 8, 9$。无法组成长度为 10 的顺子,因此这是能做到的最好结果。
在样例 4 中,我们只能组成长度为 1 的顺子,但我们可以通过为给定的 $d10$ 选择任意整数来实现。