#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;

int o=true;
int z;
int nex(int n){
    int t=o;
    for(;;){
        if(n&t){
            n^=t;
        }
        else{
            n|=t;
            return n;
        }
        t<<=o;
    }
}

int main(){
    int N;
    cin>>N;

    if(N==o){
        cout<<"NO"<<endl;
        return z;
    }

    for(int i=nex(o);i<N;i=nex(i)){
        if(N%i)continue;
        cout<<"NO"<<endl;
        return z;
    }
    cout<<"YES"<<endl;
    return z;
}