//1754
/*
#include <stdio.h>
#include <string.h>
int main()
{
char str1[101]={}, str2[101]={};
scanf("%s %s",str1,str2);;
if(strlen(str1)>strlen(str2)) printf("%s %s",str2,str1);
else if(strlen(str1)<strlen(str2)) printf("%s %s",str1,str2);
else
{
for(int i=0;i<100;i++)
{
if(str1[i]>str2[i])
{
printf("%s %s",str2,str1);
break;
}
else if(str1[i]<str2[i])
{
printf("%s %s",str1,str2);
break;
}
}
}
return 0;
}*/
//1990
/*
#include<stdio.h>
#include<string.h>
int main()
{
int i,sum=0;
char a[501]={};
scanf("%s",a);
for(i=0;i<501;i++)
{
sum+=a[i];
}
if(sum%3==0) printf("1");
else printf("0");
return 0;
}*/
//2721
/*
#include <stdio.h>
int main()
{
char s1[20]={},s2[20]={},s3[20]={},S1,S2,S3;
scanf("%s %s %s",s1,s2,s3);
for(int i=0;i<20;i++)
{
if(s1[i+1]==NULL&&s1[i]!=NULL) S1=s1[i];
if(s2[i+1]==NULL&&s2[i]!=NULL) S2=s2[i];
if(s3[i+1]==NULL&&s3[i]!=NULL) S3=s3[i];
}
if(S1==s2[0])
{
if(S2==s3[0])
{
if(S3==s1[0])
{
printf("good");
}
else printf("bad");
}
else printf("bad");
}
else printf("bad");
return 0;
}*/
//1478
/*
#include <stdio.h>
int main()
{
int n,m,i,j,x=1,y=1,a[103][103]={0},x1,y1;
scanf("%d %d", &n, &m);
a[1][m]=1;
x1=1;y1=m;
x=x1;y=y1;
for(i=2;i<=n*m;i++)
{
x++; y++;
if(y>m)//첫선
{
if(y1-1>=1) y1--;//막선
else x1++;
x=x1;
y=y1;
}
else if(x>n)//막선
{
if(y1-1>=1) y1--;//막선
else x1++;
x=x1;
y=y1;
}
a[x][y]=i;
}
for(i=1;i<=n;i++)
{
for(j=1;j<=m;j++) printf("%d ", a[i][j]);
printf("\n");
}
}
*/
//1479
/*
#include <stdio.h>
int main()
{
int n,m,i,j,x=1,y=1,a[103][103]={0},x1,y1;
scanf("%d %d", &n, &m);
x1=n;y1=m;
x=x1;y=y1;
a[x][y]=1;
for(i=2;i<=n*m;i++)
{
x++; y--;
if(x>n||y<1)//조건
{
if(x1-1<1) y1--;
else x1--;
x=x1;
y=y1;
}
a[x][y]=i;
}
for(i=1;i<=n;i++)
{
for(j=1;j<=m;j++) printf("%d ", a[i][j]);
printf("\n");
}
}
*/
//1481
/*
#include <stdio.h>
int main()
{
int n,m,i,j,x=1,y=1,a[103][103]={0},x1,y1;
scanf("%d %d", &n, &m);
x1=n;y1=m;
x=x1;y=y1;
a[x][y]=1;
for(i=2;i<=n*m;i++)
{
x--; y++;
if(x<1||y>m)//조건
{
if(y1-1>=1) y1--;
else x1--;
x=x1;
y=y1;
}
a[x][y]=i;
}
for(i=1;i<=n;i++)
{
for(j=1;j<=m;j++) printf("%d ", a[i][j]);
printf("\n");
}
}*/
//1482
/*
#include <stdio.h>
int main()
{
int n,m,i,j,x=1,y=1,a[103][103]={0},x1,y1;
scanf("%d %d", &n, &m);
x1=n;y1=1;
x=x1;y=y1;
a[x][y]=1;
for(i=2;i<=n*m;i++)
{
x--; y--;
if(x<1||y<1)//조건
{
if(y1+1<=m) y1++;
else x1--;
x=x1;
y=y1;
}
a[x][y]=i;
}
for(i=1;i<=n;i++)
{
for(j=1;j<=m;j++) printf("%d ", a[i][j]);
printf("\n");
}
}*/
//1483
/*
#include <stdio.h>
int main()
{
int n,m,i,j,x=1,y=1,a[103][103]={0},x1,y1;
scanf("%d %d", &n, &m);
x1=n;y1=1;
x=x1;y=y1;
a[x][y]=1;
for(i=2;i<=n*m;i++)
{
x++;y++;
if(x>n||y>m)//조건
{
if(x1-1>=1) x1--;
else y1++;
x=x1;
y=y1;
}
a[x][y]=i;
}
for(i=1;i<=n;i++)
{
for(j=1;j<=m;j++) printf("%d ", a[i][j]);
printf("\n");
}
}*/
//1493
/*
#include<stdio.h>
int main()
{
int n,m,i,j,a[101][101]={0},b[101][101]={0};
scanf("%d %d", &n ,&m);
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)scanf("%d",&a[i][j]);
}
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
for(int k=0;k<=i;k++)
{
for(int l=0;l<=j;l++)
{
b[i][j]+=a[k][l];
}
}
}
}
for(i=0;i<n;i++)
{
for(j=0;j<m;j++) printf("%d ",b[i][j]);
printf("\n");
}
return 0;
}*/
//1494
/*
#include <stdio.h>
int main()
{
int n,k,s,e,u,d[101]={},i,sum=0;
scanf("%d %d", &n, &k);
for(i=0;i<k;i++)
{
scanf("%d %d %d",&s,&e,&u);
d[s]+=u;
d[e+1]-=u;
}
for(i=1;i<=n;i++) printf("%d ", d[i]);
printf("\n");
for(i=1;i<=n;i++) printf("%d ", sum+=d[i]);
}
*/
//1495
/*
#include <stdio.h>
int main()
{
int n,m,k,x1,y1,x2,y2,u,i,d[1001][1001]={},memo[1001][1001]={0},j,sum=0;
scanf("%d %d %d",&n,&m,&k);
for(i=0;i<k;i++)
{
scanf("%d %d %d %d %d",&x1,&y1,&x2,&y2,&u);
d[x1][y1]+=u;
d[x2+1][y2+1]+=u;
d[x1][y2+1]-=u;
d[x2+1][y1]-=u;
}
for(i=0;i<n;i++)
{
for(j=0;j<m;j++) printf("%d ",d[i][j]);
printf("\n");
}
printf("\n");
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
if(i==0&&j==0)memo[i][j]=d[i][j];
else
{
if(i==0)memo[i][j]=memo[i][j-1]+d[i][j];
else if(j==0)memo[i][j]=memo[i-1][j]+d[i][j];
else memo[i][j]=memo[i-1][j]+memo[i][j-1]-memo[i-1][j-1]+d[i][j];
}
printf("%d ",memo[i][j]);
}
printf("\n");
}
return 0;
}
*/
//1507
/*
#include <stdio.h>
int main()
{
int x1,y1,x2,y2,a[101][101]={0},i,j,sum=0,Mx=0,My=0;
for(int k=0;k<4;k++)
{
scanf("%d %d %d %d",&x1,&y1,&x2,&y2);
x2--;y2--;
if(x2>Mx)Mx=x2;
if(y2>My)My=y2;
for(i=x1;i<=x2;i++)
{
for(j=y1;j<=y2;j++)
{
a[i][j]=1;
}
}
}
for(i=0;i<=Mx;i++)
{
for(j=0;j<=My;j++)sum+=a[i][j];
}
printf("%d",sum);
}
*/
//1496
/*
#include<stdio.h>
int main()
{
int n,a[101],i;
scanf("%d", &n);
for(i=0;i<n;i++) scanf("%d", &a[i]);
for(i=0;i<n;i+=2) printf("%d ",a[i]<a[i+1]?a[i]:a[i+1]);
return 0;
}
*/
//1508
/*
#include <stdio.h>
int main()
{
int n,i,j,a[21][21]={};
scanf("%d", &n);
for(i=0;i<n;i++)
{
scanf("%d", &a[i][0]);
printf("%d ",a[i][0]);
for(j=1;j<=i;j++)
{
a[i][j]=a[i][j-1]-a[i-1][j-1];
printf("%d ",a[i][j]);
}
printf("\n");
}
return 0;
}*/
//1524
/*
#include<stdio.h>
int main()
{
int a[10][10]={},i,j,sum=0,r,c;
for(i=1;i<10;i++)
{
for(j=1;j<10;j++)scanf("%d", &a[i][j]);
}
scanf("%d %d",&r,&c);
if(a[r][c]==1) printf("-1");
else
{
for(i=-1;i<=1;i++)
{
if(r+i==0||r+i==10)continue;
sum+=a[r+i][c];
if(c-1>0)sum+=a[r+i][c-1];
if(c+1<10)sum+=a[r+i][c+1];
}
printf("%d",sum);
}
return 0;
}
*/
//1498
/*
#include <stdio.h>
int main()
{
int n,g,i,mn=0,a[101]={},d=0,j;
scanf("%d %d", &n, &g);
for(i=0;i<n;i++) scanf("%d", &a[i]);
for(j=0;j<100;j++)
{
for(i=d;i<g+d;i++)
{
if(i>=n)break;
if(mn==0)mn=a[i];
if(a[i]>mn)mn=a[i];
}
if((n-d)<=0)break;
else
{
printf("%d ",mn);
mn=0;
d+=g;
}
}
}
*/
//4085
/*
#include <stdio.h>
int main()
{
int m,n,x,y,a[100][100]={},i,j,M=0,k,l,d[100][100]={0};
scanf("%d %d %d %d", &m,&n,&y,&x);
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
scanf("%d",&a[i][j]);
}
}
for(i=0;i<=n-x;i++)
{
for(j=0;j<=m-y;j++)
{
for(k=0;k<x;k++)
{
for(l=0;l<y;l++)
{
d[i][j]+=a[i+k][j+l];
}
}
if(M<d[i][j])M=d[i][j];
}
}
printf("%d",M);
return 0;
}*/
/*
#include <stdio.h>
int main()
{
int a, b, i, j;
char c;
scanf("%d %d %c", &a, &b, &c);
if(c=='R')
{
for(i=0;i<a;i++)
{
for(j=2;j<=a+b-i;j++)
{
if(j>a-i&&j<=a+b-i)
printf("*");
else
printf(" ");
}
if(i==a-1)
break;
printf("\n");
}
}
else
{
for(i=0;i<a;i++)
{
for(j=0;j<b+i;j++)
{
if(j>=i&&j<i+b)
printf("*");
else
printf(" ");
}
if(i==a-1)
break;
printf("\n");
}
}
}*/
/*
#include <stdio.h>
int main()
{
int n,k,i,j,c;
scanf("%d %d", &n, &k);
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
if(i==0||j==0||i==n-1||j==n-1||(i+j+1)%k==0) printf("*");
else printf(" ");
}
printf("\n");
}
return 0;
}*/
//1615
/*
#include<stdio.h>
int main()
{
int d[6000]={0},i,k,a,b,p,sum=0;
scanf("%d %d", &a, &b);
for(i=0;i<=5000;i++)
{
p=i%10+i/10%10+i/100%10+i/1000%10+i;
d[p]=1;
}
for(i=a;i<=b;i++)
{
if(d[i]!=1) sum+=i;
}
printf("%d", sum);
return 0;
}
*/
//4564
/*
#include <stdio.h>
int main()
{
int n,a[301]={},i,sum=0,s=0;
scanf("%d",&n);
for(i=0;i<n;i++) scanf("%d",&a[i]);
sum+=a[0];
for(i=1;i<n;i++)
{
if(a[i]>a[i+1]&&s<3)
{
sum+=a[i];
printf("%d %d\n",i,sum);
s++;
}
else if(a[i]<=a[i+1])
{
sum+=a[i+1];
printf("%d %d\n",i+1,sum);
i++;
s=1;
s++;
}
}
printf("%d",sum);
}
*/
#include <stdio.h>
int a[301]={},m[301]={};
int f(int n)
{
if(m[n]!=0) return m[n];
if(n==0) return m[0]=a[0];
else if(n==1) return m[1]=a[1]+a[0];
else if(n==2) return m[2]=a[n]+(a[0]>a[1]?a[0]:a[1]);
return m[n]=a[n]+(f(n-2)>f(n-3)+a[n-1]?f(n-2):f(n-3)+a[n-1]);
}
int main()
{
int n,i;
scanf("%d",&n);
for(i=0;i<n;i++) scanf("%d",&a[i]);
printf("%d",f(n-1));
}
/*
if(m[n-2]>=m[n-1]) return m[n]=a[n]+f(n-2);
else return m[n]= a[n]+f(n-1);
//1411
/*
#include<stdio.h>
int main()
{
int i,n,a[51]={0},b;
scanf("%d",&n);
for(i=1;i<=n-1;i++)
{
scanf("%d",&b);
a[b]=1;
}
for(i=1;i<=n;i++)
{
if(a[i]!=1)
{
printf("%d",i);
}
}
return 0;
}*/
//1412
/*
#include<stdio.h>
int main()
{
}
*/