#include <bits/stdc++.h>
using namespace std;
const int maxn = 100100;
const long double eps = 1e-9;
int n, p, q;
int a[maxn], b[maxn];
complex<long double> pnts[maxn];
complex<long double> uh[maxn], lh[maxn];
int us, ls;
long double cross(complex<long double> p1, complex<long double> p2) {
  return imag(conj(p1) * p2);
}
bool cmp(complex<long double> p1, complex<long double> p2) {
  return real(p1) != real(p2) ? real(p1) < real(p2) : imag(p1) < imag(p2);
}
void makehull() {
  int ma = 0, mb = 0;
  for (int i = 0; i < n - 3; i++) {
    pnts[i] = complex<long double>(a[i], b[i]);
    ma = max(ma, a[i]);
    mb = max(mb, b[i]);
  }
  pnts[n - 3] = complex<long double>(0, 0);
  pnts[n - 2] = complex<long double>(ma, 0);
  pnts[n - 1] = complex<long double>(0, mb);
  sort(pnts, pnts + n, cmp);
  for (int i = 0; i < n; i++) {
    while (us >= 2 && cross(uh[us - 1] - uh[us - 2], pnts[i] - uh[us - 1]) >= 0)
      us--;
    uh[us++] = pnts[i];
    while (ls >= 2 && cross(lh[ls - 1] - lh[ls - 2], pnts[i] - lh[ls - 1]) <= 0)
      ls--;
    lh[ls++] = pnts[i];
  }
}
bool sameside(complex<long double> p1, complex<long double> p2,
              complex<long double> q1, complex<long double> q2) {
  return cross(q2 - q1, q1 - p1) * cross(q2 - q1, q1 - p2) >= 0;
}
bool check(long double mid) {
  complex<long double> cen = complex<long double>(0, 0);
  for (int i = 0; i < us; i++) cen += uh[i];
  for (int i = 1; i < ls - 1; i++) cen += lh[i];
  cen *= mid / (us + ls - 2);
  complex<long double> x = complex<long double>(p, q);
  for (int i = 0; i < us - 1; i++)
    if (!sameside(cen, x, uh[i] * mid, uh[i + 1] * mid)) return 0;
  for (int i = 0; i < ls - 1; i++)
    if (!sameside(cen, x, lh[i] * mid, lh[i + 1] * mid)) return 0;
  return 1;
}
int main() {
  ios_base::sync_with_stdio(0);
  cin >> n >> p >> q;
  for (int i = 0; i < n; i++) {
    cin >> a[i] >> b[i];
  }
  n += 3;
  makehull();
  long double lo = eps, hi = 1e6;
  while (hi - lo > eps) {
    long double mid = (lo + hi) / 2;
    if (check(mid))
      hi = mid;
    else
      lo = mid;
  }
  cout << fixed << setprecision(10) << lo << '\n';
}
