#31204. B. 取模 2

B. 取模 2

B. 取模 2

给定 nn 个正整数 a1,a2,,ana_1,a_2,\ldots,a_n

再给定 AA,你需要从数列 aa 中选择 mm 项,以任意顺序排列为 b1,b2,,bmb_1,b_2,\ldots,b_m,使得 $(\ldots((A\bmod b_1)\bmod b_2)\bmod\ldots)\bmod b_m=0$。

求出 mm 的最小值。若无解,请输出 -1

输入格式

本题有多组数据。

第一行一个整数 TT,表示数据组数。

对于每组数据:

  • 第一行两个整数 n,An,A,意义如题述。
  • 第二行 nn 个数,表示 a1,a2,,ana_1,a_2,\ldots,a_n

输出格式

对于每组数据,仅一行一个数,表示答案。

样例

输入样例 1

2
2 9
2 7
1 3
2

输出样例 1

2
-1

样例 1 说明

  • 对于数据 1:考虑 9mod7=29\bmod 7=22mod2=02\bmod 2=0。可以证明,22mm 的最小值。
  • 对于数据 2:显然无解。

数据规模与约定

测试点 限制
11 存在 ii 使得 ai=1a_i=1
232\sim3 2ai202\le a_i\le 20
454\sim5 n10n\le10
6106\sim10 无特殊限制

对于 100%100\% 的数据,1T31\le T\le 31n201\le n \le 201A,ai1061\le A,a_i\le 10^6