import java.util.Scanner;

public class Main {

	// a～zの文字数を記録する配列
	static int[] CharCount = new int[26];

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);

		// Ctrl+Zが押されるまで繰り返す
		while (sc.hasNext()) {
			// 入力と文字カウント
			CountingCharacters(sc.next());
		}
		// 表示
		Print();

	}

	// 文字列からa~zの文字をカウントする（大小文字区別なし）
	static void CountingCharacters(String str) {

		char[] c = str.toCharArray();
		for (int i = 0; i < c.length; i++) {
			for (int a = (int) 'A'; a < 1 + (int) 'Z'; a++) {
				if (Character.toUpperCase(c[i]) == (char) a) {
					CharCount[a - (int) 'A']++;
					break;
				}
			}
		}
	}

	// 表示処理
	static void Print() {
		for (int i = 0; i < CharCount.length; i++) {
			System.out.println((char) (i + (int) 'a') + " : " + CharCount[i]);
		}
	}

} import java.util.Scanner; Scanner java.util public class Main {

	// a～zの文字数を記録する配列
	static int[] CharCount = new int[26];

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);

		// Ctrl+Zが押されるまで繰り返す
		while (sc.hasNext()) {
			// 入力と文字カウント
			CountingCharacters(sc.next());
		}
		// 表示
		Print();

	}

	// 文字列からa~zの文字をカウントする（大小文字区別なし）
	static void CountingCharacters(String str) {

		char[] c = str.toCharArray();
		for (int i = 0; i < c.length; i++) {
			for (int a = (int) 'A'; a < 1 + (int) 'Z'; a++) {
				if (Character.toUpperCase(c[i]) == (char) a) {
					CharCount[a - (int) 'A']++;
					break;
				}
			}
		}
	}

	// 表示処理
	static void Print() {
		for (int i = 0; i < CharCount.length; i++) {
			System.out.println((char) (i + (int) 'a') + " : " + CharCount[i]);
		}
	}

} Main // a～zの文字数を記録する配列
	static int[] CharCount = new int[26]; CharCount new int[26] 26 public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);

		// Ctrl+Zが押されるまで繰り返す
		while (sc.hasNext()) {
			// 入力と文字カウント
			CountingCharacters(sc.next());
		}
		// 表示
		Print();

	} main {
		Scanner sc = new Scanner(System.in);

		// Ctrl+Zが押されるまで繰り返す
		while (sc.hasNext()) {
			// 入力と文字カウント
			CountingCharacters(sc.next());
		}
		// 表示
		Print();

	} Scanner sc = new Scanner(System.in); sc new Scanner(System.in) while (sc.hasNext()) {
			// 入力と文字カウント
			CountingCharacters(sc.next());
		} sc.hasNext() sc.hasNext sc {
			// 入力と文字カウント
			CountingCharacters(sc.next());
		} CountingCharacters(sc.next()) CountingCharacters sc.next() sc.next sc Print() Print String[] args args // 文字列からa~zの文字をカウントする（大小文字区別なし）
	static void CountingCharacters(String str) {

		char[] c = str.toCharArray();
		for (int i = 0; i < c.length; i++) {
			for (int a = (int) 'A'; a < 1 + (int) 'Z'; a++) {
				if (Character.toUpperCase(c[i]) == (char) a) {
					CharCount[a - (int) 'A']++;
					break;
				}
			}
		}
	} CountingCharacters {

		char[] c = str.toCharArray();
		for (int i = 0; i < c.length; i++) {
			for (int a = (int) 'A'; a < 1 + (int) 'Z'; a++) {
				if (Character.toUpperCase(c[i]) == (char) a) {
					CharCount[a - (int) 'A']++;
					break;
				}
			}
		}
	} char[] c = str.toCharArray(); c str.toCharArray() str.toCharArray str for (int i = 0; i < c.length; i++) {
			for (int a = (int) 'A'; a < 1 + (int) 'Z'; a++) {
				if (Character.toUpperCase(c[i]) == (char) a) {
					CharCount[a - (int) 'A']++;
					break;
				}
			}
		} int i = 0; int i = 0; i 0 i < c.length i c.length c c.length i++ i++ i {
			for (int a = (int) 'A'; a < 1 + (int) 'Z'; a++) {
				if (Character.toUpperCase(c[i]) == (char) a) {
					CharCount[a - (int) 'A']++;
					break;
				}
			}
		} {
			for (int a = (int) 'A'; a < 1 + (int) 'Z'; a++) {
				if (Character.toUpperCase(c[i]) == (char) a) {
					CharCount[a - (int) 'A']++;
					break;
				}
			}
		} for (int a = (int) 'A'; a < 1 + (int) 'Z'; a++) {
				if (Character.toUpperCase(c[i]) == (char) a) {
					CharCount[a - (int) 'A']++;
					break;
				}
			} int a = (int) 'A'; int a = (int) 'A'; a (int) 'A' a < 1 + (int) 'Z' a 1 + (int) 'Z' 1 (int) 'Z' a++ a++ a {
				if (Character.toUpperCase(c[i]) == (char) a) {
					CharCount[a - (int) 'A']++;
					break;
				}
			} {
				if (Character.toUpperCase(c[i]) == (char) a) {
					CharCount[a - (int) 'A']++;
					break;
				}
			} if (Character.toUpperCase(c[i]) == (char) a) {
					CharCount[a - (int) 'A']++;
					break;
				} Character.toUpperCase(c[i]) == (char) a Character.toUpperCase(c[i]) Character.toUpperCase Character c[i] c i (char) a {
					CharCount[a - (int) 'A']++;
					break;
				} CharCount[a - (int) 'A']++ CharCount[a - (int) 'A'] CharCount a - (int) 'A' a (int) 'A' break; String str str // 表示処理
	static void Print() {
		for (int i = 0; i < CharCount.length; i++) {
			System.out.println((char) (i + (int) 'a') + " : " + CharCount[i]);
		}
	} Print {
		for (int i = 0; i < CharCount.length; i++) {
			System.out.println((char) (i + (int) 'a') + " : " + CharCount[i]);
		}
	} for (int i = 0; i < CharCount.length; i++) {
			System.out.println((char) (i + (int) 'a') + " : " + CharCount[i]);
		} int i = 0; int i = 0; i 0 i < CharCount.length i CharCount.length CharCount CharCount.length i++ i++ i {
			System.out.println((char) (i + (int) 'a') + " : " + CharCount[i]);
		} {
			System.out.println((char) (i + (int) 'a') + " : " + CharCount[i]);
		} System.out.println((char) (i + (int) 'a') + " : " + CharCount[i]) System.out.println System.out System System.out (char) (i + (int) 'a') + " : " + CharCount[i] (char) (i + (int) 'a') + " : " + CharCount[i] (char) (i + (int) 'a') i (int) 'a' " : " CharCount[i] CharCount i public class Main {

	// a～zの文字数を記録する配列
	static int[] CharCount = new int[26];

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);

		// Ctrl+Zが押されるまで繰り返す
		while (sc.hasNext()) {
			// 入力と文字カウント
			CountingCharacters(sc.next());
		}
		// 表示
		Print();

	}

	// 文字列からa~zの文字をカウントする（大小文字区別なし）
	static void CountingCharacters(String str) {

		char[] c = str.toCharArray();
		for (int i = 0; i < c.length; i++) {
			for (int a = (int) 'A'; a < 1 + (int) 'Z'; a++) {
				if (Character.toUpperCase(c[i]) == (char) a) {
					CharCount[a - (int) 'A']++;
					break;
				}
			}
		}
	}

	// 表示処理
	static void Print() {
		for (int i = 0; i < CharCount.length; i++) {
			System.out.println((char) (i + (int) 'a') + " : " + CharCount[i]);
		}
	}

} public class Main {

	// a～zの文字数を記録する配列
	static int[] CharCount = new int[26];

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);

		// Ctrl+Zが押されるまで繰り返す
		while (sc.hasNext()) {
			// 入力と文字カウント
			CountingCharacters(sc.next());
		}
		// 表示
		Print();

	}

	// 文字列からa~zの文字をカウントする（大小文字区別なし）
	static void CountingCharacters(String str) {

		char[] c = str.toCharArray();
		for (int i = 0; i < c.length; i++) {
			for (int a = (int) 'A'; a < 1 + (int) 'Z'; a++) {
				if (Character.toUpperCase(c[i]) == (char) a) {
					CharCount[a - (int) 'A']++;
					break;
				}
			}
		}
	}

	// 表示処理
	static void Print() {
		for (int i = 0; i < CharCount.length; i++) {
			System.out.println((char) (i + (int) 'a') + " : " + CharCount[i]);
		}
	}

} Main
import java.util.Scanner;

public class Main {

	// a～zの文字数を記録する配列
	static int[] CharCount = new int[26];

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);

		// Ctrl+Zが押されるまで繰り返す
		while (sc.hasNext()) {
			// 入力と文字カウント
			CountingCharacters(sc.next());
		}
		// 表示
		Print();

	}

	// 文字列からa~zの文字をカウントする（大小文字区別なし）
	static void CountingCharacters(String str) {

		char[] c = str.toCharArray();
		for (int i = 0; i < c.length; i++) {
			for (int a = (int) 'A'; a < 1 + (int) 'Z'; a++) {
				if (Character.toUpperCase(c[i]) == (char) a) {
					CharCount[a - (int) 'A']++;
					break;
				}
			}
		}
	}

	// 表示処理
	static void Print() {
		for (int i = 0; i < CharCount.length; i++) {
			System.out.println((char) (i + (int) 'a') + " : " + CharCount[i]);
		}
	}

}
