/*
==> Don't stop when you're tired, stop when you're done.
--> @author: MIDORIYA_
*/
//*==============================================================
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef double db;
typedef long double ld;
typedef pair<int, int> pii;
typedef vector<int> vi;
typedef vector<ll> vll;
typedef vector<db> vd;
typedef vector<ld> vld;
typedef vector<bool> vb;
typedef vector<vector<ll>> vvl;
typedef vector<pii> vii;
typedef set<int> si;
typedef set<ll> sl;
#define pb push_back
#define all(x) x.begin(), x.end()
#define rall(x) x.rbegin(), x.rend()
#define endl "\n"
const ll mod = 1'000'000'007;
#define INF 2'000'000'000
#define time cerr << "Time Taken: " << (float)clock() / CLOCKS_PER_SEC << " Secs" << endl;
//*===================>>>Fast-IO-Functions<<<=================
void fastIO()
{
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
cout.tie(nullptr);
}
//*===================>>>File-IO-Functions<<<=================
void fileIO()
{
#ifndef ONLINE_JUDGE
freopen("in.txt", "r", stdin);
freopen("out.txt", "w", stdout);
#endif
}
//*===================>>>ONE-FOR-ALL-Function<<<==============
void OneForAll()
{
ll num;
cin >> num;
bool isPrime = true;
if (num < 2)
isPrime = false;
for (ll i = 2; i * i <= num; i++)
{
if (num % i == 0)
{
isPrime = false;
break;
}
}
cout << (isPrime ? "YES" : "NO") << endl;
}
int main()
{
fastIO();
fileIO();
ll tc = 1;
// cin >> tc;
while (tc--)
{
OneForAll();
}
time;
return 0;
}
LyoKPT0+IERvbid0IHN0b3Agd2hlbiB5b3UncmUgdGlyZWQsIHN0b3Agd2hlbiB5b3UncmUgZG9uZS4KLS0+IEBhdXRob3I6IE1JRE9SSVlBXwoqLwovLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQojaW5jbHVkZSA8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKdHlwZWRlZiBsb25nIGxvbmcgbGw7CnR5cGVkZWYgZG91YmxlIGRiOwp0eXBlZGVmIGxvbmcgZG91YmxlIGxkOwp0eXBlZGVmIHBhaXI8aW50LCBpbnQ+IHBpaTsKdHlwZWRlZiB2ZWN0b3I8aW50PiB2aTsKdHlwZWRlZiB2ZWN0b3I8bGw+IHZsbDsKdHlwZWRlZiB2ZWN0b3I8ZGI+IHZkOwp0eXBlZGVmIHZlY3RvcjxsZD4gdmxkOwp0eXBlZGVmIHZlY3Rvcjxib29sPiB2YjsKdHlwZWRlZiB2ZWN0b3I8dmVjdG9yPGxsPj4gdnZsOwp0eXBlZGVmIHZlY3RvcjxwaWk+IHZpaTsKdHlwZWRlZiBzZXQ8aW50PiBzaTsKdHlwZWRlZiBzZXQ8bGw+IHNsOwojZGVmaW5lIHBiIHB1c2hfYmFjawojZGVmaW5lIGFsbCh4KSB4LmJlZ2luKCksIHguZW5kKCkKI2RlZmluZSByYWxsKHgpIHgucmJlZ2luKCksIHgucmVuZCgpCiNkZWZpbmUgZW5kbCAiXG4iCmNvbnN0IGxsIG1vZCA9IDEnMDAwJzAwMCcwMDc7CiNkZWZpbmUgSU5GIDInMDAwJzAwMCcwMDAKI2RlZmluZSB0aW1lIGNlcnIgPDwgIlRpbWUgVGFrZW46ICIgPDwgKGZsb2F0KWNsb2NrKCkgLyBDTE9DS1NfUEVSX1NFQyA8PCAiIFNlY3MiIDw8IGVuZGw7Ci8vKj09PT09PT09PT09PT09PT09PT0+Pj5GYXN0LUlPLUZ1bmN0aW9uczw8PD09PT09PT09PT09PT09PT09CnZvaWQgZmFzdElPKCkKewogICAgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7CiAgICBjaW4udGllKG51bGxwdHIpOwogICAgY291dC50aWUobnVsbHB0cik7Cn0KLy8qPT09PT09PT09PT09PT09PT09PT4+PkZpbGUtSU8tRnVuY3Rpb25zPDw8PT09PT09PT09PT09PT09PT0Kdm9pZCBmaWxlSU8oKQp7CiNpZm5kZWYgT05MSU5FX0pVREdFCiAgICBmcmVvcGVuKCJpbi50eHQiLCAiciIsIHN0ZGluKTsKICAgIGZyZW9wZW4oIm91dC50eHQiLCAidyIsIHN0ZG91dCk7CiNlbmRpZgp9Ci8vKj09PT09PT09PT09PT09PT09PT0+Pj5PTkUtRk9SLUFMTC1GdW5jdGlvbjw8PD09PT09PT09PT09PT09CnZvaWQgT25lRm9yQWxsKCkKewogICAgbGwgbnVtOwogICAgY2luID4+IG51bTsKCiAgICBib29sIGlzUHJpbWUgPSB0cnVlOwogICAgaWYgKG51bSA8IDIpCiAgICAgICAgaXNQcmltZSA9IGZhbHNlOwogICAgZm9yIChsbCBpID0gMjsgaSAqIGkgPD0gbnVtOyBpKyspCiAgICB7CiAgICAgICAgaWYgKG51bSAlIGkgPT0gMCkKICAgICAgICB7CiAgICAgICAgICAgIGlzUHJpbWUgPSBmYWxzZTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgfQogICAgfQogICAgY291dCA8PCAoaXNQcmltZSA/ICJZRVMiIDogIk5PIikgPDwgZW5kbDsKfQoKaW50IG1haW4oKQp7CiAgICBmYXN0SU8oKTsKICAgIGZpbGVJTygpOwoKICAgIGxsIHRjID0gMTsKICAgIC8vIGNpbiA+PiB0YzsKICAgIHdoaWxlICh0Yy0tKQogICAgewogICAgICAgIE9uZUZvckFsbCgpOwogICAgfQogICAgdGltZTsKICAgIHJldHVybiAwOwp9Cg==