Highway 201 is the most busy street in Rockport. Traffic cars cause a lot of hindrances to races, especially when there are a lot of them. The track which passes through this highway can be divided into n sub-tracks. You are given an array a where a_i represents the number of traffic cars in the i-th sub-track. You define the inconvenience of the track as ∑_{i=1}^{n} ∑_{j=i+1}^{n} \lvert a_i-a_j\rvert, where |x| is the absolute value of x. 

You can perform the following operation any (possibly zero) number of times: choose a traffic car and move it from its current sub-track to any other sub-track.

Find the minimum inconvenience you can achieve.

Input

The first line of input contains a single integer t (1≤ t≤ 10 000) — the number of test cases.

The first line of each test case contains a single integer n (1≤ n≤ 2⋅ 10^5).

The second line of each test case contains n integers a_1, a_2, …, a_n (0≤ a_i≤ 10^9).

It is guaranteed that the sum of n over all test cases does not exceed 2⋅ 10^5.

Output

For each test case, print a single line containing a single integer: the minimum inconvenience you can achieve by applying the given operation any (possibly zero) number of times.

Example

Input


3
3
1 2 3
4
0 1 1 0
10
8 3 6 11 5 2 1 7 10 4


Output


0
4
21

Note

For the first test case, you can move a car from the 3-rd sub-track to the 1-st sub-track to obtain 0 inconvenience.

For the second test case, moving any car won't decrease the inconvenience of the track.
#include <bits/stdc++.h>

using namespace std;

//----------------------------------------------------------------------------//

#define ll         long long int
#define ull        unsigned long long int
#define ld         long double
#define endl       '\n'
#define ff         first
#define ss         second
#define pb         push_back
#define mod        1000000007
#define vint       vector<int>
#define vll        vector<ll>
#define vchar      vector<char>
#define vstr       vector<string>
#define vvll       vector<vector<ll>>
#define vvint      vector<vector<int>>
#define pll        pair<ll,ll>
#define pint       pair<int,int>
#define all(v)     v.begin(),v.end()
#define f(i,x,n)   for(ll i=x;i<n;i++)
#define fo(i,x,n)  for(ll i=x;i>=n;i--)
#define take(a)    for(auto &i:a)cin>>i;
#define print(a)   for(auto i:a)cout<<i<<" ";
#define maxim(a)   *max_element(a.begin(),a.end())
#define minim(a)   *min_element(a.begin(),a.end())
#define prec(n,x)  cout<<fixed<<setprecision(x)<<n
#define srt(x)     sort(x.begin(),x.end())
#define rev_srt(x) sort(x.begin(),x.end(),greater<ll>())
#define fast       ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);

//----------------------------------------------------------------------------//

template <typename T>
void out(T a)
{cout<<a<<'\n';}

void solve()
{   
    ll n;cin>>n;

    vll v(n);take(v);

    ll sum=0;

    f(i,0,n)
        sum+=v[i];

    ll ans = (sum%n)*(n- sum%n);

    cout<<ans<<endl;
}       

/****************************************************************************/

int main()
{

#ifndef ONLINE_JUDGE
    freopen("G:/Programming/CPP/input.txt", "r", stdin);
    freopen("G:/Programming/CPP/output.txt", "w", stdout);
#endif

    fast;

    ll t=1;
    cin>>t;

    while(t--)
    {
        solve();
    }
    
    return 0;
}

