#include<bits/stdc++.h>
#define int long long
const int N=2005;
using namespace std;
int T;
int n;
int a[N],t[N],b[N],c[N];
int num[N];
signed main(){
cin>>T;
while(T--){
memset(num,0,sizeof(num));
cin>>n;
int flag=1;
for(int i=1;i<=n;i++) cin>>t[i];
for(int i=1;i<=n;i++) cin>>b[i];
for(int i=1;i<=n;i++){
c[i]=t[i]+t[n-i+1];
if(b[i]>b[n-i+1]){
if(t[i]<=t[n-i+1] || abs(b[i]-b[n-i+1])%abs(t[n-i+1]-t[i])!=0){
flag=0;
break;
}
else num[i]=abs(b[i]-b[n-i+1])/abs(t[n-i+1]-t[i]);
}
else if(b[i]<b[n-i+1]){
if(t[i]>=t[n-i+1] || abs(b[i]-b[n-i+1])%abs(t[n-i+1]-t[i])!=0){
flag=0;
break;
}
else num[i]=abs(b[i]-b[n-i+1])/abs(t[n-i+1]-t[i]);
}
else num[i]=0;
}
if(!flag){
puts("No");
continue;
}
sort(num+1,num+1+n);
if(num[2]!=num[n]){
puts("No");
continue;
}
for(int i=1;i<=n;i++){
b[i]-=num[2]*t[i];
}
for(int i=1;i<=n;i++){
if(b[i]%c[i]!=0){
flag=0;
break;
}
}
if(flag) puts("Yes");
else puts("No");
}
return 0;
}