#include<iostream>
#include<cmath>
#define N 50001
using namespace std;
bool isprime[N];
int prime[N],nprime;
void doprime()
{
long long i,j;
nprime=0;
memset(isprime,true,sizeof(isprime));
isprime[1]=0;
for(i=2;i<N;i++)
{
if(isprime[i])
{
prime[++nprime]=i;
for(j=i*i;j<N;j+=i)
isprime[j]=false;
}
}
}
bool isp(int n)
{
int i,k=(int)sqrt(double(n));
for(i=1;prime[i]<=k;i++)
if(n%prime[i]==0)
return 0;
return 1;
}
int main()
{
doprime();
long long n;
while(cin>>n)
{
if(n==1)
{
cout<<"NO"<<endl;
continue;
}
if(n>N)
{
if(isp(n))
cout<<"YES"<<endl;
else
cout<<"NO"<<endl;
}
else
{
if(isprime[n])
cout<<"YES"<<endl;
else
cout<<"NO"<<endl;
}
}
return 0;
}