#include <bits/stdc++.h>
#pragma comment(linker, "/stack:128000000")
using namespace std;
const int INF = 1000000000;
const long long LINF = 4000000000000000000LL;
const double eps = 1e-9;
void prepare() {}
double g1, g2, yw, xb, yb, r;
bool read() {
  cin >> g1 >> g2 >> yw >> xb >> yb >> r;
  return false;
}
double sq(double x) { return x * x; }
bool zz;
bool check(double x) {
  double h = yw - r - yb;
  double dx = xb - x;
  double ta = dx / h;
  h = x / ta;
  double y = yw - r - h;
  double dh = r / sin(atan(ta));
  double yy = y + dh;
  zz = yy < g2;
  return y > g1 + r;
}
void solve() {
  double lb = 0, rb = xb;
  for (int iter = 0; iter < 400; iter++) {
    double mid = (lb + rb) / 2;
    if (check(mid))
      lb = mid;
    else
      rb = mid;
  }
  if (!check(lb) || !zz)
    printf("-1\n");
  else
    printf("%.10lf\n", lb);
}
int main() {
  prepare();
  int ntests = 1;
  for (int i = (0); i < (((ntests))); i++) {
    read();
    solve();
  }
  return 0;
}
