#include #include #define rep(i,n) for(i=0;i<(int)(n);i++) using namespace std; typedef long long ll; ll n; bool judge(ll n){ int i,j; ll sum=1,nn=n,tmp; if(nn%2==0){ tmp=0; while(nn%2==0){ nn/=2; tmp*=2; tmp++; } tmp*=2; tmp++; sum*=tmp; } if(sum>2*n)return false; for(i=3;(ll)i*i<=n||nn>1;i+=2){ if(nn%i==0){ tmp=0; while(nn%i==0){ nn/=i; tmp*=i; tmp++; } tmp*=i; tmp++; sum*=tmp; if(sum>2*n)return false; } } return sum==2*n; } int main(){ int i,j; //rep(i,1000)if(judge(i+1))printf("%d\n",i+1);return 0; scanf("%lld",&n); printf("%s\n",judge(n)?"Yes":"No"); return 0; }