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.
# -*- coding: utf-8 -*-
"""
Created on Thu Oct  6 13:38:29 2022

@author: hadi
"""

x=int(input())
l=[]
if(x==1):
    print("YES")
else:    
    for i in range(1,x+1):
        l.append(i);
    cy =0
    cn = 0   
    for j in range(len(l)):
       if(j%l[j]==2%l[j]):
         cy+=1
       else:
          cn+=1
        
    if (cy==cn):
       print("YES")
    else:
       print("NO")    