P = list(range(10**6+1)) for i in range(2,10**6+1): if i*i>10**6:break for j in range(i*i,10**6+1,i): P[j] = P[i] Q = [] for i in range(2,10**6+1): if P[i]==i: Q.append(i) X,A,Y,B = map(int,input().split()) Cx = {} x = X for p in Q: if x==1:break while x%p==0: Cx[p] = Cx.get(p,0)+1 x //= p if x>1: Cx[x] = Cx.get(x,0)+1 Cy = {} x = Y for p in Q: if x==1:break while x%p==0: Cy[p] = Cy.get(p,0)+1 x //= p if x>1: Cy[x] = Cy.get(x,0)+1 flag = "Yes" for p in Cy: if p not in Cx: flag = "No" break if Cy[p]*B>Cx[p]*A: flag = "No" break print(flag)