#include <bits/stdc++.h>
using namespace std;
int n, a[3010], b[3010], c[3010];
int dp[2][3010];
int f(bool pr = 0, int i = 1) {
  if (dp[pr][i] != -1) return dp[pr][i];
  if (i == n) {
    if (pr)
      return dp[pr][i] = b[i];
    else
      return dp[pr][i] = a[i];
  }
  int ret = 0;
  if (pr) {
    ret = max(b[i] + f(1, i + 1), c[i] + f(0, i + 1));
  } else {
    ret = max(a[i] + f(1, i + 1), b[i] + f(0, i + 1));
  }
  return dp[pr][i] = ret;
}
int main() {
  ios::sync_with_stdio(0);
  cin.tie(0), cout.tie(0);
  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];
  memset(dp, -1, sizeof dp);
  cout << f() << '\n';
  return 0;
};
