use proconio::{fastout, input}; #[fastout] fn main() { input! { t: usize } for _ in 0..t { let ans = solve(); println!("{ans}"); } } fn solve() -> usize { input! { sx: usize, sy: usize, tx: usize, ty: usize, } let mut ans = usize::MAX; for y in 0usize.. { let w = 1 << y; let sq = sx / w; let tq = tx / w; let cand = y.abs_diff(sy) + y.abs_diff(ty) + sq.abs_diff(tq); ans = ans.min(cand); if sq == tq { break; } } ans }