#include <algorithm>
#include <cstdio>
const int N = 1e5 + 5;
int T, n, k, ans, a[N];
int gcd(int x, int y);
int main(void)
{
scanf("%d", &T);
while (T--)
{
ans = 0;
scanf("%d %d", &n, &k);
for (int i = 1; i <= n; i++)
{
scanf("%d", &a[i]);
a[i] = gcd(a[i], a[i - 1]);
}
for (int i = 2; i <= a[n]; i++)
{
if (a[n] % i == 0)
{
ans = std::max(ans, k / i * i);
}
}
printf("%d\n", ans);
}
return 0;
}
int gcd(int x, int y)
{
return y ? gcd(y, x % y) : x;
}