#include <bits/stdc++.h>
using namespace std;
int dp[3010][3][3];
int a[3][3010], n;
int main() {
  int i, j, k, t;
  int x = 9999999;
  x = -x;
  while (~scanf("%d", &n)) {
    for (i = 0; i < 3; i++)
      for (j = 1; j <= n; j++) scanf("%d", &a[i][j]);
    memset(dp, x, sizeof(dp));
    dp[1][0][0] = a[0][1];
    dp[1][1][1] = a[1][1];
    dp[1][1][0] = dp[1][2][0] = x;
    for (i = 2; i <= n; i++) {
      dp[i][0][0] = max(dp[i - 1][1][1] + a[0][i], dp[i - 1][2][0] + a[0][i]);
      dp[i][1][0] = max(dp[i - 1][1][0] + a[1][i], dp[i - 1][0][0] + a[1][i]);
      dp[i][1][1] = max(dp[i - 1][1][1] + a[1][i], dp[i - 1][2][0] + a[1][i]);
      dp[i][2][0] = max(dp[i - 1][1][0] + a[2][i], dp[i - 1][0][0] + a[2][i]);
    }
    int ans;
    ans = max(dp[n][0][0], dp[n][1][0]);
    printf("%d\n", ans);
  }
  return 0;
}
