Codeforces 122A - A. Lucky Division

122A - A. Lucky Division

isLucky :: Int -> Bool
isLucky n = show n == filter (\c -> c == '4' || c == '7') (show n)

calc :: Int -> String
calc n = if null [i | i <- [1..n], isLucky i, n `mod` i == 0]
         then "NO"
         else "YES"

main = do s <- getLine
          putStrLn $ calc $ read s