/**
 * 与えられた英文に含まれる、
 * 各アルファベットの数を数えるプログラムを作成して下さい。 なお、小文字と大文字は区別しません。
 */

//スキャナつかうため

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

public class Main {
	// プログラムのエントリポイント
	public static void main(String[] args) {
		// 入力ストリームの生成
		Scanner sc = new Scanner(new BufferedReader(new InputStreamReader(System.in)));

		// アルファベットの数配列を作る
		int[] cou = new int[26];

		// 処理を繰り返す
		while (sc.hasNext()) {
			// 受け取った文字列を受け取り、小文字にする
			String stralf = sc.nextLine();
			stralf = stralf.toLowerCase();
			// 文字列をcharに変換して配列に入れていく
			char[] chalf = stralf.toCharArray();
			// 受け取った文字列の長さだけ繰り返す
			for (int i = 0; i < chalf.length; i++) {
				// chalfにアルファベットはいっていた場合、couの配列の数字に＋１していく
				if (chalf[i] >= 'a' && chalf[i] <= 'z')
					cou[chalf[i] - 'a']++;
			}
		}
		// アルファベット＋１でつ次の文字表示
		// アルファベトに対応している数値表示
		for (int k = 0; k < 26; k++) {
			System.out.println((char) ('a' + k) + " : " + cou[k]);
		}

	}
} import java.io.BufferedReader; BufferedReader java.io import java.io.InputStreamReader; InputStreamReader java.io import java.util.Scanner; Scanner java.util public class Main {
	// プログラムのエントリポイント
	public static void main(String[] args) {
		// 入力ストリームの生成
		Scanner sc = new Scanner(new BufferedReader(new InputStreamReader(System.in)));

		// アルファベットの数配列を作る
		int[] cou = new int[26];

		// 処理を繰り返す
		while (sc.hasNext()) {
			// 受け取った文字列を受け取り、小文字にする
			String stralf = sc.nextLine();
			stralf = stralf.toLowerCase();
			// 文字列をcharに変換して配列に入れていく
			char[] chalf = stralf.toCharArray();
			// 受け取った文字列の長さだけ繰り返す
			for (int i = 0; i < chalf.length; i++) {
				// chalfにアルファベットはいっていた場合、couの配列の数字に＋１していく
				if (chalf[i] >= 'a' && chalf[i] <= 'z')
					cou[chalf[i] - 'a']++;
			}
		}
		// アルファベット＋１でつ次の文字表示
		// アルファベトに対応している数値表示
		for (int k = 0; k < 26; k++) {
			System.out.println((char) ('a' + k) + " : " + cou[k]);
		}

	}
} Main // プログラムのエントリポイント
	public static void main(String[] args) {
		// 入力ストリームの生成
		Scanner sc = new Scanner(new BufferedReader(new InputStreamReader(System.in)));

		// アルファベットの数配列を作る
		int[] cou = new int[26];

		// 処理を繰り返す
		while (sc.hasNext()) {
			// 受け取った文字列を受け取り、小文字にする
			String stralf = sc.nextLine();
			stralf = stralf.toLowerCase();
			// 文字列をcharに変換して配列に入れていく
			char[] chalf = stralf.toCharArray();
			// 受け取った文字列の長さだけ繰り返す
			for (int i = 0; i < chalf.length; i++) {
				// chalfにアルファベットはいっていた場合、couの配列の数字に＋１していく
				if (chalf[i] >= 'a' && chalf[i] <= 'z')
					cou[chalf[i] - 'a']++;
			}
		}
		// アルファベット＋１でつ次の文字表示
		// アルファベトに対応している数値表示
		for (int k = 0; k < 26; k++) {
			System.out.println((char) ('a' + k) + " : " + cou[k]);
		}

	} main {
		// 入力ストリームの生成
		Scanner sc = new Scanner(new BufferedReader(new InputStreamReader(System.in)));

		// アルファベットの数配列を作る
		int[] cou = new int[26];

		// 処理を繰り返す
		while (sc.hasNext()) {
			// 受け取った文字列を受け取り、小文字にする
			String stralf = sc.nextLine();
			stralf = stralf.toLowerCase();
			// 文字列をcharに変換して配列に入れていく
			char[] chalf = stralf.toCharArray();
			// 受け取った文字列の長さだけ繰り返す
			for (int i = 0; i < chalf.length; i++) {
				// chalfにアルファベットはいっていた場合、couの配列の数字に＋１していく
				if (chalf[i] >= 'a' && chalf[i] <= 'z')
					cou[chalf[i] - 'a']++;
			}
		}
		// アルファベット＋１でつ次の文字表示
		// アルファベトに対応している数値表示
		for (int k = 0; k < 26; k++) {
			System.out.println((char) ('a' + k) + " : " + cou[k]);
		}

	} Scanner sc = new Scanner(new BufferedReader(new InputStreamReader(System.in))); sc new Scanner(new BufferedReader(new InputStreamReader(System.in))) int[] cou = new int[26]; cou new int[26] 26 while (sc.hasNext()) {
			// 受け取った文字列を受け取り、小文字にする
			String stralf = sc.nextLine();
			stralf = stralf.toLowerCase();
			// 文字列をcharに変換して配列に入れていく
			char[] chalf = stralf.toCharArray();
			// 受け取った文字列の長さだけ繰り返す
			for (int i = 0; i < chalf.length; i++) {
				// chalfにアルファベットはいっていた場合、couの配列の数字に＋１していく
				if (chalf[i] >= 'a' && chalf[i] <= 'z')
					cou[chalf[i] - 'a']++;
			}
		} sc.hasNext() sc.hasNext sc {
			// 受け取った文字列を受け取り、小文字にする
			String stralf = sc.nextLine();
			stralf = stralf.toLowerCase();
			// 文字列をcharに変換して配列に入れていく
			char[] chalf = stralf.toCharArray();
			// 受け取った文字列の長さだけ繰り返す
			for (int i = 0; i < chalf.length; i++) {
				// chalfにアルファベットはいっていた場合、couの配列の数字に＋１していく
				if (chalf[i] >= 'a' && chalf[i] <= 'z')
					cou[chalf[i] - 'a']++;
			}
		} String stralf = sc.nextLine(); stralf sc.nextLine() sc.nextLine sc stralf = stralf.toLowerCase() stralf stralf.toLowerCase() stralf.toLowerCase stralf char[] chalf = stralf.toCharArray(); chalf stralf.toCharArray() stralf.toCharArray stralf for (int i = 0; i < chalf.length; i++) {
				// chalfにアルファベットはいっていた場合、couの配列の数字に＋１していく
				if (chalf[i] >= 'a' && chalf[i] <= 'z')
					cou[chalf[i] - 'a']++;
			} int i = 0; int i = 0; i 0 i < chalf.length i chalf.length chalf chalf.length i++ i++ i {
				// chalfにアルファベットはいっていた場合、couの配列の数字に＋１していく
				if (chalf[i] >= 'a' && chalf[i] <= 'z')
					cou[chalf[i] - 'a']++;
			} {
				// chalfにアルファベットはいっていた場合、couの配列の数字に＋１していく
				if (chalf[i] >= 'a' && chalf[i] <= 'z')
					cou[chalf[i] - 'a']++;
			} if (chalf[i] >= 'a' && chalf[i] <= 'z')
					cou[chalf[i] - 'a']++; chalf[i] >= 'a' && chalf[i] <= 'z' chalf[i] >= 'a' chalf[i] chalf i 'a' chalf[i] <= 'z' chalf[i] chalf i 'z' cou[chalf[i] - 'a']++ cou[chalf[i] - 'a'] cou chalf[i] - 'a' chalf[i] chalf i 'a' for (int k = 0; k < 26; k++) {
			System.out.println((char) ('a' + k) + " : " + cou[k]);
		} int k = 0; int k = 0; k 0 k < 26 k 26 k++ k++ k {
			System.out.println((char) ('a' + k) + " : " + cou[k]);
		} {
			System.out.println((char) ('a' + k) + " : " + cou[k]);
		} System.out.println((char) ('a' + k) + " : " + cou[k]) System.out.println System.out System System.out (char) ('a' + k) + " : " + cou[k] (char) ('a' + k) + " : " + cou[k] (char) ('a' + k) 'a' k " : " cou[k] cou k String[] args args public class Main {
	// プログラムのエントリポイント
	public static void main(String[] args) {
		// 入力ストリームの生成
		Scanner sc = new Scanner(new BufferedReader(new InputStreamReader(System.in)));

		// アルファベットの数配列を作る
		int[] cou = new int[26];

		// 処理を繰り返す
		while (sc.hasNext()) {
			// 受け取った文字列を受け取り、小文字にする
			String stralf = sc.nextLine();
			stralf = stralf.toLowerCase();
			// 文字列をcharに変換して配列に入れていく
			char[] chalf = stralf.toCharArray();
			// 受け取った文字列の長さだけ繰り返す
			for (int i = 0; i < chalf.length; i++) {
				// chalfにアルファベットはいっていた場合、couの配列の数字に＋１していく
				if (chalf[i] >= 'a' && chalf[i] <= 'z')
					cou[chalf[i] - 'a']++;
			}
		}
		// アルファベット＋１でつ次の文字表示
		// アルファベトに対応している数値表示
		for (int k = 0; k < 26; k++) {
			System.out.println((char) ('a' + k) + " : " + cou[k]);
		}

	}
} public class Main {
	// プログラムのエントリポイント
	public static void main(String[] args) {
		// 入力ストリームの生成
		Scanner sc = new Scanner(new BufferedReader(new InputStreamReader(System.in)));

		// アルファベットの数配列を作る
		int[] cou = new int[26];

		// 処理を繰り返す
		while (sc.hasNext()) {
			// 受け取った文字列を受け取り、小文字にする
			String stralf = sc.nextLine();
			stralf = stralf.toLowerCase();
			// 文字列をcharに変換して配列に入れていく
			char[] chalf = stralf.toCharArray();
			// 受け取った文字列の長さだけ繰り返す
			for (int i = 0; i < chalf.length; i++) {
				// chalfにアルファベットはいっていた場合、couの配列の数字に＋１していく
				if (chalf[i] >= 'a' && chalf[i] <= 'z')
					cou[chalf[i] - 'a']++;
			}
		}
		// アルファベット＋１でつ次の文字表示
		// アルファベトに対応している数値表示
		for (int k = 0; k < 26; k++) {
			System.out.println((char) ('a' + k) + " : " + cou[k]);
		}

	}
} Main
/**
 * 与えられた英文に含まれる、
 * 各アルファベットの数を数えるプログラムを作成して下さい。 なお、小文字と大文字は区別しません。
 */

//スキャナつかうため

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

public class Main {
	// プログラムのエントリポイント
	public static void main(String[] args) {
		// 入力ストリームの生成
		Scanner sc = new Scanner(new BufferedReader(new InputStreamReader(System.in)));

		// アルファベットの数配列を作る
		int[] cou = new int[26];

		// 処理を繰り返す
		while (sc.hasNext()) {
			// 受け取った文字列を受け取り、小文字にする
			String stralf = sc.nextLine();
			stralf = stralf.toLowerCase();
			// 文字列をcharに変換して配列に入れていく
			char[] chalf = stralf.toCharArray();
			// 受け取った文字列の長さだけ繰り返す
			for (int i = 0; i < chalf.length; i++) {
				// chalfにアルファベットはいっていた場合、couの配列の数字に＋１していく
				if (chalf[i] >= 'a' && chalf[i] <= 'z')
					cou[chalf[i] - 'a']++;
			}
		}
		// アルファベット＋１でつ次の文字表示
		// アルファベトに対応している数値表示
		for (int k = 0; k < 26; k++) {
			System.out.println((char) ('a' + k) + " : " + cou[k]);
		}

	}
}