#include <bits/stdc++.h> #include <bits/extc++.h> using namespace std; using namespace __gnu_pbds; #define ll long long #define pb push_back gp_hash_table<int,int> cnt; const int inf=1e9+7; int main(){ int t; scanf("%i",&t); while(t--){ int n; scanf("%i",&n); cnt.clear(); //vector<vector<int>> dvs; for(int i=1;i<=n;i++){ int a; scanf("%i",&a); //vector<int> L,R; for(int j=1;(ll)j*j<=a;j++){ if(a%j==0){ cnt[j]++; //L.pb(j); if(j*j!=a){ cnt[a/j]++; //R.pb(a/j); } } } //reverse(R.begin(),R.end()); //for(int j:R)L.pb(j); //dvs.pb(L); } ll ans=0; for(auto p:cnt)ans=max(ans,(ll)p.first*p.second); /*vector<int> ptr(n,0); ll ans=0; while(true){ int mn=inf; for(int i=0;i<n;i++){ if(ptr[i]<dvs[i].size()){ mn=min(mn,dvs[i][ptr[i]]); } } if(mn==inf)break; int cnt=0; for(int i=0;i<n;i++){ if(ptr[i]<dvs[i].size() && dvs[i][ptr[i]]==mn){ cnt++; ptr[i]++; } } ans=max(ans,(ll)mn*cnt); }*/ printf("%lld\n",ans); } return 0; }