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:
    x=(-1+(1+8*n)**(0.5))/2
    x1=(-1-(1+8*n)**(0.5))/2
    if (x>0 and x==int(x)) or (x1>0 and x1==int(x)):
        print("NO")
    else:
        l=[1]
        c=1
        i=1
        for i in range(3000):
            c+=i
            i+=1
            l.append((c%n)+1)
        if len(set(l))==n:
            print("YES")
        else:
            print("NO")