fn getline() -> String { let mut ret = String::new(); std::io::stdin().read_line(&mut ret).ok(); return ret; } fn parse(s : &str) -> T { match s.parse::() { Ok(t) => t, _ => panic!(), } } fn main() { let nums = getline().trim().split(" ").map(|x|parse(x)).collect::>(); let sum = nums[0] + nums[1]; println!("{:.10}", (nums[2] / nums[0]).min(nums[3] / nums[1]) * sum); }