#include <bits/stdc++.h>
using namespace std;
vector<double> a;
vector<double> b;
double p, q;
int n;
double f(double y1) {
  double y2 = 1.0;
  for (int i = 0; i < n; i++) {
    y2 = min(y2, (1 - a[i] * y1) / b[i]);
  }
  return y1 * p + y2 * q;
}
int main() {
  cin >> n;
  cin >> p >> q;
  for (int i = 0; i < n; i++) {
    double x, y;
    scanf("%lf%lf", &x, &y);
    a.push_back(x);
    b.push_back(y);
  }
  double l = 0.0;
  double r = 1.0;
  for (int i = 0; i < n; i++) {
    r = min(r, 1.0 / a[i]);
  }
  while (r - l > 1e-15) {
    double m1 = (l + l + r) / 3.0;
    double m2 = (l + r + r) / 3.0;
    if (f(m1) > f(m2)) {
      r = m2;
    } else {
      l = m1;
    }
  }
  printf("%.15lf\n", f((l + r) / 2.0));
  return 0;
}
