#include #define rep(i,n) for(int i = 0; i < (n); ++i) #define srep(i,s,t) for (int i = s; i < t; ++i) #define drep(i,n) for(int i = (n)-1; i >= 0; --i) using namespace std; typedef long long int ll; typedef pair P; #define yn {puts("YES");}else{puts("NO");} #define MAX_N 200005 int main() { ll n; cin >> n; ll a[100] = {}; a[0] = 1; srep(i,1,50){ a[i] = a[i-1] * 2 + 1; } int flag = 0; rep(i,40){ ll nn = n; drep(j,i){ if(nn >= a[j]){ nn -= a[j]; } } if(nn == 0){ flag = 1; break; } } if(flag)yn; return 0; }