fn main() { let mut s = String::new(); std::io::stdin().read_line(&mut s).ok(); let mut itr = s.trim().split_ascii_whitespace(); let mut a: usize = itr.next().unwrap().parse().unwrap(); let mut b: usize = itr.next().unwrap().parse().unwrap(); if a < b { std::mem::swap(&mut a , &mut b); } let mut bit = 1; while bit * 2 <= a { bit *= 2; } println!("{}", std::cmp::min(bit - 1, b)); }