数据好毒
#include<bits/stdc++.h>
using namespace std;
#define N 100005
stack <int> q;
int a[N],b[N];
int main(){
int p;
cin>>p;
for(int i=1;i<=p;i++){
int n;
cin>>n;
int cnt=1;
for(int i=1;i<=n;i++)
cin>>a[i];
for(int i=1;i<=n;i++)
cin>>b[i];
for(int i=1;i<=n;i++){
q.push(a[i]);
while(q.top()==b[cnt]){
if(q.empty())
break;
q.pop();
cnt++;
}
}
if(q.empty())
cout<<"Yes"<<endl;
else
cout<<"No"<<endl;
while(!q.empty())
q.pop();
}
return 0;
}