import sys from functools import lru_cache sys.setrecursionlimit(10**7) def I(): return int(sys.stdin.readline().rstrip()) def MI(): return map(int,sys.stdin.readline().rstrip().split()) def LI(): return list(map(int,sys.stdin.readline().rstrip().split())) def LI2(): return list(map(int,sys.stdin.readline().rstrip())) def S(): return sys.stdin.readline().rstrip() def LS(): return list(sys.stdin.readline().rstrip().split()) def LS2(): return list(sys.stdin.readline().rstrip()) A,B = MI() @lru_cache(maxsize=None) def f(X,Y): if X < 0 or Y < 0: return False if X % 2 == Y % 2 == 1: return False if X*Y == 0: return True if X % 2 == 0 and f(X//2,Y-1): return True if Y % 2 == 0 and f(X-1,Y//2): return True return False print('Yes' if f(A,B) else 'No')