use proconio::{input, marker::Usize1}; fn main() { input! { h: usize, w: usize, a: Usize1, b: Usize1, r1: Usize1, c1: Usize1, r2: usize, c2: usize, p: Usize1, q: Usize1, } let mut ans = usize::MAX; for i in r1..r2 { for j in c1..c2 { let cand = dist(a, b, i, j) + dist(i, j, p, q) + dist(p, q, a, b); ans = ans.min(cand); } } println!("{ans}"); } fn dist(i0: usize, j0: usize, i1: usize, j1: usize) -> usize { i0.abs_diff(i1) + j0.abs_diff(j1) }