def gcd(a,b): while b != 0: a, b = b, a % b return a l, r, m, k = map(int,input().split()) if k == 0: print("Yes") else: if r - l + 1 >= m: print("Yes") else: lm = l % m rm = r % m if lm > rm: print("Yes") else: mkgcd = gcd(m,k) if rm-lm+1 >= m//mkgcd: print("Yes") else: for i in range(1, int((m//mkgcd)**0.5)+1): if m % i == 0 and k % i == 0: if lm <= i <= rm: print("Yes") exit() elif lm <= m//i <= rm: print("Yes") exit() print("No")