from math import sqrt
import sys
Tf, Vf, Hf, Td, Vd, Hd = list(map(int, input().split()))

a = 0.5
b = -Tf
c = 0.5*(Tf**2) - Hf
D = b**2 - 4*a*c
#print(a, b, c, D, sep=' | ')
if D<0:
	sys.exit(-555)
x1,x2 = (-b+sqrt(D)) / (2*a),   (-b-sqrt(D)) / (2*a)
tleesik = max(x1,x2)

if Vf == Vd:
	t1 = tleesik+1
else:
	t1 = (Tf*Vf - Td*Vd) / (Vf-Vd)


tavfrizbi = (tleesik-Tf) * Vf

if t1 <= tleesik:
	tvizsz = t1
else:
	tvizsz = tavfrizbi / Vd + Td


tugr = sqrt(2/3 * Hd)
vugr = 3*tugr

a = 1
b = (Tf+2*Td) 
c = (Hf - 0.5*(Tf**2) + vugr * Td + 1.5*Td**2)
D = b**2 - 4*a*c
if D>=0:
	x1,x2 = (-b+sqrt(D)) / (2*a),   (-b-sqrt(D)) / (2*a)
	if x1>0 and x2>0:
		t2 = min(x1,x2)
	elif x1<=0 and x2<=0:
		t2 = tugr
	else:
		t2 = max(x1,x2)
else:
	t2 = tugr
	#print('t2:', t2)

tfugg = t2
if t2 <= tugr + 1e-7:
	a = -0.5
	b = Tf
	c = (Hf - 0.5*(Tf**2) - Hd)
	D = b**2 - 4*a*c
	if D >= 0:
		x1,x2 = (-b+sqrt(D)) / (2*a),   (-b-sqrt(D)) / (2*a)
		if x1>=tugr and x2>=tugr:
			tfugg = min(x1,x2)
		elif x1>=tugr:
			tfugg = x1
		elif x2>=tugr:
			tfugg = x2
		else:
			tfugg = 0
		#print('tfugg:', tfugg)
	else:
		sys.exit(-159)

telkap = max(tfugg, tvizsz)

if telkap <= tleesik:
	tavelkap = (telkap-Tf)*Vf
else:
	tavelkap = (tleesik-Tf) * Vf

tvissza = tavelkap / Vd

print(telkap + tvissza)

#print('tleesik', tleesik)
#print('tvizsz', tvizsz)
#print('tfugg', tfugg)
#print('tavfrizbi', tavfrizbi)
#print('telkap', telkap)
#print('tugr', tugr)
#print('tvissza', tvissza)



