#include<bits/stdc++.h>
#define pb push_back
#define fi first
#define se second
#define mp make_pair
#define pii pair<int,int>
#define int long long
using namespace std;
inline int read(){
int x=0,f=1;char c=getchar();
while(c<'0'||c>'9'){if(c=='-')f=-f;c=getchar();}
while(c>='0'&&c<='9'){x=x*10+c-'0';c=getchar();}
return x*f;
}
int vis[200010],a[200010],n,cnt;
int query(int pos,int x){
if(x==1)return 1;
return x*(x+1)/2+(cnt-pos)*x;
}
signed main(){
freopen("in.txt","r",stdin);
freopen("out.txt","w",stdout);
int T=read();
while(T--){
n=read();
int ans=0;
for(int i=1;i<=n;i++)
vis[i]=0;
for(int i=1;i<=n;i++)
a[i]=read(),ans+=a[i];
cnt=0;
int mx=0;
for(int i=1;i<=n;i++){
vis[a[i]]++;
if(vis[a[i]]>1&&a[i]>mx)mx=a[i];
if(mx)a[++cnt]=mx;
}
if(cnt){
int x=a[1],s=1;
for(int i=2;i<=cnt;i++){
if(a[i]==x)s++;
else{
ans+=query(i-1,s)*x;
s=1;
x=a[i];
}
}
ans+=query(cnt,s)*x;
}
printf("%lld\n",ans);
}
return 0;
}