use proconio::input; fn main () { input! { n: u64, } let m = n & (n-1); if m == 0 { println!("{}", 0); } else { let mut m = n; let mut bits : u32 = 0; while m > 0 { if (m&1) == 1 { bits += 1; } m = m>>1; } println!("{}", 2_u64.pow(bits)-2); } }