Untitled

Accepts: 504
Submissions: 1542
Time Limit: 2000/1000 MS (Java/Others)
Memory Limit: 65536/65536 K (Java/Others)
问题描述
有一个整数$a$和$n$个整数$b_1, \ldots, b_n$。在这些数中选出若干个数并重新排列,得到$c_1, \ldots, c_r$。我们想保证$a \ mod \ c_1 \ mod \ c_2 \ mod \ldots \ mod \ c_r = 0$。请你得出最小的$r$,也就是最少要选择多少个数字。如果无解,请输出$-1$.
输入描述
输入文件的第一行有一个正整数 $T \leq 5$,表示数据组数。

接下去有$T$组数据,每组数据的第一行有两个正整数$n$和$a$ ($1 \leq n \leq 20, 1 \leq a \leq 10^{6}$).

第二行有$n$个正整数$b_1, \ldots, b_n$ ($\forall 1\leq i \leq n, 1 \leq b_i \leq 10^{6}$).
输出描述
输出$T$行$T$个数表示每次询问的答案。
输入样例
2
2 9
2 7
2 9
6 7
输出样例
2
-1