#include<iostream>
#include<algorithm>
using namespace std;
struct q{
int one;int num;
};
q work[10001],need[10001];
bool cmp(q a,q b){
return a.one>b.one;
}
int main()
{
int t;
cin>>t;
while(t--){
int n;
cin>>n;
for(int i=1;i<=n;i++){
cin>>work[i].one;
work[i].num=i;
}
for(int i=1;i<=n;i++){
cin>>need[i].one;need[i].num=i;
}
sort(work+1,work+1+n,cmp);
sort(need+1,need+n+1,cmp);
int s=0;
for(int i=1;i<=n;i++){
if(work[i].one+s>=need[i].one){
s=work[i].one+s-need[i].one;
}else{
s=-1;
break;
}
}
if(s==-1) cout<<"No"<<endl;
else {
cout<<"Yes"<<endl;
for(int i=1;i<=n;i++){
cout<<work[i].num<<" ";
}
cout<<endl;
for(int i=1;i<=n;i++){
cout<<need[i].num<<" ";
}
}
}
return 0;
}