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:
                tar = m//mkgcd
                for i in range(lm, rm+1):
                    if i % tar == 0:
                        print("Yes")
                        exit()
                print("No")