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 JAVA (judge verdict: Wrong Answer)

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.HashMap;

public class Main {
	public static void main(String[] args) throws Exception {
	    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

	    String line = br.readLine();

	    HashMap<String, Integer> ans = new HashMap<String, Integer>();
	    for (int i = 0; i < line.length(); i++) {
	    	String str = Character.toString(line.charAt(i)).toLowerCase();

	    	if (ans.containsKey(str)) {
	    		ans.put(str, ans.get(str) + 1);
	    	} else {
	    		ans.put(str, 1);
	    	}
	    }

	    // Display Answer
	    StringBuilder sb = new StringBuilder();
	    for (char c = 'a'; c <= 'z'; c++) {
	    	sb.append(c).append(" : ");
	    	String keyChar = Character.toString(c);
	    	if (ans.containsKey(keyChar)) {
	    		sb.append(ans.get(keyChar));
	    	} else {
	    		sb.append("0");
	    	}

    		sb.append("\n");
 	    }
	    System.out.print(sb.toString());
	}
}