#include <bits/stdc++.h>
using namespace std;
const int N = 100005;
int n;
double p, q;
double a[N], b[N];
inline double F(double x) {
  double y = 1e130;
  for (int i = 1; i <= n; i++) y = min(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;
  }
  double L = 0, R = 1e130, m1, m2;
  for (int i = 1; i <= n; i++) R = min(R, 1.0 / a[i]);
  while (R - L > 1e-15)
    if (F(m1 = L + (R - L) / 3.0) < F(m2 = R - (R - L) / 3.0))
      L = m1;
    else
      R = m2;
  printf("%.15lf\n", (double)F((R + L) / 2));
  return 0;
}
