import java.util.Scanner;

public class Main {

    static int n;
    static int[][] g;

    public static int maxPath(int i, int j){
        if(i==1 && j == n-1){
            return g[i][j];
        }
        if(i>1 || j>n-1){
            return 0;
        }

        return g[i][j] + Math.max(maxPath(i+1,j), maxPath(i,j+1));
    }

    public static void main(String[] args){
        Scanner in = new Scanner(System.in);
        n = in.nextInt();
        g = new int[2][n];
        for(int i=0; i<2; i++){
            for(int j=0; j<n; j++){
                g[i][j] = in.nextInt();
            }
        }
        System.out.println(maxPath(0,0));

    }
}

/tmp/hf-datasets-cache/medium/datasets/42704881117311-config-parquet-and-info-qiankunmu-Project_CodeNet-896c9d36/hub/datasets--qiankunmu--Project_CodeNet_Python800_and_Java250/snapshots/c899fde44a77ba1cc14973ed3de064e4ff3aadc7/Project_CodeNet_Java250.tar.gz