你是巧克力制造商的公关经理。不幸的是,公司的形象因为顾客认为老板吝啬而受损。你希望通过提供免费的工厂参观和巧克力品尝活动来扭转这一印象。
在开始这个新项目后不久,你意识到老板的名声确实名副其实:他只同意在你能将成本降至最低的情况下提供免费巧克力。赠送的巧克力以每包 $P$ 块的形式提供。你希望为每个参观团打开新包装,但老板坚持认为,如果前一个团队有剩余的巧克力,必须先用完这些剩余的巧克力,然后才能打开任何新包装。
例如,假设每包有 $P=3$ 块,来了一个 5 人的参观团。你将打开两包,给每个人一块,你会剩下 1 块。假设之后又来了一个 6 人的参观团。他们将先得到那块剩余的巧克力,然后你将再打开两包来完成他们的品尝,这样你又会剩下 1 块。如果紧接着来了两个 4 人的团队,第一个团队将得到那块剩余的巧克力加上一整包,而最后一个 4 人团队将从两包新打开的巧克力中获得他们的份额。请注意,在所有剩余的巧克力用完之前,你不能打开新包装,即使你打算立即用掉新打开包装里的所有巧克力。
在上面的例子中,4 个团队中有 2 个(第一个和最后一个)从刚打开的包装中获得了所有的巧克力。另外 2 个团队得到了一些新鲜的巧克力和一些剩余的巧克力。你知道分发剩余的巧克力并不是扭转老板吝啬形象的最佳方式,但为了让吝啬的老板同意这个项目,你不得不接受这个制度。尽管环境不利,你仍然致力于做好这份工作。
你有来自 $N$ 个团队的请求,每个团队都指定了将要来到工厂的人数。团队将一个接一个地到来。你希望以一种能使获得“仅新鲜巧克力且无剩余”的团队数量最大化的顺序安排他们。你不能拒绝团队,也不能让一个团队多次获得巧克力,并且你需要给每个团队中的每个人恰好一块巧克力。
在上面的例子中,如果顺序不是 5, 6, 4, 4,而是 4, 5, 6, 4,那么总共会有 3 个团队(除了那个 5 人的团队外)只获得新鲜巧克力。对于这组团队来说,不可能做得更好,因为没有任何排列能使所有团队都只获得新鲜巧克力。
输入格式
输入的第一行给出测试用例的数量 $T$。接下来是 $T$ 个测试用例。每个测试用例包含两行。第一行包含两个整数 $N$(来参观的团队数量)和 $P$(每包巧克力的块数)。第二行包含 $N$ 个整数 $G_1, G_2, \dots, G_N$,表示每个团队的人数。
输出格式
对于每个测试用例,输出一行 Case #x: y,其中 $x$ 是测试用例编号(从 1 开始),$y$ 是在最优安排顺序下,能够获得仅新鲜巧克力的团队数量。
数据范围
内存限制:1 GB。 $1 \le T \le 100$。 $1 \le N \le 100$。 $1 \le G_i \le 100$(对于所有 $i$)。 所有子任务的时间限制:10 秒。
样例
样例输入 1
3 4 3 4 5 6 4 4 2 4 5 6 4 3 3 1 1 1
样例输出 1
Case #1: 3 Case #2: 4 Case #3: 1
说明
样例 1 中的情况即为题目描述中解释的情况。除了上述可能的最优顺序外,其他顺序如 6, 5, 4, 4 也能使获得仅新鲜巧克力的团队数量最大化,尽管获得新鲜巧克力的团队可能不同。请注意,我们只关心获得最佳体验的团队数量,而不是其中总的人数。
在样例 2 中,团队与样例 1 相同,但每包巧克力包含两块。在这种情况下,有几种排序方式(例如 4, 4, 6, 5)可以使所有团队都只获得新鲜巧克力。
在样例 3 中,所有团队都是单个人,他们都将从同一包中进食。当然,只有第一个进来的团队会得到刚打开的包装。