import sys input = sys.stdin.readline # from collections import deque def linput(_t=int): return list(map(_t, input().split())) def say(n): print(("No","Yes")[n%2]) exit(0) def gcd(n,m): while m: n,m = m, n%m return n def lcm(n,m): return n*m//gcd(n,m) def main(): # N = int(input()) # N,K = linput() L,R,M,K = linput() # vA = linput() # vE = [linput() for _ in [0,]*M] res = 0 if K*L==0: say(1) if M==1: say(1) if (R-L)*K >= M: say(1) if L==R: if K*L%M != 0: say(0) else: say(1) if K*L%M > K*R%M: res = 1 # print(res) say(res) main()