package main

import (
	"fmt"
	"log"
	"math"
)

var N, X, A, B int

func main() {
	fmt.Scan(&N, &X, &A, &B)
	max := int(math.Pow(2, float64(N)-1))
	a_ans := X / A
	if X%A != 0 {
		a_ans++
	}
	x := max - X
	b_ans := x / B
	if x%B != 0 {
		b_ans++
	}
	log.Println(max, X, x, a_ans, b_ans)
	fmt.Println(min(a_ans, b_ans))
}

func min(a, b int) int {
	if a < b {
		return a
	}
	return b
}