#define _GLIBCXX_DEBUG
#include <bits/stdc++.h>
#include <atcoder/dsu>
using namespace std;
using namespace atcoder;
typedef long long ll;
typedef pair<ll,ll> pi;
#define ALL(x) x.begin(),x.end()
#define rep(i,a,b) for(int i=a;i<b;i++)
using vi = vector<int>; 
using vvi = vector<vi>; 
using li =vector<ll>;
using lli=vector<li>;
using si =vector<char>;
using ssi =vector<si>;
const long long mod=998244353;
//for (auto [key, val] : mp)
int main() { ll n;cin>>n;
vector<ll>vec(10);
vec[0]=6;
vec[1]=28;
vec[2]=496;
vec[3]=8128;
vec[4]=33550336;
vec[5]=8589869056;
vec[6]=137438691328;
rep(i,0,7){if(vec[i]==n){cout<<"Yes";return 0;}}
cout<<"No";
}