from collections import defaultdict import sys input = sys.stdin.readline ############ ---- Input Functions ---- ############ def inp(): return(int(input())) def inlt(): return(list(map(int,input().split()))) def insr(): s = input() return(list(s[:len(s) - 1])) def invr(): return(map(int,input().split())) def increasing_strides(max): cache = defaultdict(bool) def worker(x, y, i, dir): if x == 0 and y == 0: return True elif i == max: return False elif cache.get((x, y, i, dir)): return cache[(x, y, i, dir)] else: if dir == 0 or dir == 180: cache[(x + i, y, i+1, 270)] = worker(x + i, y, i+1, 270) cache[(x - i, y, i+1, 90)] = worker(x - i, y, i+1, 90) elif dir == 90 or dir == 270: cache[(x, y + i, i+1, 0)] = worker(x, y+i, i+1, 0) cache[(x, y - i, i+1, 180)] = worker(x, y-i, i+1, 180) worker(0, 1, 1, 0) n = inp() print("Yes" if increasing_strides(n) else "No")