#include <bits/stdc++.h>
using namespace std;
const int N = 100001;
long long c[N];
int a[N];
int b[N];
struct node {
  long long y1;
  long long y2;
} T[N];
bool cm(node x, node y) {
  if (x.y1 == y.y1) return x.y2 < y.y2;
  return x.y1 < y.y1;
}
int main(void) {
  int n;
  long long x1, x2;
  scanf("%d", &n);
  scanf("%I64d%I64d", &x1, &x2);
  long long k, b;
  int i;
  int flag = 0;
  for (i = 0; i < n; i++) {
    scanf("%I64d%I64d", &k, &b);
    T[i].y1 = k * x1 + b;
    T[i].y2 = k * x2 + b;
  }
  sort(T, T + n, cm);
  for (i = 0; i < n - 1; i++) {
    if (T[i].y2 > T[i + 1].y2) {
      flag = 1;
      break;
    }
  }
  if (flag)
    printf("YES\n");
  else
    printf("NO\n");
  return 0;
}
