use std::cmp::max; fn main() { let mut n = String::new(); std::io::stdin().read_line(&mut n).ok(); let n: usize = n.trim().parse().unwrap(); let mut a = String::new(); std::io::stdin().read_line(&mut a).ok(); let a: Vec = a.trim().split_whitespace().map(|s| s.parse().unwrap()).collect(); let backs: Vec = (0..n).map(|i| a[2*i as usize +1] - a[2*i as usize]).collect(); let fronts: Vec = (0..n).map(|i| a[2*i as usize] - a[2*i as usize +1]).collect(); let mut max_val: isize = -1_000_000_000_000_000_000; let mut front_val: isize = 0; let mut back_val: isize = backs.iter().map(|i| *i).sum(); for i in 0..=n { max_val = max(max_val, front_val + back_val); if i < n { front_val += fronts[i]; back_val -= backs[i]; } } println!("{}", max_val); }