#include <bits/stdc++.h>
using namespace std;
int n;
long double p, q;
long double a[100005], b[100005];
long double func(long double x) {
  long double y = 1e130;
  for (int i = 1; i <= n; i++) {
    y = y < (1.0 - a[i] * x) / b[i] ? y : (1.0 - a[i] * x) / b[i];
  }
  return p * x + q * y;
}
int main() {
  double _p, _q, _a, _b;
  scanf("%d%lf%lf", &n, &_p, &_q);
  p = _p;
  q = _q;
  for (int i = 1; i <= n; i++) {
    scanf("%lf%lf", &_a, &_b);
    a[i] = _a;
    b[i] = _b;
  }
  long double l = 0, r = 1e130;
  for (int i = 1; i <= n; i++) {
    r = r < 1.0 / a[i] ? r : 1.0 / a[i];
  }
  while (r - l > 1e-15)
    if (func(l + (r - l) / 3.0) < func(r - (r - l) / 3.0)) {
      l = l + (r - l) / 3.0;
    } else {
      r = r - (r - l) / 3.0;
    }
  printf("%.15lf\n", (double)func((r + l) / 2));
  return 0;
}
