N = gets.to_i pa = [] N.times { pa.unshift(gets.split(" ").map{|s| s.to_i}) } p, a = pa.shift pn = [[p, p]] sn = [[p, p]] pa.each {|p, a| np, na = pn[-1] sp, sa = sn[-1] ca = [np + a + sp, na + a + sa].max cp = [p + sp, p + sa].max pn << [p, a] sn << [cp, ca] } puts sn[-1].max