import java.util.Scanner;


class Main{

	public static void main(String[] args) {

		Scanner scan = new Scanner(System.in);
		int N = scan.nextInt();
		int[][] A = new int [3][N+1];
		int count  =0 ;
		int ans = 0;

		for(int i = 1;i < 3;i++){
			for(int j = 1;j < N+1;j++){
				A[i][j] = scan.nextInt();
			}
		}
		

		for(int i= 1;i < N+1;i++){

			int x = 1;
			count=0;
			while(x <= i){
				count += A[1][x];
				x++;
			}
			x--;
			while(x <= N ){
				count += A[2][x];
				x++;
			}
			ans = Math.max(ans, count);
		}

		System.out.println(ans);

	}

	static int count(int a,int b,int c,int X){
		if(X == a*500+b*100+c*50){
			return 1;
		}else{
			return 0;
		}
	}


}
class Pair implements Comparable{
	int from;
	int end;

	public Pair(int a,int b) {
		this.from = a;
		this.end = b;

	}
	@Override
	public int compareTo(Object other) {
		Pair otherpair = (Pair)other;

		return end - otherpair.end;
	}
}
 import java.util.Scanner; Scanner java.util class Main{

	public static void main(String[] args) {

		Scanner scan = new Scanner(System.in);
		int N = scan.nextInt();
		int[][] A = new int [3][N+1];
		int count  =0 ;
		int ans = 0;

		for(int i = 1;i < 3;i++){
			for(int j = 1;j < N+1;j++){
				A[i][j] = scan.nextInt();
			}
		}
		

		for(int i= 1;i < N+1;i++){

			int x = 1;
			count=0;
			while(x <= i){
				count += A[1][x];
				x++;
			}
			x--;
			while(x <= N ){
				count += A[2][x];
				x++;
			}
			ans = Math.max(ans, count);
		}

		System.out.println(ans);

	}

	static int count(int a,int b,int c,int X){
		if(X == a*500+b*100+c*50){
			return 1;
		}else{
			return 0;
		}
	}


} Main public static void main(String[] args) {

		Scanner scan = new Scanner(System.in);
		int N = scan.nextInt();
		int[][] A = new int [3][N+1];
		int count  =0 ;
		int ans = 0;

		for(int i = 1;i < 3;i++){
			for(int j = 1;j < N+1;j++){
				A[i][j] = scan.nextInt();
			}
		}
		

		for(int i= 1;i < N+1;i++){

			int x = 1;
			count=0;
			while(x <= i){
				count += A[1][x];
				x++;
			}
			x--;
			while(x <= N ){
				count += A[2][x];
				x++;
			}
			ans = Math.max(ans, count);
		}

		System.out.println(ans);

	} main {

		Scanner scan = new Scanner(System.in);
		int N = scan.nextInt();
		int[][] A = new int [3][N+1];
		int count  =0 ;
		int ans = 0;

		for(int i = 1;i < 3;i++){
			for(int j = 1;j < N+1;j++){
				A[i][j] = scan.nextInt();
			}
		}
		

		for(int i= 1;i < N+1;i++){

			int x = 1;
			count=0;
			while(x <= i){
				count += A[1][x];
				x++;
			}
			x--;
			while(x <= N ){
				count += A[2][x];
				x++;
			}
			ans = Math.max(ans, count);
		}

		System.out.println(ans);

	} Scanner scan = new Scanner(System.in); scan new Scanner(System.in) int N = scan.nextInt(); N scan.nextInt() scan.nextInt scan int[][] A = new int [3][N+1]; A new int [3][N+1] 3 N+1 N 1 int count  =0 ; count 0 int ans = 0; ans 0 for(int i = 1;i < 3;i++){
			for(int j = 1;j < N+1;j++){
				A[i][j] = scan.nextInt();
			}
		} int i = 1; int i = 1; i 1 i < 3 i 3 i++ i++ i {
			for(int j = 1;j < N+1;j++){
				A[i][j] = scan.nextInt();
			}
		} {
			for(int j = 1;j < N+1;j++){
				A[i][j] = scan.nextInt();
			}
		} for(int j = 1;j < N+1;j++){
				A[i][j] = scan.nextInt();
			} int j = 1; int j = 1; j 1 j < N+1 j N+1 N 1 j++ j++ j {
				A[i][j] = scan.nextInt();
			} {
				A[i][j] = scan.nextInt();
			} A[i][j] = scan.nextInt() A[i][j] A[i] A i j scan.nextInt() scan.nextInt scan for(int i= 1;i < N+1;i++){

			int x = 1;
			count=0;
			while(x <= i){
				count += A[1][x];
				x++;
			}
			x--;
			while(x <= N ){
				count += A[2][x];
				x++;
			}
			ans = Math.max(ans, count);
		} int i= 1; int i= 1; i 1 i < N+1 i N+1 N 1 i++ i++ i {

			int x = 1;
			count=0;
			while(x <= i){
				count += A[1][x];
				x++;
			}
			x--;
			while(x <= N ){
				count += A[2][x];
				x++;
			}
			ans = Math.max(ans, count);
		} {

			int x = 1;
			count=0;
			while(x <= i){
				count += A[1][x];
				x++;
			}
			x--;
			while(x <= N ){
				count += A[2][x];
				x++;
			}
			ans = Math.max(ans, count);
		} int x = 1; x 1 count=0 count 0 while(x <= i){
				count += A[1][x];
				x++;
			} x <= i x i {
				count += A[1][x];
				x++;
			} count += A[1][x] count A[1][x] A[1] A 1 x x++ x x-- x while(x <= N ){
				count += A[2][x];
				x++;
			} x <= N x N {
				count += A[2][x];
				x++;
			} count += A[2][x] count A[2][x] A[2] A 2 x x++ x ans = Math.max(ans, count) ans Math.max(ans, count) Math.max Math ans count System.out.println(ans) System.out.println System.out System System.out ans String[] args args static int count(int a,int b,int c,int X){
		if(X == a*500+b*100+c*50){
			return 1;
		}else{
			return 0;
		}
	} count {
		if(X == a*500+b*100+c*50){
			return 1;
		}else{
			return 0;
		}
	} if(X == a*500+b*100+c*50){
			return 1;
		}else{
			return 0;
		} X == a*500+b*100+c*50 X a*500+b*100+c*50 a*500+b*100+c*50 a*500 a 500 b*100 b 100 c*50 c 50 {
			return 1;
		} return 1; 1 {
			return 0;
		} return 0; 0 int a a int b b int c c int X X class Pair implements Comparable{
	int from;
	int end;

	public Pair(int a,int b) {
		this.from = a;
		this.end = b;

	}
	@Override
	public int compareTo(Object other) {
		Pair otherpair = (Pair)other;

		return end - otherpair.end;
	}
} Pair int from; from int end; end public Pair(int a,int b) {
		this.from = a;
		this.end = b;

	} Pair {
		this.from = a;
		this.end = b;

	} this.from = a this.from this this.from a this.end = b this.end this this.end b int a a int b b @Override
	public int compareTo(Object other) {
		Pair otherpair = (Pair)other;

		return end - otherpair.end;
	} compareTo {
		Pair otherpair = (Pair)other;

		return end - otherpair.end;
	} Pair otherpair = (Pair)other; otherpair (Pair)other return end - otherpair.end; end - otherpair.end end otherpair.end otherpair otherpair.end Object other other Comparable
import java.util.Scanner;


class Main{

	public static void main(String[] args) {

		Scanner scan = new Scanner(System.in);
		int N = scan.nextInt();
		int[][] A = new int [3][N+1];
		int count  =0 ;
		int ans = 0;

		for(int i = 1;i < 3;i++){
			for(int j = 1;j < N+1;j++){
				A[i][j] = scan.nextInt();
			}
		}
		

		for(int i= 1;i < N+1;i++){

			int x = 1;
			count=0;
			while(x <= i){
				count += A[1][x];
				x++;
			}
			x--;
			while(x <= N ){
				count += A[2][x];
				x++;
			}
			ans = Math.max(ans, count);
		}

		System.out.println(ans);

	}

	static int count(int a,int b,int c,int X){
		if(X == a*500+b*100+c*50){
			return 1;
		}else{
			return 0;
		}
	}


}
class Pair implements Comparable{
	int from;
	int end;

	public Pair(int a,int b) {
		this.from = a;
		this.end = b;

	}
	@Override
	public int compareTo(Object other) {
		Pair otherpair = (Pair)other;

		return end - otherpair.end;
	}
}

