use std::cmp::min; fn main() { let mut n = String::new(); std::io::stdin().read_line(&mut n).ok(); let n: usize = n.trim().parse().unwrap(); let mut x = String::new(); std::io::stdin().read_line(&mut x).ok(); let x: usize = x.trim().parse().unwrap(); let mut a = String::new(); std::io::stdin().read_line(&mut a).ok(); let a: usize = a.trim().parse().unwrap(); let mut b = String::new(); std::io::stdin().read_line(&mut b).ok(); let b: usize = b.trim().parse().unwrap(); let rest = (1 << ((n-1) as usize)) - x; let result = rest / b + if rest % b == 0 { 0 } else { 1 }; let result = min(result as usize, x / a + if x % a == 0 { 0 } else { 1 }); println!("{}", result); }