#include <bits/stdc++.h>
using namespace std;
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, xb, yb, r;
  scanf("%lf %lf %lf %lf %lf %lf", &y1, &y2, &yw, &xb, &yb, &r);
  if (xb <= r) {
    puts("-1");
    return 0;
  }
  double yx = y1 + r;
  yw -= r;
  double xw = xb * (yw - yx) / (2 * yw - yb - yx);
  double d = get_dis(xw, yw, 0, yx, 0, y2);
  if (d - r > 1e-8) {
    printf("%.10lf\n", xw);
    return 0;
  }
  puts("-1");
  return 0;
}
