use proconio::input; use std::io::Write; fn main() { input! { t: usize } let mut output = std::io::BufWriter::new(std::io::stdout().lock()); for _ in 0..t { let ans = solve(); writeln!(output, "{}", ans.unwrap_or(!0) as isize).unwrap(); } } fn solve() -> Option { input! { n: usize } if n.count_ones() == 1 { None } else { let mask = (0..40) .map(|i| (1 << i) - 1) .find(|&mask| (n & mask).count_ones() > 1) .unwrap(); let ans = mask + 1 - (n & mask); Some(ans) } } // 10101101 => 10110000