import Data.Char
main = do
  text<- getContents
  putStr $ unlines $ zipWith (\c x -> [c]++" : "++show x) ['a'..'z'] (count text)
    where
      lower txt = map (\c-> length $ filter (== c) txt) ['a'..'z']
      upper txt = map (\c-> length $ filter (== c) txt) ['A'..'Z']
      count txt = zipWith (+) (lower txt) (upper txt)