#include <bits/stdc++.h>
using namespace std;
const int MOD(1000000007);
const int INF((1 << 30) - 1);
const int MAXN();
int main() {
  double y1, y2, yw, xb, yb, r;
  cin >> y1 >> y2 >> yw >> xb >> yb >> r;
  if (y2 - y1 < 2 * r - 1e-9) {
    printf("-1");
    return 0;
  }
  double low = 0.0 + 1e-9, high = xb - 1e-9, mid;
  while (low <= high) {
    mid = (low + high) / 2;
    double xc = mid, yc = yw - r;
    double dx = (xb - xc), dy = (yb - yc);
    double A = dy / dx * (-1.0), B = -1.0, C = yc - A * xc;
    double D = r * sqrt(A * A + B * B), C1 = C + D, C2 = C - D;
    double S1 = A * 0.0 + B * y2 + C1, S2 = A * 0.0 + B * y2 + C2;
    if (S1 > 1e-9 || S2 > 1e-9) {
      low = mid + 1e-9;
      continue;
    }
    double y = A * (0.0 - xc) + yc;
    if (y - r < y1 + 1e-9) {
      high = mid - 1e-9;
      continue;
    }
    printf("%.9lf", mid);
    return 0;
  }
  printf("-1");
}
