func_code_string: #include <bits/stdc++.h>   using namespace std;   const int inf = 0x3f3f3f3f, mod = 1e9 + 7;   const int maxn = 2e5 + 100, mxn = 5e5 + 100;   const long double PI = acos(-1.0);   long long gcd(long long a, long long b) { return (a ? gcd(b % a, a) : b); }   void exgcd(long long a, long long b, long long& d, long long& x, long long& y) {     if (!b) {       d = a;       x = 1;       y = 0;     } else {       exgcd(b, a % b, d, y, x);       y -= x * (a / b);     }   }   long long power(long long a, long long n) {     long long p = 1;     while (n > 0) {       if (n % 2) {         p = p * a;       }       n >>= 1;       a *= a;     }     return p;   }   long long power(long long a, long long n, long long mod) {     long long p = 1;     while (n > 0) {       if (n % 2) {         p = p * a;         p %= mod;       }       n >>= 1;       a *= a;       a %= mod;     }     return p % mod;   }   int n, m;   double a[maxn], b[maxn], p, q;   double f(double x) {     double minn = 100000.0;     for (int i = 1; i <= n; i++) minn = min(minn, (1 - b[i] * x) / a[i]);     return p * minn + q * x;   }   int main() {     while (cin >> n >> p >> q) {       double maxx = 0;       for (int i = 1; i <= n; i++) {         cin >> a[i] >> b[i];         maxx = max(b[i], maxx);       }       double l = 0, r = 1 / maxx;       for (int i = 1; i <= 400; i++) {         double mid = (l + r) / 2.0;         double midmid = (mid + r) / 2.0;         if (f(mid) >= f(midmid))           r = midmid;         else           l = mid;       }       printf( %.10f n , f((l + r) / 2.0));     }     return 0;   }   