// Max subset sum of 2 array. No 2 elem should be consecutive.
// If 4th elem is from ar1 then we can't chose 3rd elem from either array and 4th elem shouldn't be from ar2.
#include<bits/stdc++.h>
using namespace std;
main(){
int n;
cin>>n;
vector<int>a(n),b(n),dp(n);
for(auto &it:a)cin>>it;
for(auto &it:b)cin>>it;
dp[0]=max(0,max(a[0],b[0]));
dp[1]=max(dp[0],max(a[1],b[1]));
for(int i=2;i<n;i++){
dp[i]=max(dp[i-2]+max(a[i],b[i]),dp[i-1]);
}
cout<<dp[n-1]<<"\n";
}
Ly8gTWF4IHN1YnNldCBzdW0gb2YgMiBhcnJheS4gTm8gMiBlbGVtIHNob3VsZCBiZSBjb25zZWN1dGl2ZS4KLy8gSWYgNHRoIGVsZW0gaXMgZnJvbSBhcjEgdGhlbiB3ZSBjYW4ndCBjaG9zZSAzcmQgZWxlbSBmcm9tIGVpdGhlciBhcnJheSBhbmQgNHRoIGVsZW0gc2hvdWxkbid0IGJlIGZyb20gYXIyLgojaW5jbHVkZTxiaXRzL3N0ZGMrKy5oPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKbWFpbigpewogICAgaW50IG47CiAgICBjaW4+Pm47CiAgICB2ZWN0b3I8aW50PmEobiksYihuKSxkcChuKTsKICAgIGZvcihhdXRvICZpdDphKWNpbj4+aXQ7CiAgICBmb3IoYXV0byAmaXQ6YiljaW4+Pml0OwogICAgZHBbMF09bWF4KDAsbWF4KGFbMF0sYlswXSkpOwogICAgZHBbMV09bWF4KGRwWzBdLG1heChhWzFdLGJbMV0pKTsKICAgIGZvcihpbnQgaT0yO2k8bjtpKyspewogICAgICAgIGRwW2ldPW1heChkcFtpLTJdK21heChhW2ldLGJbaV0pLGRwW2ktMV0pOwogICAgfQogICAgY291dDw8ZHBbbi0xXTw8IlxuIjsKfQ==