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.
hassocks = int(input())
visited_hassocks = [False] * hassocks
visited_hassocks[0] = True
i = 0
k = 1
while k < 1000:
    k += 1
    i += (k - 1)
    i = i % hassocks
    visited_hassocks[i] = True
if visited_hassocks.count(True) == len(visited_hassocks):
    print('YES')
else:
    print('NO')
