#include <bits/stdc++.h>
using namespace std;
const double eps = 1e-10;
double yy, y2, yw, x, y, r;
double doit() {
  double h = (yw - r) - y;
  double h1 = yw - r - y2;
  double h2 = yw - r - yy;
  double s = 0, t = x;
  while (t - s > 1e-10) {
    double mid = (t + s) / 2;
    double tmp = mid * h / (x - mid);
    if (tmp < h1 || fabs(h1 - tmp) < eps) {
      s = mid;
      continue;
    }
    if (tmp > h2 || fabs(h2 - tmp) < eps) {
      t = mid;
      continue;
    }
    double o = atan(mid / tmp);
    if ((tmp - h1) * sin(o) < r || fabs(r - (tmp - h1) * sin(o)) < eps) {
      s = mid;
      continue;
    }
    if ((h2 - tmp) < r || fabs(r - (h2 - tmp)) < eps) {
      t = mid;
      continue;
    }
    return mid;
  }
  return -1;
}
int main() {
  int n;
  cin >> yy >> y2 >> yw >> x >> y >> r;
  double ans = doit();
  if (ans > 0)
    printf("%.11f\n", ans);
  else
    cout << -1 << endl;
  return 0;
}
