def bitmovw(a, b):
    if a == b:
        return 'YES'
    a = bin(a)
    b = bin(b)
    a = a[2:]
    b = b[2:]
    for i in range(16 - len(a)):
        a = '0' +a
    a = list(a)
    count = 0
    while True:
        de = a.pop(0)
        a.append(de)
        res = ''.join(a)
        if int(res) == int(b):
            return 'YES'
        count += 1
        if count == 16:
            return 'NO'
    #a = ''.join(a)





while True:
    try:

        a, b = map(int, input().split())
        res = bitmovw(a, b)
        print(res)
    except:
        break

#k = list(map(int, a.split()))

# print(int(a))
#print(int(a))