#include <bits/stdc++.h>
using namespace std;
char _buf[33554432], *_s = _buf;
template <class T>
inline T rd() {
  if (_s == _buf + (33554432)) _s = _buf;
  if (_s == _buf) fread(_s, 1, 33554432, stdin);
  register T x = 0, f = 1;
  while (!isdigit(*_s)) {
    if (*_s == '-') f = -1;
    ++_s;
  }
  while (isdigit(*_s)) x = x * 10 + *_s++ - 48;
  return x * f;
}
int n = rd<int>(), a[(3005)], b[(3005)], c[(3005)], f[(3005)][2];
int main() {
  register int i = 1;
  for (; i <= n; ++i) a[i] = rd<int>();
  for (i = 1; i <= n; ++i) b[i] = rd<int>();
  for (i = 1; i <= n; ++i) c[i] = rd<int>();
  f[0][0] = -(0x3f3f3f3f), f[0][1] = 0;
  for (i = 1; i <= n; ++i)
    f[i][0] = max(f[i - 1][0] + b[i], f[i - 1][1] + a[i]),
    f[i][1] = max(f[i - 1][0] + c[i], f[i - 1][1] + b[i]);
  cout << f[n][0];
}
