alpha = Array.new(27,0)
class << alpha
  def [](char)
    if (char.downcase.ord - "a".ord).between?(0,25)
      super(char.downcase.ord - "a".ord)
    else
      super(26)
    end
  end
  
  def []=(pos, other)
    if (pos.downcase.ord - "a".ord).between?(0,25)
      super(pos.downcase.ord - "a".ord, other)
    else
      super(26,other)
    end
  end
  
  def to_s
    char = "a"
    result = []
    26.times do
      result << "#{char} : #{self[char]}"
      char.next!
    end
    return result
  end
end
gets.split(//).each{|char|alpha[char] += 1}
puts alpha.to_s