import Data.Char
import Control.Monad
import Text.Printf

countAlphabet :: String -> [(Char, Int)]
countAlphabet s = zip ['a' .. 'z'] $ map (countChar (toLowerAll s)) ['a' .. 'z']
    where
        countChar :: String -> Char -> Int
        countChar s c = length [x | x <- s, x == c]
        toLowerAll :: String -> String
        toLowerAll s = map toLower s

main :: IO ()
main = do
    givenstr <- getContents
    mapM_ (\(c, i) -> printf "%c : %d\n" c i ) (countAlphabet givenstr)