#include <bits/stdc++.h>
using namespace std;
template <typename T>
bool chmax(T& a, const T& b) {
  return a < b ? (a = b, true) : false;
}
template <typename T>
bool chmin(T& a, const T& b) {
  return b < a ? (a = b, true) : false;
}
long long N, X1, X2;
const long long INF = 1e17;
int main() {
  scanf("%lld%lld%lld", &N, &X1, &X2);
  vector<long long> K(N), B(N);
  vector<pair<long long, long long> > Y(N);
  for (int i = (int)(0); i < (int)(N); i++) {
    scanf("%lld%lld", &K[i], &B[i]);
    Y[i] = make_pair(K[i] * X1 + B[i], i);
  }
  sort(Y.begin(), Y.end());
  long long mx = -INF;
  for (int i = 0; i < N;) {
    int j = i;
    while (j < N && (Y[j].first == Y[i].first)) {
      long long idx = Y[j].second, t = K[idx] * X2 + B[idx];
      if (t < mx) {
        printf("YES\n");
        return 0;
      }
      j++;
    }
    for (int k = (int)(i); k < (int)(j); k++) {
      long long idx = Y[k].second, t = K[idx] * X2 + B[idx];
      chmax(mx, t);
    }
    i = j;
  }
  printf("NO\n");
  return 0;
}
