from collections import defaultdict X,A,Y,B=map(int,input().split()) class get_prime():#使うたびにクラスの定義が必要。self.revの使い回しNG def __init__(self): self.rev = [] def prime(self,n): if n == 1: return self.rev for i in range(2,int(n**0.5)+1): if n % i == 0: self.rev.append(i) self.prime(int(n/i)) break else: self.rev.append(n) return self.rev x = get_prime() y = get_prime() primeX = x.prime(X) primeY= y.prime(Y) dicX = defaultdict(int) dicY = defaultdict(int) for p in primeX: dicX[p] += 1 for p in primeY: dicY[p] += 1 def check(): if dicX.keys() >= dicY.keys(): return True else: return False if check(): flag = True for p in dicX.keys(): if dicX[p] * A >= dicY[p] * B: pass else: flag = False if flag: print('Yes') else: print('No') else: print('No')