fn main() { let mut ab = String::new(); std::io::stdin().read_line(&mut ab).ok(); let ab: Vec = ab.trim().split_whitespace().map(|s| s.parse().unwrap()).collect(); let a = ab[0]; let b = ab[1]; let abits = format!("{:b}", a); let bbits = format!("{:b}", b); if abits.len() != bbits.len() { println!("{}", a.min(b)); } else { println!("{}", (1usize << abits.len()) - 1 - (1usize << (abits.len() - 1))); } }