fun readInt () = valOf (TextIO.scanStream (Int.scan StringCvt.DEC) TextIO.stdIn) val () = let val a = readInt () val b = readInt () val x = readInt () val y = readInt () val unit = Real.min (Real.fromInt x / Real.fromInt a, Real.fromInt y / Real.fromInt b) val ans = (Real.fromInt a) * unit + (Real.fromInt b) * unit in print ((Real.fmt (StringCvt.FIX (SOME 6)) ans) ^ "\n") end