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))