use proconio::{fastout, input}; #[fastout] fn main() { input! { t: usize, nm: [(usize, usize); t], } let solve = |n: usize, m: usize| { let edge_length = (n + 3) / 4; let rem_chairs = 8 * edge_length - n; let extend_length = (m.saturating_sub(rem_chairs) + 7) / 8; edge_length + extend_length }; for &(n, m) in &nm { println!("{}", solve(n, m)); } }