#include<stdio.h>
long long MAX(long long a,long long b){return a<b?b:a;}
  long long a,d[200020][2][4]={};
int main(){
  int n,i,j,k;
  scanf("%d",&n);
  for(i=0;i<n;i++){
    for(j=0;j<6;j++)d[i][j/3][j%3]=-1e18;
  }
  d[0][0][0]=0;
  for(i=0;i<n;i++){
    scanf("%lld",&a);
    for(j=0;j<2;j++){
      for(k=0;k<3;k++){	
	if(j==0){
	  d[i+1][1][k  ]=MAX(d[i+1][1][k  ],d[i][j][k]+a);
	  d[i+1][0][k+1]=MAX(d[i+1][0][k+1],d[i][j][k]  );
	}
	else{
	  d[i+1][0][k  ]=MAX(d[i+1][0][k  ],d[i][j][k]  );
	}
      }
    }
  }
  for(j=0;j<2;j++){
    for(k=0;k<3;k++){
      if(j==0){
	d[n+1][0][k+1]=MAX(d[n+1][0][k+1],d[n][j][k]);
      }
      else{
	d[n+1][0][k  ]=MAX(d[n+1][0][k  ],d[n][j][k]);
      }
    }
  }
  a=-1e18;
  for(j=0;j<2;j++)a=MAX(a,d[n+1][j][1+n%2]);
  printf("%lld\n",a);
  return 0;
}
