#include #include #include #include #include using namespace std; int main() { double vl, vr, d, w; cin >> vl >> vr >> d >> w; double ddist = 0; long long ldist = 0; double l = 0, r = d; int limit = 0; while (l < r && limit < 1000000) { double cnt; if (w > 0) cnt = (r - l) / (w + vr); else cnt = (r - l) / (vl - w); double dist = cnt*abs(w); int idist = dist; ldist += idist; ddist += dist - idist; l += cnt*vl; r -= cnt*vr; w = -w; limit++; } int iddist = ddist; ldist += iddist; ddist -= iddist; string s = to_string(ldist); for (int i = 0; i < s.size() - 1; i++) { cout << s[i]; } ddist += ldist % 10; cout << fixed << setprecision(7) << ddist << endl; return 0; }