#define _USE_MATH_DEFINES
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using P = pair<ll, ll>;
#define rep(i,s,n) for(int i = s; i < (int)(n); i++)
#define Rep(i,s,n) for(int i = n; i >= (int)(s); i--)

int main() {
	int n;
	double d, h;
	cin >> n >> d >> h;
	double mk = h / d;
	rep(i, 0, n) {
		double a, b;
		cin >> a >> b;
		mk = min(mk, (h-b)/(d-a));
	}
	cout << fixed << setprecision(6) << h-mk*d << endl;
}
#include <bits/stdc++.h>
using namespace std;
typedef long long int ll;
const int N=150;

int n,D,H,x[N],y[N];

bool ok(double mid){
    double slop=(double)(H-mid)/(double)(D-0);
    for(int i=0;i<n;i++){
        double val=slop*x[i]+mid;
        if(val<y[i])return false;
    }
    return true;
}

int main()
{
#ifndef ONLINE_JUDGE
    freopen("in.txt", "r", stdin);
#endif
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    cin>>n>>D>>H;
    for(int i=0;i<n;i++){
        cin>>x[i]>>y[i];
    }
    double l=0,r=H,ans;
    for(int rep=0;rep<100;rep++){
        double mid=(l+r)/2;
        //cout<<mid<<endl; 
        if(ok(mid)){
            ans=mid;
            r=mid;
        }
        else {
            l=mid;
        }
    }
    cout<<fixed<<setprecision(17)<<ans<<'\n';

}