only WA on #28
#include <algorithm>
#include <cassert>
#include <cmath>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <iostream>
#include <map>
#include <queue>
#include <stack>
#include <string>
#include <vector>
#include <set>
using namespace std;
#define ll long long
#define ull unsigned long long
#define db double
#define int ll
int read()
{
ll now = 0, nev = 1;
char c = getchar();
while (c < '0' || c > '9')
{
if (c == '-')
nev = -1;
c = getchar();
}
while (c >= '0' && c <= '9')
{
now = (now << 1) + (now << 3) + (c & 15);
c = getchar();
}
return now * nev;
}
const int MAXN = 1e6 + 10;
const int mod = 1e9+7;
const int INF = 1e18;
int n,a,b;
signed main()
{
n=read(),a=read(),b=read();
int minn=INF,maxn=-INF;
for(int i=1;i<=n;i++)
{
int x=read(),now;
if(x!=a+b)
now=x%(a+b);
else
now=x;
minn=min(minn,now);
maxn=max(maxn,now);
}
int d=maxn-minn;
if(d<a)
printf("Yes\n");
else
printf("No\n");
return 0;
}