import Data.Char (toLower)

cal :: Char -> String -> Int
cal c s = length . filter (==c) . map toLower $ s

solv :: String -> String
solv l = concat . map (\(a, n) -> a : " : " ++ (show (cal a l)) ++ "\n") $ allA
  where allA = zip ['a'..'z'] (repeat 0)

main = getContents >>= putStr . solv