编程题
### 问题描述
大衣有一个长度为 $N$ 的数组 $A$。
请找出数组 $A$ 中最长的子数组,满足子数组中所有元素的按位或等于数组 $A$ 中剩余元素的按位或。
如果不存在这样的子数组输出 $-1$,否则输出最长子数组的长度。
### 输入格式
第一行输入一个正整数 $T$ 表示测试数据的组数。
接下来 $T$ 组测试数据每组输入两行:
- 第一行输入一个正整数 $N$ 表示数组 $A$ 的长度。
- 第二行输入 $N$ 个整数 $A_1,A_2,\cdots,A_N$ 表示数组 $A$ 的元素。
### 输出格式
对于每组测试数据,如果存在满足条件的子数组,输出最长子数组的长度,否则输出 $-1$,并换行。
### 样例输入
```text
3
3
1 2 4
3
1 3 2
4
2 3 4 7
```
### 样例输出
```text
-1
1
3
```
### 说明
样例 $1$:数组 $A$ 中不存在子数组满足题目要求。
样例 $2$:考虑长度为 $1$ 的子数组 $[3]$,它的元素按位或为 $3$,剩余的元素按位或为 $1|2=3$,因为它们相等,所以满足题目要求。
样例 $3$:考虑长度为 $3$ 的子数组 $[2,3,4]$,它的元素按位或为 $2|3|4=7$,剩余的元素按位或为 $7$,因为它们相等,所以满足题目要求。
### 评测数据规模
对于所有的评测数据,$1\le T\le 20$,$1\le N\le 10^4$,$1\le A_i<2^{30}$。