use proconio::{fastout, input}; #[fastout] fn main() { input! { _h: usize, _w: usize, a: usize, b: usize, r1: usize, c1: usize, r2: usize, c2: usize, p: usize, q: usize, } let cr = a.max(r1).min(r2); let cc = b.max(c1).min(c2); let m = (cr, cc); let ans = dist((a, b), m) + dist(m, (p, q)) + dist((p, q), (a, b)); println!("{}", ans); } fn dist(a: (usize, usize), b: (usize, usize)) -> usize { a.0.abs_diff(b.0) + a.1.abs_diff(b.1) }