#include #include int main(void) { unsigned long long int i = 0; unsigned long int j = 0; unsigned char usable = 0; unsigned char is_prime = 1; unsigned long long int n = 0; unsigned long long int loop_max = 0; unsigned char fact_time = 0; scanf("%lld", &n); /* 素数判定 */ loop_max = n/2; for ( i=2; i<=(loop_max/2); i++ ) { is_prime = 1; for ( j=2; j<=sqrt(i); j++ ) { if ( !(i % j) ) { is_prime = 0; break; } } if ( is_prime == 1 ) { while ( !(n % i) ) { n /= i; fact_time++; } } if ( fact_time > 2 ) { usable = 1; break; } } if ( usable ) { printf("YES\n"); } else { printf("NO\n"); } return 0; }