#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using ld = long double;
using pii = pair<int,int>;
using pll = pair<ll,ll>;
#define pb push_back
#define eb emplace_back
#define mpp make_pair
#define fi first
#define se second
#define all(x) (x).begin(), (x).end()
#define rall(x) (x).rbegin(), (x).rend()
#define sz(x) (int)(x).size()
#define yes cout << "YES\n"
#define no cout << "NO\n"
const ll INF = (ll)1e18;
const int mod = 1000000007;
ll add(ll a, ll b) { a += b; if (a >= mod) a -= mod; return a; }
ll sub(ll a, ll b) { a -= b; if (a < 0) a += mod; return a; }
ll mul(ll a, ll b) { return (a * b) % mod; }
// Binary Exp without mod
ll bpow(ll a, ll b) {
ll res = 1;
while (b) {
if (b & 1) res = mul(res, a);
a = mul(a, a);
b >>= 1;
}
return res;
}
// Binary exp with mod
ll bmpow(ll a, ll b, ll modd) {
a %= modd;
ll res = 1;
while (b > 0) {
if (b & 1)
res = res * a % modd;
a = a * a % modd;
b >>= 1;
}
return res;
}
// mod inverse calculation
ll modinv(ll b){
return bmpow(b,mod-2,mod);
}
// Uncomment for local testing
// #ifndef ONLINE_JUDGE
// freopen("input.txt", "r", stdin);
// freopen("output.txt", "w", stdout);
// #endif
// map<ll,ll> b;
void solve() {
ll n;cin>>n;bool check=false;
map<ll,ll> mp;
for(ll i=0;i<2*n;i++){
ll x;cin>>x;
if(x&1) check=true;mp[x]++;
if(mp[x]>2) check=true;
}
if(check){
cout<<"No\n";
return;
}
// for(auto i:mp){
// if(i.second)
// }
vector<ll> a;
for(auto i:mp) a.pb(i.first);
if(mp.size()!=n){
cout<<"NO\n";
return;
}
set<ll> s;ll sum=0;
for(ll i=n-1;i>=0;i--){
ll x=a[i]-2*sum,y=2*(i+1);
if(x%y){
cout<<"NO\n";
return;
}
x/=y;
if(x<=0 || s.count(x)){
cout<<"NO\n";
return;
}
s.insert(x);sum+=x;
}
cout<<"YES\n";
}
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int t = 1;
cin >> t;
while (t--) solve();
return 0;
}