#include <bits/stdc++.h>
using namespace std;
int n, l, m, r, a[101000], ans;
void dfs(int long long, int rr, int i) {
  if (i > n) {
    ans = 1;
    return;
  }
  if (long long + r * a[i] <= m)
    dfs(long long + r * a[i], min(m, rr + l * a[i]), i + 1);
  if (rr - r * a[i] >= -m)
    dfs(max(-m, long long - l * a[i]), rr - r * a[i], i + 1);
}
int main() {
  scanf("%d%d%d%d", &n, &l, &m, &r);
  for (long long i = 1; i <= n; i++) scanf("%d", &a[i]);
  ans = 0;
  r *= 2;
  m *= 2;
  dfs(0, 0, 1);
  if (ans)
    printf("Yes\n");
  else
    printf("No\n");
  return 0;
}
