fn main() { let n = read(); for i in (1..n).step_by(2) { println!("? {} {}", i - 1, i); let v = read(); if v == i - 1 || v == i { println!("! {}", v ^ 1); return; } } println!("! {}", n - 1); } fn read() -> usize { let mut s = String::new(); std::io::stdin().read_line(&mut s).unwrap(); s.trim().parse().unwrap() }