#include
using namespace std;
#include
int optimal(int a[],int i,int j,int &count,int &chance){
//base case
if(i==j ){
return count;
}
//recursive case
if(chance%2!=0){
chance++;
int x = max(a[i],a[j]);
count+=x;
if(x == a[i]){
i++;
}
else{
j--;
}
}
else{
chance++;
int x = max(a[i],a[j]);
if(x == a[i]){
i++;
}
else{
j--;
}
}
optimal(a,i,j,count,chance);
}
int main()
{
int a[10000],n,count=0,chance=1;
cin>>n;
for(int i=0;i<n;i++){
cin>>a[i];
}
cout<<optimal(a,0,n-1,count,chance);
return 0;
}