编程题
### 问题描述
小浩有一个正整数 $M(M\ge2)$ 和一个长度为 $N$ 的数组 $A$,满足 $2\le A_i\le M$。
在一次操作中,小浩可以选择一个整数 $X(2\le X\le M)$,然后对于所有 $1\le i\le N$,将 $A_i$ 变为 $\gcd(A_i,X)$。
小浩想让数组 $A$ 中所有元素相等,请找到满足要求的最少操作次数,可以证明一定有解。
### 输入格式
第一行输入一个正整数 $T$ 表示测试数据的组数。
接下来 $T$ 组测试数据每组输入两行:
- 第一行输入两个正整数 $N,M$ 分别表示数组的长度和数组中元素的上界。
- 第二行输入 $N$ 个整数 $A_1,A_2,\cdots,A_N$ 表示数组的元素。
### 输出格式
对于每组测试数据,输出一个整数表示满足要求的最少操作次数,并换行。
### 样例输入1
```text
2
3 343
343 343 343
5 100
4 8 12 16 20
```
### 样例输出1
```text
0
1
```
### 说明
- 样例 $1$:因为初始时数组 $A$ 所有元素已经相等,所以不需要进行操作。
- 样例 $2$:选择 $X=4$,数组 $A$ 变为 $[\gcd(4,4),\gcd(4,8),\gcd(4,12),\gcd(4,16),\gcd(4,20)]=[4,4,4,4,4]$,此时所有元素相等,进行了 $1$ 次操作。
### 评测数据规模
对于所有的评测数据,$1\le T\le20$,$1\le N\le 10^4$,$2\le M\le 10^6$,$2\le A_i\le M$。