#include<bits/stdc++.h>
using namespace std;
const int maxn=1e5+5;
void Stack()
{
int z[maxn],x[maxn],y[maxn],top=0,tip=1;
bool f=0;
int n,i;
cin>>n;
for (i=1;i<=n;i++) cin>>x[i];
for (i=1;i<=n;i++) cin>>y[i];
i=0;
while (top>0||!f)
{
i++;
if (i<=n)
{
z[++top]=x[i];
f=1;
}
else
{
if (z[top]!=y[tip])
f=0;
break;
}
if (z[top]==y[tip])
{
top--;
tip++;
}
}
if (f&&!z[top]) cout<<"Yes"<<endl;
else cout<<"No"<<endl;
return ;
}
int main()
{
int p;
cin>>p;
while (p--) Stack();
return 0;
}