#include <bits/stdc++.h>
using namespace std;

const char nl = '\n';
const double eps = 1e-6;
const int N = 110;

int n, D, H;
int d[N], h[N];

int main() {
    ios::sync_with_stdio(false);
    //cin.tie(nullptr);


    priority_queue<double, vector<double>, greater<double>> q;

    cin >> n >> D >> H;
    for (int i = 0; i < n; ++i) {
        cin >> d[i] >> h[i];
        double t = (double)(H - h[i]) / (D - d[i]);
        q.push(t);
    }

    double k = q.top();
    double b = H - k * D;
    if (b > 0) cout << b << nl;
    else cout << "0.0" << nl;
    return 0;
}

#include <bits/stdc++.h>
#define rep(i,n) for (int i = 0; i < (n); i++)
using namespace std;
typedef long long ll;

int main() {
  cout << fixed << setprecision(20);
  int n,D,H;
  cin >> n >> D >> H;
  vector<int> d(n);
  vector<int> h(n);
  rep(i,n){
    cin >> d[i] >> h[i];
  }
  double ans = 0;
  rep(i,n){
    double tmpAns = H - D * (double(H-h[i])/double(D-d[i]));
    ans = max(ans, tmpAns);
  }
  cout << ans << endl;
}
