func_code_string: #include <bits/stdc++.h>   using namespace std;   template <class T>   ostream& operator<<(ostream& os, vector<T> V) {     os <<  [  ;     for (auto v : V) os << v <<    ;     return os <<  ] ;   }   template <class L, class R>   ostream& operator<<(ostream& os, pair<L, R> P) {     return os <<  (  << P.first <<  ,  << P.second <<  ) ;   }   const long long Mod = 1e9 + 7;   const long long pre = 1e10;   const double inv = pow(10, -10);   double y, y2, yw, xb, yb, r;   int check(long long xp) {     double p = (double)xp * inv;     double slope = (yw - r - yb) / (xb - p);     double c = (yw - r) - slope * p;     if (c >= y2) return 1;     if (c <= y) return -1;     bool a = (c >= y + r);     bool b = (abs(y2 - c) >= r * (sqrt(1 + slope * slope)));     if (a && b)       return 0;     else if (!a && !b)       return -1;     else if (!a)       return -1;     else       return 1;   }   int main() {     ios_base::sync_with_stdio(0);     cin.tie(0);     cout.tie(0);     cin >> y >> y2 >> yw >> xb >> yb >> r;     long long left = 0, right = xb * pre - 1, mid;     while (left <= right) {       mid = (left + right) / 2;       int t = check(mid);       if (t == 0) {         printf( %0.10lf n , (double)mid * inv);         return 0;       } else if (t == 1)         left = mid + 1;       else if (t == -1)         right = mid - 1;       else {         cout << -1 << endl;         return 0;       }     }     cout << -1 << endl;     return 0;   }   