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

typedef long long ll;

int main(int, char**)
{
    int n;
    cin >> n;

    // acum[i][j] : 先頭からi個のデータのうちj個選んで総和を最大にしたときの最大値
    vector< vector<ll> > acum(n+1, vector<ll>(n+1,0));

    ll tmp;
    for (int i = 1; i <= n; i++) {
        cin >> tmp;
        if (i == 1) acum[i][1] = tmp;
        else if (i == 2) acum[i][1] = max(acum[i-1][1], tmp);
        else if (i % 2 == 0) {
            // 偶数はi/2個かi/2-1個の選び方しかありえない
            acum[i][i/2] = max(acum[i-1][i/2], acum[i-2][i/2-1] + tmp);
            acum[i][i/2-1] = max(acum[i-1][i/2-1], acum[i-2][i/2-2] + tmp);
        } else {
            // 奇数はi/2+1個かi/2個の選び方しかありえない
            acum[i][i/2+1] = acum[i-2][i/2] + tmp;
            acum[i][i/2] = max(acum[i-1][i/2], acum[i-2][i/2-1] + tmp);
        }
    }

    cout << acum[n][n/2] << endl;
    return 0;
}