#include <iostream>
#include <vector>
#include <cmath>
using namespace std;
#define FOR(i,a,b) for(int i=a; i<=b; i++)
#define DOWN(i,a,b) for(int i=a; i>=b; i--)
typedef long long LL;
int main()
{
int n;
LL MAX = -9999999999;
vector<LL> a,t3,T1,T2,T1MAX;
cin>>n;
a.resize(n);
FOR(i,0,n-1)
cin>>a[i];
t3.resize(n);
FOR(i,2,n-1)
t3[i] = a[i] + a[i-1] + a[i-2];
T1.resize(n);
T1[2] = t3[2];
FOR(i,3,n-1)
T1[i] = max(t3[i], T1[i-3] + t3[i]);
T2.resize(n);
T2[n-3] = t3[n-1];// = a[n-3] + a[n-2] + a[n-1];
DOWN(i,n-4,0)
T2[i] = max(t3[i+2], T2[i+3] + t3[i+2]);
T1MAX.resize(n);
T1MAX[2] = T1[2];
FOR(i,3,n-1)
T1MAX[i] = max(T1MAX[i-1],T1[i]);
FOR(j,3,n-3)
MAX = max(MAX,T2[j] + T1MAX[j-1]);
cout<<MAX<<endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8Y21hdGg+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKI2RlZmluZSBGT1IoaSxhLGIpIGZvcihpbnQgaT1hOyBpPD1iOyBpKyspCiNkZWZpbmUgRE9XTihpLGEsYikgZm9yKGludCBpPWE7IGk+PWI7IGktLSkKCnR5cGVkZWYgbG9uZyBsb25nIExMOwoKCgppbnQgbWFpbigpCnsKCWludCBuOwoJTEwgTUFYID0gLTk5OTk5OTk5OTk7CgkKCXZlY3RvcjxMTD4gYSx0MyxUMSxUMixUMU1BWDsKCQkKCWNpbj4+bjsJCgkKCQoJYS5yZXNpemUobik7CglGT1IoaSwwLG4tMSkKCQljaW4+PmFbaV07CgkKCXQzLnJlc2l6ZShuKTsKCUZPUihpLDIsbi0xKQoJCXQzW2ldID0gYVtpXSArIGFbaS0xXSArIGFbaS0yXTsKCQoJVDEucmVzaXplKG4pOwoJVDFbMl0gPSB0M1syXTsKCUZPUihpLDMsbi0xKQoJCVQxW2ldID0gbWF4KHQzW2ldLCBUMVtpLTNdICsgdDNbaV0pOwkKCQoJVDIucmVzaXplKG4pOwoJVDJbbi0zXSA9IHQzW24tMV07Ly8gPSBhW24tM10gKyBhW24tMl0gKyBhW24tMV07CglET1dOKGksbi00LDApCgkJVDJbaV0gPSBtYXgodDNbaSsyXSwgVDJbaSszXSArIHQzW2krMl0pOwoJCglUMU1BWC5yZXNpemUobik7CglUMU1BWFsyXSA9IFQxWzJdOwoJRk9SKGksMyxuLTEpCgkJVDFNQVhbaV0gPSBtYXgoVDFNQVhbaS0xXSxUMVtpXSk7CgkKCUZPUihqLDMsbi0zKQoJCU1BWCA9IG1heChNQVgsVDJbal0gKyBUMU1BWFtqLTFdKTsKCQoJY291dDw8TUFYPDxlbmRsOwoJCglyZXR1cm4gMDsKfQ==