import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Scanner;

class Main {
	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
		String abc = "abcdefghijklmnopqrstuvwxyz";
		Map<String, Integer> map = new LinkedHashMap<String, Integer>();
		int i;
		for (i = 0; i < abc.length(); i++) {
			map.put(abc.substring(i, i + 1), 0);
		}
		while (in.hasNext()) {
			String input = in.next();
			for (i = 0; i < input.length(); i++) {
				String c = input.substring(i, i + 1).toLowerCase();
				if (map.containsKey(c)) {
					map.put(c, map.get(c) + 1);
				}
			}
		}
		for (Map.Entry<String, Integer> e : map.entrySet()) {
			System.out.println(e.getKey() + " : " + e.getValue());
		}
	}
} import java.util.LinkedHashMap; LinkedHashMap java.util import java.util.Map; Map java.util import java.util.Scanner; Scanner java.util class Main {
	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
		String abc = "abcdefghijklmnopqrstuvwxyz";
		Map<String, Integer> map = new LinkedHashMap<String, Integer>();
		int i;
		for (i = 0; i < abc.length(); i++) {
			map.put(abc.substring(i, i + 1), 0);
		}
		while (in.hasNext()) {
			String input = in.next();
			for (i = 0; i < input.length(); i++) {
				String c = input.substring(i, i + 1).toLowerCase();
				if (map.containsKey(c)) {
					map.put(c, map.get(c) + 1);
				}
			}
		}
		for (Map.Entry<String, Integer> e : map.entrySet()) {
			System.out.println(e.getKey() + " : " + e.getValue());
		}
	}
} Main public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
		String abc = "abcdefghijklmnopqrstuvwxyz";
		Map<String, Integer> map = new LinkedHashMap<String, Integer>();
		int i;
		for (i = 0; i < abc.length(); i++) {
			map.put(abc.substring(i, i + 1), 0);
		}
		while (in.hasNext()) {
			String input = in.next();
			for (i = 0; i < input.length(); i++) {
				String c = input.substring(i, i + 1).toLowerCase();
				if (map.containsKey(c)) {
					map.put(c, map.get(c) + 1);
				}
			}
		}
		for (Map.Entry<String, Integer> e : map.entrySet()) {
			System.out.println(e.getKey() + " : " + e.getValue());
		}
	} main {
		Scanner in = new Scanner(System.in);
		String abc = "abcdefghijklmnopqrstuvwxyz";
		Map<String, Integer> map = new LinkedHashMap<String, Integer>();
		int i;
		for (i = 0; i < abc.length(); i++) {
			map.put(abc.substring(i, i + 1), 0);
		}
		while (in.hasNext()) {
			String input = in.next();
			for (i = 0; i < input.length(); i++) {
				String c = input.substring(i, i + 1).toLowerCase();
				if (map.containsKey(c)) {
					map.put(c, map.get(c) + 1);
				}
			}
		}
		for (Map.Entry<String, Integer> e : map.entrySet()) {
			System.out.println(e.getKey() + " : " + e.getValue());
		}
	} Scanner in = new Scanner(System.in); in new Scanner(System.in) String abc = "abcdefghijklmnopqrstuvwxyz"; abc "abcdefghijklmnopqrstuvwxyz" Map<String, Integer> map = new LinkedHashMap<String, Integer>(); map new LinkedHashMap<String, Integer>() int i; i for (i = 0; i < abc.length(); i++) {
			map.put(abc.substring(i, i + 1), 0);
		} i = 0; i = 0 i 0 i < abc.length() i abc.length() abc.length abc i++ i++ i {
			map.put(abc.substring(i, i + 1), 0);
		} {
			map.put(abc.substring(i, i + 1), 0);
		} map.put(abc.substring(i, i + 1), 0) map.put map abc.substring(i, i + 1) abc.substring abc i i + 1 i 1 0 while (in.hasNext()) {
			String input = in.next();
			for (i = 0; i < input.length(); i++) {
				String c = input.substring(i, i + 1).toLowerCase();
				if (map.containsKey(c)) {
					map.put(c, map.get(c) + 1);
				}
			}
		} in.hasNext() in.hasNext in {
			String input = in.next();
			for (i = 0; i < input.length(); i++) {
				String c = input.substring(i, i + 1).toLowerCase();
				if (map.containsKey(c)) {
					map.put(c, map.get(c) + 1);
				}
			}
		} String input = in.next(); input in.next() in.next in for (i = 0; i < input.length(); i++) {
				String c = input.substring(i, i + 1).toLowerCase();
				if (map.containsKey(c)) {
					map.put(c, map.get(c) + 1);
				}
			} i = 0; i = 0 i 0 i < input.length() i input.length() input.length input i++ i++ i {
				String c = input.substring(i, i + 1).toLowerCase();
				if (map.containsKey(c)) {
					map.put(c, map.get(c) + 1);
				}
			} {
				String c = input.substring(i, i + 1).toLowerCase();
				if (map.containsKey(c)) {
					map.put(c, map.get(c) + 1);
				}
			} String c = input.substring(i, i + 1).toLowerCase(); c input.substring(i, i + 1).toLowerCase() input.substring(i, i + 1).toLowerCase input.substring(i, i + 1) input.substring input i i + 1 i 1 if (map.containsKey(c)) {
					map.put(c, map.get(c) + 1);
				} map.containsKey(c) map.containsKey map c {
					map.put(c, map.get(c) + 1);
				} map.put(c, map.get(c) + 1) map.put map c map.get(c) + 1 map.get(c) map.get map c 1 for (Map.Entry<String, Integer> e : map.entrySet()) {
			System.out.println(e.getKey() + " : " + e.getValue());
		} Map.Entry<String, Integer> e map.entrySet() map.entrySet map {
			System.out.println(e.getKey() + " : " + e.getValue());
		} {
			System.out.println(e.getKey() + " : " + e.getValue());
		} System.out.println(e.getKey() + " : " + e.getValue()) System.out.println System.out System System.out e.getKey() + " : " + e.getValue() e.getKey() + " : " + e.getValue() e.getKey() e.getKey e " : " e.getValue() e.getValue e String[] args args
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Scanner;

class Main {
	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
		String abc = "abcdefghijklmnopqrstuvwxyz";
		Map<String, Integer> map = new LinkedHashMap<String, Integer>();
		int i;
		for (i = 0; i < abc.length(); i++) {
			map.put(abc.substring(i, i + 1), 0);
		}
		while (in.hasNext()) {
			String input = in.next();
			for (i = 0; i < input.length(); i++) {
				String c = input.substring(i, i + 1).toLowerCase();
				if (map.containsKey(c)) {
					map.put(c, map.get(c) + 1);
				}
			}
		}
		for (Map.Entry<String, Integer> e : map.entrySet()) {
			System.out.println(e.getKey() + " : " + e.getValue());
		}
	}
}