fn main() { let n: usize = { let mut buf = String::new(); std::io::stdin().read_line(&mut buf).unwrap(); buf.trim().parse().unwrap() }; println!("{} {}", 2 - n % 2, (n + 1) / 2); loop { let t: usize = { let mut buf = String::new(); while buf.trim().is_empty() { std::io::stdin().read_line(&mut buf).unwrap(); } buf.trim().parse().unwrap() }; if t <= 1 { break; } let (k, x): (usize, usize) = { let mut buf = String::new(); while buf.trim().is_empty() { std::io::stdin().read_line(&mut buf).unwrap(); } let mut iter = buf.split_whitespace(); ( iter.next().unwrap().parse().unwrap(), iter.next().unwrap().parse().unwrap(), ) }; if t == 2 { break; } if k == 1 { println!("{} {}", 1, n + 1 - x); } else { println!("{} {}", 2, n + 1 - x - 1); } } }