#include #include #include #include #define PB push_back #define F first #define B back using namespace std; typedef long long int ll; typedef vector vl; typedef vector vvl; typedef long double db; db tf, vf, hf, td, vd, hd, ts, vhd, tpad, sispad; int main(int argc, char const *argv[]) { cin>>tf>>vf>>hf>>td>>vd>>hd; vhd = sqrt(6*hd); ts = vhd/3.0; tpad = sqrt(2*hf); sispad = (tpad*vf); db l, r, m; l = td; r = tf+tpad+1e6; while(abs(r-l) > 1e-7) { m = (l+r)/2.0; db vysf = hf-(m-tf)*(m-tf)/2.0; if(vysf < 0) vysf = 0; db sisf = vf*(m-tf); if(sisf > sispad) sisf = sispad; db sisd = vd*(m-td); db vysd = hd; if(m-td < ts) vysd = vhd*(m-td)-3.0*(m-td)*(m-td)/2.0; if(sisd >= sisf && vysd >= vysf) r = m; else l = m; } // cout<<"l: "< sispad) sisf = sispad; db ans; ans = l+(sisf/vd); cout<