#include <bits/stdc++.h>
using namespace std;
struct z {
  int zero;
  int one;
  int two;
};
z za[3010];
int d0[3010];
int d1[3010];
int main() {
  int n;
  cin >> n;
  for (int i = 1; i <= n; i++) {
    cin >> za[i].zero;
  }
  for (int i = 1; i <= n; i++) {
    cin >> za[i].one;
  }
  for (int i = 1; i <= n; i++) {
    cin >> za[i].two;
  }
  d0[1] = za[1].zero;
  d1[1] = za[1].one;
  for (int i = 2; i <= n; i++) {
    d0[i] = max(d0[i - 1] + za[i].one, d1[i - 1] + za[i].zero);
    d1[i] = max(d0[i - 1] + za[i].two, d1[i - 1] + za[i].one);
  }
  cout << d0[n] << endl;
  return 0;
}
