#include <bits/stdc++.h>
using namespace std;
int a[100010], b[100010];
int n, p, q;
double f(double x) {
  double y = 1;
  for (int i = 0; i < n; i++) y = min(y, ((double)1 - x * b[i]) / a[i]);
  return y * p + x * q;
}
int main() {
  scanf("%d%d%d", &n, &p, &q);
  int maxx = 0;
  for (int i = 0; i < n; i++) {
    scanf("%d%d", &a[i], &b[i]);
    maxx = max(maxx, b[i]);
  }
  double l = 0, r = (double)1 / maxx;
  int t = 1000;
  while (t--) {
    double l2 = (2 * l + r) / 3, r2 = (2 * r + l) / 3;
    if (f(l2) <= f(r2)) {
      l = l2;
      continue;
    }
    r = r2;
  }
  printf("%.10f\n", f((l + r) * 0.5));
  return 0;
}
