#include <bits/stdc++.h>   using namespace std;   double y111, y222, yw, xb, yb, r;   double ASIN(double w) {     if (w < -1.0) w = -1.0;     if (w > 1.0) w = 1.0;     return asin(w);   }   int main() {     cin >> y111 >> y222 >> yw >> xb >> yb >> r;     y111 += 1E-9;     y222 -= 1E-9;     double st = yw - r;     double plo = 2 * st - y111, phi = 2 * st - y222;     if (plo > phi) swap(plo, phi);     double D = sqrt(((xb) * (xb)) + ((plo - yb) * (plo - yb)));     double ang = ASIN(r / D);     complex<double> dir = complex<double>(0, plo) - complex<double>(xb, yb);     dir *= polar(1.0, -ang);     double ty = yb + (fabs(xb / dir.real())) * dir.imag();     if (ty < phi - r + 1E-9) {       double X = xb + ((st - yb) / dir.imag()) * dir.real();       printf( %.18lf n , X);     } else       puts( -1 );     return 0;   }   