← Home
#include<bits/stdc++.h>
using namespace std;
#define N 10000000
int i,j,k,n,m,t,f[N+50],mp[N+50][2],it,res,cur,a;
#define P(X) mp[cur][k^X]
int main(){
	cin>>t;
	while(t--){
		res=1e9; it=0;
		cin>>n>>m;
		for(i=n;i>=1;i--){
			cin>>a;
			for(cur=0,j=30;j>=0;f[cur=P(0)]=i,j--){
				k=(a>>j)%2; if(!P(0))P(0)=++it;
			}
			for(cur=0,j=30;j>=0;j--){
				k=(a>>j)%2;
				if(!((m>>j)%2)){
					if(P(1))res=min(res,f[P(1)]-i+1);
					k^=1;
				}
				cur=P(1);if(!cur)break;
			}
			if(cur)res=min(res,f[cur]-i+1);
		}
		memset(mp,0,it*8+50); memset(f,0x3f,it*4+50);
		cout<<(res>n?-1:res)<<'\n';
	}
}