import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int N = sc.nextInt();
		int[][]A = new int[2][N];
		for(int i = 0; i < N; i++) {
			A[0][i] = sc.nextInt();
		}
		for(int i = 0; i < N; i++) {
			A[1][i] = sc.nextInt();
		}
		sc.close();
		if(N == 1) {
			System.out.println(A[0][0] + A[1][0]);
			System.exit(0);
		}
		int[][]B = new int[2][N];
		B[0][0] = A[0][0];
		B[1][0] = A[1][0] + A[0][0];
		for(int i = 1; i < N; i++) {
			B[0][i] = B[0][i - 1] + A[0][i];
			B[1][i] = B[1][i - 1] + A[1][i];
		}
		for(int i = 1; i < N; i++) {
			B[1][i] = Math.max(B[1][i - 1], B[0][i]) + A[1][i];
		}
		System.out.println(B[1][N - 1]);
	}
} import java.util.Scanner; Scanner java.util public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int N = sc.nextInt();
		int[][]A = new int[2][N];
		for(int i = 0; i < N; i++) {
			A[0][i] = sc.nextInt();
		}
		for(int i = 0; i < N; i++) {
			A[1][i] = sc.nextInt();
		}
		sc.close();
		if(N == 1) {
			System.out.println(A[0][0] + A[1][0]);
			System.exit(0);
		}
		int[][]B = new int[2][N];
		B[0][0] = A[0][0];
		B[1][0] = A[1][0] + A[0][0];
		for(int i = 1; i < N; i++) {
			B[0][i] = B[0][i - 1] + A[0][i];
			B[1][i] = B[1][i - 1] + A[1][i];
		}
		for(int i = 1; i < N; i++) {
			B[1][i] = Math.max(B[1][i - 1], B[0][i]) + A[1][i];
		}
		System.out.println(B[1][N - 1]);
	}
} Main public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int N = sc.nextInt();
		int[][]A = new int[2][N];
		for(int i = 0; i < N; i++) {
			A[0][i] = sc.nextInt();
		}
		for(int i = 0; i < N; i++) {
			A[1][i] = sc.nextInt();
		}
		sc.close();
		if(N == 1) {
			System.out.println(A[0][0] + A[1][0]);
			System.exit(0);
		}
		int[][]B = new int[2][N];
		B[0][0] = A[0][0];
		B[1][0] = A[1][0] + A[0][0];
		for(int i = 1; i < N; i++) {
			B[0][i] = B[0][i - 1] + A[0][i];
			B[1][i] = B[1][i - 1] + A[1][i];
		}
		for(int i = 1; i < N; i++) {
			B[1][i] = Math.max(B[1][i - 1], B[0][i]) + A[1][i];
		}
		System.out.println(B[1][N - 1]);
	} main {
		Scanner sc = new Scanner(System.in);
		int N = sc.nextInt();
		int[][]A = new int[2][N];
		for(int i = 0; i < N; i++) {
			A[0][i] = sc.nextInt();
		}
		for(int i = 0; i < N; i++) {
			A[1][i] = sc.nextInt();
		}
		sc.close();
		if(N == 1) {
			System.out.println(A[0][0] + A[1][0]);
			System.exit(0);
		}
		int[][]B = new int[2][N];
		B[0][0] = A[0][0];
		B[1][0] = A[1][0] + A[0][0];
		for(int i = 1; i < N; i++) {
			B[0][i] = B[0][i - 1] + A[0][i];
			B[1][i] = B[1][i - 1] + A[1][i];
		}
		for(int i = 1; i < N; i++) {
			B[1][i] = Math.max(B[1][i - 1], B[0][i]) + A[1][i];
		}
		System.out.println(B[1][N - 1]);
	} Scanner sc = new Scanner(System.in); sc new Scanner(System.in) int N = sc.nextInt(); N sc.nextInt() sc.nextInt sc int[][]A = new int[2][N]; A new int[2][N] 2 N for(int i = 0; i < N; i++) {
			A[0][i] = sc.nextInt();
		} int i = 0; int i = 0; i 0 i < N i N i++ i++ i {
			A[0][i] = sc.nextInt();
		} {
			A[0][i] = sc.nextInt();
		} A[0][i] = sc.nextInt() A[0][i] A[0] A 0 i sc.nextInt() sc.nextInt sc for(int i = 0; i < N; i++) {
			A[1][i] = sc.nextInt();
		} int i = 0; int i = 0; i 0 i < N i N i++ i++ i {
			A[1][i] = sc.nextInt();
		} {
			A[1][i] = sc.nextInt();
		} A[1][i] = sc.nextInt() A[1][i] A[1] A 1 i sc.nextInt() sc.nextInt sc sc.close() sc.close sc if(N == 1) {
			System.out.println(A[0][0] + A[1][0]);
			System.exit(0);
		} N == 1 N 1 {
			System.out.println(A[0][0] + A[1][0]);
			System.exit(0);
		} System.out.println(A[0][0] + A[1][0]) System.out.println System.out System System.out A[0][0] + A[1][0] A[0][0] A[0] A 0 0 A[1][0] A[1] A 1 0 System.exit(0) System.exit System 0 int[][]B = new int[2][N]; B new int[2][N] 2 N B[0][0] = A[0][0] B[0][0] B[0] B 0 0 A[0][0] A[0] A 0 0 B[1][0] = A[1][0] + A[0][0] B[1][0] B[1] B 1 0 A[1][0] + A[0][0] A[1][0] A[1] A 1 0 A[0][0] A[0] A 0 0 for(int i = 1; i < N; i++) {
			B[0][i] = B[0][i - 1] + A[0][i];
			B[1][i] = B[1][i - 1] + A[1][i];
		} int i = 1; int i = 1; i 1 i < N i N i++ i++ i {
			B[0][i] = B[0][i - 1] + A[0][i];
			B[1][i] = B[1][i - 1] + A[1][i];
		} {
			B[0][i] = B[0][i - 1] + A[0][i];
			B[1][i] = B[1][i - 1] + A[1][i];
		} B[0][i] = B[0][i - 1] + A[0][i] B[0][i] B[0] B 0 i B[0][i - 1] + A[0][i] B[0][i - 1] B[0] B 0 i - 1 i 1 A[0][i] A[0] A 0 i B[1][i] = B[1][i - 1] + A[1][i] B[1][i] B[1] B 1 i B[1][i - 1] + A[1][i] B[1][i - 1] B[1] B 1 i - 1 i 1 A[1][i] A[1] A 1 i for(int i = 1; i < N; i++) {
			B[1][i] = Math.max(B[1][i - 1], B[0][i]) + A[1][i];
		} int i = 1; int i = 1; i 1 i < N i N i++ i++ i {
			B[1][i] = Math.max(B[1][i - 1], B[0][i]) + A[1][i];
		} {
			B[1][i] = Math.max(B[1][i - 1], B[0][i]) + A[1][i];
		} B[1][i] = Math.max(B[1][i - 1], B[0][i]) + A[1][i] B[1][i] B[1] B 1 i Math.max(B[1][i - 1], B[0][i]) + A[1][i] Math.max(B[1][i - 1], B[0][i]) Math.max Math B[1][i - 1] B[1] B 1 i - 1 i 1 B[0][i] B[0] B 0 i A[1][i] A[1] A 1 i System.out.println(B[1][N - 1]) System.out.println System.out System System.out B[1][N - 1] B[1] B 1 N - 1 N 1 String[] args args public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int N = sc.nextInt();
		int[][]A = new int[2][N];
		for(int i = 0; i < N; i++) {
			A[0][i] = sc.nextInt();
		}
		for(int i = 0; i < N; i++) {
			A[1][i] = sc.nextInt();
		}
		sc.close();
		if(N == 1) {
			System.out.println(A[0][0] + A[1][0]);
			System.exit(0);
		}
		int[][]B = new int[2][N];
		B[0][0] = A[0][0];
		B[1][0] = A[1][0] + A[0][0];
		for(int i = 1; i < N; i++) {
			B[0][i] = B[0][i - 1] + A[0][i];
			B[1][i] = B[1][i - 1] + A[1][i];
		}
		for(int i = 1; i < N; i++) {
			B[1][i] = Math.max(B[1][i - 1], B[0][i]) + A[1][i];
		}
		System.out.println(B[1][N - 1]);
	}
} public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int N = sc.nextInt();
		int[][]A = new int[2][N];
		for(int i = 0; i < N; i++) {
			A[0][i] = sc.nextInt();
		}
		for(int i = 0; i < N; i++) {
			A[1][i] = sc.nextInt();
		}
		sc.close();
		if(N == 1) {
			System.out.println(A[0][0] + A[1][0]);
			System.exit(0);
		}
		int[][]B = new int[2][N];
		B[0][0] = A[0][0];
		B[1][0] = A[1][0] + A[0][0];
		for(int i = 1; i < N; i++) {
			B[0][i] = B[0][i - 1] + A[0][i];
			B[1][i] = B[1][i - 1] + A[1][i];
		}
		for(int i = 1; i < N; i++) {
			B[1][i] = Math.max(B[1][i - 1], B[0][i]) + A[1][i];
		}
		System.out.println(B[1][N - 1]);
	}
} Main
import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int N = sc.nextInt();
		int[][]A = new int[2][N];
		for(int i = 0; i < N; i++) {
			A[0][i] = sc.nextInt();
		}
		for(int i = 0; i < N; i++) {
			A[1][i] = sc.nextInt();
		}
		sc.close();
		if(N == 1) {
			System.out.println(A[0][0] + A[1][0]);
			System.exit(0);
		}
		int[][]B = new int[2][N];
		B[0][0] = A[0][0];
		B[1][0] = A[1][0] + A[0][0];
		for(int i = 1; i < N; i++) {
			B[0][i] = B[0][i - 1] + A[0][i];
			B[1][i] = B[1][i - 1] + A[1][i];
		}
		for(int i = 1; i < N; i++) {
			B[1][i] = Math.max(B[1][i - 1], B[0][i]) + A[1][i];
		}
		System.out.println(B[1][N - 1]);
	}
}