A flea is sitting at one of the *n* hassocks, arranged in a circle, at the moment. After minute number *k* the flea jumps through *k* - 1 hassoсks (clockwise). For example, after the first minute the flea jumps to the neighboring hassock. You should answer: will the flea visit all the hassocks or not. We assume that flea has infinitely much time for this jumping.
The only line contains single integer: 1 ≤ *n* ≤ 1000 — number of hassocks.
import math

def ni():
    return int(input())
def vals():
    return list(map(int, input().split()))
def nextLine():
    return input()

n = ni()

works = [0 for i in range(n)]
s = set()
cur = 0
works[cur] = 1
for i in range(1, n + 1):
    cur += i
    works[cur % n] = 1

print("NO" if min(works) < 1 else "YES")