#include <iostream>
#include <bits/stdc++.h>
using namespace std;
int main() {
// your code goes here
int n;
cin>> n;
vector<int> arr(n+1,0), brr(n+1, 0);
for(int i=1; i<=n; i++){
cin>>arr[i];
}
for(int i=1; i<=n; i++){
cin>>brr[i];
}
vector<int> dp(n,0);
dp[1] = max(arr[1], brr[1]);
if(n==1) return dp[1];
dp[2] = max(arr[2], brr[2]);
if(n==2) return max(dp[1], dp[2]);
dp[3] = max({dp[1], dp[2], dp[1]+arr[3], dp[1] + brr[3]});
int i=4;
while(i<=n){
dp[i] = max({arr[i]+dp[i-2], brr[i]+dp[i-2], dp[i-1], dp[i-2]});
i++;
}
cout<< dp[n];
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmludCBtYWluKCkgewoJLy8geW91ciBjb2RlIGdvZXMgaGVyZQoJCglpbnQgbjsKCWNpbj4+IG47CgkKCXZlY3RvcjxpbnQ+IGFycihuKzEsMCksIGJycihuKzEsIDApOwoJCglmb3IoaW50IGk9MTsgaTw9bjsgaSsrKXsKCQljaW4+PmFycltpXTsKCX0KCWZvcihpbnQgaT0xOyBpPD1uOyBpKyspewoJCWNpbj4+YnJyW2ldOwoJfQoJCgl2ZWN0b3I8aW50PiBkcChuLDApOwoJCglkcFsxXSA9IG1heChhcnJbMV0sIGJyclsxXSk7CglpZihuPT0xKSByZXR1cm4gZHBbMV07CgkKCWRwWzJdID0gbWF4KGFyclsyXSwgYnJyWzJdKTsKCWlmKG49PTIpIHJldHVybiBtYXgoZHBbMV0sIGRwWzJdKTsKCQoJZHBbM10gPSBtYXgoe2RwWzFdLCBkcFsyXSwgZHBbMV0rYXJyWzNdLCBkcFsxXSArIGJyclszXX0pOwoJCglpbnQgaT00OwoJCgl3aGlsZShpPD1uKXsKCQkKCQlkcFtpXSA9IG1heCh7YXJyW2ldK2RwW2ktMl0sIGJycltpXStkcFtpLTJdLCBkcFtpLTFdLCBkcFtpLTJdfSk7CgkJCgkJaSsrOwoJfQoKCWNvdXQ8PCBkcFtuXTsKCQoJcmV0dXJuIDA7Cn0=