vl, vr = map(int, input().split()) d = int(input()) w = int(input()) l_pos, r_pos, bee_pos = 0, d, 0 distance = 0 while (r_pos-l_pos) > 1e-8: ok, ng = 0, (r_pos-bee_pos) while (ng-ok) > 1e-12: mid = (ok+ng) / 2 b, t = bee_pos+mid*w, r_pos-mid*vr if b <= t: ok = mid else: ng = mid bee_pos += mid * w r_pos -= mid * vr l_pos += mid * vl distance += mid * w #print(distance, l_pos, bee_pos, r_pos) ok, ng = 0, (bee_pos-l_pos) while (ng-ok) > 1e-12: mid = (ok+ng) / 2 b, t = bee_pos-(mid*w), l_pos+mid*vl if t <= b: ok = mid else: ng = mid bee_pos -= mid*w r_pos -= mid*vr l_pos += mid * vl distance += mid*w #print(distance, l_pos, bee_pos, r_pos) print(distance)