#include <bits/stdc++.h>
using namespace std;
const double eps = 1e-8;
double get_dis(double x1, double y1, double x2, double y2, double x0,
               double y0) {
  double a = y1 - y2;
  double b = x2 - x1;
  double c = x1 * y2 - x2 * y1;
  double d = (a * x0 + b * y0 + c) / sqrt(a * a + b * b);
  return fabs(d);
}
int main() {
  double y1, y2, yw;
  double xb, yb, r;
  while (scanf("%lf %lf %lf %lf %lf %lf", &y1, &y2, &yw, &xb, &yb, &r) != EOF) {
    yw -= r;
    y1 += (r);
    if (xb <= r) {
      puts("-1");
      continue;
    }
    double xw = (xb * (yw - y1)) / (2 * yw - y1 - yb);
    double d = get_dis(xw, yw, 0, y1, 0, y2);
    if (d - r > eps)
      printf("%.10lf\n", xw);
    else
      puts("-1");
  }
  return 0;
}
