#include <cstdio>
#include <iostream>
#include <map>
#include <iomanip>
#include <set>
#include <cstdlib>
#include <cmath>
#include <queue>
#include <cctype>
#include <cstring>
#include <algorithm>
using namespace std;
typedef pair<int, int> pii;
typedef vector<int> vi;
typedef vector< pii > vii;
#define INF 2e9
long long n, nums[500500], dp[500500][2][3];
long long best(int numsLeft, int beenTaking, int arrLeft) {
if (arrLeft < 0 || numsLeft < 0) return 0;
if (dp[numsLeft][beenTaking][arrLeft] != -1)
return dp[numsLeft][beenTaking][arrLeft];
if (beenTaking) {
// continue Taking
long long c1 = best(numsLeft - 1, beenTaking, arrLeft) + nums[numsLeft];
// stop Taking
long long c2 = best(numsLeft - 1, 0, arrLeft);
return dp[numsLeft][beenTaking][arrLeft] = max(c1, c2);
} else {
// continue not Taking
long long c1 = best(numsLeft - 1, beenTaking, arrLeft);
// start Taking
long long c2 = best(numsLeft - 1, 1, arrLeft - 1) + nums[numsLeft];
return dp[numsLeft][beenTaking][arrLeft] = max(c1,c2);
}
}
int main() {
//freopen("in.txt", "r", stdin);
memset(dp, -1, sizeof(dp));
cin >> n;
for (int i = 0; i < n; i++) {
cin >> nums[i];
}
cout << best(n - 1, 0, 2) << endl;
return 0;
}
I2luY2x1ZGUgPGNzdGRpbz4KI2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8bWFwPgojaW5jbHVkZSA8aW9tYW5pcD4KI2luY2x1ZGUgPHNldD4KI2luY2x1ZGUgPGNzdGRsaWI+CiNpbmNsdWRlIDxjbWF0aD4KI2luY2x1ZGUgPHF1ZXVlPgojaW5jbHVkZSA8Y2N0eXBlPgojaW5jbHVkZSA8Y3N0cmluZz4KI2luY2x1ZGUgPGFsZ29yaXRobT4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCnR5cGVkZWYgcGFpcjxpbnQsIGludD4gcGlpOwp0eXBlZGVmIHZlY3RvcjxpbnQ+IHZpOwp0eXBlZGVmIHZlY3RvcjwgcGlpID4gdmlpOwoKI2RlZmluZSBJTkYgMmU5Cgpsb25nIGxvbmcgbiwgbnVtc1s1MDA1MDBdLCBkcFs1MDA1MDBdWzJdWzNdOwoKbG9uZyBsb25nIGJlc3QoaW50IG51bXNMZWZ0LCBpbnQgYmVlblRha2luZywgaW50IGFyckxlZnQpIHsKICAgIGlmIChhcnJMZWZ0IDwgMCB8fCBudW1zTGVmdCA8IDApIHJldHVybiAwOwoKICAgIGlmIChkcFtudW1zTGVmdF1bYmVlblRha2luZ11bYXJyTGVmdF0gIT0gLTEpCiAgICAgICAgcmV0dXJuIGRwW251bXNMZWZ0XVtiZWVuVGFraW5nXVthcnJMZWZ0XTsKCiAgICBpZiAoYmVlblRha2luZykgewogICAgICAgIC8vIGNvbnRpbnVlIFRha2luZwogICAgICAgIGxvbmcgbG9uZyBjMSA9IGJlc3QobnVtc0xlZnQgLSAxLCBiZWVuVGFraW5nLCBhcnJMZWZ0KSArIG51bXNbbnVtc0xlZnRdOwogICAgICAgIC8vIHN0b3AgVGFraW5nCiAgICAgICAgbG9uZyBsb25nIGMyID0gYmVzdChudW1zTGVmdCAtIDEsIDAsIGFyckxlZnQpOwoKICAgICAgICByZXR1cm4gZHBbbnVtc0xlZnRdW2JlZW5UYWtpbmddW2FyckxlZnRdID0gbWF4KGMxLCBjMik7CiAgICB9IGVsc2UgewogICAgICAgIC8vIGNvbnRpbnVlIG5vdCBUYWtpbmcKICAgICAgICBsb25nIGxvbmcgYzEgPSBiZXN0KG51bXNMZWZ0IC0gMSwgYmVlblRha2luZywgYXJyTGVmdCk7CiAgICAgICAgLy8gc3RhcnQgVGFraW5nCiAgICAgICAgbG9uZyBsb25nIGMyID0gYmVzdChudW1zTGVmdCAtIDEsIDEsIGFyckxlZnQgLSAxKSArIG51bXNbbnVtc0xlZnRdOwoKICAgICAgICByZXR1cm4gZHBbbnVtc0xlZnRdW2JlZW5UYWtpbmddW2FyckxlZnRdID0gbWF4KGMxLGMyKTsKICAgIH0KfQoKaW50IG1haW4oKSB7CiAgICAvL2ZyZW9wZW4oImluLnR4dCIsICJyIiwgc3RkaW4pOwoKICAgIG1lbXNldChkcCwgLTEsIHNpemVvZihkcCkpOwoKICAgIGNpbiA+PiBuOwogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBuOyBpKyspIHsKICAgICAgICBjaW4gPj4gbnVtc1tpXTsKICAgIH0KCiAgICBjb3V0IDw8IGJlc3QobiAtIDEsIDAsIDIpIDw8IGVuZGw7CgogICAgcmV0dXJuIDA7Cn0KCg==