#include <bits/stdc++.h>
using namespace std;
int n, p, q;
vector<pair<int, int> > a;
double get(double x) {
  double ret = 1;
  for (int i = 0; i < a.size(); i++)
    ret = min(ret, (1.0 - a[i].first * x) / a[i].second);
  return x * p + ret * q;
}
double ts(double l, double r, int it) {
  double mid1 = (2 * l + r) / 3, mid2 = (l + 2 * r) / 3;
  if (!it) return get(mid1);
  if (get(mid1) < get(mid2)) return ts(mid1, r, it - 1);
  return ts(l, mid2, it - 1);
}
int main() {
  while (cin >> n >> p >> q) {
    a.resize(n);
    int mx = 0;
    for (int i = 0; i < n; i++) {
      scanf("%d %d", &a[i].first, &a[i].second);
      ;
      mx = max(mx, a[i].first);
    }
    cout << setprecision(9) << fixed << ts(0.0, 1.0 / mx, 100) << endl;
  }
  return 0;
}
