package main
import (
"bufio"
"fmt"
"math"
"os"
)
func main() {
in := bufio.NewReader(os.Stdin)
out := bufio.NewWriter(os.Stdout)
defer out.Flush()
var y1, y2, yw, xb, yb, r int64
fmt.Fscan(in, &y1, &y2, &yw, &xb, &yb, &r)
y1f := float64(y1)
y2f := float64(y2)
ywf := float64(yw)
xbf := float64(xb)
ybf := float64(yb)
rf := float64(r)
h := ywf - rf
a := 2*h - y2f
u := 2*h - y1f - rf
dx := xbf
dy := ybf - a
rr := rf * rf
d2 := dx*dx + dy*dy
if d2 <= rr {
fmt.Fprintln(out, -1)
return
}
s := math.Sqrt(d2 - rr)
gt := a + (-rr*dy+rf*dx*s)/(dx*dx-rr)
l := math.Max(a+rf, gt)
if l >= u-1e-12 {
fmt.Fprintln(out, -1)
return
}
gp := (l + u) / 2
xw := xbf * (gp - h) / (gp - ybf)
fmt.Fprintf(out, "%.15f\n", xw)
}