#include<algorithm>
#include<iostream>
#include<cstdlib>
#include<cstdio>
#include<cmath>
#include<queue>
#include<string>
#include<cstring>
using namespace std;
int main(){
int t;
cin>>t;
for(int i=1;i<=t;i++){
int n,tm=0,tw=0,s[1001];
long double a[1001],b[1001];
cin>>n;
for(int j=1;j<=n;j++){
cin>>s[j];
}
for(int j=1;j<=n;j++){
if(s[j]==0){
tm++;
cin>>a[tm];
}
if(s[j]==1){
tw++;
cin>>b[tw];
}
}
for(int j=1;j<=tm;j++){
for(int k=1;k<=j;k++){
if(a[j]<a[k]){
swap(a[j],a[k]);
}
}
}
for(int j=1;j<=tw;j++){
for(int k=1;k<=j;k++){
if(b[j]<b[k]){
swap(b[j],b[k]);
}
}
}
for(int j=1;j<=tm;j++){
cout<<a[j]<<" ";
}
cout<<"\n";
for(int j=1;j<=tw;j++){
cout<<b[j]<<" ";
}
cout<<"\n";
memset(a,0,sizeof(a));
memset(b,0,sizeof(b));
memset(s,0,sizeof(s));
tm=0;tw=0;n=0;
}
return 0;
}
RT,QWQ