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.

n = int(input())


cojines = list(range(n))

actual = 0
k = 0
for i in range(n*3):
    actual = ((actual+k+1) % n)
    if actual in cojines:
        cojines.remove(actual)
        if len(cojines) == 0:
            break
    k = k+1

if len(cojines) == 0:
    print('YES')
else:
    print('NO')
    
