fn solve() -> usize { let mut nmk = String::new(); std::io::stdin().read_line(&mut nmk).ok(); let nmk: Vec = nmk.trim().split_whitespace().map(|s| s.parse().unwrap()).collect(); let n = nmk[0]; let m = nmk[1]; let k = nmk[2]; let start = k % m; if start >= m-n { 0 } else { start } } fn main() { let mut t = String::new(); std::io::stdin().read_line(&mut t).ok(); let t: usize = t.trim().parse().unwrap(); let mut result = vec![]; for _ in 0..t { result.push(solve()); } for &v in result.iter() { println!("{}", v); } }