def kiriage(a, b): return (a+b-1)//b N = int(input()) X = int(input()) A = int(input()) B = int(input()) # 攻撃して倒す # X --> 0 以下にする # X の距離を速度Aで移動 cnt1 = kiriage(X, A) # オーバーフローするまで回復 # オーバーフローするのは 体力を 2**N-1 以上にしたとき # X --> 2**N-1 以上にする # 2**N - X の距離を速度Bで移動 cnt2 = kiriage(2**(N-1) - X, B) ans = min(cnt1, cnt2) print(ans)