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 }