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