fun readLargeInt () = valOf (TextIO.scanStream (LargeInt.scan StringCvt.DEC) TextIO.stdIn) fun isPrimeNumber n = let fun isPrimeNumberAux i = if n < i * i then true else if n mod i = 0 then false else isPrimeNumberAux (i + 1) in if n = 1 then false else isPrimeNumberAux 2 end fun canUse n = let fun canUseAux i = if n mod i = 0 andalso isPrimeNumber i = false then true else if n <= i * i then false else canUseAux (i + 1) in if n = 1 then false else canUseAux 2 end val () = let val n = readLargeInt () val ans = if canUse n then "YES" else "NO" in print (ans ^ "\n") end