let A,B,X,Y = let t = stdin.ReadLine().Split() |> Array.map(float) t.[0],t.[1],t.[2],t.[3] let ajustA = let t = B/A if X*t <= Y then Some(X*(1.0+t)) else None let ajustB = let t = A/B if Y*t <= X then Some(Y*(1.0+t)) else None match ajustA,ajustB with | Some(a),Some(b) -> max a b | Some(a),None -> a | None ,Some(b) -> b | None ,None -> failwith "error" |> printfn "%f"