#include <bits/stdc++.h>
using namespace std;
const double eps = 1e-8;
const double pi = acos(-1);
const int maxn = 500;
long long m[maxn], L, R, l, r, M;
int n, limt = 1e7 + 1e6, con;
bool dfs(int u) {
  if (con > limt) return false;
  if (u == n) {
    ++con;
    if (abs(L - R) <= M) return abs(L - R) <= M;
  }
  L += m[u] * l;
  if (abs(L - R) <= M && dfs(u + 1)) return true;
  L -= m[u] * l;
  R += m[u] * l;
  if (abs(L - R) <= M && dfs(u + 1)) return true;
  R -= m[u] * l;
  L += m[u] * r;
  if (abs(L - R) <= M && dfs(u + 1)) return true;
  L -= m[u] * r;
  R += m[u] * r;
  if (abs(L - R) <= M && dfs(u + 1)) return true;
  R -= m[u] * r;
  return false;
}
int main() {
  int i;
  scanf("%d%lld%lld%lld", &n, &l, &M, &r);
  for (i = 0; i < n; ++i) scanf("%lld", &m[i]);
  L = R = 0;
  con = 0;
  if (dfs(0))
    puts("YES");
  else
    puts("NO");
  return 0;
}
