#include <iostream>
#include <bits/stdc++.h>
#include <unordered_map>
#include <unordered_set>
#include <vector>
#include <algorithm>

using ll = long long;
#define fast_io                                                                                                                \
    ios::sync_with_stdio(false);                                                                                               \
    cin.tie(0)

using namespace std;
int dx[4] = { 0,0,1,-1 };
int dy[4] = { 1,-1,0,0 };

void solve(ll t) {
	ll a,b,c;
	cin >> a>>b>>c;
	ll ans = 0;

	if (a * a + b * b < c * c) {
		cout << "Yes" << endl;
	}
	else {
		cout << "No" << endl;
	}

	//cout << ans << endl;


}

int main(void)
{
	ll t = 0; 
	//cin >> t; for (ll i = 1; i <= t; i++) {solve(i);}
	solve(t);
	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 all(v) v.begin(), v.end()
template<class T> inline bool chmin(T& a, T b) { if (a > b) { a = b; return true; } return false; }
template<class T> inline bool chmax(T& a, T b) { if (a < b) { a = b; return true; } return false; }
using ll = long long;
const int INF = 1001001001;
const ll LINF = 1002003004005006007ll;

void solve(){
  double n,D,H;
cin >> n >> D >> H;
vector<double> d(n),h(n);
double ans = INF;
rep(i,n){
  cin >> d[i] >> h[i];
  chmin(ans,(H-h[i])/(D-d[i]));
}
double aa = H-ans*(D);
if(aa<=0)aa = 0;
cout << aa << endl;
    return;
}

int main(){
  cin.tie(nullptr);
  ios::sync_with_stdio(false);
  cout << fixed << setprecision(16);

  solve();
    return 0;
}