#include <bits/stdc++.h>
using namespace std;
template <class T>
inline T gcd(T a, T b) {
  return b ? gcd(b, a % b) : a;
}
template <class T>
inline T LCM(T a, T b) {
  if (a < 0) return LCM(-a, b);
  if (b < 0) return LCM(a, -b);
  return a * (b / gcd(a, b));
}
int pull[2][200], cross[200];
vector<int> pos;
int main() {
  int i, n, j;
  scanf("%d", &n);
  for (i = (int)0; i < (int)2; ++i) {
    for (j = (int)0; j < (int)n - 1; ++j) scanf("%d", &pull[i][j]);
  }
  for (i = (int)0; i < (int)n; ++i) scanf("%d", &cross[i]);
  for (int i = 0; i < n; i++) {
    int ans = 0;
    for (int j = 0; j < i; j++) {
      ans += pull[0][j];
    }
    for (int j = i; j < n; j++) ans += pull[1][j];
    ans += cross[i];
    pos.push_back(ans);
  }
  sort(pos.begin(), pos.end());
  cout << pos[0] + pos[1];
  return 0;
}
