#include <iostream>
#include<bits/stdc++.h>
using namespace std;
int main() {
// your code goes here
int n ; cin>>n;
vector<int>arr(n);
for(int i = 0 ; i<n;i++){
cin>>arr[i];
}
unordered_map<int,int>hash;
int max_sum = INT_MIN;
int prefix_sum=0;
for(int i = 1 ; i<n;i++){
prefix_sum+=arr[i-1];
if(hash.find(arr[i])==hash.end()){
max_sum=max(max_sum,arr[i]);
hash[arr[i]]=prefix_sum;
}
else{
int sum = prefix_sum+arr[i]-hash[arr[i]];
max_sum = max(sum,max_sum);
if(prefix_sum<hash[arr[i]]) hash[arr[i]]=prefix_sum;
}
}
cout<<max_sum;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZTxiaXRzL3N0ZGMrKy5oPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IG1haW4oKSB7CgkvLyB5b3VyIGNvZGUgZ29lcyBoZXJlCglpbnQgbiA7IGNpbj4+bjsKCXZlY3RvcjxpbnQ+YXJyKG4pOwoJZm9yKGludCBpID0gMCA7IGk8bjtpKyspewoJCWNpbj4+YXJyW2ldOwoJfQoJdW5vcmRlcmVkX21hcDxpbnQsaW50Pmhhc2g7CgkKCWludCBtYXhfc3VtID0gSU5UX01JTjsKCWludCBwcmVmaXhfc3VtPTA7Cglmb3IoaW50IGkgPSAxIDsgaTxuO2krKyl7CgkJcHJlZml4X3N1bSs9YXJyW2ktMV07CgkJaWYoaGFzaC5maW5kKGFycltpXSk9PWhhc2guZW5kKCkpewoJCQltYXhfc3VtPW1heChtYXhfc3VtLGFycltpXSk7CgkJCWhhc2hbYXJyW2ldXT1wcmVmaXhfc3VtOwoJCX0KCQllbHNlewoJCQlpbnQgc3VtID0gcHJlZml4X3N1bSthcnJbaV0taGFzaFthcnJbaV1dOwkKCQkJbWF4X3N1bSA9IG1heChzdW0sbWF4X3N1bSk7CgkJCWlmKHByZWZpeF9zdW08aGFzaFthcnJbaV1dKSBoYXNoW2FycltpXV09cHJlZml4X3N1bTsKCQl9CgkKCX0KCWNvdXQ8PG1heF9zdW07IAoJcmV0dXJuIDA7CgkKfQ==