#include <bits/stdc++.h>
using namespace std;
const int M = 1e6 + 7;
const long long prime = 2137;
int n, q, wynik, nic, pom, a, fajne, tab[M];
vector<int> v[M];
set<int> st;
set<int>::iterator it;
void dzielniki() {
  for (int i = 1; i <= 2e5 + 7; i++)
    for (int j = i; j <= 2e5 + 7; j += i) v[j].push_back(i);
}
int main() {
  scanf("%d", &q);
  dzielniki();
  for (int i = 1; i <= q; i++) {
    st.clear();
    scanf("%d", &n);
    wynik = 0;
    for (int j = 1; j <= n; j++) scanf("%d", &tab[j]);
    sort(tab + 1, tab + n + 1);
    for (int j = 1; j <= n; j++) {
      a = tab[j];
      st.insert(a);
      pom = a;
      for (auto u : v[a]) st.erase(u);
      fajne = 0;
      if (!st.empty()) {
        it = st.end();
        it--;
        fajne = *it;
        pom += fajne;
        for (auto u : v[fajne]) st.erase(u);
        it = st.end();
        if (!st.empty()) {
          it--;
          pom += *it;
        }
        wynik = max(wynik, pom);
      }
      wynik = max(wynik, pom);
      for (auto u : v[a]) st.insert(u);
      for (auto u : v[fajne]) st.insert(u);
    }
    printf("%d\n", wynik);
  }
  return 0;
}
