#include <bits/stdc++.h>
using namespace std;
struct Node {
int data;
Node*left;
Node*right;
Node(int x) {
data=x;
left=right=nullptr;
}
};
Node* insert(Node* root, int x) {
if(root==nullptr) return new Node(x);
if(x<root->data) root->left=insert(root->left, x);
else root->right=insert(root->right, x);
return root;
}
void postor(Node* root) {
if(root==nullptr) return;
postor(root->left);
postor(root->right);
cout << root->data << " ";
}
int main() {
int T;
cin >> T;
while(T--) {
int n;
cin >> n;
Node* root=nullptr;
int a[n];
for(int i=0; i<n; i++) {
int x;
cin >> x;
root=insert(root, x);
}
postor(root);
cout << endl;
}
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CnN0cnVjdCBOb2RlIHsKCWludCBkYXRhOwoJTm9kZSpsZWZ0OwoJTm9kZSpyaWdodDsKCU5vZGUoaW50IHgpIHsKCQlkYXRhPXg7CgkJbGVmdD1yaWdodD1udWxscHRyOwoJfQp9OwpOb2RlKiBpbnNlcnQoTm9kZSogcm9vdCwgaW50IHgpIHsKCWlmKHJvb3Q9PW51bGxwdHIpIHJldHVybiBuZXcgTm9kZSh4KTsKCWlmKHg8cm9vdC0+ZGF0YSkgcm9vdC0+bGVmdD1pbnNlcnQocm9vdC0+bGVmdCwgeCk7CgllbHNlIHJvb3QtPnJpZ2h0PWluc2VydChyb290LT5yaWdodCwgeCk7CglyZXR1cm4gcm9vdDsKfQp2b2lkIHBvc3RvcihOb2RlKiByb290KSB7CglpZihyb290PT1udWxscHRyKSByZXR1cm47Cglwb3N0b3Iocm9vdC0+bGVmdCk7Cglwb3N0b3Iocm9vdC0+cmlnaHQpOwoJY291dCA8PCByb290LT5kYXRhIDw8ICIgIjsKfQppbnQgbWFpbigpIHsKCWludCBUOwoJY2luID4+IFQ7Cgl3aGlsZShULS0pIHsKCQlpbnQgbjsKCQljaW4gPj4gbjsKCQlOb2RlKiByb290PW51bGxwdHI7CgkJaW50IGFbbl07CgkJZm9yKGludCBpPTA7IGk8bjsgaSsrKSB7CgkJCWludCB4OwoJCQljaW4gPj4geDsKCQkJcm9vdD1pbnNlcnQocm9vdCwgeCk7CgkJfQoJCXBvc3Rvcihyb290KTsKCQljb3V0IDw8IGVuZGw7Cgl9Cn0=