#include<iostream>
#include<algorithm>
using namespace std;
int N;
int arr[301] = { 0, };
int dp[301][3] = { 0, };
int main(){
cin>> N;
for(int i = 1; i<=N; i++){
scanf("%d", &arr[i]);
}
if(N < 3){
int ans = 0;
for(int i = 1; i<=N; i++){
ans += arr[i];
}
cout<< ans << endl;
return 0;
}
dp[1][1] = arr[1];
dp[2][1] = arr[2];
dp[2][2] = dp[1][1] + arr[2];
for(int i = 3; i<=N; i++){
dp[i][1] = max(dp[i-2][1], dp[i-2][2]) + arr[i];
dp[i][2] = dp[i-1][1] + arr[i];
}
int ans = 0;
ans = max(dp[N][2] , dp[N][1]);
cout<< ans <<endl;
}
#include <iostream>
#include <vector>
#include <algorithm>
std::vector<int> dp[2], st;
int main() {
int n;
std::cin >> n;
for (int i = 0; i < n; i++) {
int t;
std::cin >> t;
st.push_back(t);
}
dp[0].push_back(0);
dp[0].push_back(st[1]);
dp[1].push_back(st[0]);
dp[1].push_back(st[0] + st[1]);
for (int i = 2; i < n; i++) {
dp[0].push_back(std::max(dp[0][i - 2], dp[1][i - 2]) + st[i]);
dp[1].push_back(dp[0][i - 1] + st[i]);
}
std::cout << std::max(dp[0][n - 1], dp[1][n - 1]);
return 0;
}