#include <bits/stdc++.h>
using namespace std;
int m, n, j, k, l, i, o, p, __t;
double Y1, y2, yw, xb, yb, r;
double sqr(double x) { return x * x; }
double dis(double x, double y) { return sqrt(sqr(x) + sqr(y - yw + r)); }
int main() {
  cin >> Y1 >> y2 >> yw >> xb >> yb >> r;
  double ans = -1;
  bool bj = 0;
  double refy = 2 * (yw - r) - yb;
  double refx = xb;
  double aimy = Y1 + r;
  double X = (yw - r - Y1 - r) / (refy - aimy) * xb;
  double K = (yw - r - Y1 - r) / X;
  double A = -K;
  double B = 1;
  double C = -Y1 - r;
  if (abs(A * 0 + B * y2 + C) / sqrt(sqr(A) + sqr(B)) - r > 0)
    bj = 1;
  else if (dis(X, yw - r) - r > 0 &&
           dis(X - 1e-6, yw - r - 1e-6 * K) - dis(X, yw - r) > 0)
    bj = 1;
  if (bj)
    cout << fixed << setprecision(10) << X << endl;
  else
    cout << -1 << endl;
  return 0;
}
