#include <bits/stdc++.h>
using namespace std;
void solve(){
int n;
cin >> n;
// Read input values into a vector (if needed)
vector<int> a(n);
for (int i = 0; i < n; i++){
cin >> a[i];
}
// Create empty vectors for odds and evens
vector<int> b;
vector<int> c;
// Separate the numbers into odd and even vectors
for (int i = 0; i < n; i++){
if (a[i] % 2 == 1) {
b.push_back(a[i]);
} else {
c.push_back(a[i]);
}
}
// If either vector is empty, output -1
if(b.empty() || c.empty()){
cout << -1 << endl;
return;
}
// Print odd numbers
for (int x : b) {
cout << x << " ";
}
cout << endl;
// Print even numbers
for (int x : c) {
cout << x << " ";
}
cout << endl;
// for(int x = 0; x < n; x++){
// if(a[x] == -1){
// i++;
// }else if(a[x] == 1){
// j++;
// }
// }
// while(i>j){
// i--;
// j++;
// count++;
// }
}
int main() {
int t;
cin>>t;
while(t--){
solve();
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgp2b2lkIHNvbHZlKCl7CiAgICBpbnQgbjsKICAgIGNpbiA+PiBuOwogICAgCiAgICAvLyBSZWFkIGlucHV0IHZhbHVlcyBpbnRvIGEgdmVjdG9yIChpZiBuZWVkZWQpCiAgICB2ZWN0b3I8aW50PiBhKG4pOwogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBuOyBpKyspewogICAgICAgIGNpbiA+PiBhW2ldOwogICAgfQogICAgCiAgICAvLyBDcmVhdGUgZW1wdHkgdmVjdG9ycyBmb3Igb2RkcyBhbmQgZXZlbnMKICAgIHZlY3RvcjxpbnQ+IGI7ICAKICAgIHZlY3RvcjxpbnQ+IGM7CiAgICAKICAgIC8vIFNlcGFyYXRlIHRoZSBudW1iZXJzIGludG8gb2RkIGFuZCBldmVuIHZlY3RvcnMKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbjsgaSsrKXsKICAgICAgICBpZiAoYVtpXSAlIDIgPT0gMSkgewogICAgICAgICAgICBiLnB1c2hfYmFjayhhW2ldKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBjLnB1c2hfYmFjayhhW2ldKTsKICAgICAgICB9CiAgICB9CiAgICAKICAgIC8vIElmIGVpdGhlciB2ZWN0b3IgaXMgZW1wdHksIG91dHB1dCAtMQogICAgaWYoYi5lbXB0eSgpIHx8IGMuZW1wdHkoKSl7CiAgICAgICAgY291dCA8PCAtMSA8PCBlbmRsOwogICAgICAgIHJldHVybjsKICAgIH0KICAgIAogICAgLy8gUHJpbnQgb2RkIG51bWJlcnMKICAgIGZvciAoaW50IHggOiBiKSB7CiAgICAgICAgY291dCA8PCB4IDw8ICIgIjsKICAgIH0KICAgIGNvdXQgPDwgZW5kbDsKICAgIAogICAgLy8gUHJpbnQgZXZlbiBudW1iZXJzCiAgICBmb3IgKGludCB4IDogYykgewogICAgICAgIGNvdXQgPDwgeCA8PCAiICI7CiAgICB9CiAgICBjb3V0IDw8IGVuZGw7CgoJLy8gZm9yKGludCB4ID0gMDsgeCA8IG47IHgrKyl7CgkvLyAJaWYoYVt4XSA9PSAtMSl7CgkvLyAJCWkrKzsKCS8vIAl9ZWxzZSBpZihhW3hdID09IDEpewoJLy8gCQlqKys7CgkvLyAJfQoJLy8gfQoJCgkvLyB3aGlsZShpPmopewoJLy8gCWktLTsKCS8vIAlqKys7CgkvLyAJY291bnQrKzsKCS8vIH0KCQoKCn0KCmludCBtYWluKCkgewoJaW50IHQ7CgljaW4+PnQ7Cgl3aGlsZSh0LS0pewoJCXNvbHZlKCk7Cgl9CglyZXR1cm4gMDsKfQ==