#include <bits/stdc++.h>
using namespace std;
int a[1000005];
int b[1000005];
int n, p, q;
double solve(double y1) {
  double y2 = (1.0 - a[0] * y1) / b[0];
  for (int i = 1; i < n; i++) {
    y2 = min(y2, (1.0 - a[i] * y1) / b[i]);
  }
  return y1 * p + y2 * q;
}
int main(void) {
  scanf(" %d %d %d", &n, &p, &q);
  for (int i = 0; i < n; i++) {
    scanf(" %d %d", &a[i], &b[i]);
  }
  double y1_min = 0;
  double y1_max = 1.0 / a[0];
  for (int i = 1; i < n; i++) {
    y1_max = min(y1_max, 1.0 / a[i]);
  }
  for (int i = 0; i < 100; i++) {
    double delta = (y1_max - y1_min) / 3;
    double l = y1_min + delta;
    double r = y1_max - delta;
    if (solve(l) < solve(r)) {
      y1_min = l;
    } else {
      y1_max = r;
    }
  }
  printf("%.12lf\n", solve(y1_min));
  return 0;
}
