#include <bits/stdc++.h>
using namespace std;
const int maxn = 1005;
struct node {
  int v, len;
  node() {}
  node(int x, int y) { v = x, len = y; }
};
int a[2][maxn], b[maxn];
int s[2][maxn];
int main() {
  int n;
  while (cin >> n) {
    s[0][0] = s[1][0] = 0;
    for (int i = 0; i < 1; i++) {
      for (int j = 1; j <= n - 1; j++) {
        scanf("%d", &a[i][j]);
        if (j == 1) {
          s[i][j] = a[i][j];
        } else {
          s[i][j] = s[i][j - 1] + a[i][j];
        }
      }
    }
    for (int j = 1; j <= n - 1; j++) scanf("%d", &a[1][j]);
    for (int i = n - 1; i > 0; i--) {
      if (i == n - 1)
        s[1][n - i] = a[1][i];
      else
        s[1][n - i] = s[1][n - i - 1] + a[1][i];
    }
    for (int i = 0; i < n; i++) {
      scanf("%d", &b[i]);
    }
    int ans = 0x3f3f3f3f, tmp;
    for (int i = 0; i < n; i++) {
      for (int j = i + 1; j < n; j++) {
        tmp = b[i] + b[j];
        tmp += s[0][i] + s[1][n - i - 1];
        tmp += s[0][j] + s[1][n - j - 1];
        ans = min(ans, tmp);
      }
    }
    printf("%d\n", ans);
  }
  return 0;
}
