编程题
### 问题描述
小蓝正在参加一个神秘的数学比赛。在这个比赛中,他得到了一个长度为 $n$ 的正整数数组 $a_1, a_2, \dots, a_n$。他需要通过一系列操作,使得数组中所有数的乘积(即 $a_1 \cdot a_2 \cdot \dots \cdot a_n$)能够被 $2^n$ 整除。
每次操作,小蓝可以选择一个下标 $i$($1 \leq i \leq n$),然后将 $a_i$ 替换为 $a_i \cdot i$。注意,不能对同一个下标进行多次操作。
小蓝想知道,他需要进行多少次操作才能达成目标,或者判断这样的操作是否存在。
请你帮助小蓝解决这个问题吧!
### 输入格式
第一行包含一个整数 $t$,表示测试数据的组数。
每组测试数据包含两行,第一行包含一个整数 $n$,表示数组 $a$ 的长度。
第二行包含 $n$ 个正整数,分别表示 $a_1, a_2, \dots, a_n$。
### 输出格式
对于每组测试数据,输出使得数组所有数的乘积能够被 $2^n$ 整除的最小操作次数。如果无法通过操作实现这个目标,输出 $\texttt{-1}$。
### 样例输入
```txt
6
1
2
2
3 2
3
10 6 11
4
13 17 1 1
5
1 1 12 1 1
6
20 7 14 18 3 5
```
### 样例输出
```txt
0
1
1
-1
2
1
```
### 样例说明
第一个测试数据中,所有元素的乘积初始为 $2$,因此不需要进行任何操作。
第二个测试数据中,所有元素的乘积初始为 $6$。我们可以对 $i=2$ 执行一次操作,将 $a_2$ 变为 $2\cdot2=4$,此时所有元素的乘积为 $3\cdot4=12$,可以被 $2^n=2^2=4$ 整除。
第四个测试数据中,即使我们对所有元素执行了所有可能的操作,仍然无法使得所有元素的乘积能够被 $2^n$ 整除,因为最终的乘积为 $(13\cdot1)\cdot(17\cdot2)\cdot(1\cdot3)\cdot(1\cdot4)=5304$,无法被 $2^n=2^4=16$ 整除。
第五个测试数据中,我们可以对 $i=2$ 和 $i=4$ 分别执行一次操作。
### 评测数据规模
对于 $100$% 的评测数据,$1 \leq t \leq 10,1 \leq n \leq 2 \cdot 10^5,1 \leq a_i \leq 10^9$。