use proconio::input; fn solve() { input! { mut s: (usize, usize), mut t: (usize, usize), } let f = |d: usize, x: usize, y: usize|{ let d = d.min(60); (x.saturating_div(1 << d)).abs_diff(y.saturating_div(1 << d)) }; let mut ans = !0; if s.1 > t.1 { (s, t) = (t, s); } let x = t.1 - s.1; for i in 0..=60 { ans = ans.min(x + 2 * i + f(t.1 + i, s.0, t.0)); } println!("{ans}"); } fn main() { input! { t: usize, } for _ in 0..t { solve(); } }