#include using namespace std; #define rep(i,a,b) for(int i=a; i pii; typedef long double ld; ld Tf, Vf, Hf, Td, Vd, Hd; ld t1, t2, t3; bool prob(ld h) { //cout << h << endl; ld t = sqrtl(2.0 * (Hf - h)); ld tx = fabsl((-sqrtl(6.0 * Hd) + sqrtl(6.0*(Hd-h))) / 3.0); ld xf = Vf * t; t1 = xf / Vd + Td; t2 = tx + Td; t3 = t + Tf; //cout << t1 << " " << t2 << " " << t3 << endl; return max(t1, t2) < t3; } int main() { ios_base::sync_with_stdio(0); cin >> Tf >> Vf >> Hf >> Td >> Vd >> Hd; cout << fixed << setprecision(10); if(prob(0.0) == 0) { cout << (2.0 * t1 - Td) << "\n"; return 0; } if(prob(Hd) == 1) { cout << (t3 + t1 - Td) << "\n"; return 0; } ll dokl = 1000000000000000LL; ll l = 0, r = dokl; while(l + 1 < r) { ll mid = (l + r) / 2; ld h = ((ld)mid / dokl) * Hd; bool czy = prob(h); if(czy) l = mid + 1; else r = mid; } ld h = ((ld)l / dokl) * Hd; //cout << l << " " << h << endl; prob(h); cout << (max(t1, t2) + t1 - Td) << endl; return 0; }