#include <bits/stdc++.h>
using namespace std;
const long long N = 3e3 + 5;
int n;
int a[N], b[N], c[N];
int dp[N][2];
int solve(int idx, int filled) {
  if (idx == n + 1) return filled ? 0 : -100000000;
  int &ret = dp[idx][filled];
  if (ret != -1) return ret;
  ret = 0;
  if (filled)
    ret = max(c[idx] + solve(idx + 1, 0), b[idx] + solve(idx + 1, 1));
  else
    ret = max(a[idx] + solve(idx + 1, 1), b[idx] + solve(idx + 1, 0));
  return ret;
}
int main() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  scanf("%d", &n);
  for (int i = 1; i <= n; i++) scanf("%d", &a[i]);
  for (int i = 1; i <= n; i++) scanf("%d", &b[i]);
  for (int i = 1; i <= n; i++) scanf("%d", &c[i]);
  memset(dp, -1, sizeof dp);
  cout << solve(1, 0) << endl;
  return 0;
}
