Files
OI-source/history_source/挑战程序设计竞赛/2.6.4.1.cpp
2023-08-03 09:22:52 +08:00

34 lines
457 B
C++

#include<cstdio>
#define ll long long
ll n;
bool isp(ll n)
{
static ll i;
for(i=2;i*i<=n;i++) if(n%i==0) return 0;
return n>1;
}
ll mod_pow(ll x,ll n,ll mod)
{
static ll res;
res=1;
while(n>0)
{
if(n&1) res=res*x%mod;
x=x*x%mod;
n>>=1;
}
return res;
}
int solve()
{
if(isp(n)) return printf("No\n");
for(ll i=2;i<n;i++) if(mod_pow(i,n,n)!=i) return printf("No\n");
printf("Yes\n");
}
int main()
{
scanf("%lld",&n);
solve();
return 0;
}