#include <bits/stdc++.h>
using namespace std;
long long int gcd(long long int a, long long int b) {
  if (a == 0)
    return (b);
  else
    return (gcd(b % a, a));
}
long long int fastpow(long long int a, long long int n, long long int temp) {
  if (n == 0) return (1);
  if (n == 1) return ((a * temp) % 1000000007);
  if (n & 1) temp = (temp * a) % 1000000007;
  return (fastpow((a * a) % 1000000007, n / 2, temp));
}
char dum;
int dp[3005][2], n, a[3005], b[3005], c[3005];
int solve(int pos, int state) {
  if (pos == n - 1) {
    if (state == 0)
      return a[pos];
    else
      return b[pos];
  }
  int &res = dp[pos][state];
  if (res != -1) return res;
  res = 0;
  if (state == 0) {
    res = max(solve(pos + 1, 1) + a[pos], solve(pos + 1, 0) + b[pos]);
  } else {
    res = max(solve(pos + 1, 1) + b[pos], solve(pos + 1, 0) + c[pos]);
  }
  return res;
}
int main() {
  scanf("%d", &n);
  for (int i = 0; i < n; i++) scanf("%d", &a[i]);
  for (int i = 0; i < n; i++) scanf("%d", &b[i]);
  for (int i = 0; i < n; i++) scanf("%d", &c[i]);
  memset(dp, -1, sizeof(dp));
  printf("%d\n", solve(0, 0));
  return 0;
}
