#include<bits/stdc++.h>
using namespace std;
const int N=1005;
int n,a[N],b[N],c[N];
int dp[N][N][3];
inline int w(int i,int x,int y){
if(x==2&&!y)return 0;
if(y==2&&!x)return 2*a[i];
if(x<y)return 0;
if(x==y)return a[i];
return a[i]*2;
}
int main(){
std::ios::sync_with_stdio(false);
cin.tie(),cout.tie();
cin>>n;
for(int i=1;i<=n;i++)cin>>a[i];
for(int i=1;i<n;i++)cin>>b[i];
for(int i=1;i<=n;i++)cin>>c[i];
for(int i=1;i<=n;i++)
for(int j=0;j<i;j++)
for(int k=0;k<3;k++){
if(i==1||i-1!=j)dp[i][j][k]=dp[i-1][j][k]+w(i,k,c[i]);
if(j>0)
for(int l=0;l<3;l++)
dp[i][j][k]=max(dp[i][j][k],dp[i-1][j-1][l]+w(i,k,c[i])-b[j]);
}
int ans=0;
for(int i=0;i<n;i++)
for(int j=0;j<3;j++)
ans=max(ans,dp[n][i][j]);
cout<<ans;
}