#include <bits/stdc++.h>
using namespace std;
const long long N = 3005;
long long a[N], b[N], c[N];
long long n;
long long dp[N][2];
long long recur(long long i, bool prev) {
  if (i == n - 1) {
    if (prev == 0)
      return a[i];
    else
      return b[i];
  }
  if (dp[i][prev] != -1) return dp[i][prev];
  long long p1 = 0, p2 = 0;
  if (prev == 1) {
    p1 = c[i] + recur(i + 1, 0);
    p2 = b[i] + recur(i + 1, 1);
  } else if (prev == 0) {
    p1 = a[i] + recur(i + 1, 1);
    p2 = b[i] + recur(i + 1, 0);
  }
  dp[i][prev] = max(p1, p2);
  return max(p1, p2);
}
signed main() {
  cin >> n;
  for (long long i = 0; i < n; ++i) {
    cin >> a[i];
  }
  for (long long i = 0; i < n; ++i) {
    cin >> b[i];
  }
  for (long long i = 0; i < n; ++i) {
    cin >> c[i];
  }
  memset(dp, -1, sizeof(dp));
  long long ans = recur(0, 0);
  cout << ans << endl;
}
