#include <bits/stdc++.h>
using namespace std;
bool oppSign(double a, double b) {
  if (a == 0 || b == 0) return false;
  if (a > 0 && b < 0) return true;
  if (a < 0 && b > 0) return true;
  return false;
}
void parr(vector<double>& a) {
  for (int i = 0; i < a.size(); ++i) {
    cout << a[i] << " ";
  }
  cout << endl;
}
int main() {
  int n;
  cin >> n;
  double a, b;
  cin >> a >> b;
  vector<pair<double, double> > v;
  for (int i = 0; i < (n); ++i) {
    double x, y;
    scanf("%lf%lf", &x, &y);
    double y1, y2;
    y1 = x * a + y;
    y2 = x * b + y;
    v.push_back(make_pair((y1), (y2)));
  }
  sort(v.begin(), v.end());
  vector<double> ar, br;
  for (int i = 0; i < v.size(); ++i) {
    double x = v[i].first;
    double y = v[i].second;
    ar.push_back(x);
    br.push_back(y);
  }
  vector<double> bkr(br.size());
  bkr[br.size() - 1] = br[br.size() - 1];
  for (int i = br.size() - 2; i >= 0; --i) {
    if (br[i] > bkr[i + 1])
      bkr[i] = bkr[i + 1];
    else
      bkr[i] = br[i];
  }
  bool flag = false;
  for (int i = 0; i < ar.size() - 1; ++i) {
    if (ar[i] != ar[i + 1] && br[i] != bkr[i + 1] &&
        oppSign((ar[i] - ar[i + 1]), (br[i] - bkr[i + 1]))) {
      flag = true;
      break;
    }
  }
  if (flag == false)
    cout << "NO\n";
  else
    cout << "YES\n";
  return 0;
}
