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())
p=[0 for i in range(n+1)]
i=1
sum=1
while True:
    p[sum]+=1
    if p[sum]>2:
        break
    sum=(sum+i)
    if sum!=n:
        sum%=n
    i+=1
p[0]=1
if all(p):
    print("YES")
else:
    print("NO")