#include <iostream>
#include <vector>
using namespace std;
const int N = 200010;
int a[N];
int n;
int main()
{
cin>>n;
for(int i = 0;i<n;i++)
{
scanf("%d",&a[i]);
}
vector<int>f(n),g(n);//f代表的是i是被选的,以i为结尾的金额最大,g代表的是i的不被选,以i为结尾的金额最大的。
int ret = f[0] = a[0];
for(int i = 1;i<n-1;i++)
{
f[i] = g[i-1]+a[i];
g[i] = max(f[i-1],g[i-1]);
ret = max(ret,max(f[i],g[i]));
}
f[1] = a[1],g[1] = 0;
int ans = 0;
for(int i = 2;i<n;i++)
{
f[i] = g[i-1]+a[i];
g[i] = max(f[i-1],g[i-1]);
ans = max(ans,max(f[i],g[i]));
}
printf("%d\n",max(ret,ans));
return 0;
}