#include <bits/stdc++.h>
using namespace std;
const int inf = 1e9 + 5;
const long long int inf64 = 1e18 + 5;
const int MAX = 3e3 + 5;
int dp[MAX][2], a[MAX], b[MAX], c[MAX], n;
int rec(int pos = 0, bool prev = 0) {
  int &res = dp[pos][prev];
  if (~res) return res;
  res = 0;
  if (prev) {
    int res1 = (pos + 1 < n ? rec(pos + 1, 1) + b[pos] : b[pos]);
    int res2 = (pos + 1 < n ? rec(pos + 1, 0) + c[pos] : b[pos]);
    res = max(res1, res2);
  } else {
    int res1 = (pos + 1 < n ? rec(pos + 1, 1) + a[pos] : a[pos]);
    int res2 = (pos + 1 < n ? rec(pos + 1, 0) + b[pos] : a[pos]);
    res = max(res1, res2);
  }
  return res;
}
int main() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  cin >> n;
  for (int i = 0; i < n; i++) cin >> a[i];
  for (int i = 0; i < n; i++) cin >> b[i];
  for (int i = 0; i < n; i++) cin >> c[i];
  memset(dp, -1, sizeof dp);
  cout << rec();
}
