rt
#include<bits/stdc++.h>
using namespace std;
int dp[405][405];
int n;
long long ans=0;
int main()
{
cin>>n;
long long xl,xr;
for(int i=1;i<=n;i++)
{
cin>>dp[i][i];
if(ans<dp[i][i]) ans=dp[i][i];
}
for(int len=2;len<=n;len++)
{
for(int l=1,r=len;r<=n;l++,r++)
{
//两个三个饭团:
for(int k=l;k<r;k++)
{
if(dp[l][k]&&dp[l][k]==dp[k+1][r])
dp[l][r]=dp[l][k]+dp[k+1][r];
}
xl=0,xr=0;
long long ll=l,rr=r;
while(ll<=rr)
{
if(dp[l][r]) break;
if(!xl) xl+=dp[ll][ll],ll++;
else if(!xr) xr+=dp[rr][rr],rr--;
else if(xl<xr) xl+=dp[ll][ll],ll++;
else if(xl>xr) xr+=dp[rr][rr],rr--;
else
{
if(dp[ll][rr])
{
dp[l][r]=dp[l][ll-1]+dp[ll][rr]+dp[rr+1][r];
}
else
{
ll++;
rr--;
}
}
}
if(dp[l][r]>ans) ans=dp[l][r];
}
}
cout<<ans;
return 0;
}