N = int(input()) def eratosthenes_sieve(n): if n < 2: return [] is_primes = [True] * (n + 1) for x in range(2, int(n ** 0.5 + 1) + 1): if is_primes[x]: for mx in range(2 * x, n + 1, x): is_primes[mx] = False return [i for i in range(2, n + 1) if is_primes[i]] Primes = set(eratosthenes_sieve(int(N ** 0.5) + 2)) for n in range(2, int(N ** 0.5) + 1): if N % n == 0: nn = N // n if not ((n in Primes) and (nn in Primes)): print('YES') break else: print('NO')