#include <bits/stdc++.h>
const int oo = 0x7fffffff;
const long long OO = 0x7fffffffffffffff;
template <class T>
std::ostream& operator<<(std::ostream& O, const std::vector<T>& V) {
  for (const T& x : V) O << x << " ";
  O << "\n";
  return O;
}
template <class T1, class T2>
std::ostream& operator<<(std::ostream& O, const std::pair<T1, T2>& P) {
  return O << "(" << P.first << ", " << P.second << ")";
}
std::mt19937 rng(std::chrono::steady_clock::now().time_since_epoch().count());
using namespace std;
int main() {
  long double y1, y2, yw, xb, yb, r;
  cin >> y1 >> y2 >> yw >> xb >> yb >> r;
  yw -= r, y1 += r;
  long double a = atan2(xb, (yw - yb) + (yw - y1));
  long double dr = (y2 - y1) * sin(a);
  if (dr < r)
    cout << "-1\n";
  else {
    long double xw = (yw - y1) * xb / (yw - yb + yw - y1);
    cout.precision(10);
    cout << fixed << xw << "\n";
  }
  return 0;
}
