Given a set of integers (it can contain equal elements).

You have to split it into two subsets A and B (both of them can contain equal elements or be empty). You have to maximize the value of mex(A)+mex(B).

Here mex of a set denotes the smallest non-negative integer that doesn't exist in the set. For example: 

  * mex(\{1,4,0,2,2,1\})=3 
  * mex(\{3,3,2,1,3,0,0\})=4 
  * mex(∅)=0 (mex for empty set) 



The set is splitted into two subsets A and B if for any integer number x the number of occurrences of x into this set is equal to the sum of the number of occurrences of x into A and the number of occurrences of x into B.

Input

The input consists of multiple test cases. The first line contains an integer t (1≤ t≤ 100) — the number of test cases. The description of the test cases follows.

The first line of each test case contains an integer n (1≤ n≤ 100) — the size of the set.

The second line of each testcase contains n integers a_1,a_2,... a_n (0≤ a_i≤ 100) — the numbers in the set.

Output

For each test case, print the maximum value of mex(A)+mex(B).

Example

Input


4
6
0 2 1 5 0 1
3
0 1 2
4
0 2 0 1
6
1 2 3 4 5 6


Output


5
3
4
0

Note

In the first test case, A=\left\{0,1,2\right\},B=\left\{0,1,5\right\} is a possible choice.

In the second test case, A=\left\{0,1,2\right\},B=∅ is a possible choice.

In the third test case, A=\left\{0,1,2\right\},B=\left\{0\right\} is a possible choice.

In the fourth test case, A=\left\{1,3,5\right\},B=\left\{2,4,6\right\} is a possible choice.
#codeforces div-2 round 668


'''for i in range(int(input())):
    n=int(input())
    arr=[int(i) for i in input().split()]
    print(*arr[::-1])'''


'''for i in range(int(input())):
    n=int(input())
    arr=[int(i) for i in input().split()]
    run=0
    for i in range(n-1,-1,-1):
        if arr[i]<0:
            run+=arr[i]
        else:
            if run<0:
                temp=arr[i]
                arr[i]=max(0,arr[i]+run)
                run=min(0,temp+run)
    res=0
    for i in range(n):
        res+=arr[i] if arr[i]>0 else 0
    print(res)'''

"""for i in range(int(input())):
    n,k=[int(i) for i in input().split()]
    s=intput()"""

#Codechef long challenge
'''from collections import defaultdict
for i in range(int(input())):
    n=int(input())
    arr=[int(i) for i in input().split()]
    cnt=defaultdict(int)
    for i in range(n):
        cnt[arr[i]]+=1
    print(len(cnt))'''

#Codeforces round 669 div-02

'''for i in range(int(input())):
    n=int(input())
    arr=[int(i) for i in input().split()]
    ones=0
    for i in range(n):
        if arr[i]==1:
            ones+=1
    if ones<=n//2:
        print(n-ones)
        print(*[0 for j in range(n-ones)])
    elif ones%2:
        print(ones-1)
        print(*[1 for j in range(ones-1)])
    else:
        print(ones)
        print(*[1 for j in range(ones)])'''
    

'''def gcd(a,b):
    if b==0:
        return a
    return gcd(b,a%b)
for i in range(int(input())):
    n=int(input())
    arr=[int(i) for i in input().split()]

    k=max(arr)
    imp=[]
    run=k
    arr0=arr[:]
    for j in range(n):
        for i in range(len(arr0)):


    for i in range(n):
        imp.append((gcd(k,arr[i]),arr[i]))
    print(imp)
    imp.sort(key=lambda x:x[0],reverse=True)
    res=[]
    for i in imp:
        res.append(i[1])
    print(*res)'''

#Codeforces round 670 DIV-02
from collections import defaultdict
for i in range(int(input())):
    n=int(input())
    arr=[int(i) for i in input().split()]
    cnt=defaultdict(int)
    for i in arr:
        cnt[i]+=1
    first=0
    second=0
    tot=0
    for j in range(0,max(arr)+2):
        if cnt[j]==0:
            first=j
            break
    
    res=0
    for t in range(0,max(arr)+2):
        if cnt[t]==1 or cnt[t]==0:
            second=t
            break
    print(first+second)


        






