#include <bits/stdc++.h>
#define int long long
using namespace std;
map<int,int> dd;
int t,n,m,a[200009],b[200009],d[200009],different[200009];
void solve(){
dd.clear();
scanf("%lld",&n);
for(int i=1;i<=n;i++){
scanf("%lld",&a[i]);
}
for(int i=1;i<=n;i++){
scanf("%lld",&b[i]);
}
scanf("%lld",&m);
for(int i=1;i<=m;i++){
scanf("%lld",&d[i]);
dd[d[i]]++;
}
int flag=true;
memset(different,false,sizeof(different));
for(int i=1;i<=n;i++){
if(b[i]==d[m]){
flag=false;
}
if(a[i]!=b[i]){
different[i]=true;
}
}
if(flag){
puts("NO");
return;
}
for(int i=1;i<=n;i++){
if(different[i]){
if(dd.count(b[i])==0||dd[b[i]]==0){
puts("NO");
return;
}else{
dd[b[i]]--;
}
}
}
puts("YES");
return;
}
signed main(void){
scanf("%lld",&t);
while(t--){
solve();
}
return 0;
}