#include <bits/stdc++.h>
using namespace std;
const double pi = acos(-1.0);
const double eps = 1e-8;
const long long INF = 1LL << 60;
const long long MINF = -1LL << 60;
vector<string> parse(string s, string c) {
  int len = c.length(), p = -len, np;
  vector<string> ans;
  do {
    np = s.find(c, p + len);
    ans.push_back(s.substr(p + len, np - p - len));
    p = np;
  } while (p != string::npos);
  return ans;
}
int main() {
  double y1, y2, yw, xb, yb, r, A, B, C;
  scanf("%lf%lf%lf%lf%lf%lf", &y1, &y2, &yw, &xb, &yb, &r);
  yw -= r;
  y1 += r;
  yb = 2 * yw - yb;
  A = y1 - yb;
  B = xb;
  C = -B * y1 + B * y2;
  if ((C / sqrt(A * A + B * B)) <= r) {
    printf("-1");
    return 0;
  }
  C = -B * y1;
  printf("%.10lf", (-C - B * yw) / A);
  return 0;
}
