T = int(input())
for _ in range(T):
n = int(input())
arr = map(int, input().split())
# Detect connections
x2accounts = {}
for i, acc in enumerate(arr):
p = acc
xs = []
while p > 0:
nexp = p & (p - 1)
x = nexp ^ p
if x in x2accounts:
x2accounts[x].append(i)
else:
x2accounts[x] = [i]
xs.append(x)
p = nexp
# Merge connected groups
merged = []
for accounts in x2accounts.values():
using_group = None
to_del = []
for i, group in enumerate(merged):
if any(x in group for x in accounts):
if using_group is None:
using_group = group
else:
using_group.update(group)
to_del.append(i)
if using_group is None:
merged.append(set(accounts))
else:
using_group.update(accounts)
for i in reversed(to_del): del merged[i]
# Output
print(max(len(x) for x in merged))