#include <bits/stdc++.h>
using namespace std;
long long power(long long x, long long y)
{
long long temp;
if( y == 0)
return 1;
temp = power(x, y/2);
if (y%2 == 0)
return temp*temp;
else
return x*temp*temp;
}
int main()
{
long long n;
cin>>n;
bool flag=false;
long long bmax=(long long)(log2(n));
for (int i=2;i<=bmax;i++)
{
long long a =pow(n,1.0/(long double)i);
if(power(a,i)==n||power(a+1,i)==n)
{
flag=true;
break;
}
}
if(flag)
cout<<"YES\n";
else
cout<<"NO\n";
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiAKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKIApsb25nIGxvbmcgIHBvd2VyKGxvbmcgbG9uZyB4LCBsb25nIGxvbmcgeSkKewogICAgbG9uZyBsb25nIHRlbXA7CiAgICBpZiggeSA9PSAwKQogICAgICAgIHJldHVybiAxOwogICAgdGVtcCA9IHBvd2VyKHgsIHkvMik7CiAgICBpZiAoeSUyID09IDApCiAgICAgICAgcmV0dXJuIHRlbXAqdGVtcDsKICAgIGVsc2UKICAgICAgICByZXR1cm4geCp0ZW1wKnRlbXA7Cn0KIAogCmludCBtYWluKCkKewogICAgbG9uZyBsb25nIG47CiAgICBjaW4+Pm47CiAgICBib29sIGZsYWc9ZmFsc2U7CiAgICBsb25nIGxvbmcgYm1heD0obG9uZyBsb25nKShsb2cyKG4pKTsKICAgIGZvciAoaW50IGk9MjtpPD1ibWF4O2krKykKICAgIHsKICAgICAgICBsb25nIGxvbmcgYSA9cG93KG4sMS4wLyhsb25nIGRvdWJsZSlpKTsKICAgICAgICBpZihwb3dlcihhLGkpPT1ufHxwb3dlcihhKzEsaSk9PW4pICAgICAgCiAgICAgICAgewogICAgICAgICAgICBmbGFnPXRydWU7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgIH0KICAgIH0KICAgIGlmKGZsYWcpCiAgICAgIGNvdXQ8PCJZRVNcbiI7CiAgICBlbHNlCiAgICAgIGNvdXQ8PCJOT1xuIjsKICAKICAgIHJldHVybiAwOwp9IAog