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