def calc_knight_destinations(x: int, y: int) -> list[tuple[int, int]]: return [(x-2, y-1), (x-2, y+1), (x-1, y+2), (x+1, y+2), (x+2, y+1), (x+2, y-1), (x+1, y-2), (x-1, y-2)] def main(): X, Y = map(int, input().split()) target = (X, Y) possible_destinations_1 = calc_knight_destinations(0, 0) possible_destinations_2 = [] for current in possible_destinations_1: possible_destinations_2.extend(calc_knight_destinations(*current)) possible_destinations_3 = [] for current in possible_destinations_2: possible_destinations_3.extend(calc_knight_destinations(*current)) if target in possible_destinations_1 or target in possible_destinations_2 or target in possible_destinations_3: print("YES") else: print("NO") if __name__ == "__main__": main()