use std::cmp::*; use std::collections::*; use std::io::*; use std::str::FromStr; fn read() -> T { let stdin = stdin(); let stdin = stdin.lock(); let token: String = stdin .bytes() .map(|c| c.expect("failed to read char") as char) .skip_while(|c| c.is_whitespace()) .take_while(|c| !c.is_whitespace()) .collect(); token.parse().ok().expect("failed to parse token") } fn main(){ let n:usize = read(); let mut a = (0,0); let mut now = 1; while now <= n{ now *= 2; } a = (now / 2,now); if a.0 < n{ println!("{}",a.1 - n); }else if a.0 == n{ println!("{}",0); }else{ println!("{}",a.0 - n); } }