#include #define REP(i, x, n) for(int i = x; i < (int)(n); i++) #define rep(i, n) REP(i, 0, n) #define all(x) (x).begin(), (x).end() #define rall(x) (x).rbegin(), (x).rend() #define F first #define S second #define mp make_pair using namespace std; typedef long long ll; typedef unsigned long long ull; typedef pair P; int main() { double EPS = 1e-6; int a, b, x, y; cin >> a >> b >> x >> y; double lb = 0; double ub = max(x, y); double ans = 0; rep(i, 100) { double v = (lb + ub) / 2; if(a * v <= x && b * v <= y) { lb = v; ans = max(ans, a * v + b * v); } else { ub = v; } } printf("%.10f\n", ans); return 0; }