#include<bits/stdc++.h>
using namespace std;
int t,n,a[100005],b[100005],ans[100005],top;
bool vis[100005];
int main(){
cin>>t;
while(t--){
cin>>n;
memset(vis,0,sizeof vis);
stack<int>sta;
for(int i=1;i<=n;i++){cin>>a[i];}
for(int i=1;i<=n;i++){cin>>b[i];}
int j=0;
top=0;
bool flag=1;
for(int i=1;i<=n;i++){
if(!vis[b[i]]){
while(!vis[b[i]]){
sta.push(a[++j]);
vis[a[j]]=1;
j++;
}
}
while(!sta.empty()){
ans[++top]=sta.top();
sta.pop();
}
}
for(int i=1;i<=n;i++){if(ans[i]!=b[i]){flag=0;}}
if(flag)cout<<"Yes\n";
else cout<<"No\n";
}
}