(use math.prime) (let* ((n (read))) (define m (let loop ((primes *primes*) (m n)) (let1 prime (car primes) (cond ((< m prime) 0) (else (if (= (mod m prime) 0) (+ 1 (loop primes (div m prime))) (loop (cdr primes) m))))))) (print (if (> m 2) "YES" "NO")))