BaoBao 有一个序列 $a_1, a_2, \dots, a_n$。他想找到一个下标集合 $S \subseteq \{1, 2, \dots, n\}$,使得对于任意 $i, j \in S$,满足 $a_i \oplus a_j < \min(a_i, a_j)$,且 $|S|$ 最大,其中 $\oplus$ 表示按位异或运算。
输入格式
输入包含多组测试数据。第一行包含一个整数 $T$,表示测试数据的组数。对于每组测试数据:
第一行包含一个整数 $n$ ($1 \le n \le 10^5$),表示序列的长度。
第二行包含 $n$ 个整数:$a_1, a_2, \dots, a_n$ ($1 \le a_i \le 10^9$),表示该序列。
保证所有测试数据中 $n$ 的总和不超过 $10^5$。
输出格式
对于每组测试数据,输出一个整数,表示 $|S|$ 的最大值。
样例
输入 1
3 3 1 2 3 3 1 1 1 5 1 2323 534 534 5
输出 1
2 3 2