#include #include #include #include using namespace std ; const int maxn = 30; int b[maxn] ; int n ; int ans = 100 ; int len ; int num;int a[maxn] ; void dfs(int pos) { if(pos == n+1) { int t = num ; for(int i = 1;i <= len;i++) t %= b[i] ; if(t == 0) ans = min(ans , len) ; return ; } dfs(pos+1) ; b[++len] = a[pos] ; dfs(pos+1) ; len-- ; } bool cmp(int a , int b) { return a > b ; } int main() { int T ; scanf("%d" ,&T) ; while(T--) { scanf("%d%d" , &n , &num) ; for(int i =1;i <= n;i++) scanf("%d" , &a[i]) ; sort(a + 1, a + n + 1 ,cmp) ; len = 0 ;ans = 100; dfs(1) ; if(ans == 100) puts("-1") ; else cout<