main :: IO () main = (readLn :: IO Integer) >>= putStrLn . solve solve :: Integer -> String solve n = if m > 2 then "YES" else "NO" where m = length $ factorization n factors :: Integer -> [Integer] factors n = [x | x <- [1..n], n `mod` x == 0] factorization :: Integer -> [Integer] factorization 1 = [] factorization x = v : factorization (x `div` v) where v = (factors x) !! 1