#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;
}