#pragma GCC optimize("Ofast")
#pragma GCC optimize("unroll-loops")
#pragma GCC optimize("inline")
#include<bits/stdc++.h>
using namespace std;
template<class T> struct cLtraits_identity{
using type = T;
}
;
template<class T> using cLtraits_try_make_signed =
typename conditional<
is_integral<T>::value,
make_signed<T>,
cLtraits_identity<T>
>::type;
void*wmem;
char memarr[96000000];
template<class T> inline void walloc1d(T **arr, int x, void **mem = &wmem){
static int skip[16] = {0, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1};
(*mem) = (void*)( ((char*)(*mem)) + skip[((unsigned long long)(*mem)) & 15] );
(*arr)=(T*)(*mem);
(*mem)=((*arr)+x);
}
template<class T> inline void walloc1d(T **arr, int x1, int x2, void **mem = &wmem){
walloc1d(arr, x2-x1, mem);
(*arr) -= x1;
}
template<class T1> void sortA_L(int N, T1 a[], void *mem = wmem){
sort(a, a+N);
}
template<class T1> void rsortA_L(int N, T1 a[], void *mem = wmem){
sortA_L(N, a, mem);
reverse(a, a+N);
}
inline int my_getchar(){
return getchar();
}
inline void rd(int &x){
int k;
int m=0;
x=0;
for(;;){
k = my_getchar();
if(k=='-'){
m=1;
break;
}
if('0'<=k&&k<='9'){
x=k-'0';
break;
}
}
for(;;){
k = my_getchar();
if(k<'0'||k>'9'){
break;
}
x=x*10+k-'0';
}
if(m){
x=-x;
}
}
inline int rd_int(void){
int x;
rd(x);
return x;
}
inline void my_putchar(const int k){
putchar(k);
if(k=='\n'){
fflush(stdout);
}
}
template<class T> inline void wt_L(vector<T> x);
template<class T> inline void wt_L(set<T> x);
template<class T> inline void wt_L(multiset<T> x);
template<class T1, class T2> inline void wt_L(pair<T1,T2> x);
inline void wt_L(char a){
my_putchar(a);
}
inline void wt_L(long long x){
int s=0;
int m=0;
char f[20];
if(x<0){
m=1;
x=-x;
}
while(x){
f[s++]=x%10;
x/=10;
}
if(!s){
f[s++]=0;
}
if(m){
my_putchar('-');
}
while(s--){
my_putchar(f[s]+'0');
}
}
int main(){
int Nzj9Y0kE;
wmem = memarr;
int bkxOPzPX = rd_int();
for(Nzj9Y0kE=(0);Nzj9Y0kE<(bkxOPzPX);Nzj9Y0kE++){
int i;
int N;
rd(N);
long long A[2*N];
long long tmp = 1;
int ress = 0;
long long res[2*N];
for(i=(0);i<(30);i++){
A[i] = 1<<i;
}
for(i=(30);i<(N);i++){
A[i] = 1000000000 - i;
}
{
int OA9NF42T;
if(N==0){
wt_L('\n');
}
else{
for(OA9NF42T=(0);OA9NF42T<(N-1);OA9NF42T++){
wt_L(A[OA9NF42T]);
wt_L(' ');
}
wt_L(A[OA9NF42T]);
wt_L('\n');
}
}
for(i=(0);i<(N);i++){
A[N+i] = rd_int();
}
rsortA_L(2*N,A);
int lmouyaID;
cLtraits_try_make_signed<remove_reference<decltype((*((long long*)NULL)))>::type>::type Dc_3QP3Y;
if(2*N==0){
Dc_3QP3Y = 0;
}
else{
Dc_3QP3Y = A[0];
for(lmouyaID=(1);lmouyaID<(2*N);lmouyaID++){
Dc_3QP3Y += A[lmouyaID];
}
}
tmp =Dc_3QP3Y/ 2;
for(i=(0);i<(2*N);i++){
if(A[i] <= tmp){
res[ress++] = A[i];
tmp -= A[i];
}
}
{
int ClGtuHe4;
if(ress==0){
wt_L('\n');
}
else{
for(ClGtuHe4=(0);ClGtuHe4<(ress-1);ClGtuHe4++){
wt_L(res[ClGtuHe4]);
wt_L(' ');
}
wt_L(res[ClGtuHe4]);
wt_L('\n');
}
}
}
return 0;
}
template<class T> inline void wt_L(vector<T> x){
int fg = 0;
for(auto a : x){
if(fg){
my_putchar(' ');
}
fg = 1;
wt_L(a);
}
}
template<class T> inline void wt_L(set<T> x){
int fg = 0;
for(auto a : x){
if(fg){
my_putchar(' ');
}
fg = 1;
wt_L(a);
}
}
template<class T> inline void wt_L(multiset<T> x){
int fg = 0;
for(auto a : x){
if(fg){
my_putchar(' ');
}
fg = 1;
wt_L(a);
}
}
template<class T1, class T2> inline void wt_L(pair<T1,T2> x){
wt_L(x.first);
my_putchar(' ');
wt_L(x.second);
}
// cLay version 20220312-1
// --- original code ---
// //interactive
// REP(rd_int()){
// int @N;
// ll A[2*N], tmp = 1;
// int ress = 0; ll res[2*N];
// rep(i,30) A[i] = 1<<i;
// rep(i,30,N) A[i] = 1d9 - i;
// wt(A(N));
// rep(i,N) A[N+i] = rd_int();
// rsortA(2*N,A);
// tmp = sum(A(2*N)) / 2;
// rep(i,2*N) if(A[i] <= tmp) res[ress++] = A[i], tmp -= A[i];
// wt(res(ress));
// }
I3ByYWdtYSBHQ0Mgb3B0aW1pemUoIk9mYXN0IikKI3ByYWdtYSBHQ0Mgb3B0aW1pemUoInVucm9sbC1sb29wcyIpCiNwcmFnbWEgR0NDIG9wdGltaXplKCJpbmxpbmUiKQojaW5jbHVkZTxiaXRzL3N0ZGMrKy5oPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwp0ZW1wbGF0ZTxjbGFzcyBUPiBzdHJ1Y3QgY0x0cmFpdHNfaWRlbnRpdHl7CiAgdXNpbmcgdHlwZSA9IFQ7Cn0KOwp0ZW1wbGF0ZTxjbGFzcyBUPiB1c2luZyBjTHRyYWl0c190cnlfbWFrZV9zaWduZWQgPQogIHR5cGVuYW1lIGNvbmRpdGlvbmFsPAogICAgaXNfaW50ZWdyYWw8VD46OnZhbHVlLAogICAgbWFrZV9zaWduZWQ8VD4sCiAgICBjTHRyYWl0c19pZGVudGl0eTxUPgogICAgPjo6dHlwZTsKdm9pZCp3bWVtOwpjaGFyIG1lbWFycls5NjAwMDAwMF07CnRlbXBsYXRlPGNsYXNzIFQ+IGlubGluZSB2b2lkIHdhbGxvYzFkKFQgKiphcnIsIGludCB4LCB2b2lkICoqbWVtID0gJndtZW0pewogIHN0YXRpYyBpbnQgc2tpcFsxNl0gPSB7MCwgMTUsIDE0LCAxMywgMTIsIDExLCAxMCwgOSwgOCwgNywgNiwgNSwgNCwgMywgMiwgMX07CiAgKCptZW0pID0gKHZvaWQqKSggKChjaGFyKikoKm1lbSkpICsgc2tpcFsoKHVuc2lnbmVkIGxvbmcgbG9uZykoKm1lbSkpICYgMTVdICk7CiAgKCphcnIpPShUKikoKm1lbSk7CiAgKCptZW0pPSgoKmFycikreCk7Cn0KdGVtcGxhdGU8Y2xhc3MgVD4gaW5saW5lIHZvaWQgd2FsbG9jMWQoVCAqKmFyciwgaW50IHgxLCBpbnQgeDIsIHZvaWQgKiptZW0gPSAmd21lbSl7CiAgd2FsbG9jMWQoYXJyLCB4Mi14MSwgbWVtKTsKICAoKmFycikgLT0geDE7Cn0KdGVtcGxhdGU8Y2xhc3MgVDE+IHZvaWQgc29ydEFfTChpbnQgTiwgVDEgYVtdLCB2b2lkICptZW0gPSB3bWVtKXsKICBzb3J0KGEsIGErTik7Cn0KdGVtcGxhdGU8Y2xhc3MgVDE+IHZvaWQgcnNvcnRBX0woaW50IE4sIFQxIGFbXSwgdm9pZCAqbWVtID0gd21lbSl7CiAgc29ydEFfTChOLCBhLCBtZW0pOwogIHJldmVyc2UoYSwgYStOKTsKfQppbmxpbmUgaW50IG15X2dldGNoYXIoKXsKICByZXR1cm4gZ2V0Y2hhcigpOwp9CmlubGluZSB2b2lkIHJkKGludCAmeCl7CiAgaW50IGs7CiAgaW50IG09MDsKICB4PTA7CiAgZm9yKDs7KXsKICAgIGsgPSBteV9nZXRjaGFyKCk7CiAgICBpZihrPT0nLScpewogICAgICBtPTE7CiAgICAgIGJyZWFrOwogICAgfQogICAgaWYoJzAnPD1rJiZrPD0nOScpewogICAgICB4PWstJzAnOwogICAgICBicmVhazsKICAgIH0KICB9CiAgZm9yKDs7KXsKICAgIGsgPSBteV9nZXRjaGFyKCk7CiAgICBpZihrPCcwJ3x8az4nOScpewogICAgICBicmVhazsKICAgIH0KICAgIHg9eCoxMCtrLScwJzsKICB9CiAgaWYobSl7CiAgICB4PS14OwogIH0KfQppbmxpbmUgaW50IHJkX2ludCh2b2lkKXsKICBpbnQgeDsKICByZCh4KTsKICByZXR1cm4geDsKfQppbmxpbmUgdm9pZCBteV9wdXRjaGFyKGNvbnN0IGludCBrKXsKICBwdXRjaGFyKGspOwogIGlmKGs9PSdcbicpewogICAgZmZsdXNoKHN0ZG91dCk7CiAgfQp9CnRlbXBsYXRlPGNsYXNzIFQ+IGlubGluZSB2b2lkIHd0X0wodmVjdG9yPFQ+IHgpOwp0ZW1wbGF0ZTxjbGFzcyBUPiBpbmxpbmUgdm9pZCB3dF9MKHNldDxUPiB4KTsKdGVtcGxhdGU8Y2xhc3MgVD4gaW5saW5lIHZvaWQgd3RfTChtdWx0aXNldDxUPiB4KTsKdGVtcGxhdGU8Y2xhc3MgVDEsIGNsYXNzIFQyPiBpbmxpbmUgdm9pZCB3dF9MKHBhaXI8VDEsVDI+IHgpOwppbmxpbmUgdm9pZCB3dF9MKGNoYXIgYSl7CiAgbXlfcHV0Y2hhcihhKTsKfQppbmxpbmUgdm9pZCB3dF9MKGxvbmcgbG9uZyB4KXsKICBpbnQgcz0wOwogIGludCBtPTA7CiAgY2hhciBmWzIwXTsKICBpZih4PDApewogICAgbT0xOwogICAgeD0teDsKICB9CiAgd2hpbGUoeCl7CiAgICBmW3MrK109eCUxMDsKICAgIHgvPTEwOwogIH0KICBpZighcyl7CiAgICBmW3MrK109MDsKICB9CiAgaWYobSl7CiAgICBteV9wdXRjaGFyKCctJyk7CiAgfQogIHdoaWxlKHMtLSl7CiAgICBteV9wdXRjaGFyKGZbc10rJzAnKTsKICB9Cn0KaW50IG1haW4oKXsKICBpbnQgTnpqOVkwa0U7CiAgd21lbSA9IG1lbWFycjsKICBpbnQgYmt4T1B6UFggPSByZF9pbnQoKTsKICBmb3IoTnpqOVkwa0U9KDApO056ajlZMGtFPChia3hPUHpQWCk7TnpqOVkwa0UrKyl7CiAgICBpbnQgaTsKICAgIGludCBOOwogICAgcmQoTik7CiAgICBsb25nIGxvbmcgQVsyKk5dOwogICAgbG9uZyBsb25nIHRtcCA9IDE7CiAgICBpbnQgcmVzcyA9IDA7CiAgICBsb25nIGxvbmcgcmVzWzIqTl07CiAgICBmb3IoaT0oMCk7aTwoMzApO2krKyl7CiAgICAgIEFbaV0gPSAxPDxpOwogICAgfQogICAgZm9yKGk9KDMwKTtpPChOKTtpKyspewogICAgICBBW2ldID0gMTAwMDAwMDAwMCAtIGk7CiAgICB9CiAgICB7CiAgICAgIGludCBPQTlORjQyVDsKICAgICAgaWYoTj09MCl7CiAgICAgICAgd3RfTCgnXG4nKTsKICAgICAgfQogICAgICBlbHNlewogICAgICAgIGZvcihPQTlORjQyVD0oMCk7T0E5TkY0MlQ8KE4tMSk7T0E5TkY0MlQrKyl7CiAgICAgICAgICB3dF9MKEFbT0E5TkY0MlRdKTsKICAgICAgICAgIHd0X0woJyAnKTsKICAgICAgICB9CiAgICAgICAgd3RfTChBW09BOU5GNDJUXSk7CiAgICAgICAgd3RfTCgnXG4nKTsKICAgICAgfQogICAgfQogICAgZm9yKGk9KDApO2k8KE4pO2krKyl7CiAgICAgIEFbTitpXSA9IHJkX2ludCgpOwogICAgfQogICAgcnNvcnRBX0woMipOLEEpOwogICAgaW50IGxtb3V5YUlEOwogICAgY0x0cmFpdHNfdHJ5X21ha2Vfc2lnbmVkPHJlbW92ZV9yZWZlcmVuY2U8ZGVjbHR5cGUoKCooKGxvbmcgbG9uZyopTlVMTCkpKT46OnR5cGU+Ojp0eXBlIERjXzNRUDNZOwogICAgaWYoMipOPT0wKXsKICAgICAgRGNfM1FQM1kgPSAwOwogICAgfQogICAgZWxzZXsKICAgICAgRGNfM1FQM1kgPSBBWzBdOwogICAgICBmb3IobG1vdXlhSUQ9KDEpO2xtb3V5YUlEPCgyKk4pO2xtb3V5YUlEKyspewogICAgICAgIERjXzNRUDNZICs9IEFbbG1vdXlhSURdOwogICAgICB9CiAgICB9CiAgICB0bXAgPURjXzNRUDNZLyAyOwogICAgZm9yKGk9KDApO2k8KDIqTik7aSsrKXsKICAgICAgaWYoQVtpXSA8PSB0bXApewogICAgICAgIHJlc1tyZXNzKytdID0gQVtpXTsKICAgICAgICB0bXAgLT0gQVtpXTsKICAgICAgfQogICAgfQogICAgewogICAgICBpbnQgQ2xHdHVIZTQ7CiAgICAgIGlmKHJlc3M9PTApewogICAgICAgIHd0X0woJ1xuJyk7CiAgICAgIH0KICAgICAgZWxzZXsKICAgICAgICBmb3IoQ2xHdHVIZTQ9KDApO0NsR3R1SGU0PChyZXNzLTEpO0NsR3R1SGU0KyspewogICAgICAgICAgd3RfTChyZXNbQ2xHdHVIZTRdKTsKICAgICAgICAgIHd0X0woJyAnKTsKICAgICAgICB9CiAgICAgICAgd3RfTChyZXNbQ2xHdHVIZTRdKTsKICAgICAgICB3dF9MKCdcbicpOwogICAgICB9CiAgICB9CiAgfQogIHJldHVybiAwOwp9CnRlbXBsYXRlPGNsYXNzIFQ+IGlubGluZSB2b2lkIHd0X0wodmVjdG9yPFQ+IHgpewogIGludCBmZyA9IDA7CiAgZm9yKGF1dG8gYSA6IHgpewogICAgaWYoZmcpewogICAgICBteV9wdXRjaGFyKCcgJyk7CiAgICB9CiAgICBmZyA9IDE7CiAgICB3dF9MKGEpOwogIH0KfQp0ZW1wbGF0ZTxjbGFzcyBUPiBpbmxpbmUgdm9pZCB3dF9MKHNldDxUPiB4KXsKICBpbnQgZmcgPSAwOwogIGZvcihhdXRvIGEgOiB4KXsKICAgIGlmKGZnKXsKICAgICAgbXlfcHV0Y2hhcignICcpOwogICAgfQogICAgZmcgPSAxOwogICAgd3RfTChhKTsKICB9Cn0KdGVtcGxhdGU8Y2xhc3MgVD4gaW5saW5lIHZvaWQgd3RfTChtdWx0aXNldDxUPiB4KXsKICBpbnQgZmcgPSAwOwogIGZvcihhdXRvIGEgOiB4KXsKICAgIGlmKGZnKXsKICAgICAgbXlfcHV0Y2hhcignICcpOwogICAgfQogICAgZmcgPSAxOwogICAgd3RfTChhKTsKICB9Cn0KdGVtcGxhdGU8Y2xhc3MgVDEsIGNsYXNzIFQyPiBpbmxpbmUgdm9pZCB3dF9MKHBhaXI8VDEsVDI+IHgpewogIHd0X0woeC5maXJzdCk7CiAgbXlfcHV0Y2hhcignICcpOwogIHd0X0woeC5zZWNvbmQpOwp9Ci8vIGNMYXkgdmVyc2lvbiAyMDIyMDMxMi0xCgovLyAtLS0gb3JpZ2luYWwgY29kZSAtLS0KLy8gLy9pbnRlcmFjdGl2ZQovLyBSRVAocmRfaW50KCkpewovLyAgIGludCBATjsKLy8gICBsbCBBWzIqTl0sIHRtcCA9IDE7Ci8vICAgaW50IHJlc3MgPSAwOyBsbCByZXNbMipOXTsKLy8gICByZXAoaSwzMCkgQVtpXSA9IDE8PGk7Ci8vICAgcmVwKGksMzAsTikgQVtpXSA9IDFkOSAtIGk7Ci8vICAgd3QoQShOKSk7Ci8vICAgcmVwKGksTikgQVtOK2ldID0gcmRfaW50KCk7Ci8vICAgcnNvcnRBKDIqTixBKTsKLy8gICB0bXAgPSBzdW0oQSgyKk4pKSAvIDI7Ci8vICAgcmVwKGksMipOKSBpZihBW2ldIDw9IHRtcCkgcmVzW3Jlc3MrK10gPSBBW2ldLCB0bXAgLT0gQVtpXTsKLy8gICB3dChyZXMocmVzcykpOwovLyB9Cg==