import java.util.*;
class Main {
public static void main
(String[] args
) { Scanner sc
= new Scanner
(System.
in); int n = sc.nextInt();
long[] b = new long[n + 1];
for (int i = 1; i <= n; i++) {
b[i] = sc.nextLong();
}
if (n == 0) return;
long[][] dp = new long[n+1][4];
long ans = 0;
//cant take 2 or 3 houses yet
//only at dp[2][2] i can take 2 houses
for (int i = 1; i <= n; i++) {
// if im taking 2 homes..
// h(i)+h(i-1)+dp[i-3]
// since one gap between last used house i-2 skip
// (i>=2)th house and need 1 gap
if (i >= 2) {
long best = 0;
// since i can have gaps greater than one gap
// i need to take max at each ith house
//if i not yet reached i-3, then j could be 2-3.. so take max
for (int j
= Math.
max(1, i
- 3); j
>= 1; j
--){ best
= Math.
max(best, dp
[j
][2]); best
= Math.
max(best, dp
[j
][3]); }
dp[i][2] = b[i] + b[i - 1] + best;
ans
= Math.
max(ans, dp
[i
][2]); }
if (i >= 3) {
long best = 0;
// if iter is not yet >=5 .. then cant go back 2 gaps yet
//dont go in j loop yet
for (int j
= Math.
max(1, i
- 5); j
>= 1; j
--){ best
= Math.
max(best, dp
[j
][2]); best
= Math.
max(best, dp
[j
][3]); }
dp[i][3] = b[i] + b[i - 1] + b[i - 2] + best;
ans
= Math.
max(ans, dp
[i
][3]); }
}
}
}
aW1wb3J0IGphdmEudXRpbC4qOwpjbGFzcyBNYWluIHsKICAgIHB1YmxpYyBzdGF0aWMgdm9pZCBtYWluKFN0cmluZ1tdIGFyZ3MpIHsKICAgICAgICBTY2FubmVyIHNjID0gbmV3IFNjYW5uZXIoU3lzdGVtLmluKTsKICAgICAgICBpbnQgbiA9IHNjLm5leHRJbnQoKTsKICAgICAgICBsb25nW10gYiA9IG5ldyBsb25nW24gKyAxXTsKICAgICAgICBmb3IgKGludCBpID0gMTsgaSA8PSBuOyBpKyspIHsKICAgICAgICAgICAgYltpXSA9IHNjLm5leHRMb25nKCk7CiAgICAgICAgfQogICAgICAgIGlmIChuID09IDApIHJldHVybjsKICAgICAgICBsb25nW11bXSBkcCA9IG5ldyBsb25nW24rMV1bNF07CiAgICAgICAgbG9uZyBhbnMgPSAwOwogICAgICAgIC8vY2FudCB0YWtlIDIgb3IgMyBob3VzZXMgeWV0ICAKICAgICAgICAvL29ubHkgYXQgZHBbMl1bMl0gaSBjYW4gdGFrZSAyIGhvdXNlcwogICAgICAgIGZvciAoaW50IGkgPSAxOyBpIDw9IG47IGkrKykgewogICAgICAgICAgICAvLyBpZiBpbSB0YWtpbmcgMiBob21lcy4uIAogICAgICAgICAgICAvLyBoKGkpK2goaS0xKStkcFtpLTNdIAogICAgICAgICAgICAvLyBzaW5jZSBvbmUgZ2FwIGJldHdlZW4gbGFzdCB1c2VkIGhvdXNlIGktMiBza2lwCiAgICAgICAgICAgIC8vIChpPj0yKXRoIGhvdXNlIGFuZCBuZWVkIDEgZ2FwCiAgICAgICAgICAgIGlmIChpID49IDIpIHsKICAgICAgICAgICAgICAgIGxvbmcgYmVzdCA9IDA7CiAgICAgICAgICAgICAgICAvLyBzaW5jZSBpIGNhbiBoYXZlIGdhcHMgZ3JlYXRlciB0aGFuIG9uZSBnYXAKICAgICAgICAgICAgICAgIC8vIGkgbmVlZCB0byB0YWtlIG1heCBhdCBlYWNoIGl0aCBob3VzZQogICAgICAgICAgICAgICAgLy9pZiBpIG5vdCB5ZXQgcmVhY2hlZCBpLTMsIHRoZW4gaiBjb3VsZCBiZSAyLTMuLiBzbyB0YWtlIG1heAogICAgICAgICAgICAgICAgZm9yIChpbnQgaiA9IE1hdGgubWF4KDEsIGkgLSAzKTsgaiA+PSAxOyBqLS0pewogICAgICAgICAgICAgICAgICAgIGJlc3QgPSBNYXRoLm1heChiZXN0LCBkcFtqXVsyXSk7CiAgICAgICAgICAgICAgICAgICAgYmVzdCA9IE1hdGgubWF4KGJlc3QsIGRwW2pdWzNdKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGRwW2ldWzJdID0gYltpXSArIGJbaSAtIDFdICsgYmVzdDsKICAgICAgICAgICAgICAgIGFucyA9IE1hdGgubWF4KGFucywgZHBbaV1bMl0pOwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAoaSA+PSAzKSB7CiAgICAgICAgICAgICAgICBsb25nIGJlc3QgPSAwOwogICAgICAgICAgICAgICAgLy8gaWYgaXRlciBpcyBub3QgeWV0ID49NSAuLiB0aGVuIGNhbnQgZ28gYmFjayAyIGdhcHMgeWV0CiAgICAgICAgICAgICAgICAvL2RvbnQgZ28gaW4gaiBsb29wIHlldAogICAgICAgICAgICAgICAgZm9yIChpbnQgaiA9IE1hdGgubWF4KDEsIGkgLSA1KTsgaiA+PSAxOyBqLS0pewogICAgICAgICAgICAgICAgICAgIGJlc3QgPSBNYXRoLm1heChiZXN0LCBkcFtqXVsyXSk7CiAgICAgICAgICAgICAgICAgICAgYmVzdCA9IE1hdGgubWF4KGJlc3QsIGRwW2pdWzNdKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGRwW2ldWzNdID0gYltpXSArIGJbaSAtIDFdICsgYltpIC0gMl0gKyBiZXN0OwogICAgICAgICAgICAgICAgYW5zID0gTWF0aC5tYXgoYW5zLCBkcFtpXVszXSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKGFucyk7CiAgICB9Cn0=