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())
list1=[]
c=2;
k=2;
if(n==1):
    print("YES")
    exit(0)
else:
    list1.append(2);
    for i in range(n-1):
        c=c+k
        if(c%n==0):
            list1.append(n)
            c=n;
            k=k+1
        else:
            list1.append(c%n)
            c=c%n
            k=k+1

list2=set(list1)
if(len(list2)==n):
    print("YES")
else:
    print("NO")