#include<bits/stdc++.h>
using namespace std;

int tempo_massimo(int N, int a[], int b[]){
	vector<int> dp1(N,0),dp2(N,0);
	dp1[0]=max(a[0],b[0]);
	for(int i=1;i<N;i++){
		dp1[i]=max(dp2[i-1]+max(a[i],b[i]),dp1[i-1]+a[i]);
		dp2[i]=max(dp1[i-1],dp2[i-1]);
	}
	return dp1[N-1];  
}
/*
int main()
{
    int n;
    FILE *in = stdin, *out = stdout;
    assert(fscanf(in, "%d", &n) == 1);

    int *a = (int*)calloc(n, sizeof(int));
    int *b = (int*)calloc(n, sizeof(int));

    for(int i=0; i<n; i++){
      assert(fscanf(in, "%d", a + i) == 1);
      assert(fscanf(in, "%d", b + i) == 1);
    }

    int answ = tempo_massimo(n, a, b);
    fprintf(out, "%d\n", answ);

    free(a);
    free(b);

    fclose(in);
    fclose(out);

    return EXIT_SUCCESS;
}
*/