#include <bits/stdc++.h>
using namespace std;
const int maxn = 1e6 + 10;
const int mod = 1e9 + 7;
const double eps = 1e-12;
int T, n, x, y;
char str[110][1010];
int vis[110][30];
using namespace std;
struct Node {
  long long lv, rv;
};
Node num[100010];
bool cmp(Node a, Node b) {
  if (a.lv != b.lv)
    return a.lv > b.lv;
  else
    return a.rv > b.rv;
}
int main() {
  int n;
  scanf("%d", &n);
  long long x1, x2;
  scanf("%lld", &x1);
  scanf("%lld", &x2);
  for (int i = 1; i <= n; i++) {
    long long k, b;
    scanf("%lld", &k);
    scanf("%lld", &b);
    num[i].lv = k * x1 + b;
    num[i].rv = k * x2 + b;
  }
  sort(num + 1, num + n + 1, cmp);
  bool flag = false;
  int k = 1;
  for (int i = 2; i <= n; i++) {
    if (num[k].lv > num[i].lv && num[k].rv < num[i].rv) {
      flag = true;
      break;
    } else
      k = i;
  }
  if (flag)
    printf("YES\n");
  else
    printf("NO\n");
  return 0;
}
