#include<bits/stdc++.h>
#define endl '\n'
#define int long long
#define double long double
using namespace std;
constexpr int N=1e9+10;
constexpr int mod=1e9+7;
void solve()
{
int n;
cin >> n;
vector<int> f(n);
for(int i=0;i<n;i++)
{
cin >> f[i];
}
vector<bool> v(n);
vector<bool> vis(33);
for(int i=32;i>=0;i--)
{
if(vis[i])
continue;
int num=0;
int cnt=(1ll<<i);
int tmp=-1;
for(int j=0;j<n;j++)
{
if((f[j]&cnt)&&!v[j])
{
if(tmp==-1||(f[tmp]&((1ll<<i+1)-1))<(f[j]&((1ll<<i+1)-1)))
{
tmp=j;
}
}
}
if(tmp^-1)
{
cout << f[tmp] << " ";
int res=0;
while(f[tmp])
{
if(f[tmp]&1)
{
vis[res]=true;
}
res++;
f[tmp]>>=1;
}
v[tmp]=true;
}
}
for(int i=0;i<n;i++)
{
if(!v[i])
{
cout << f[i] << " ";
}
}
cout << endl;
}
signed main()
{
std::ios::sync_with_stdio(false);
std::cin.tie(nullptr);
int o;
cin >> o;
while(o--)
solve();
return 0;
}