#include <bits/stdc++.h>
using namespace std;
double dist(long long a, long long b, long long c, long long x0, long long y0) {
  return abs(a * x0 + b * y0 + c) / sqrt(a * a + b * b) + 1e-6;
}
signed main() {
  cin.tie(nullptr)->sync_with_stdio(false);
  long long y1, y2, yw, x0, y0, r;
  cin >> y1 >> y2 >> yw >> x0 >> y0 >> r;
  yw -= r;
  y2 = yw + (yw - y2);
  y1 = yw + (yw - y1);
  long long xf = 0, yf = y1 - r;
  long long a = y0 - yf, b = xf - x0, c = x0 * yf - xf * y0;
  if (dist(a, b, c, 0, y2) >= r) {
    cout << fixed << setprecision(15);
    cout << 1.0 * (-b * yw - c) / a << "\n";
  } else {
    cout << "-1\n";
  }
}
