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())
if n == 1:print("YES")
else:
    q = [1]
    s = list(range(1, n + 1))
    w = 1
    for i in range(1, n * 2):
        w += i
        if w > n:
            w = w % n
        q.append(w)
    if sorted(list(set(q))) == s:
        print("YES")
    else:
        print("NO")
