#include<bits/stdc++.h>
using namespace std;
typedef long long int ll;
vector<int> primeSieve(10000, 1);
ll power(ll a, ll b){
if(b==0){
return 1;
}
else if(b%2==0){
return power(a*a, b/2);
}
else{
return a*power(a, b-1);
}
}
void fillSieve(){
for(int i=2; i<=10000; i+=2){
primeSieve[i]=2;
}
for(int i=3; i<=sqrt(10000); i+=2){
if(primeSieve[i]==1){
primeSieve[i]=i;
for(int j=i; j*i<10000; j++){
if(primeSieve[i*j]==1){
primeSieve[i*j]=i;
}
}
}
}
}
int main(){
ios_base::sync_with_stdio(0);
cin.tie(NULL);
cout.tie(NULL);
int t;
cin>>t;
fillSieve();
while(t--){
int n, m;
cin>>n>>m;
unordered_map<int, int> finalSeq;
for(int i=0; i<n; i++){
unordered_map<int, int > mapp;
int x;
cin>>x;
while(x!=1){
mapp[primeSieve[x]]++;
x/=primeSieve[x];
}
for(auto it : mapp){
if(it.second > finalSeq[it.first]){
finalSeq[it.first]=it.second;
}
}
}
int ans=1;
int ansIncrement=1;
for(int i=1; i<=m; i++){
unordered_map<int, int> temp;
int local=1;
int x = i;
while(x!=1){
temp[primeSieve[x]]++;
x/=primeSieve[x];
}
for(auto it : temp){
if(it.second>finalSeq[it.first]){
ll tem = power(it.first,it.second - finalSeq[it.first]);
if(tem>local){
local = tem;
}
}
if(local>ansIncrement){
ansIncrement=local;
ans=i;
}
}
}
cout<<ans<<endl;
}
return 0;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKdHlwZWRlZiBsb25nIGxvbmcgaW50IGxsOwoKdmVjdG9yPGludD4gcHJpbWVTaWV2ZSgxMDAwMCwgMSk7CgpsbCBwb3dlcihsbCBhLCBsbCBiKXsKICAgIGlmKGI9PTApewogICAgICAgIHJldHVybiAxOwogICAgfQogICAgZWxzZSBpZihiJTI9PTApewogICAgICAgIHJldHVybiBwb3dlcihhKmEsIGIvMik7CiAgICB9CiAgICBlbHNlewogICAgICAgIHJldHVybiBhKnBvd2VyKGEsIGItMSk7CiAgICB9Cn0KCgp2b2lkIGZpbGxTaWV2ZSgpewogICAgZm9yKGludCBpPTI7IGk8PTEwMDAwOyBpKz0yKXsKICAgICAgICBwcmltZVNpZXZlW2ldPTI7CiAgICB9CiAgICBmb3IoaW50IGk9MzsgaTw9c3FydCgxMDAwMCk7IGkrPTIpewogICAgICAgIGlmKHByaW1lU2lldmVbaV09PTEpewogICAgICAgICAgICBwcmltZVNpZXZlW2ldPWk7CiAgICAgICAgICAgIGZvcihpbnQgaj1pOyBqKmk8MTAwMDA7IGorKyl7CiAgICAgICAgICAgICAgICBpZihwcmltZVNpZXZlW2kqal09PTEpewogICAgICAgICAgICAgICAgICAgIHByaW1lU2lldmVbaSpqXT1pOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQp9CgppbnQgbWFpbigpewogICAgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbygwKTsKICAgIGNpbi50aWUoTlVMTCk7CiAgICBjb3V0LnRpZShOVUxMKTsKICAgIGludCB0OwogICAgY2luPj50OwogICAgZmlsbFNpZXZlKCk7CiAgICB3aGlsZSh0LS0pewogICAgICAgIGludCBuLCBtOwogICAgICAgIGNpbj4+bj4+bTsKICAgICAgICB1bm9yZGVyZWRfbWFwPGludCwgaW50PiBmaW5hbFNlcTsKICAgICAgICBmb3IoaW50IGk9MDsgaTxuOyBpKyspewogICAgICAgICAgICB1bm9yZGVyZWRfbWFwPGludCwgaW50ID4gbWFwcDsKICAgICAgICAgICAgaW50IHg7CiAgICAgICAgICAgIGNpbj4+eDsKICAgICAgICAgICAgd2hpbGUoeCE9MSl7CiAgICAgICAgICAgICAgICBtYXBwW3ByaW1lU2lldmVbeF1dKys7CiAgICAgICAgICAgICAgICB4Lz1wcmltZVNpZXZlW3hdOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGZvcihhdXRvIGl0IDogbWFwcCl7CiAgICAgICAgICAgICAgICBpZihpdC5zZWNvbmQgPiBmaW5hbFNlcVtpdC5maXJzdF0pewogICAgICAgICAgICAgICAgICAgIGZpbmFsU2VxW2l0LmZpcnN0XT1pdC5zZWNvbmQ7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgaW50IGFucz0xOwogICAgICAgIGludCBhbnNJbmNyZW1lbnQ9MTsKICAgICAgICBmb3IoaW50IGk9MTsgaTw9bTsgaSsrKXsKICAgICAgICAgICAgdW5vcmRlcmVkX21hcDxpbnQsIGludD4gdGVtcDsKICAgICAgICAgICAgaW50IGxvY2FsPTE7CiAgICAgICAgICAgIGludCB4ID0gaTsKICAgICAgICAgICAgd2hpbGUoeCE9MSl7CiAgICAgICAgICAgICAgICB0ZW1wW3ByaW1lU2lldmVbeF1dKys7CiAgICAgICAgICAgICAgICB4Lz1wcmltZVNpZXZlW3hdOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGZvcihhdXRvIGl0IDogdGVtcCl7CiAgICAgICAgICAgICAgICBpZihpdC5zZWNvbmQ+ZmluYWxTZXFbaXQuZmlyc3RdKXsKICAgICAgICAgICAgICAgICAgICBsbCB0ZW0gPSBwb3dlcihpdC5maXJzdCxpdC5zZWNvbmQgLSBmaW5hbFNlcVtpdC5maXJzdF0pOwogICAgICAgICAgICAgICAgICAgIGlmKHRlbT5sb2NhbCl7CiAgICAgICAgICAgICAgICAgICAgICAgIGxvY2FsID0gdGVtOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGlmKGxvY2FsPmFuc0luY3JlbWVudCl7CiAgICAgICAgICAgICAgICAgICAgYW5zSW5jcmVtZW50PWxvY2FsOwogICAgICAgICAgICAgICAgICAgIGFucz1pOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGNvdXQ8PGFuczw8ZW5kbDsKICAgIH0KICAgIHJldHVybiAwOwp9