#include <bits/stdc++.h>
using namespace std;
const int Maxn = 100 * 1000 + 5;
int n, x1, x2;
set<pair<long double, int> > mys1, mys2;
pair<long double, long double> d[Maxn];
int main() {
  cin >> n >> x1 >> x2;
  int k, b;
  for (int i = 0; i < n; i++) {
    scanf("%d%d", &k, &b);
    pair<long double, int> d1, d2;
    d1 = make_pair((long double)x1 * k + b, i);
    d2 = make_pair((long double)x2 * k + b, i);
    d[i] = make_pair(d1.first, d2.first);
    mys1.insert(d1);
    mys2.insert(d2);
  }
  while (!mys1.empty()) {
    pair<long double, int> p = *mys1.begin(), p2 = *mys2.begin();
    if (p2.first == d[p.second].second) {
      mys1.erase(p);
      mys2.erase(make_pair(p2.first, p.second));
    } else {
      if (p.first == d[p2.second].first) {
        mys1.erase(make_pair(p.first, p2.second));
        mys2.erase(p2);
      } else {
        cout << "YES" << endl;
        return 0;
      }
    }
  }
  cout << "NO" << endl;
  return 0;
}
