#include <bits/stdc++.h>
using namespace std;
int n, f[3050][3], a[3050], b[3050], c[3050];
void dp() {
  for (int i = 1; i <= n; i++)
    for (int j = 0; j <= 2; j++) f[i][j] = 0;
  f[1][0] = a[1];
  for (int i = 2; i <= n; i++) {
    f[i][0] = max(f[i - 1][1] + (i == 2 ? 0 : c[i - 1] - b[i - 1]),
                  f[i - 1][0] + b[i - 1] - a[i - 1]) +
              a[i];
    f[i][1] = max(f[i - 1][0], f[i - 1][1]) + b[i];
  }
}
void debug() {
  for (int i = 1; i <= n; i++) {
    for (int j = 0; j <= 2; j++) {
      printf("f[%d][%d] = %d\n", i, j, f[i][j]);
    }
  }
}
int main() {
  while (~scanf("%d", &n)) {
    for (int i = 1; i <= n; i++) {
      scanf("%d", &a[i]);
    }
    for (int i = 1; i <= n; i++) {
      scanf("%d", &b[i]);
    }
    for (int i = 1; i <= n; i++) {
      scanf("%d", &c[i]);
    }
    if (n == 1) {
      printf("%d\n", a[1]);
      continue;
    }
    dp();
    printf("%d\n", max(f[n][0], f[n][1]));
  }
  return 0;
}
