Problem:
Counting Characters

Write a program which counts and reports the number of each alphabetical letter. Ignore the case of characters.

Input

A sentence in English is given in several lines.

Output

Prints the number of alphabetical letters in the following format:

a : The number of 'a'
b : The number of 'b'
c : The number of 'c'
.
.
z : The number of 'z'

Constraints

The number of characters in the sentence < 1200

Sample Input

This is a pen.

Sample Output

a : 1
b : 0
c : 0
d : 0
e : 1
f : 0
g : 0
h : 1
i : 2
j : 0
k : 0
l : 0
m : 0
n : 1
o : 0
p : 1
q : 0
r : 0
s : 2
t : 1
u : 0
v : 0
w : 0
x : 0
y : 0
z : 0

Solution in C# (judge verdict: Accepted)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ITP1_8_C
{
    class Program
    {
        static void Main(string[] args)
        {
            //与えられた複数行の英文に含まれる、各アルファベットの数を数えるプログラム

            string[] alp = { "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z" };
            int[] count = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
            string str;
            //アルファベット26文字をalp[i]に格納
            //アルファベットそれぞれの個数をcount[j]に格納
            //count[j(n)]の値はalp[i(n)]に対応するものとする。
            while ((str = Console.ReadLine()) != null)
            {
                string input = str.Replace(" ", "").ToLower();          //読み込んだ文字列から空白を取り除き、すべて小文字に変換する
                                                                        //なぜ2段階に分ける必要があるのかわからない


                for (int i = 0; i < 26; i++)                        //alp[]配列と総当たりする。
                {
                    for (int j = 0; j < input.Length; j++)          //count[]配列の何番目に回数を1回加算するか
                    {
                        if (input[j].ToString() == alp[i])          //取得した文字がalp[]配列の文字と一致するとき
                        {
                            count[i]++;                             //アルファベットに対応するcount配列の値を1増やす
                        }
                    }
                }
            }
            for (int i = 0; i < 26; i++)
            {
                Console.WriteLine(alp[i] + " : " + count[i]);
            }
        }
    }
}