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

#define fastio ios_base::sync_with_stdio(false);cin.tie(NULL);
#define ll long long int
#define nl "\n"
#define forf(i,a,n) for(ll i=a;i<=n;i++)
#define forb(i,b,n) for(ll i=b;i>=n;i--)
#define pb push_back
#define vll vector<ll>
#define all(qw) qw.begin(),qw.end()
#define read(vec) ll qwe;cin>>qwe;vec.pb(qwe)
#define pll pair<ll,ll>
#define vpll vector<pll>
#define ff first
#define ss second
#define mp make_pair
#define sll set<ll>
#define mll map<ll,ll>
#define go(x) {cout<<x<<nl;return;}
#define mod 1000000007
#define ina(v,n)  forf(i,0,n-1)  cin>>v[i];
#define inao(v,n) forf(i,1,n)    cin>>v[i];
#define inv(v,n) forf(i,1,n)    {read(v);}
#define trav(arr,var) for(auto& var:arr)

ll hcf(ll a, ll b)
{
  if (b==0)return a;
  return hcf(b, a % b);
}

ll lcm(ll a,ll b)
{
    return (a*b)/hcf(a,b);
}

bool isprime(ll n) {
    if(n==1) return false;
    for (ll i=2;i*i<=n;++i){if(n%i==0) return false;}
    return true;
}

                //SOLVE
                
void solve(){
   long double n,d,h;
   cin>>n>>d>>h;
   vector<long double> a(n),b(n);
   forf(i,0,n-1){
      cin>>a[i];
      cin>>b[i];
   }
   long double ans=0;
   forf(i,0,n-1){
      long double temp=((d*b[i]-h*a[i])/(d-a[i]));
      ans=max(temp,ans);
   }
   cout<<setprecision(16)<<ans;
}


void onlinejudge(){
  #ifndef ONLINE_JUDGE
  freopen("Input.txt", "r", stdin);
  freopen("Output.txt", "w", stdout);
  #endif // ONLINE_JUDGE
}


int main(){  // Change the approach
  onlinejudge();
  //fastio
  ll ttt;ttt=1;
 // cin>>ttt;
  while(ttt--) solve();
return 0;
}

// CHECK FOR EXTREME CASES AND ZEROS;
#include <bits/stdc++.h>
using namespace std;

int main(){
int n;double x,y,a,b,c = 0; cin >> n >> x >> y;
for(int i=0;i<n;i++){
   cin >> a >> b;
   c = max(c,y-(y-b)/(x-a)*x);
}
cout << c << endl;
}