#include <iostream>
#include <stack>
#include <vector>
using namespace std;
bool valid(const vector<int>& pushed, const vector<int>& popped) {
stack<int> s;
int i = 0;
for (int num : pushed) {
s.push(num);
while (!s.empty() && s.top() == popped[i]) {
s.pop();
++i;
}
}
return s.empty();
}
int main() {
int size;
cin >> size;
while (size--) {
int n;
cin >> n;
vector<int> pushed(n);
for (int i = 0; i < n; ++i) {
cin >> pushed[i];
}
vector<int> popped(n);
for (int i = 0; i < n; ++i) {
cin >> popped[i];
}
if (valid(pushed, popped)) {
cout << "Yes" << endl;
} else {
cout << "No" << endl;
}
}
return 0;
}
// 64 位输出请用 printf("%lld")