#include <bits/stdc++.h>
using namespace std;
#define sp " "
#define el '\n'
#define ll long
void Solution()
{
ll n, ev = 0, od = 0;
cin >> n;
vector<ll> v(n), o,e;
for(ll i = 0; i < n; i++){
cin >> v[i];
if(v[i]%2) {
od++;
o.push_back(v[i]);
}
else{
ev++;
e.push_back(v[i]);
}
}
sort(e.rbegin(),e.rend());
sort(o.rbegin(),o.rend());
vector<unsigned ll> pref(ev),ans;
if(ev){
pref[0] = e[0];
for(ll i = 1; i < ev; i++){
pref[i] = pref[i-1] + e[i];
}
}
if(od == 0) {
for(int i = 0; i < n; i++){
cout << 0 << sp;
}
cout << endl;
return;
}
if(ev == 0){
for(int i = 0; i < n; i++){
if(i%2 == 0) cout << o[0] << sp;
else cout << 0 << sp;
}
cout << endl;
return;
}
ans.push_back(o[0]);
for(ll i = 1; i < n; i++){
if(i <= ev)
ans.push_back(o[0]+pref[i-1]);
else{
if(i == n-1 && od%2 == 0)
ans.push_back(0);
else
ans.push_back(ans[i-2]);
}
}
for(auto u : ans){
cout << u << sp;
}
cout << endl;
}
int main()
{
ios::sync_with_stdio(0);
cin.tie(0); cout.tie(0);
int t;
cin >> t;
for(int tc = 1; tc <= t; tc++)
Solution();
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgojZGVmaW5lIHNwICIgIgojZGVmaW5lIGVsICdcbicKI2RlZmluZSBsbCBsb25nCnZvaWQgU29sdXRpb24oKQp7CiAgICBsbCBuLCBldiA9IDAsIG9kID0gMDsKICAgIGNpbiA+PiBuOwogICAgdmVjdG9yPGxsPiB2KG4pLCBvLGU7CiAgICBmb3IobGwgaSA9IDA7IGkgPCBuOyBpKyspewogICAgICAgIGNpbiA+PiB2W2ldOwogICAgICAgIGlmKHZbaV0lMikgewogICAgICAgICAgICBvZCsrOwogICAgICAgICAgICBvLnB1c2hfYmFjayh2W2ldKTsKICAgICAgICB9CiAgICAgICAgZWxzZXsgCiAgICAgICAgICAgIGV2Kys7CiAgICAgICAgICAgIGUucHVzaF9iYWNrKHZbaV0pOwogICAgICAgIH0KICAgIH0KICAgIHNvcnQoZS5yYmVnaW4oKSxlLnJlbmQoKSk7CiAgICBzb3J0KG8ucmJlZ2luKCksby5yZW5kKCkpOwoKICAgIHZlY3Rvcjx1bnNpZ25lZCBsbD4gcHJlZihldiksYW5zOwogICAgaWYoZXYpewogICAgICAgIHByZWZbMF0gPSBlWzBdOwogICAgICAgIGZvcihsbCBpID0gMTsgaSA8IGV2OyBpKyspewogICAgICAgICAgICBwcmVmW2ldID0gcHJlZltpLTFdICsgZVtpXTsKICAgICAgICB9CiAgICB9CiAgICBpZihvZCA9PSAwKSB7CiAgICAgICAgZm9yKGludCBpID0gMDsgaSA8IG47IGkrKyl7CiAgICAgICAgICAgIGNvdXQgPDwgMCA8PCBzcDsKICAgICAgICB9CiAgICAgICAgY291dCA8PCBlbmRsOwogICAgICAgIHJldHVybjsKICAgIH0KICAgIGlmKGV2ID09IDApewogICAgICAgIGZvcihpbnQgaSA9IDA7IGkgPCBuOyBpKyspewogICAgICAgICAgICBpZihpJTIgPT0gMCkgY291dCA8PCBvWzBdIDw8IHNwOwogICAgICAgICAgICBlbHNlIGNvdXQgPDwgMCA8PCBzcDsKICAgICAgICB9CiAgICAgICAgY291dCA8PCBlbmRsOwogICAgICAgIHJldHVybjsKICAgIH0KICAgIGFucy5wdXNoX2JhY2sob1swXSk7CiAgICBmb3IobGwgaSA9IDE7IGkgPCBuOyBpKyspewogICAgICAgIGlmKGkgPD0gZXYpCiAgICAgICAgICAgIGFucy5wdXNoX2JhY2sob1swXStwcmVmW2ktMV0pOwogICAgICAgIGVsc2V7CiAgICAgICAgICAgIGlmKGkgPT0gbi0xICYmIG9kJTIgPT0gMCkKICAgICAgICAgICAgICAgIGFucy5wdXNoX2JhY2soMCk7CiAgICAgICAgICAgIGVsc2UgCiAgICAgICAgICAgICAgICBhbnMucHVzaF9iYWNrKGFuc1tpLTJdKTsKICAgICAgICB9CiAgICB9CiAgICBmb3IoYXV0byB1IDogYW5zKXsKICAgICAgICBjb3V0IDw8IHUgPDwgc3A7CiAgICB9CiAgICBjb3V0IDw8IGVuZGw7Cn0KaW50IG1haW4oKQp7CiAgICAgIGlvczo6c3luY193aXRoX3N0ZGlvKDApOwogICAgICBjaW4udGllKDApOyBjb3V0LnRpZSgwKTsKICAgICAgaW50IHQ7CiAgICAgIGNpbiA+PiB0OwogICAgICBmb3IoaW50IHRjID0gMTsgdGMgPD0gdDsgdGMrKykKICAgICAgICAgICAgU29sdXRpb24oKTsKICAgICAgcmV0dXJuIDA7Cn0=