#include <bits/stdc++.h>
using namespace std;
int main() {
  double y1, y2, yw, xb, yb, r;
  while (scanf("%lf%lf%lf%lf%lf%lf", &y1, &y2, &yw, &xb, &yb, &r) > 0) {
    double xn;
    int flag = 0;
    for (double i = y1 + r; i <= y2 - r; i += (y2 - r - y1 - r) / 10000000) {
      xn = xb * (yw - r - i) / (-yb + 2 * yw - 2 * r - i);
      double pos = y1 + r * (yw - r - y1) / xn;
      double dis = xn * (y2 - i) / sqrt(xn * xn + (yw - r - i) * (yw - r - i));
      if (dis > r) {
        flag = 1;
        break;
      }
    }
    if (flag == 0)
      printf("-1\n");
    else
      printf("%.20f\n", xn);
  }
  return 0;
}
