#include<bits/stdc++.h>
using namespace std;
#define ll  long long int
#define fl(i,l,r) for(int i=l ; i<=r ; i++)
#define flr(i,r,l) for(int i=r;i>=l;i--)
#define pb push_back
#define mp make_pair
#define F first
#define S second
#define all(x) x.begin(), x.end()
#define jaldi ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
const ll MOD = 1e9+7;
#define pi 3.141592653589793238462643383279
#define vi vector<int>
#define vip vector< pair<int,int> >
#define test int t; cin>>t; while(t--)
#define min(a, b) ((a) < (b) ? (a) : (b))
#define max(a, b) ((a) < (b) ? (b) : (a))
#define trav(it, a) for(auto it = a.begin(); it != a.end(); it++)
inline int GCD (int a, int b) { return b == 0 ? a : GCD(b, a % b); }
inline int LCM (int a, int b) { return a * b / GCD(a, b); }
inline int ceil(int a, int b){  return (a%b==0) ? a/b : a/b +1 ;}
#define DEBUG(x) do { std::cerr << #x << ": " << x << std::endl; } while (0)

int main()
{
    //#ifndef ONLINE_JUDGE
	//freopen("input.txt","r",stdin);
	//freopen("output.txt","w",stdout);
	//#endif

    test
    {
        int n; cin>>n;
        vi arr(n);
        vi o,e,a;
        fl(i,0,n-1)
        {
            cin>>arr[i];
            if(arr[i]%2==0) 
            {
                e.pb(arr[i]);
            }
            else
            {
                o.pb(arr[i]);
            }
        }
        if(o.size()!=0)
  fl(i,0,o.size()-1) cout<<o[i]<<" ";
  if(e.size()!=0)
  fl(i,0,e.size()-1) cout<<e[i]<<" ";

   cout<<"\n";

    }
}