#include <bits/stdc++.h>
struct Temp {
  long long y1, y2;
  bool operator<(const Temp x) const {
    if (y1 == x.y1) return y2 < x.y2;
    return y1 < x.y1;
  }
} arr[100005];
long long gcd(long long a, long long b) { return (b > 0) ? gcd(b, a % b) : a; }
int main() {
  int n;
  long long x1, x2, cur;
  scanf("%d", &n);
  scanf("%I64d%I64d", &x1, &x2);
  for (int l = 0; l < n; l++) {
    long long a, b;
    scanf("%I64d%I64d", &a, &b);
    arr[l].y1 = a * x1 + b, arr[l].y2 = a * x2 + b;
  }
  std::sort(arr, arr + n);
  cur = arr[0].y2;
  for (int i = 1; i < n; i++) {
    if (arr[i].y2 < cur) {
      printf("Yes\n");
      return 0;
    }
    cur = arr[i].y2;
  }
  printf("No\n");
  return 0;
}
