func_code_string: #include <bits/stdc++.h>   using namespace std;   bool mul_overflow(long long a, long long b) { return (a > (LLONG_MAX / b)); }   bool add_overflow(long long a, long long b) { return (a > (LLONG_MAX - b)); }   const int N = 1e6 + 5;   int n;   long double a[N][3];   bool sol(long double mid) {     long double l = -1e8, r = 1e8;     for (int i = 1; i <= n; i++) {       long double rs = 2 * mid * a[i][2] - a[i][2] * a[i][2];       if (rs < 0) {         l = -1e8, r = 1e8;       } else {         l = max(l, a[i][1] - sqrt(rs));         r = min(r, a[i][1] + sqrt(rs));       }     }     cout << (l <= r) <<   n ;     return (l <= r);   }   int main() {     cin >> n;     for (int i = 1; i <= n; i++) {       cin >> a[i][1] >> a[i][2];     }     int f = -1;     if (a[1][1] >= 0 && a[1][2] >= 0 || a[1][2] >= 0 && a[1][1] <= 0)       f = 1;     else       f = 0;     for (int i = 2; i <= n; i++) {       if (f == 1) {         if (!(a[i][1] >= 0 && a[i][2] >= 0 || a[i][2] >= 0 && a[i][1] <= 0)) {           cout <<  -1 n ;           return 0;         }       } else {         if (a[i][1] >= 0 && a[i][2] >= 0 || a[i][2] >= 0 && a[i][1] <= 0) {           cout <<  -1 n ;           return 0;         }       }     }     if (n == 1) {       cout << a[1][2] / 2 <<   n ;       return 0;     }     long double lo = 0, hi = 1e18;     for (int i = 1; i <= 100; i++) {       long double xl = -1e18, xr = 1e18;       long double r = (lo + hi) / 2;       bool f = 0;       for (int i = 1; i <= n; i++) {         long double x = a[i][1], y = abs(a[i][2]);         long double t = 2 * y * r - y * y;         if (t < 0) {           f = 1;           break;         }         t = sqrt(t);         xl = max(xl, x - t);         xr = min(xr, x + t);       }       if (f == false && xr > xl) {         hi = r;       } else         lo = r;     }     cout << fixed << setprecision(11) << lo <<   n ;     return 0;   }   