#include <bits/stdc++.h>
#define ll long long
#define endl '\n'
#define all(v) v.begin(), v.end()
#define rall(v) v.rbegin(), v.rend()
#define input(v) for(auto &a:v)cin>>a;
#define output(v) for(auto &a:v)cout<<a<<" ";
#define outputel(v) for(auto &a:v)cout<<a<<" ";cout<<endl;
#define mem(arr) memset(arr,0,sizeof(arr));
#define LSone(x) (x & (-x))
#define YNO(x) cout<<(x ? "YES" : "NO")<<endl;
#define sz(x) (ll)x.size()
#define multpush(s,x) for(auto &c:x)s.push_back(c);
#define vc vector<char>
#define y second
#define x first
#define int ll
using namespace std;
void fastio() {
#ifdef LOCAL
freopen("input.txt", "r",stdin);
#else
ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
#endif
}
const ll MOD = 1e9 + 7;
const ll INF = 1e9 + 50;
const int MXS = 1e5 + 5;
const int NLOGN = 4e6 + 5;
int prefa[105],prefb[105],pref[105],a[105],b[105];
int n;
int memo[10010][105];
int vis[10010][105];
int tc = 1;
int best(int idx,int sum) {
if (idx == n+1)
return 0;
int sumb = pref[idx-1] - sum;
if (vis[sum][idx] == tc)
return memo[sum][idx];
vis[sum][idx] = tc;
return memo[sum][idx] = min(best(idx+1,sum+a[idx]) + a[idx] * sum * 2 + b[idx] * sumb*2,
best(idx+1,sum+b[idx]) + a[idx] * sumb* 2 + b[idx] * sum *2);
}
void solve() {
tc++;
cin>>n;
for (int i = 1;i<=n;i++) {
cin>>a[i];
prefa[i] = prefa[i-1] + a[i];
}
for (int i = 1;i<=n;i++) {
cin>>b[i];
prefb[i] = prefb[i-1] + b[i];
}
for (int i = 1;i<=n;i++) {
pref[i] =prefa[i] + prefb[i];
}
int sum = 0;
for (int i = 1;i<=n;i++) {
sum+=a[i]*a[i]*(n-1);
sum+=b[i]*b[i]*(n-1);
}
cout<<best(1,0)+sum<<endl;
}
signed main() {
fastio();
int i = 1;
cin>>i;
while (i--)
solve();
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNkZWZpbmUgbGwgbG9uZyBsb25nCiNkZWZpbmUgZW5kbCAnXG4nCiNkZWZpbmUgYWxsKHYpIHYuYmVnaW4oKSwgdi5lbmQoKQojZGVmaW5lIHJhbGwodikgdi5yYmVnaW4oKSwgdi5yZW5kKCkKI2RlZmluZSBpbnB1dCh2KSBmb3IoYXV0byAmYTp2KWNpbj4+YTsKI2RlZmluZSBvdXRwdXQodikgZm9yKGF1dG8gJmE6diljb3V0PDxhPDwiICI7CiNkZWZpbmUgb3V0cHV0ZWwodikgZm9yKGF1dG8gJmE6diljb3V0PDxhPDwiICI7Y291dDw8ZW5kbDsKI2RlZmluZSBtZW0oYXJyKSBtZW1zZXQoYXJyLDAsc2l6ZW9mKGFycikpOwojZGVmaW5lIExTb25lKHgpICh4ICYgKC14KSkKI2RlZmluZSBZTk8oeCkgY291dDw8KHggPyAiWUVTIiA6ICJOTyIpPDxlbmRsOwojZGVmaW5lIHN6KHgpIChsbCl4LnNpemUoKQojZGVmaW5lIG11bHRwdXNoKHMseCkgZm9yKGF1dG8gJmM6eClzLnB1c2hfYmFjayhjKTsKI2RlZmluZSB2YyB2ZWN0b3I8Y2hhcj4KI2RlZmluZSB5IHNlY29uZAojZGVmaW5lIHggZmlyc3QKI2RlZmluZSBpbnQgbGwKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCnZvaWQgZmFzdGlvKCkgewojaWZkZWYgTE9DQUwKICAgIGZyZW9wZW4oImlucHV0LnR4dCIsICJyIixzdGRpbik7CiNlbHNlCiAgICBpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKDApO2Npbi50aWUoMCk7Y291dC50aWUoMCk7CiNlbmRpZgp9Cgpjb25zdCBsbCBNT0QgPSAxZTkgKyA3Owpjb25zdCBsbCBJTkYgPSAxZTkgKyA1MDsKY29uc3QgaW50IE1YUyA9IDFlNSArIDU7CmNvbnN0IGludCBOTE9HTiA9IDRlNiArIDU7CmludCBwcmVmYVsxMDVdLHByZWZiWzEwNV0scHJlZlsxMDVdLGFbMTA1XSxiWzEwNV07CmludCBuOwppbnQgbWVtb1sxMDAxMF1bMTA1XTsKaW50IHZpc1sxMDAxMF1bMTA1XTsKaW50IHRjID0gMTsKaW50IGJlc3QoaW50IGlkeCxpbnQgc3VtKSB7CiAgICBpZiAoaWR4ID09IG4rMSkKICAgICAgICByZXR1cm4gMDsKICAgIGludCBzdW1iID0gcHJlZltpZHgtMV0gLSBzdW07CiAgICBpZiAodmlzW3N1bV1baWR4XSA9PSB0YykKICAgICAgICByZXR1cm4gbWVtb1tzdW1dW2lkeF07CiAgICB2aXNbc3VtXVtpZHhdID0gdGM7CiAgICByZXR1cm4gbWVtb1tzdW1dW2lkeF0gPSBtaW4oYmVzdChpZHgrMSxzdW0rYVtpZHhdKSArIGFbaWR4XSAqIHN1bSAqIDIgKyBiW2lkeF0gKiBzdW1iKjIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmVzdChpZHgrMSxzdW0rYltpZHhdKSArIGFbaWR4XSAqIHN1bWIqIDIgKyBiW2lkeF0gKiBzdW0gKjIpOwp9CnZvaWQgc29sdmUoKSB7CiAgICB0YysrOwogICAgY2luPj5uOwogICAgZm9yIChpbnQgaSA9IDE7aTw9bjtpKyspIHsKICAgICAgICBjaW4+PmFbaV07CiAgICAgICAgcHJlZmFbaV0gPSBwcmVmYVtpLTFdICsgYVtpXTsKICAgIH0KICAgIGZvciAoaW50IGkgPSAxO2k8PW47aSsrKSB7CiAgICAgICAgY2luPj5iW2ldOwogICAgICAgIHByZWZiW2ldID0gcHJlZmJbaS0xXSArIGJbaV07CiAgICB9CiAgICBmb3IgKGludCBpID0gMTtpPD1uO2krKykgewogICAgICAgIHByZWZbaV0gPXByZWZhW2ldICsgcHJlZmJbaV07CiAgICB9CiAgICBpbnQgc3VtID0gMDsKICAgIGZvciAoaW50IGkgPSAxO2k8PW47aSsrKSB7CiAgICAgICAgc3VtKz1hW2ldKmFbaV0qKG4tMSk7CiAgICAgICAgc3VtKz1iW2ldKmJbaV0qKG4tMSk7CiAgICB9CiAgICBjb3V0PDxiZXN0KDEsMCkrc3VtPDxlbmRsOwoKCgoKCn0KCnNpZ25lZCBtYWluKCkgewogICAgZmFzdGlvKCk7CiAgICBpbnQgaSA9IDE7CiAgICBjaW4+Pmk7CiAgICB3aGlsZSAoaS0tKQogICAgICAgIHNvbHZlKCk7Cn0K