#include<bits/stdc++.h>
using namespace std;
const int N = 1e5+100;
typedef long long ll;
int n;
vector<int> a[N];
ll b[N],f[N],g[N],p[N];
signed main()
{
ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
cin>>n;
for(int i=1;i<=n;i++)cin>>b[i];
int cnt;
for(int i=1;i<=n;i++)
{
cnt=1;
f[i]=f[i-1]+b[i];
g[i]=a[b[i]].size()+1;
if(a[b[i]].size())cnt=a[b[i]].size()-min((ll)a[b[i]].size()-1,g[a[b[i]].back()]);
else cnt=1;
for(int j=a[b[i]].size()?min((ll)a[b[i]].size()-1,g[a[b[i]].back()]):a[b[i]].size()-1;j>=0;j--)
{
cnt++;
if(f[a[b[i]][j]-1]+b[i]*cnt*cnt>f[i])
{
f[i]=f[a[b[i]][j]-1]+b[i]*cnt*cnt;
g[i]=j;
p[i]=cnt;
}
}
a[b[i]].push_back(i);
}
cout<<f[n];
}