#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")