/**
 * @author: adityasonani
 * */
#include <bits/stdc++.h>

// #pragma GCC optimize("Ofast")
// #pragma GCC target("avx,avx2,fma")

#define     ll          long long
#define     ld        	long double
#define     ln          "\n"
#define     fastio      ios_base::sync_with_stdio(0); cin.tie(nullptr)
#define     MOD         (int) 1000000007
#define     rep(i, n)   for (int i = 0; i < (int)n; i++)
#define     all(x)      (x).begin(), (x).end()
#define     debug(x)    cerr << #x << " = " << x << endl;
#define     debugV(x)   cerr << #x << " = ["; for(auto i: x){ cerr << i << ", ";} cerr << "]" << endl;
#define     precise(x)  cout << fixed << setprecision(x)
#define     MAX         (int) 100007 // 10^5
std::vector<int> gv(int n){std::vector<int> v(n);for(auto &x: v){std::cin>>x;}return v;}


using namespace std;

/*
*/

void solve()
{
    int n, d, h;
    cin>>n>>d>>h;

    int mxH = INT_MIN, mxD = 1;
    double ans = 0.0;
    while(n--){
        int da, ha;
        cin>>da>>ha;
        double x = ((double)(da*h)-(d*ha))/(double)(da-d);
        ans = max(ans, x);
    }

    precise(10);
    cout << ans;
}

signed main()
{
    fastio;

    auto start = std::chrono::high_resolution_clock::now();

    int t=1;
    // cin>>t;

    while(t--)
        solve();
 
    auto stop = std::chrono::high_resolution_clock::now();
    auto duration = std::chrono::duration_cast<std::chrono::nanoseconds>(stop - start);

    // cerr << "\nTime taken : " << ((long double)duration.count())/((long double) 1e9) <<" s "<< endl;

    return 0;
}

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

int main(){
    Int n,s,d; cin>>n>>s>>d;
    vector<Int> x(n);
    vector<Int> y(n);

    rep(i,n) cin>>x[i]>>y[i];

    rep(i,n){
        if(x[i]<s && y[i]>d){
            cout<<"Yes"<<endl;
            return 0;
        }
    }

    cout<<"No"<<endl;






}