#include <iostream>
using namespace std;
void chmax(double& a, double b){ if(a < b) a = b; }
int main(){
    int N;
    double D, H, ans = 0;
    cin >> N >> D >> H;
    while(N--){
        double d, h;
        cin >> d >> h;
        chmax(ans, h - d * (H - h) / (D - d));
    }
    cout << ans << endl;
}
#define _GIBCXX_DEBUG
#include <bits/stdc++.h>
using namespace std;
#define rep(i, n) for (int i = 0; i < (n); ++i)
#define all(v) v.begin(), v.end()
using namespace std;
using ll = long long;


int main(void) {
    int N;
    double D, H;
    cin >> N >> D >> H;
    vector<double> d(N);
    vector<double> h(N);
    rep(i, N) cin >> d[i] >> h[i];

    double ans = 0.0;
    rep(i, N) {
        // 切片を計算する
        double temp = H - (H - h[i]) / (D - d[i]) * D;
        ans = max(ans, temp);
    }

    cout << fixed << setprecision(15) << ans << endl;
    
    return 0;
}