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.
import sys
from math import gcd
def li(): return list(map(int, sys.stdin.readline().split()))
def inp(): return int(sys.stdin.readline())

n=inp()
if n&n-1:
    print("NO")
else:
    print("YES")


# # This code is being submitted by Pratyush Parashar
# # This code is being submitted by Pratyush Parashar
# # This code is being submitted by Pratyush Parashar
# # This code is being submitted by Pratyush Parashar
# # This code is being submitted by Pratyush Parashar
# # This code is being submitted by Pratyush Parashar
# # This code is being submitted by Pratyush Parashar
# # This code is being submitted by Pratyush Parashar
# # This code is being submitted by Pratyush Parashar
# # This code is being submitted by Pratyush Parashar
 		 	  				 		 			 	   	   	  	