#include<bits/stdc++.h>
using namespace std;
#define ll  unsigned long long int
#define pb push_back
#define sx 300007
int maxi;
int mh(int a,int b)
{
    if(__gcd(a,maxi)>__gcd(b,maxi))
    {
        //cout<<a<<" "<<__gcd(a,maxi)<<" "<<b<<" "<<__gcd(b,maxi)<<endl;
        return 1;
    }
    // cout<<"i am here"<<endl;
    return 0;
}
int main()
{
    int tt;
    cin>>tt;
    while(tt--)
    {
        maxi=0;
        vector<int> v;
        int n,ar[sx];
        cin>>n;
        for(int i=1; i<=n; i++)
            cin>>ar[i];
        //sort(ar+1,ar+n+1);
        maxi=ar[n];
        for(int i=1; i<=n; i++)
        {
            if(ar[i]==maxi)
                continue;
            v.pb(ar[i]);
        }
        sort(v.begin(),v.end(),mh);
        cout<<maxi<<" ";
        for(int i=0; i<v.size(); i++)
            cout<<v[i]<<" ";
        cout<<endl;
    }
    return 0;
}


