// ---- / ̄ ̄ ̄ ̄ ̄ ̄ ̄/ //-+--+- / maybe AC. / // | | ∠____________/ let f n x a b = let minOverFlow = pown 2L (n - 1) let zero = 0L let calStep diff y = match diff % y with | 0L -> diff / y | _ -> diff / y + 1L let attackStep = calStep (x - zero) a let healStep = calStep (minOverFlow - x) b min attackStep healStep let R () = stdin.ReadLine () let N = R () |> int let X = R () |> int64 let A = R () |> int64 let B = R () |> int64 f N X A B |> printfn "%i"