#include <bits/stdc++.h>
#pragma comment(linker, "/STACK:1024000000,1024000000")
using namespace std;
int yo, yt, yw, xb, yb, r;
double ans;
bool solve() {
  if (yo >= yt) return false;
  long long A = yb - yo;
  long long B = -xb;
  long long C = (long long)xb * yo;
  long long u = fabs((long long)B * yt + C);
  double v = sqrt((long long)A * A + (long long)B * B);
  double d = 1.0 * u / v;
  if (d < (double)r) return false;
  long long t = -((long long)yw * B + C);
  ans = 1.0 * t / A;
  return true;
}
int main() {
  cin >> yo >> yt >> yw >> xb >> yb >> r;
  yw -= r;
  yo += r;
  yb = (yw)*2 - yb;
  if (solve())
    printf("%.10lf\n", ans);
  else
    cout << "-1" << endl;
  return 0;
}
