N = int(input()) def can_create(N): # Check k from 1 to 30 (since 2^31 is about 2e9, which covers N up to 1e9) for k in range(1, 31): remaining = N for j in range(1, k + 1): exponent = k - j + 1 current_val = (1 << exponent) - 1 # equivalent to 2^exponent -1 if remaining >= current_val: remaining -= current_val if remaining == 0: return True return False print("YES" if can_create(N) else "NO")