#include long long int max(long long int a, long long int b) { if (a > b) return a; else return b; } long long int h[200005]; long long int dp[1003]; int main() { long long int n, s, b; scanf("%lld %lld %lld", &n, &s, &b); long long int i, j; for (i = 0; i < n; i++) scanf("%lld", &h[i]); for (i = 0; i <= s; i++) dp[i] = -1; dp[s] = h[0]; for (i = 0; i < n; i++) { for (j = 0; j <= s; j++) if (dp[j] >= h[i]) dp[s] = max(dp[s], h[i]); for (j = 0; j <= s; j++) if (dp[j] < h[i]) dp[j] = -1; for (j = s; j > 0; j--) if (dp[j] >= 0) dp[j - 1] = max(dp[j - 1], dp[j] + b); } if (dp[s] < 0) printf("No\n"); else printf("Yes\n"); return 0; }