#include <bits/stdc++.h>
using namespace std;
void executeTime() {
cerr << "Time Taken: " << (float)clock() / CLOCKS_PER_SEC << " secs";
}
int main() {
int n;
cin >> n;
vector<int> v(n);
for (auto &x : v)
cin >> x;
vector<int> dp(n, 0);
dp[0] = max(v[0], 0);
if (n >= 2)
dp[1] = max({v[0], v[1], 0});
for (int i = 2; i < n; i++) {
dp[i] = max(dp[i - 1], dp[i - 2] + v[i]);
}
cout << dp[n - 1] << endl;
executeTime();
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgp2b2lkIGV4ZWN1dGVUaW1lKCkgewogICAgY2VyciA8PCAiVGltZSBUYWtlbjogIiA8PCAoZmxvYXQpY2xvY2soKSAvIENMT0NLU19QRVJfU0VDIDw8ICIgc2VjcyI7Cn0KCmludCBtYWluKCkgewoKCiAgICBpbnQgbjsKICAgIGNpbiA+PiBuOwoKICAgIHZlY3RvcjxpbnQ+IHYobik7CiAgICBmb3IgKGF1dG8gJnggOiB2KQogICAgICAgIGNpbiA+PiB4OwoKICAgIHZlY3RvcjxpbnQ+IGRwKG4sIDApOwoKICAgIGRwWzBdID0gbWF4KHZbMF0sIDApOwoKICAgIGlmIChuID49IDIpCiAgICAgICAgZHBbMV0gPSBtYXgoe3ZbMF0sIHZbMV0sIDB9KTsKCiAgICBmb3IgKGludCBpID0gMjsgaSA8IG47IGkrKykgewogICAgICAgIGRwW2ldID0gbWF4KGRwW2kgLSAxXSwgZHBbaSAtIDJdICsgdltpXSk7CiAgICB9CgogICAgY291dCA8PCBkcFtuIC0gMV0gPDwgZW5kbDsKCiAgICBleGVjdXRlVGltZSgpOwogICAgcmV0dXJuIDA7Cn0=