N,S,B = map(int,input().split()) H = list(map(int,input().split())) #スタミナを使い切って最も高く飛ぶ #行ける範囲で最も高い足場に移動する def move(now,S,B,H): #nowは0~N-1 height = H[now] + S*B pos = now maxi = now while True: if pos == N-1: print("Yes") exit() elif H[pos+1] <= height: if H[maxi] <= H[pos+1]: maxi = pos+1 pos += 1 elif H[pos+1] >= height: if now != maxi: move(maxi,S,B,H) else: print("No") exit() move(0,S,B,H)