import Data.Char

main :: IO ()
main = interact $ unlines . map (\(c,n) -> [c] ++ " : " ++ show n) . counts ['a'..'z'] . map toLower

counts :: Eq a => [a] -> [a] -> [(a, Int)]
counts xs ys = map (\x -> (x, count x ys)) xs

count :: Eq a => a -> [a] -> Int
count x = length . filter (== x)
