#XMOJ10401. 得分

得分

说明

时间限制:1 Sec 内存限制:256 MB 输入文件score.in 输出文件score.out

对于由若干个数字组成的集合 TT,我们定义如下两种计算:

  • $sum(T)$ 为 $T$ 中所有元素之和。例如,如果 $T=\{0,1,1,3\}$,那么 $sum(T)=0+1+1+3=5$;
  • $mex(T)$ 为不在 $T$ 中的最小非负整数。例如,如果 $T=\{0,1,1,3\}$,那么 $mex(T)=2$,因为 $2$ 是不在 $T$ 中的最小非负整数。

给定一个由 $n$ 个非负整数组成的集合 $S$。最初,你的分数是 $0$,你可以按任意顺序执行以下操作任意次(可以是 $0$ 次):

  • 从 $S$ 中挑选一些数字形成集合 $S'$,将 $sum(S')$ 加到你的分数里,然后从 $S$ 里删除这些数字;
  • 从 $S$ 中挑选一些数字形成集合 $S'$,将 $mex(S')$ 加到你的分数里,然后从 $S$ 里删除这些数字。

请问最高能得到多少分?

输入格式

第一行为一个整数 tt,表示有 tt 组询问(1t1031 \le t \le 10^3);

接下来为 $t$ 组询问,每组询问包含两行:

第一行为一个整数 $n$,表示 $S$ 中包含 $n$ 个整数($1 \le n \le 50$),第二行为空格分隔的 $n$ 个整数 $S_1$、$S_2$、……、$S_n$($0 \le S_i \le 50$)。

输出格式

tt 行,第 ii 行为对第 ii 组询问的回答,表示最高可以得到多少分。

样例

样例 1

2
3
0 1 1
3
1 2 3
3
6

样例说明:在第一组询问中,一种获得最高分数的步骤如下:

  1. 选择 $S'=\{0,1\}$,将 $mex(S')=mex(\{0,1\})=2$ 加到得分上,然后从 $S$ 中删除 $S'$。这时,得分为 $2$,$S=\{1\}$;
  2. 选择 $S'=\{1\}$,将 $sum(S')=sum(\{1\})=1$ 加到得分上,然后从 $S$ 中删除 $S'$。这时,得分为 $3$,$S=\{\}$。

因为 $S$ 已经是空集,不能再做任何操作,所以最后得分为 $3$。可以证明没法得到更高的分数了。

数据范围

1t1031 \le t \le 10^3, 1n501 \le n \le 50, 0Si500 \le S_i \le 50