#include <bits/stdc++.h>
using namespace std;
const double Eps = 1e-12;
int main() {
  double MaxY, IX, IY, Y1, Y2, R;
  cin >> Y1 >> Y2 >> MaxY >> IX >> IY >> R;
  if (Y1 > Y2) swap(Y1, Y2);
  Y1 += R, Y2 -= R, MaxY -= R;
  if (Y1 - Y2 > -Eps) {
    cout << "-1\n";
    return 0;
  }
  double FX = 0, FY = Y1;
  IY = MaxY + (MaxY - IY);
  double m = (IY - FY) / (IX - FX);
  double n = FY - m * FX;
  double SolX = (MaxY - n) / m;
  if (abs(m * 0 - (Y2 + R) + n) / sqrt(m * m + 1) <= R - Eps)
    cout << "-1\n";
  else
    cout << fixed << setprecision(11) << SolX << "\n";
  return 0;
}
