import java.util.*;
import static java.lang.System.*;

class Main {
  public static final int MOD = 1000000007;
  public static final int INF = 1000000000;
  public static void main(String[] args) {
    Scanner sc = new Scanner(in);
    int N = sc.nextInt();
    Integer A[][] = new Integer[2][N];
    Integer Aone[] = new Integer[N+1];
    Integer Atwo[] = new Integer[N+1];
    Aone[0] = 0;
    Atwo[0] = 0;
    for(int i=0; i<N; i++){
      A[0][i] = sc.nextInt();
      Aone[i+1] = Aone[i] + A[0][i];
    }
    for(int i=0; i<N; i++){
      A[1][i] = sc.nextInt();
      Atwo[i+1] = Atwo[i] + A[1][i];
    }
    int ans = 0;
    int tmp;
    for(int i=1; i<N+1; i++){
      tmp = Aone[i] + Atwo[N] - Atwo[i-1];
      ans = Math.max(ans, tmp);
    }
    out.println(ans);
  }

  public static int gcd(int a, int b){
    if(b == 0) return a;
    return gcd(b, a%b);
  }
} import java.util.*; util.* java import static java.lang.System.*; import static java.lang.System.*; import static java.lang.System.*; class Main {
  public static final int MOD = 1000000007;
  public static final int INF = 1000000000;
  public static void main(String[] args) {
    Scanner sc = new Scanner(in);
    int N = sc.nextInt();
    Integer A[][] = new Integer[2][N];
    Integer Aone[] = new Integer[N+1];
    Integer Atwo[] = new Integer[N+1];
    Aone[0] = 0;
    Atwo[0] = 0;
    for(int i=0; i<N; i++){
      A[0][i] = sc.nextInt();
      Aone[i+1] = Aone[i] + A[0][i];
    }
    for(int i=0; i<N; i++){
      A[1][i] = sc.nextInt();
      Atwo[i+1] = Atwo[i] + A[1][i];
    }
    int ans = 0;
    int tmp;
    for(int i=1; i<N+1; i++){
      tmp = Aone[i] + Atwo[N] - Atwo[i-1];
      ans = Math.max(ans, tmp);
    }
    out.println(ans);
  }

  public static int gcd(int a, int b){
    if(b == 0) return a;
    return gcd(b, a%b);
  }
} Main public static final int MOD = 1000000007; MOD 1000000007 public static final int INF = 1000000000; INF 1000000000 public static void main(String[] args) {
    Scanner sc = new Scanner(in);
    int N = sc.nextInt();
    Integer A[][] = new Integer[2][N];
    Integer Aone[] = new Integer[N+1];
    Integer Atwo[] = new Integer[N+1];
    Aone[0] = 0;
    Atwo[0] = 0;
    for(int i=0; i<N; i++){
      A[0][i] = sc.nextInt();
      Aone[i+1] = Aone[i] + A[0][i];
    }
    for(int i=0; i<N; i++){
      A[1][i] = sc.nextInt();
      Atwo[i+1] = Atwo[i] + A[1][i];
    }
    int ans = 0;
    int tmp;
    for(int i=1; i<N+1; i++){
      tmp = Aone[i] + Atwo[N] - Atwo[i-1];
      ans = Math.max(ans, tmp);
    }
    out.println(ans);
  } main {
    Scanner sc = new Scanner(in);
    int N = sc.nextInt();
    Integer A[][] = new Integer[2][N];
    Integer Aone[] = new Integer[N+1];
    Integer Atwo[] = new Integer[N+1];
    Aone[0] = 0;
    Atwo[0] = 0;
    for(int i=0; i<N; i++){
      A[0][i] = sc.nextInt();
      Aone[i+1] = Aone[i] + A[0][i];
    }
    for(int i=0; i<N; i++){
      A[1][i] = sc.nextInt();
      Atwo[i+1] = Atwo[i] + A[1][i];
    }
    int ans = 0;
    int tmp;
    for(int i=1; i<N+1; i++){
      tmp = Aone[i] + Atwo[N] - Atwo[i-1];
      ans = Math.max(ans, tmp);
    }
    out.println(ans);
  } Scanner sc = new Scanner(in); sc new Scanner(in) int N = sc.nextInt(); N sc.nextInt() sc.nextInt sc Integer A[][] = new Integer[2][N]; A new Integer[2][N] 2 N Integer Aone[] = new Integer[N+1]; Aone new Integer[N+1] N+1 N 1 Integer Atwo[] = new Integer[N+1]; Atwo new Integer[N+1] N+1 N 1 Aone[0] = 0 Aone[0] Aone 0 0 Atwo[0] = 0 Atwo[0] Atwo 0 0 for(int i=0; i<N; i++){
      A[0][i] = sc.nextInt();
      Aone[i+1] = Aone[i] + A[0][i];
    } int i=0; int i=0; i 0 i<N i N i++ i++ i {
      A[0][i] = sc.nextInt();
      Aone[i+1] = Aone[i] + A[0][i];
    } {
      A[0][i] = sc.nextInt();
      Aone[i+1] = Aone[i] + A[0][i];
    } A[0][i] = sc.nextInt() A[0][i] A[0] A 0 i sc.nextInt() sc.nextInt sc Aone[i+1] = Aone[i] + A[0][i] Aone[i+1] Aone i+1 i 1 Aone[i] + A[0][i] Aone[i] Aone i A[0][i] A[0] A 0 i for(int i=0; i<N; i++){
      A[1][i] = sc.nextInt();
      Atwo[i+1] = Atwo[i] + A[1][i];
    } int i=0; int i=0; i 0 i<N i N i++ i++ i {
      A[1][i] = sc.nextInt();
      Atwo[i+1] = Atwo[i] + A[1][i];
    } {
      A[1][i] = sc.nextInt();
      Atwo[i+1] = Atwo[i] + A[1][i];
    } A[1][i] = sc.nextInt() A[1][i] A[1] A 1 i sc.nextInt() sc.nextInt sc Atwo[i+1] = Atwo[i] + A[1][i] Atwo[i+1] Atwo i+1 i 1 Atwo[i] + A[1][i] Atwo[i] Atwo i A[1][i] A[1] A 1 i int ans = 0; ans 0 int tmp; tmp for(int i=1; i<N+1; i++){
      tmp = Aone[i] + Atwo[N] - Atwo[i-1];
      ans = Math.max(ans, tmp);
    } int i=1; int i=1; i 1 i<N+1 i N+1 N 1 i++ i++ i {
      tmp = Aone[i] + Atwo[N] - Atwo[i-1];
      ans = Math.max(ans, tmp);
    } {
      tmp = Aone[i] + Atwo[N] - Atwo[i-1];
      ans = Math.max(ans, tmp);
    } tmp = Aone[i] + Atwo[N] - Atwo[i-1] tmp Aone[i] + Atwo[N] - Atwo[i-1] Aone[i] + Atwo[N] Aone[i] Aone i Atwo[N] Atwo N Atwo[i-1] Atwo i-1 i 1 ans = Math.max(ans, tmp) ans Math.max(ans, tmp) Math.max Math ans tmp out.println(ans) out.println out ans String[] args args public static int gcd(int a, int b){
    if(b == 0) return a;
    return gcd(b, a%b);
  } gcd {
    if(b == 0) return a;
    return gcd(b, a%b);
  } if(b == 0) return a; b == 0 b 0 return a; a return gcd(b, a%b); gcd(b, a%b) gcd b a%b a b int a a int b b
import java.util.*;
import static java.lang.System.*;

class Main {
  public static final int MOD = 1000000007;
  public static final int INF = 1000000000;
  public static void main(String[] args) {
    Scanner sc = new Scanner(in);
    int N = sc.nextInt();
    Integer A[][] = new Integer[2][N];
    Integer Aone[] = new Integer[N+1];
    Integer Atwo[] = new Integer[N+1];
    Aone[0] = 0;
    Atwo[0] = 0;
    for(int i=0; i<N; i++){
      A[0][i] = sc.nextInt();
      Aone[i+1] = Aone[i] + A[0][i];
    }
    for(int i=0; i<N; i++){
      A[1][i] = sc.nextInt();
      Atwo[i+1] = Atwo[i] + A[1][i];
    }
    int ans = 0;
    int tmp;
    for(int i=1; i<N+1; i++){
      tmp = Aone[i] + Atwo[N] - Atwo[i-1];
      ans = Math.max(ans, tmp);
    }
    out.println(ans);
  }

  public static int gcd(int a, int b){
    if(b == 0) return a;
    return gcd(b, a%b);
  }
}