#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();
}
