RT
#include <bits/stdc++.h>
using namespace std;
double a[10001],b[10001];
int f[10001];
int t,n,cnt1=0,cnt2=0;
bool cmp(double a,double b)
{
return a<b;
}
int main()
{
scanf("%d",&t);
while(t--)
{
cnt1=0;
cnt2=0;
scanf("%d",&n);
for(int i=1;i<=n;i++)
{
scanf("%d",&f[i]);
}
for(int i=1;i<=n;i++)
{
double x;
scanf("%lf",&x);
if(f[i]==0)
{
a[++cnt1]=x;
}
else
{
b[++cnt2]=x;
}
}
sort(a+1,a+cnt1+1,cmp);
for(int i=1;i<=cnt1;i++)
{
printf("%.1f ",a[i]);
}
printf("\n");
sort(b+1,b+cnt2+1,cmp);
for(int i=1;i<=cnt2;i++)
{
printf("%.1f ",b[i]);
}
printf("\n");
}
return 0;
}