#include<bits/stdc++.h>
using namespace std;
struct ST{
int num,sta;
}st;
vector<ST> a;
vector<int> ans;
int T;
void dp(){
int n;
cin>>n;
a.push_back(st);
ans.push_back(0);
map<int,int> b;
for(int i=1,v;i<=n;i++){
cin>>v;
a.push_back({v,0});
if(a[i-1].num==a[i-2].num)a[i-1].sta=i-2;
else if(b[v]!=0) a[i-1].sta=b[v]+1;
b[v]=i;
}
for(int i=1;i<=n;i++){
if(a[i].sta!=0 and i!=1){
ans.push_back(max(ans[i-1],ans[a[i].sta]+a[i].num));
ans[i-1]=ans[i];
}
else ans.push_back(ans[i-1]);
}
cout<<ans[n]<<endl;
}
int main(){
cin>>T;
for(int i=1;i<=T;i++){
dp();
a.clear();
ans.clear();
}
return 0;
}
谢谢诸位dalao