#include <bits/stdc++.h>
#define FOR(i,a,b) for(ll i = (a);i <= (b);i++)
#define FOD(i,a,b) for(ll i = (a);i >= (b);i--)
#define ft first
#define sc second
#define el "\n"
#define vector2 vector<vector<ll>>
using namespace std;
using ll = long long;
using ldb = long double;
using pii = pair<int,int>;
using pll = pair<ll,ll>;
const ll MOD = 1e9 + 7;
const ll MAX = 1e18;
const ll mma = 6e6+100;
const ll mod = 998244353;
const ll testcase = 1e3;
const ll mang = 1e5 + 100;
ll n,m,q,k;
vector<ll> a(5005);
ll dp[5005][5005];
int main(){
#define TASK "KEOCO"
cin.tie(0) -> sync_with_stdio(0);
//freopen(TASK".inp", "r", stdin);
//freopen(TASK".out", "w", stdout);
cin >> n;
ll cnt = 0;
FOR(i,1,n){
cin >> a[i];
dp[i][i] = a[i];
cnt += a[i];
}
FOR(len,2,n){
for(ll l = 1;l + len - 1 <= n;l++){
ll r = l + len - 1;
dp[l][r] = max(-dp[l + 1][r] + a[l],-dp[l][r - 1] + a[r]);
}
}
cout << (cnt + dp[1][n]) / 2;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNkZWZpbmUgRk9SKGksYSxiKSBmb3IobGwgaSA9IChhKTtpIDw9IChiKTtpKyspCiNkZWZpbmUgRk9EKGksYSxiKSBmb3IobGwgaSA9IChhKTtpID49IChiKTtpLS0pCiNkZWZpbmUgZnQgZmlyc3QKI2RlZmluZSBzYyBzZWNvbmQKI2RlZmluZSBlbCAiXG4iCiNkZWZpbmUgdmVjdG9yMiB2ZWN0b3I8dmVjdG9yPGxsPj4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCnVzaW5nIGxsID0gbG9uZyBsb25nOwp1c2luZyBsZGIgPSBsb25nIGRvdWJsZTsKdXNpbmcgcGlpID0gcGFpcjxpbnQsaW50PjsKdXNpbmcgcGxsID0gcGFpcjxsbCxsbD47CmNvbnN0IGxsIE1PRCA9IDFlOSArIDc7CmNvbnN0IGxsIE1BWCA9IDFlMTg7CmNvbnN0IGxsIG1tYSA9IDZlNisxMDA7CmNvbnN0IGxsIG1vZCA9IDk5ODI0NDM1MzsKY29uc3QgbGwgdGVzdGNhc2UgPSAxZTM7CmNvbnN0IGxsIG1hbmcgPSAxZTUgKyAxMDA7CmxsIG4sbSxxLGs7CnZlY3RvcjxsbD4gYSg1MDA1KTsKbGwgZHBbNTAwNV1bNTAwNV07CmludCBtYWluKCl7CiAgICAjZGVmaW5lIFRBU0sgIktFT0NPIgoKICAgIGNpbi50aWUoMCkgLT4gc3luY193aXRoX3N0ZGlvKDApOwogICAgLy9mcmVvcGVuKFRBU0siLmlucCIsICJyIiwgc3RkaW4pOwogICAgLy9mcmVvcGVuKFRBU0siLm91dCIsICJ3IiwgIHN0ZG91dCk7CiAgICBjaW4gPj4gbjsKICAgIGxsIGNudCA9IDA7CiAgICBGT1IoaSwxLG4pewogICAgICAgIGNpbiA+PiBhW2ldOwogICAgICAgIGRwW2ldW2ldID0gYVtpXTsKICAgICAgICBjbnQgKz0gYVtpXTsKICAgIH0KCiAgICBGT1IobGVuLDIsbil7CiAgICAgICAgZm9yKGxsIGwgPSAxO2wgKyBsZW4gLSAxIDw9IG47bCsrKXsKICAgICAgICAgICAgbGwgciA9IGwgKyBsZW4gLSAxOwogICAgICAgICAgICBkcFtsXVtyXSA9IG1heCgtZHBbbCArIDFdW3JdICsgYVtsXSwtZHBbbF1bciAtIDFdICsgYVtyXSk7CiAgICAgICAgfQogICAgfQogICAgY291dCA8PCAoY250ICsgZHBbMV1bbl0pIC8gMjsKfQo=