#include <bits/stdc++.h>
using namespace std;
#define ios ios::sync_with_stdio(0)
#define endl '\n'
#define int long long
#define ar array<int, 2>
#define arr array<int, 3>
const int N = 2e5 + 5, M = 2 * N;
const int inf = 0x3f3f3f3f3f3f3f3f;
int mod = 998244353; //1e9+7;
int t, n, m, k;
signed main()
{
ios;
#ifdef DEBUG
freopen("../1.in", "r", stdin);
#endif
cin >> t;
while (t--)
{
// 这种全子集 一般都是
// 还是贡献的角度。。
// 比如i j 一对 那么 左边i个 右边 n-i+1个 。。组成的所有区间 都会贡献。
// 如果后面还有 k 也是 。也都是要再次算入。。
// 因为虽然是同一个区间和i j 但是他们算的是两个不同的对子。。
// 而且这边采用前缀和 是以后面那个主视角的枚举。。。也是技巧。
cin >> n;
map<int, int> f;
int ans = 0;
for (int i = 1; i <= n; ++i)
{
int x;
cin >> x;
ans += f[x] * (n - i + 1);
f[x] += i;
}
cout << ans << endl;
}
};
776A - A Serial Killer | 25B - Phone numbers |
1633C - Kill the Monster | 1611A - Make Even |
1030B - Vasya and Cornfield | 1631A - Min Max Swap |
1296B - Food Buying | 133A - HQ9+ |
1650D - Twist the Permutation | 1209A - Paint the Numbers |
1234A - Equalize Prices Again | 1613A - Long Comparison |
1624B - Make AP | 660B - Seating On Bus |
405A - Gravity Flip | 499B - Lecture |
709A - Juicer | 1358C - Celex Update |
1466B - Last minute enhancements | 450B - Jzzhu and Sequences |
1582C - Grandma Capa Knits a Scarf | 492A - Vanya and Cubes |
217A - Ice Skating | 270A - Fancy Fence |
181A - Series of Crimes | 1638A - Reverse |
1654C - Alice and the Cake | 369A - Valera and Plates |
1626A - Equidistant Letters | 977D - Divide by three multiply by two |