import java.util.Scanner;
import java.util.Stack;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int q = in.nextInt(); // 测试组数
while (q-- > 0) {
int n = in.nextInt();
int[] pushed = new int[n];
int[] popped = new int[n];
for (int i = 0; i < n; i++) pushed[i] = in.nextInt();
for (int i = 0; i < n; i++) popped[i] = in.nextInt();
System.out.println(isValidPopOrder(pushed, popped) ? "Yes" : "No");
}
}
public static boolean isValidPopOrder(int[] pushed, int[] popped) {
Stack<Integer> stack = new Stack<>();
int j = 0; // popped 的指针
for (int x : pushed) {
stack.push(x);
// 匹配栈顶和 popped[j]
while (!stack.isEmpty() && stack.peek() == popped[j]) {
stack.pop();
j++;
}
}
return stack.isEmpty();
}
}