#pragma GCC optimize("Ofast,unroll-loops")
#pragma GCC optimize("O3")
#include <bits/stdc++.h>
#define ll long long
#define ld long double
#define i128 __int128
#define all(x) x.begin(), x.end()
#define sz(x) (ll)x.size()
#define pb push_back
#define ppb pop_back
#define gcd __gcd
#define sq(n) (ll)sqrt(n)
#define cb(n) (ll)cbrt(n)
#define lcm(a, b) (a / gcd(a, b) * b)
#define mem(a, x) memset(a, x, sizeof(a))
#define PhuocThien \
ios_base::sync_with_stdio(false); \
cin.tie(nullptr);
#define file(name)\
freopen(name ".inp", "r", stdin);\
freopen(name ".out", "w", stdout);
using namespace std;
const ll INF = 1e18;
const ll NINF = -1e18;
const ll mod = 1e9 + 7;
const ll maxn = 1e6;
ll tcs(ll n) {
ll sum = 0;
do {
sum += n % 10;
n /= 10;
} while(n);
return sum;
}
bool scp(ll n) {
return sq(n) * sq(n) == n;
}
bool snt(ll n) {
if(n < 2) return 0;
if(n == 2 || n == 3) return 1;
if(n % 2 == 0 || n % 3 == 0) return 0;
for(ll i = 5; i * i <= n; i += 6)
if(n % i == 0 || n % (i + 2) == 0) return 0;
return 1;
}
int main() {
PhuocThien
ll n;
cin >> n;
if(scp(n) && snt(tcs(n))) cout << "YES";
else cout << "NO";
}
// :3 cute
I3ByYWdtYSBHQ0Mgb3B0aW1pemUoIk9mYXN0LHVucm9sbC1sb29wcyIpCiNwcmFnbWEgR0NDIG9wdGltaXplKCJPMyIpCgojaW5jbHVkZSA8Yml0cy9zdGRjKysuaD4KCiNkZWZpbmUgbGwgbG9uZyBsb25nCiNkZWZpbmUgbGQgbG9uZyBkb3VibGUKI2RlZmluZSBpMTI4IF9faW50MTI4CgojZGVmaW5lIGFsbCh4KSB4LmJlZ2luKCksIHguZW5kKCkKI2RlZmluZSBzeih4KSAobGwpeC5zaXplKCkKCiNkZWZpbmUgcGIgcHVzaF9iYWNrCiNkZWZpbmUgcHBiIHBvcF9iYWNrCiNkZWZpbmUgZ2NkIF9fZ2NkCiNkZWZpbmUgc3EobikgKGxsKXNxcnQobikKI2RlZmluZSBjYihuKSAobGwpY2JydChuKQojZGVmaW5lIGxjbShhLCBiKSAoYSAvIGdjZChhLCBiKSAqIGIpCiNkZWZpbmUgbWVtKGEsIHgpIG1lbXNldChhLCB4LCBzaXplb2YoYSkpCgojZGVmaW5lIFBodW9jVGhpZW4gXAppb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKGZhbHNlKTsgXApjaW4udGllKG51bGxwdHIpOwoKI2RlZmluZSBmaWxlKG5hbWUpXApmcmVvcGVuKG5hbWUgIi5pbnAiLCAiciIsIHN0ZGluKTtcCmZyZW9wZW4obmFtZSAiLm91dCIsICJ3Iiwgc3Rkb3V0KTsKCnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgpjb25zdCBsbCBJTkYgPSAxZTE4Owpjb25zdCBsbCBOSU5GID0gLTFlMTg7CmNvbnN0IGxsIG1vZCA9IDFlOSArIDc7CmNvbnN0IGxsIG1heG4gPSAxZTY7CgpsbCB0Y3MobGwgbikgewogICBsbCBzdW0gPSAwOwogICBkbyB7CiAgICAgc3VtICs9IG4gJSAxMDsKICAgICBuIC89IDEwOwogICB9IHdoaWxlKG4pOwogICByZXR1cm4gc3VtOwp9Cgpib29sIHNjcChsbCBuKSB7CiAgIHJldHVybiBzcShuKSAqIHNxKG4pID09IG47Cn0KCmJvb2wgc250KGxsIG4pIHsKICAgaWYobiA8IDIpIHJldHVybiAwOwogICBpZihuID09IDIgfHwgbiA9PSAzKSByZXR1cm4gMTsKICAgaWYobiAlIDIgPT0gMCB8fCBuICUgMyA9PSAwKSByZXR1cm4gMDsKICAgZm9yKGxsIGkgPSA1OyBpICogaSA8PSBuOyBpICs9IDYpCiAgICAgaWYobiAlIGkgPT0gMCB8fCBuICUgKGkgKyAyKSA9PSAwKSByZXR1cm4gMDsKICAgcmV0dXJuIDE7Cn0KaW50IG1haW4oKSB7CiAgICBQaHVvY1RoaWVuCiAgICBsbCBuOwogICAgY2luID4+IG47CiAgICBpZihzY3AobikgJiYgc250KHRjcyhuKSkpIGNvdXQgPDwgIllFUyI7CiAgICBlbHNlIGNvdXQgPDwgIk5PIjsKfQovLyA6MyBjdXRlCg==