use proconio::input; fn main() { input! { n: usize, xy: [(usize, usize); n], } let diffs: Vec<_> = xy.into_iter() .map(|(x, y)| y as isize - x as isize) .collect(); let ans: isize = diffs.first().copied() .filter(|&first| first >= 0) .filter(|&first| diffs.iter().all(|&d| d == first)) .unwrap_or(-1); println!("{ans}"); }