#include<stdio.h>
#include<math.h>
long long int gcd(long long int a ,long long int b)
{
if (b != 0)
return gcd(b, a % b);
else
return a;
}
long long int lcm(long long int a,long long int b)
{
return (a*b)/gcd(a,b);
}
int main()
{
long long int t,i,j;
scanf("%lld",&t);
while(t)
{
long long int n,m,l;
scanf("%lld%lld",&n,&m);
long long int a[n];
for(i=0;i<n;i++)
{
scanf("%lld",&a[i]);
// printf("%d ",a[i]);
}
l = a[0];
for(i=1;i<n;i++)
{
l = lcm(a[i],l);
}
long long int p = m;
long long int max = lcm(l,m);
//l = lcm(l,m);
for(i=m-1;i>=1;i--)
{
if(lcm(i,l)>=max)
{
max = lcm(i,l);
p = i;
}
}
printf("%lld\n",p);
t--;
}
}