#include <bits/stdc++.h>
using namespace std;
double iabs(double x) { return x > 0 ? x : -x; }
bool judge(double x1, double y1, double x2, double y2, double x, double y,
           double r) {
  double dis = sqrt((0 - x1) * (0 - x1) + (y - y1) * (y - y1));
  double A = (y1 - y2) / (x1 - x2);
  double B = -1;
  double C = -A * x1 + y1;
  double tmp = iabs(A * x + B * y + C) / sqrt(A * A + B * B);
  if (tmp < r) return false;
  if (dis < r)
    return false;
  else
    return true;
}
int main() {
  double y1, y2, yw, xb, yb, r;
  while (cin >> y1 >> y2 >> yw >> xb >> yb >> r) {
    yw -= r;
    double y = y1 + r;
    double xw = (yw - y) * xb / (2 * yw - y - yb);
    if (judge(xw, yw, 0, y, 0, y2, r))
      printf("%.9lf\n", xw);
    else
      puts("-1");
  }
  return 0;
}
