#include <bits/stdc++.h>
using namespace std;
long long a[1111111];
long long b[1111111];
int main() {
  int n, l, m, r, i;
  while (scanf("%d%d%d%d", &n, &l, &m, &r) != EOF) {
    b[0] = 0;
    for (i = 1; i <= n; i++) {
      scanf("%d", &a[i]);
      b[i] = b[i - 1] + a[i];
    }
    double x = l;
    x = x / 2 - r;
    if (x + 0.0000000001 < 0) {
      printf("No\n");
      continue;
    }
    bool flag = false;
    for (i = 0; i <= n; i++) {
      long long le = b[i] * r;
      long long ri = (b[n] - b[i]) * r;
      if (le > ri) {
        if ((b[n] - b[i]) * x + ri + m >= le) flag = true;
      } else {
        if (b[i] * x + le + m >= ri) flag = true;
      }
    }
    if (flag)
      printf("Yes\n");
    else
      printf("No\n");
  }
  return 0;
}
