#include <bits/stdc++.h>
#define ll long long
#define endll '\n';
#define pb push_back
#define all(v) v.begin(), v.end()
using namespace std;
const int mod = 1e9 + 7, N = 1e5 + 9;
vector<int> divv[N + 3];
int vis[N + 4];
void solve()
{
int n;
cin >> n;
int ar[n + 3];
vector<int> all_div;
vector<int> v;
for (int i = 1; i <= n; i++)
{
cin >> ar[i];
for (auto j : divv[ar[i]])
{
v.pb(j);
}
}
for (auto i : v)
{
if (vis[i] == 0)
all_div.pb(i);
vis[i] = 1;
}
for (auto i : v)
vis[i] = 0;
int even = n / 2, odd = n - even, ans = 0;
for (int i = 0; i < all_div.size() && i <= 50; i++)
{
int ii = all_div[i];
for (int j = i; j < all_div.size() && j <= 50; j++)
{
int jj = all_div[j];
// cout << ii << " " << jj << endll;
int both = 0, first = 0, second = 0, flg = 0;
for (int k = 1; k <= n; k++)
{
if (ar[k] % ii == 0 && ar[k] % jj == 0)
{
both++;
}
else if (ar[k] % ii == 0)
{
first++;
}
else if (ar[k] % jj == 0)
{
second++;
}
else
{
flg = 1;
break;
}
}
if (flg == 0)
{
if (first > even && first > odd)
{
continue;
}
if (second > even && second > odd)
{
continue;
}
ans = max(ans, ii + jj);
}
}
}
// cout << all_div.size() << endl;
cout << ans << endll;
}
int32_t main()
{
ios::sync_with_stdio(false);
cin.tie(0);
int t = 1;
for (int i = 1; i <= N; i++)
{
for (int j = i; j <= N; j += i)
{
divv[j].pb(i);
}
}
cin >> t;
while (t--)
{
solve();
}
return 0;
}