#include <bits/stdc++.h> using namespace std; const long long N = 1e6;
int x[N]; int y[N]; bool f(int x[], int y[], int m){ stack a; int j=1; for (int i=1;i<=m;i++){ a.push(x[i]); while(!a.empty()&&a.top()==y[j]&&j<=m){ a.pop(); j++; } } if(!a.empty()){ return false; }else{ return true; } } int main(){ int n; cin >> n; while(n--){ int m; cin >> m; for(int i=1;i<=m;i++){ cin >> x[i]; } for(int i=1;i<=m;i++){ cin >> y[i]; }
if(f(x, y, m)){
cout << "Yes" << endl;
}else{
cout << "No" << endl;
}
}
}