#include<iostream>
#include<algorithm>
using namespace std;
int fr[100006];
string sum(long long n);
void check(string x);
#include<stack>
#include<queue>
int main()
{
long long x;
cin >> x;
if (x % 2 == 0)
{
cout << "NO\n";
return 0;
}
string y = sum(x);
check(y);
return 0;
}
string sum(long long n)
{
string m = "";
while (n != 0)
{
m += n % 2;
n /= 2;
}
return m;
}
void check(string x) {
string z = x;
reverse(x.begin(), x.end());
if (z == x)
cout << "YES\n";
else
cout << "NO\n";
}
bool is_odd(int n)
{
return (n % 2 != 0);
}
I2luY2x1ZGU8aW9zdHJlYW0+CiNpbmNsdWRlPGFsZ29yaXRobT4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKaW50IGZyWzEwMDAwNl07CnN0cmluZyBzdW0obG9uZyBsb25nIG4pOwp2b2lkIGNoZWNrKHN0cmluZyB4KTsKI2luY2x1ZGU8c3RhY2s+CiNpbmNsdWRlPHF1ZXVlPgppbnQgbWFpbigpCnsKCWxvbmcgbG9uZyB4OwoJY2luID4+IHg7CglpZiAoeCAlIDIgPT0gMCkKCXsKCQljb3V0IDw8ICJOT1xuIjsKCQlyZXR1cm4gMDsKCX0KCXN0cmluZyB5ID0gc3VtKHgpOwoJY2hlY2soeSk7CglyZXR1cm4gMDsKfQpzdHJpbmcgc3VtKGxvbmcgbG9uZyBuKQp7CglzdHJpbmcgbSA9ICIiOwoJd2hpbGUgKG4gIT0gMCkKCXsKCQltICs9IG4gJSAyOwoJCW4gLz0gMjsKCX0KCXJldHVybiBtOwp9CnZvaWQgY2hlY2soc3RyaW5nIHgpIHsKCXN0cmluZyB6ID0geDsKCXJldmVyc2UoeC5iZWdpbigpLCB4LmVuZCgpKTsKCWlmICh6ID09IHgpCgkJY291dCA8PCAiWUVTXG4iOwoJZWxzZQoJCWNvdXQgPDwgIk5PXG4iOwp9CmJvb2wgaXNfb2RkKGludCBuKQp7CglyZXR1cm4gKG4gJSAyICE9IDApOwp9