from sys import stdin input = stdin.readline def func(n, C, cnt): for i in reversed(range(n, N*2+10)): cnt += C[i] C[i] = 0 right = 0 for i in range(n): if right == i: right += 1 if 1 <= C[i]: rem = C[i]-1 C[i] = 1 if 1 <= i: cnt += rem*(1<<(i-1)) else: cnt += rem else: if 1 <= i: cost = 1<<(i-1) else: cost = 1 if cost <= cnt: cnt -= cost C[i] = 1 else: cost -= cnt cnt = 0 while 1 <= cost and right < N*2+10: if 1 <= C[right]: cost -= 1 C[right] -= 1 if C[right] == 0: right += 1 if cost == 0: C[i] = 1 else: return False return True for _ in range(int(input())): N = int(input()) A = list(map(int, input().split())) C = [0]*(N*2+10) cnt = 0 for a in A: if a < N*2+10: C[a] += 1 else: cnt += 1 left = 0 right = N*3 while left+1 < right: mid = (left+right)//2 if func(mid, C[:], cnt): left = mid else: right = mid print(left)