## https://yukicoder.me/problems/no/683 from collections import deque def main(): A, B = map(int, input().split()) if A == 0 or B == 0: print("Yes") return a_set = {(A, B)} queue = deque() queue.append((A, B)) while len(queue) > 0: x, y = queue.popleft() if x % 2 == 0 and y > 0: new_x = x // 2 new_y = y - 1 if new_x == 0 or new_y == 0: print("Yes") return if (new_x, new_y) not in a_set: a_set.add((new_x, new_y)) queue.append((new_x, new_y)) if x > 0 and y % 2 == 0: new_x = x - 1 new_y = y // 2 if new_x == 0 or new_y == 0: print("Yes") return if (new_x, new_y) not in a_set: a_set.add((new_x, new_y)) queue.append((new_x, new_y)) if (0, 0) in a_set: print("Yes") else: print("No") if __name__ == "__main__": main()