N, S, B = map(int, input().split()) H = list(map(int, input().split())) dp = [[-1] * 2 for i in range(N)] dp[0][1] = H[0] for i in range(N - 1): if max(dp[i]) < H[i]: print("No") break dp[i + 1][0] = dp[i][0] if dp[i][1] == H[i]: dp[i + 1][0] = max(dp[i + 1][0], dp[i][1] + B * S) if dp[i + 1][0] >= H[i + 1]: dp[i + 1][1] = H[i + 1] if dp[i + 1][1] != H[i + 1]: if dp[i][1] + B * S >= H[i + 1]: dp[i + 1][1] = H[i + 1] if max(dp[-1]) >= H[-1]: print("Yes") else: print("No")