import java.util.Scanner;
import java.util.ArrayList;
public class Main{
public static void main(String[] args){
//读取数据
Scanner in = new Scanner(System.in);
int M = in.nextInt();
ArrayList<Integer> items = new ArrayList<Integer>();
while(in.hasNext()){
items.add(in.nextInt());
}
Integer[] input = items.toArray(new Integer[0]);
//基本情况
if(M <2 || input.length==0) {System.out.println(M); return;}
//初始化 多一个方便处理
int [] dp = new int[input.length+1];
dp[0] = M;
int max = 0;
//动态规划,如果能量不足 就不能继续更新了
for(int i = 1; i<= input.length;i++){
if(dp[i-1] >=2)
dp[i] = dp[i-1]-2 + input[i-1];
if(i>=2 && dp[i-2] >=3)
dp[i] = Math.max(dp[i],dp[i-2] - 3 + input[i-1]);
max = Math.max(dp[i],max);
}
System.out.println(max);
}
}