1527_C. Sequence Pair Weight
The weight of a sequence is defined as the number of unordered pairs of indexes (i,j) (here i < j) with same value (a_{i} = a_{j}). For example, the weight of sequence a = [1, 1, 2, 2, 1] is 4. The set of unordered pairs of indexes with same value are (1, 2), (1, 5), (2, 5), and (3, 4).

You are given a sequence a of n integers. Print the sum of the weight of all subsegments of a. 

A sequence b is a subsegment of a sequence a if b can be obtained from a by deletion of several (possibly, zero or all) elements from the beginning and several (possibly, zero or all) elements from the end.

Input

Each test contains multiple test cases. The first line contains the number of test cases t (1 ≤ t ≤ 10^5). Description of the test cases follows.

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

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

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

Output

For each test case, print a single integer — the sum of the weight of all subsegments of a.

Example

Input


2
4
1 2 1 1
4
1 2 3 4


Output


6
0

Note

  * In test case 1, all possible subsegments of sequence [1, 2, 1, 1] having size more than 1 are: 
    1. [1, 2] having 0 valid unordered pairs; 
    2. [2, 1] having 0 valid unordered pairs; 
    3. [1, 1] having 1 valid unordered pair; 
    4. [1, 2, 1] having 1 valid unordered pairs; 
    5. [2, 1, 1] having 1 valid unordered pair; 
    6. [1, 2, 1, 1] having 3 valid unordered pairs. 
Answer is 6.
  * In test case 2, all elements of the sequence are distinct. So, there is no valid unordered pair with the same value for any subarray. Answer is 0. 
```python
def cal(n,ind_list):
    ind1_list = [ind+1 for ind in ind_list]
    red_list =  [n-ind for ind in ind_list]

    pre_sum = [0]
    for ind1 in ind1_list:
        pre_sum.append(pre_sum[-1]+ind1)

    
    res = 0
    
    for i in range(1,len(red_list)):
        res += red_list[i]*pre_sum[i]
    return res

def getResult(n,a_list):
    v_dict = {}
    for i in range(n):
        v = a_list[i]
        if v in v_dict:
            v_dict[v].append(i)
        else:
            v_dict[v] = [i]
    res= 0
    for v in v_dict.keys():
        if len(v_dict[v])>=2:
            res += cal(n,v_dict[v])
    return res


t = int(input())
for _ in range(t):
    n = int(input())
    a_list = [int(k) for k in input().split()]
    print(getResult(n,a_list))
```