直到今天,你所在的国家在所有交易中一直使用 $D$ 种不同的正整数面额硬币。今天,女王因为一名臣民试图用一大袋低面额硬币支付税款而大发雷霆,她颁布法令:在任何一次购买中,任何一种面额的硬币使用数量不得超过 $C$ 枚。例如,如果 $C = 2$,且现有面额为 $1$ 和 $5$,那么你可以用两枚 $5$ 和一枚 $1$ 购买价值为 $11$ 的商品,或者用两枚 $5$ 和两枚 $1$ 购买价值为 $12$ 的商品,但无法购买价值为 $9$ 或 $17$ 的商品。
你无法直接反抗女王的法令,但你恰好负责造币厂,你可以发行新的硬币面额。你希望在女王的新规则下,能够购买任何价值不超过 $V$ 的正整数价值商品。(注意,这在女王颁布法令前未必能实现。)此外,你希望引入尽可能少的新面额,且最终包含原有面额和新面额的集合中不能有重复的面额。
请问最少需要多少种新面额?
输入格式
输入的第一行包含测试用例的数量 $T$。接下来是 $T$ 个测试用例。每个测试用例包含一行,由三个空格分隔的值 $C$、$D$ 和 $V$ 组成,随后是一行包含 $D$ 个不同的、按升序排列的空格分隔的现有面额值。
输出格式
对于每个测试用例,输出一行 "Case #x: y",其中 $x$ 是测试用例编号(从 $1$ 开始),$y$ 是如上所述所需的最少新面额数量。
数据范围
$1 \le T \le 100$。 每个现有面额 $\le V$。
小数据(11 分)
$C = 1$。 $1 \le D \le 5$。 $1 \le V \le 30$。
大数据(23 分)
$1 \le C \le 100$。 $1 \le D \le 100$。 $1 \le V \le 10^9$。
样例
样例输入 1
4 1 2 3 1 2 1 3 6 1 2 5 2 1 3 3 1 6 100 1 5 10 25 50 100
样例输出 1
Case #1: 0 Case #2: 1 Case #3: 1 Case #4: 3
说明
注意,Case #3 和 Case #4 不在小数据范围之内。
在 Case #1 中,已经可以使用至多一枚现有面额的硬币凑出所有要求的价值($1$、$2$ 和 $3$)。
在 Case #2 中,添加面额 $3$ 或 $4$ 均可——无论选择哪一个,都只需要一种新面额。
在 Case #3 中,最优解是添加面额 $1$。