#include <bits/stdc++.h>
using namespace std;
int gcd(int a, int b)
{
if (b == 0)
return a;
return gcd(b, a % b);
}
int main() {
int T;
cin>>T;
while(T--) {
long N;
cin>>N;
long a[N];
for(int i=0;i<N;i++) cin>>a[i];
if (N==2) {
cout<<a[0]+a[1]<<endl;
continue;
}
sort(a, a+N);
map<long,long> m;
set<long> s;
long GCD, ANS, FINAL=a[0];
for (int i=1;i<N;i++) {
GCD = gcd(a[0], a[i]);
m[GCD]++;
s.insert(GCD);
}
vector<long> v(s.begin(), s.end());
for(int i=N-1;i>0;i--) {
GCD=gcd(a[0], a[i]);
if (m[GCD]==1 && v[0]==GCD) {
ANS = a[i]+v[1];
} else {
ANS = a[i]+v[0];
}
FINAL = max(FINAL, ANS);
}
GCD=a[1];
for(int i=2;i<N;i++) GCD=gcd(GCD, a[i]);
cout<<max(FINAL, GCD+a[0])<<endl;
}
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CmludCBnY2QoaW50IGEsIGludCBiKSAKeyAKICAgIGlmIChiID09IDApIAogICAgICAgIHJldHVybiBhOyAKICAgIHJldHVybiBnY2QoYiwgYSAlIGIpOyAgCiAgICAgIAp9IAppbnQgbWFpbigpIHsKICAgIGludCBUOwogICAgY2luPj5UOwogICAgd2hpbGUoVC0tKSB7CiAgICAJbG9uZyBOOwogICAgCWNpbj4+TjsKICAgIAlsb25nIGFbTl07CiAgICAJZm9yKGludCBpPTA7aTxOO2krKykgY2luPj5hW2ldOwogICAgCWlmIChOPT0yKSB7CiAgICAJICAgIGNvdXQ8PGFbMF0rYVsxXTw8ZW5kbDsKICAgIAkgICAgY29udGludWU7CiAgICAJfQogICAgCXNvcnQoYSwgYStOKTsKICAgIAltYXA8bG9uZyxsb25nPiBtOwogICAgCXNldDxsb25nPiBzOwogICAgCWxvbmcgR0NELCBBTlMsIEZJTkFMPWFbMF07CiAgICAJZm9yIChpbnQgaT0xO2k8TjtpKyspIHsKICAgIAkgICAgR0NEID0gZ2NkKGFbMF0sIGFbaV0pOwogICAgCSAgICBtW0dDRF0rKzsKICAgIAkgICAgcy5pbnNlcnQoR0NEKTsKICAgIAl9CiAgICAJdmVjdG9yPGxvbmc+IHYocy5iZWdpbigpLCBzLmVuZCgpKTsKICAgIAlmb3IoaW50IGk9Ti0xO2k+MDtpLS0pIHsKICAgIAkgICAgR0NEPWdjZChhWzBdLCBhW2ldKTsKICAgIAkgICAgaWYgKG1bR0NEXT09MSAmJiB2WzBdPT1HQ0QpIHsKICAgIAkgICAgICAgIEFOUyA9IGFbaV0rdlsxXTsKICAgIAkgICAgfSBlbHNlIHsKICAgIAkgICAgICAgIEFOUyA9IGFbaV0rdlswXTsKICAgIAkgICAgfQogICAgCSAgICBGSU5BTCA9IG1heChGSU5BTCwgQU5TKTsKICAgIAl9CiAgICAJR0NEPWFbMV07CiAgICAJZm9yKGludCBpPTI7aTxOO2krKykgR0NEPWdjZChHQ0QsIGFbaV0pOwogICAgCWNvdXQ8PG1heChGSU5BTCwgR0NEK2FbMF0pPDxlbmRsOwogICAgfQp9