import math def gcd(a, b): while b: a, b = b, a % b return a def parse_fraction(s): if '.' in s: left, right = s.split('.') else: left = s right = '0000' right = right.ljust(4, '0')[:4] numerator = int(left) * 10000 + int(right) denominator = 10000 g = gcd(numerator, denominator) return numerator // g, denominator // g def parse_fraction_with_sign(s): sign = 1 if s.startswith('-'): sign = -1 s = s[1:] if '.' in s: left, right = s.split('.') else: left = s right = '0000' right = right.ljust(4, '0')[:4] numerator = sign * (int(left) * 10000 + int(right)) denominator = 10000 g = gcd(abs(numerator), denominator) return numerator // g, denominator // g def factor(n): factors = {} if n == 0: return factors while n % 2 == 0: factors[2] = factors.get(2, 0) + 1 n = n // 2 i = 3 max_i = math.isqrt(n) + 1 while i <= max_i and n > 1: while n % i == 0: factors[i] = factors.get(i, 0) + 1 n = n // i max_i = math.isqrt(n) + 1 i += 2 if n > 1: factors[n] = 1 return factors A, B = input().split() a_num, a_den = parse_fraction(A) b_num, b_den = parse_fraction_with_sign(B) if b_num == 0: print("Yes") else: p = a_num q = a_den c = b_num d = b_den abs_c = abs(c) p_factors = factor(p) q_factors = factor(q) valid = True for prime, exp in p_factors.items(): if (exp * abs_c) % d != 0: valid = False break if valid: for prime, exp in q_factors.items(): if (exp * abs_c) % d != 0: valid = False break print("Yes" if valid else "No")