//on the name of Allah:)
#include<bits/stdc++.h>
#define int long long
#define endl "\n"
#define pi 2 * acos(0.0)
#define mod 1000000007
#define Mul(a,b) (a%mod * b%mod)%mod
#define Add(a,b) (a%mod + b%mod)%mod
#define all(x) (x).begin(),(x).end()
#define allr(x) (x).rbegin(),(x).rend()
#define gcd(x, y) (__gcd(x, y))
#define lcm(x, y) ((x/gcd(x, y))*y)
#define faster cin.tie(NULL), cout.tie(NULL);
#define TC int t ; cin>>t ; while (t--)
const int N = 1e9 + 7;
using namespace std;
int divisors (int n)
{
vector<int>divs;
for(int i = 1 ; i*i <= n ; i++) {
if(n % i == 0) {
divs.push_back(i);
if(n/i != i) {
divs.push_back(n/i);
}
}
}
sort(divs.begin(),divs.end());
return divs.size();
}
bool cmp (pair<int,int>a,pair<int,int>b) {
if(a.second == b.second) {
return a.first>b.first;
}
return a.second<b.second;
}
void s()
{
int n,k;
cin >> n;
vector<int>v;
for(int i=0;i<n;i++) {
int x;
cin >> x;
v.push_back(x);
}
cin >> k;
vector<pair<int,int>>d;
for(int i=0;i<n;i++) {
int cnt = divisors(v[i]);
d.push_back({v[i],cnt});
}
sort(all(d),cmp);
cout << d[k-1].first << endl;
}
int32_t main()
{ ios::sync_with_stdio(false);
TC
s();
}