spNum :: Int -> Bool
spNum = uncurry (&&) . (uncurry (==) . (floor . sqrt . fromIntegral &&& ceiling . sqrt . fromIntegral) &&& pNum)
spNum :: Int -> Bool
spNum = uncurry (&&) . (uncurry (==) . (floor . sqrt . fromIntegral &&& ceiling . sqrt . fromIntegral) &&& pNum)
spNum = uncurry (&&) . (uncurry (==) . (floor . sqrt . fromIntegral &&& ceiling . sqrt . fromIntegral) &&& pNum)