def knight(list):
    temp = []
    for item in list:
        temp.append([item[0]-2, item[1]-1])
        temp.append([item[0]-2, item[1]+1])
        temp.append([item[0]-1, item[1]-2])
        temp.append([item[0]-1, item[1]+2])
        temp.append([item[0]+1, item[1]-2])
        temp.append([item[0]+1, item[1]+2])
        temp.append([item[0]+2, item[1]-1])
        temp.append([item[0]+2, item[1]+1])
    return temp

dest = map(int, raw_input().split())

if dest == [0, 0]:
    print 'YES'
    exit()

available = [[0, 0]]
for n in range(3):
    available = knight(available)
    if dest in available:
        print 'YES'
        break
else: print 'NO'