'use strict'
 
function main(input) {
  input = input.trim().split('\n')

  const N = Number(input.shift())

  const vals = input.map(v => v.split(' ').map(v => Number(v)))
   
  // 右か下にしかいけないので、どこで下にいくか、2 * N<=100通りでいけそう = o(200)
  let tmpmax = 0

  for (let i = 0; i <= N - 1; i++) {
    // i... どこで下に行くか
    let tmp = vals[0][0]

    let row1 = 0
    if (i > 0) {
      row1 = vals[0].slice(1, i + 1).reduce((a, b) => a + b)
    }

    let row2 = 0
    row2 = vals[1].slice(i, N).reduce((a, b) => a + b)
    tmp += row1 + row2 //vals[1][N - 1]

    tmpmax = Math.max(tmp, tmpmax)
  }

  console.log(tmpmax)
}
main(require('fs').readFileSync('/dev/stdin', 'utf8'))
