#include using namespace std; using ll = long long; template istream& operator >> (istream& is, vector& vec) { for(T& x : vec) is >> x; return is; } int main(){ ios::sync_with_stdio(false); cin.tie(0); int n; cin >> n; vector a(n), b(n), c(n); cin >> a >> b >> c; array dp{}, dp2{}; for(int i = 0; i < n; i++){ dp[0] += a[i]; dp[1] = max(dp[1] + b[i], dp[0]); dp[2] = max(dp[2] + a[i], dp[1]); dp[3] = max(dp[3] + b[i], dp[2]); dp[4] = max(dp[4] + a[i], dp[3]); dp2[0] += a[i]; dp2[1] = max(dp2[1] + b[i], dp2[0]); dp2[2] = max(dp2[2] + c[i], dp2[1]); dp2[3] = max(dp2[3] + b[i], dp2[2]); dp2[4] = max(dp2[4] + a[i], dp2[3]); } cout << max(*max_element(dp.begin(), dp.end()), *max_element(dp2.begin(), dp2.end())) << '\n'; }