在无限煎饼屋(Infinite House of Pancakes)里,煎饼的数量是有限的,但有无穷多位食客愿意享用它们!当餐厅开始供应早餐时,在无穷多位食客中,恰好有 $D$ 位食客的盘子里有煎饼;其中第 $i$ 位食客的盘子里有 $P_i$ 个煎饼。其余所有人的盘子都是空的。
通常情况下,每一分钟,每一位盘子里有煎饼的食客都会吃掉一个煎饼。然而,有些分钟可能是“特殊”的。在特殊分钟里,主服务员会要求食客们注意,选择一位盘子里有煎饼的食客,小心地从该食客的盘子里拿走若干个煎饼,并将这些煎饼移动到另一位食客(盘子为空或非空均可)的盘子里。在特殊分钟里,食客们不会吃煎饼,因为那样做是不礼貌的。
你是今天早上的当值主服务员,你的工作是决定哪些分钟(如果有的话)是特殊分钟,以及哪些煎饼移动到哪里。也就是说,每一分钟,你可以选择什么都不做,让食客们吃煎饼;或者宣布这是一个特殊分钟,打断食客们,并按照上述方式移动一次一个或多个煎饼。
当没有剩余煎饼可吃时,早餐结束。请问你最快能在多少分钟内完成早餐?
输入格式
输入的第一行包含测试用例的数量 $T$。接下来是 $T$ 个测试用例。每个测试用例包含一行 $D$,表示盘子里有煎饼的食客数量,随后一行包含 $D$ 个以空格分隔的整数,表示这些食客盘子里的煎饼数量。
输出格式
对于每个测试用例,输出一行 "Case #x: y",其中 $x$ 是测试用例编号(从 1 开始),$y$ 是完成早餐所需的最少分钟数。
数据范围
$1 \le T \le 100$。
小数据集
$1 \le D \le 6$。 $1 \le P_i \le 9$。
大数据集
$1 \le D \le 1000$。 $1 \le P_i \le 1000$。
样例
样例输入 1
3 1 3 4 1 2 1 2 1 4
样例输出 1
Case #1: 3 Case #2: 2 Case #3: 3
说明
在 Case #1 中,一位食客开始时有 3 个煎饼,其他人的盘子都是空的。一种最优策略是:
第 1 分钟:什么都不做。该食客吃掉一个煎饼。
第 2 分钟(特殊):打断并从该食客的堆中移动一个煎饼到另一位食客的空盘子中。(请记住,无论最初有多少食客有煎饼,总是有无穷多位盘子为空的食客可用。)在打断期间没有煎饼被吃掉。
第 3 分钟:什么都不做。这两位食客各吃掉剩下的两个煎饼中的一个。
在 Case #2 中,最优做法是让食客们吃 2 分钟,期间不进行任何打断,他们就能吃完所有煎饼。
在 Case #3 中,一位食客开始时有 4 个煎饼,其他人的盘子都是空的。最优做法是在第 1 分钟进行特殊操作,将两个煎饼从该食客的盘子移动到另一位食客的空盘子中,然后什么都不做,让食客们在第 2 分钟和第 3 分钟吃完煎饼。