#include <iostream>
#include <vector>
#include <bitset>
#include <utility>
#include <string>
#include <queue>
#include <stack>
#include <algorithm>
#include <cmath>
#include <map>
#include <set>

using namespace std;
typedef long long ll;

int main(){
  int N;
  cin >> N;
  vector<ll> A(N);
  for(int i=0;i<N;i++){
    cin >> A[i];
  }

  vector<ll> dp0(N),dp1(N),dp2(N);
  dp0[0]=0; // select (i)/2
  dp1[0]=0; // select (i+1)/2
  dp2[0]=A[0]; // select (i+2)/2

  dp0[1]=0;
  dp1[1]=max(A[0],A[1]);
  dp2[1]=max(A[0],A[1]);

  for(int i=2;i<N;i++){
    dp0[i]=dp0[i-2]+A[i];
    dp1[i]=max(dp1[i-2]+A[i],dp2[i-1]);
    dp2[i]=dp2[i-2]+A[i];
  }

  cout << dp1[N-1] << endl;
  return 0;
}