#include <bits/stdc++.h>
using namespace std;

long long robLinear(const vector<int>& a, int l, int r) { // 闭区间 [l,r]
    long long prev2 = 0, prev1 = 0; // dp[i-2], dp[i-1]
    for (int i = l; i <= r; ++i) {
        long long cur = max(prev1, prev2 + (long long)a[i]);
        prev2 = prev1;
        prev1 = cur;
    }
    return prev1;
}

int main() {
    int n;
    cin >> n;
    vector<int> nums(n);
    for (int i = 0; i < n; ++i) cin >> nums[i];

    if (n == 1) {
        cout << nums[0] << '\n';
        return 0;
    }
    cout << max(robLinear(nums, 0, n - 2), robLinear(nums, 1, n - 1)) << '\n';
    return 0;
}