#include <bits/stdc++.h>
using namespace std;
const int MAXN = 100005;
int a[MAXN], b[MAXN], n, p, q;
double f(double y1) {
  double y2 = 1;
  for (int i = 0; i < n; i++) {
    y2 = min(y2, (1 - a[i] * y1) / b[i]);
  }
  return y1 * p + y2 * q;
}
int main() {
  ios::sync_with_stdio(false);
  cin.tie(NULL), cout.tie(NULL), cout.precision(15);
  cin >> n >> p >> q;
  for (int i = 0; i < n; i++) cin >> a[i] >> b[i];
  double l = 0, r = 1.0 / (*max_element(a, a + n));
  for (int i = 0; i < 50; i++) {
    double m1 = (2 * l + r) / 3, m2 = (l + 2 * r) / 3;
    f(m1) < f(m2) ? l = m1 : r = m2;
  }
  cout << setprecision(15) << f((l + r) / 2) << "\n";
  return 0;
}
