#include<bits/stdc++.h>
using namespace std;
using ll = long long;
#define rep(i,n) for(int i=0;i<(int)n;i++)
#define Rep(i,n) for(int i=0;i<=(int)n;i++)
const ll mod = 1e9+7 ;
const ll INF = 1e18 ;
ll gcd(long long a,long long b){if(b==0) return a ; return gcd(b,a%b) ;}
ll lcm(long long a,long long b){return a/gcd(a,b)*b ;}

ll f(ll n, ll k) {
    ll count = 1;
    rep(i,k) {
        count *= (n - i);
        count /= i + 1;
    }
    return count;
}

int main(){
    ll a, b, k;
    cin >> a >> b >> k;
    ll ab = a + b;
    string s;
    ll t = ab - 1;
    bool ok = false;
    for(int i = 0; i < ab; i++) {
        ll count = f(t, a - 1);
        if(count >= k) {
            s.push_back('a');
            a--;
            t--;
        }
        else {
            s.push_back('b');
            k -= count;
            b--;
            t--;
        }
        if(a == 0 || b == 0) {
            ok = true;
            break;
        }
    }
    if(ok) {
        if(a == 0) {
            rep(i,b) s.push_back('b');
        }
        if(b == 0) {
            rep(i,a) s.push_back('a');
        }
    }
    cout << s << endl;
}
#include <bits/stdc++.h>
using namespace std;

int main() {
  double ofs = 0.0001;
  int N, D, H;
  cin >> N >> D >> H;
  vector<int> dlist(N);
  vector<int> hlist(N);
  for (int i = 0; i < N; i++) {
      cin >> dlist.at(i) >> hlist.at(i);
  }
  double ans = 0.0;
  for (int i=0;i<N;i++) {
      double tmp = (double)(D*hlist.at(i)-H*dlist.at(i))/(D-dlist.at(i));
      if (tmp > ans) {
          ans = tmp + ofs;
      }
  }
  cout << ans << endl;
}