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.
import java.io.*;
import java.util.*;
public class Main {

    static long mod = 1000000007;
    public static long power(long a, long b){
        if(b == 0)
            return 1;
        long A = power(a,b/2);
        long B = ((A*A)%(mod)*((long)Math.pow(a,b%2)))%mod;
        return B;
    }

    public static void main(String[] args) throws IOException {
        Reader.init(System.in);
        int times = Reader.nextInt();
        for(int i=0;i<times;i++) {
            long n = Reader.nextInt();
            long sum  = 0;
            for(int j=0;j<n;j++){
                sum += Reader.nextInt();
                sum = sum % n;
            }
            sum = sum % n;
            if(sum == 0)
                System.out.println(0);
            else
                System.out.println( (n - sum) * sum);
        }
    }

}

class Reader {
    static BufferedReader reader;
    static StringTokenizer tokenizer;

    static void init(InputStream input) {
        reader = new BufferedReader(
                new InputStreamReader(input) );
        tokenizer = new StringTokenizer("");
    }

    static String next() throws IOException {
        while ( ! tokenizer.hasMoreTokens() ) {
            tokenizer = new StringTokenizer(
                    reader.readLine() );
        }
        return tokenizer.nextToken();
    }

    static int nextInt() throws IOException {
        return Integer.parseInt( next() );
    }

    static double nextDouble() throws IOException {
        return Double.parseDouble( next() );
    }
    static long nextLong() throws IOException {
        return Long.parseLong( next() );
    }
    static Float nextFloat() throws IOException {
        return Float.parseFloat( next() );
    }
}
class Point {
    int a;
    int b;
    int val;
    Point(int a, int b, int val){
        this.a = a;
        this.b = b;
        this.val = val;
    }
}