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: WA: Presentation Error)

import java.nio.ByteBuffer;
import java.io.BufferedReader;
import java.io.InputStreamReader;

public class Main {
	public static void main(String[] args) throws Exception {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		String str = br.readLine();
		int len = str.length();
		int[] alpabetCnt = new int[26];
		for (int i = 0; i < len; i++) {
			byte[] bytes = String.valueOf(str.charAt(i)).getBytes();
			int index = 0;
			boolean flg = true;
			for (byte b : bytes) {
				if (judgeByte(b) == 0) {
					flg = false;
				}
				else if (judgeByte(b) == -1) {
					index = b % 65;
				}
				else if (judgeByte(b) == 1) {
					index = b % 97;
				}
			}
			if (flg)
				alpabetCnt[index] = alpabetCnt[index] + 1;
		}
		String label = "a";
		for (int cnt : alpabetCnt) {
			System.out.println(label + ":" + cnt);
			byte[] bs = label.getBytes();
			bs = toBytes(bs[0] + 1);
			label = new String(bs, "US-ASCII");
		}
	}

	private static byte[] toBytes(int n) {
		byte[] bs = new byte[1];
		bs[0] = (byte) (0x000000ff & (n));
		return bs;
	}

	private static int judgeByte(byte b) {
		if (b < 65 | (b > 90 & b < 97) | b > 122) {
			return 0;
		}
		if (b < 91) {
			return -1;
		}
		return 1;
	}
}