#include<bits/stdc++.h>
using namespace std;
#define FOR(i,l,r) for(long long i=(l);i<(r);++i)
#define REP(i,n) FOR(i,0,n)
#define int long long

signed main(){
    int N;
    cin >>N;
    int vec[N+1];
  	vec[0]=0;
    REP(i,N){
        cin>>vec[i+1];
    }
    int a=N/2;
    vector<vector<int>>dp(N+1,vector<int>(a+1,0));
    dp[1][1]=vec[1];
    dp[2][1]=max(vec[1],vec[2]);
    for(int i=3;i<=N;i++){
        if(i%2==1){
            if(i==3) dp[3][1]=max(vec[1],max(vec[2],vec[3]));
          	if(i!=3) dp[i][i/2-1]=max(dp[i-2][i/2-2]+vec[i],dp[i-1][i/2-1]);
            dp[i][i/2]=max(dp[i-2][i/2-1]+vec[i],dp[i-1][i/2]);
            dp[i][i/2+1]=max(dp[i-2][i/2]+vec[i],dp[i-1][i/2+1]);
        }
        if(i%2==0){
            dp[i][i/2-1]=max(dp[i-2][i/2-2]+vec[i],dp[i-1][i/2-1]);
            dp[i][i/2]=max(dp[i-2][i/2-1]+vec[i],dp[i-1][i/2]);
        }
    }
    cout<<dp[N][a]<<endl;
}