#include <bits/stdc++.h>
const long long Inf = 1e16;
int n, x1, x2;
std::vector<std::pair<long long, long long>> A;
bool work() {
  std::sort(A.begin(), A.end());
  long long pre = -Inf;
  for (int i = 0, j = 0; i < n; i = j) {
    long long tmp = -Inf;
    while (j < n && A[j].first == A[i].first) {
      tmp = std::max(tmp, A[j].second);
      if (A[j].second < pre) return true;
      ++j;
    }
    pre = std::max(pre, tmp);
  }
  return false;
}
int main() {
  scanf("%d", &n);
  scanf("%d%d", &x1, &x2);
  for (int i = 0; i < n; ++i) {
    int a, b;
    scanf("%d%d", &a, &b);
    A.emplace_back(a * 1ll * x1 + b, a * 1ll * x2 + b);
  }
  puts(work() ? "YES" : "NO");
}
