#include <bits/stdc++.h>
using namespace std;
double eps = 1e-10;
int main() {
  double y1, y2, yw, xb, yb, r;
  scanf("%lf%lf%lf%lf%lf%lf", &y1, &y2, &yw, &xb, &yb, &r);
  double c = xb, b = yw - r - yb;
  y1 = yw - r - y1, y2 = yw - r - y2;
  double lim1 = -1, lim2 = -1;
  double l = 0, ri = M_PI / 2;
  while (ri - l > eps) {
    double mid = (l + ri) / 2;
    if (c * cos(mid) - (b + y2) * sin(mid) > r) {
      lim1 = mid;
      l = mid;
    } else
      ri = mid;
  }
  l = 0, ri = M_PI / 2;
  while (ri - l > eps) {
    double mid = (l + ri) / 2;
    if ((b + y1) * sin(mid) - c * cos(mid) > r) {
      lim2 = mid;
      ri = mid;
    } else
      l = mid;
  }
  double lim3 = -1, lim4 = -1;
  l = 0, ri = c;
  while (ri - l > eps) {
    double mid = (l + ri) / 2;
    double a = b * mid / (c - mid);
    double y = a * r / mid;
    double rr = sqrt(r * r + y * y);
    if (a - rr > y2) {
      lim3 = mid;
      ri = mid;
    } else
      l = mid;
  }
  l = 0, ri = c;
  while (ri - l > eps) {
    double mid = (l + ri) / 2;
    double a = b * mid / (c - mid);
    double y = a * r / mid;
    double rr = sqrt(r * r + y * y);
    if (a + r < y1) {
      lim4 = mid;
      l = mid;
    } else
      ri = mid;
  }
  if (lim3 > lim4 || lim3 < 0 || lim4 < 0)
    printf("-1\n");
  else
    printf("%.10f\n", (lim3 + lim4) / 2);
  return 0;
}
