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, c, k = int(input()), 0, 0
v = [[False] * n for i in range(n)]
while not v[c][k]:
    v[c][k] = True
    k = (k + 1) % n
    c = (c + k) % n
print('YES' if all(any(x) for x in v) else 'NO')