问题 3286 --取模2

3286: 取模2

时间限制: 1 Sec  内存限制: 256 MB
提交: 7  解决: 2
[提交][状态][讨论版][命题人:]

题目描述

给定n个正整数a1,a2,,an

再给定A,你需要从数列a中选择m项,以任意顺序排列为b1,b2,,bm,使得((Amodb1)modb2)mod)modbm=0

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

输入

本题有多组数据。

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

对于每组数据:

  • 第一行两个整数n,A,意义如题述。
  • 第二行n 个数,表示a1,a2,,an

输出

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

样例输入

2
2 9
2 7
1 3
2

样例输出

2
-1

提示


样例 1 说明



数据范围




  • 对于数据 1:考虑9mod7=22mod2=0。可以证明,2 是 m 的最小值。


  • 对于数据 2:显然无解。




来源

[提交][状态]