#include <bits/stdc++.h>
int seq[100006];
int myabs(int x) { return x > 0 ? x : (-x); }
int main() {
  int s1, s2;
  int n, l, m, r;
  while (scanf("%d%d%d%d", &n, &l, &m, &r) != EOF) {
    for (int i = 1; i <= n; i++) {
      scanf("%d", &seq[i]);
    }
    s1 = seq[1];
    s2 = seq[n];
    int p = 1, q = n;
    while (p < q - 1) {
      if (s1 > s2) {
        q--;
        s2 += seq[q];
      } else if (s1 < s2) {
        p++;
        s1 += seq[p];
      } else if (s1 == s2) {
        p++;
        q--;
        if (p < q - 1) {
          s1 += seq[p];
          s2 += seq[q];
        } else {
          s1 += seq[p];
        }
      }
    }
    if (myabs(s1 - s2) * r <= m) {
      printf("Yes\n");
    } else {
      printf("No\n");
    }
  }
  return 0;
}
