import sys input = lambda :sys.stdin.readline()[:-1] ni = lambda :int(input()) na = lambda :list(map(int,input().split())) sys.setrecursionlimit(10**7) yes = lambda :print("yes");Yes = lambda :print("Yes");YES = lambda : print("YES") no = lambda :print("no");No = lambda :print("No");NO = lambda : print("NO") ####################################################################### def facts(n): res = [] if n==1: return res for i in range(2, int(n**0.5)+4): if n%i==0: c = 0 while n%i==0: c += 1 n//=i res.append((i, c)) if n!=1: res.append((n, 1)) return res x,a,y,b = na() d1 = facts(x) d2 = facts(y) from collections import defaultdict d = defaultdict(int) for i, j in d1: d[i] = j for i, j, in d2: if d[i]*a