#include <fostream>
using namespace std;
ifstream cin("oo.in");
ofstream cout("oo.out");
int n, dp1[100005], dp2[100005], dp3[100005], v[100005];
long long s1, s2, s3;
void cazul1() {
dp1[1] = 0;
dp1[2] = v[1] + v[2];
dp1[3] = dp1[2];
for(int i=4;i<=n-1;i++) dp1[i] = max(v[i] + v[i-1] + dp1[i-3], dp1[i-1]);
s1 = dp1[n-1];
}
void cazul2() {
dp2[2] = 0;
dp2[3] = v[2] + v[3];
dp2[4] = dp2[3];
for(int i=5;i<=n;i++) dp2[i] = max(v[i] + v[i-1] + dp2[i-3], dp2[i-1]);
s2 = dp2[n];
}
void cazul3() {
dp3[n] = 0;
dp3[1] = v[1] + v[n];
dp3[2] = dp3[1];
for(int i=3;i<=n-2;i++) dp3[i] = max(v[i] + v[i-1] + dp3[i-3], dp3[i-1]);
s3 = dp3[n-2];
}
int main() {
cin>>n;
for(int i=1;i<=n;i++) cin>>v[i];
cazul1();
cazul2();
cazul3();
cout<<max(s1, max(s2, s3));
return 0;
}