#include <bits/stdc++.h>
using namespace std;
const double pi = 3.14159265358979323846;
const double E = 2.7182818284590452354;
const struct _ {
  ios_base::Init i;
  _() {
    srand(time(NULL));
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
  }
} _;
template <class I>
inline void in(I A, I B) {
  while (A != B) {
    cin >> *A;
    ++A;
  }
}
template <class I>
inline void out(I A, I B, char D = ' ') {
  if (A != B) {
    cout << *A;
    while (++A != B) {
      cout << D << *A;
    }
  }
  cout << '\n';
}
template <class T>
inline T sq(const T& X) {
  return X * X;
}
template <class T>
inline T power(T X, int Y) {
  assert(Y >= 0 && !(X == 0 && Y == 0));
  T R = (Y & 1) ? X : 1;
  while (Y >>= 1) {
    X *= X;
    if (Y & 1) R *= X;
  }
  return R;
}
int a[3005], b[3005], c[3005];
int d[3005][2];
int main() {
  int n;
  cin >> n;
  in(a, a + n);
  in(b, b + n);
  in(c, c + n);
  d[n - 1][0] = a[n - 1];
  d[n - 1][1] = b[n - 1];
  for (int i = n - 2; i >= 0; i--) {
    d[i][0] = max(b[i] + d[i + 1][0], a[i] + d[i + 1][1]);
    d[i][1] = max(c[i] + d[i + 1][0], b[i] + d[i + 1][1]);
  }
  cout << d[0][0] << '\n';
}
