#include<bits/stdc++.h>
using namespace std;
int t;
struct pp{
bool xb;
double sg;
}a[10007];
bool cmp(double a,double b) {return a<b;}
int main(){
cin>>t;
for(int i=0;i<t;i++){
int p,q=0,w=0;
int nan[10007]={0},nv[10007]={0};
double naan[10007]={0},nnv[10007]={0};
cin>>p;
for(int j=0;j<p;j++){
cin>>a[i].xb;
if(a[i].xb) nan[i]=true;
else nv[i]=true;
}
for(int j=0;j<p;j++){
cin>>a[i].sg;
if(nan[i]) {naan[i]=a[i].sg;q++;}
else {nnv[i]=a[i].sg;w++;}
}
sort(naan,naan+q,cmp);
sort(nnv,nnv+w,cmp);
for(int i=0;i<q;i++) {cout<<naan[i]<<" ";}
cout<<endl;
for(int i=0;i<w;i++) {cout<<nnv[i]<<" ";}
cout<<endl;
}
return 0;
}
为啥它换不了行