use proconio::input; fn main() { input! { t: usize, ab: [(usize, usize); t], } for &(a, b) in &ab { match solve(a, b) { Some(min_x) => println!("{}", min_x), None => println!("-1"), } } } fn solve(a: usize, b: usize) -> Option { if a == b { return Some(0); } for k in (2..=b / a).rev() { if (b - a * k) % (k - 1) == 0 { return Some((b - a * k) / (k - 1)); } } None }