#CF2130A. 提交就是一切

提交就是一切

A. 提交就是一切

  • 每个测试的时间限制:1 秒
  • 内存限制:256 MB

对于一个由非负整数构成的多重集 TT,我们定义:
sum(T)\text{sum}(T) 表示 TT 中所有元素的和。例如,如果 T={0,1,1,3}T = \{0, 1, 1, 3\},则 sum(T)=0+1+1+3=5\text{sum}(T) = 0 + 1 + 1 + 3 = 5
mex(T)\text{mex}(T) 表示不在 TT 中的最小非负整数。例如,如果 T={0,1,1,3}T = \{0, 1, 1, 3\},则 mex(T)=2\text{mex}(T) = 2,因为 22 是不在 TT 中的最小非负整数。

你有一个大小为 nn 的多重集 SS,其中的元素都是非负整数。初始时你的得分为 00。你可以按任意顺序、任意次数(可能为零次)执行以下两种操作:

• 选择当前 SS 的一个子集 SSS' \subseteq S,将 sum(S)\text{sum}(S') 加到你的得分上,然后从 SS 中删除 SS'
• 选择当前 SS 的一个子集 SSS' \subseteq S,将 mex(S)\text{mex}(S') 加到你的得分上,然后从 SS 中删除 SS'

求能获得的最大可能得分。


输入格式

每个测试点包含多个测试用例。第一行包含测试用例数 tt1t1031 \le t \le 10^3)。

每个测试用例的第一行包含一个整数 nn1n501 \le n \le 50)。

每个测试用例的第二行包含 nn 个整数 S1,S2,,SnS_1, S_2, \dots, S_n0Si500 \le S_i \le 50)。


输出格式

对于每个测试用例,输出一个整数 —— 能获得的最大可能得分。


输入输出样例

样例输入

2
3
0 1 1
3
1 2 3

样例输出

3
6

样例解释

  • 第一个测试用例
    一种最优策略如下:
    1. 选择 S={0,1}S' = \{0, 1\},将 mex(S)=mex({0,1})=2\text{mex}(S') = \text{mex}(\{0, 1\}) = 2 加到得分,然后从 SS 中删除 SS'。此时得分为 22S={1}S = \{1\}
    2. 选择 S={1}S' = \{1\},将 sum(S)=sum({1})=1\text{sum}(S') = \text{sum}(\{1\}) = 1 加到得分,然后从 SS 中删除 SS'。此时得分为 33S=S = \varnothing
      之后无法再进行操作。可以证明 33 是能获得的最大得分。