import java.util.Scanner;

public class Main{
	public static void main(String[] args){
		//データ入力の準備
		Scanner sc = new Scanner(System.in);
		
		//データ数の配列
		int result[] = new int[26];
		for (int i = 0; i < 26; i++){
			result[i] = 0;
		}
		
		while (sc.hasNext() == true){
			
			//データを小文字に変換して入力
			String temp = sc.nextLine().toLowerCase();
			
			for (int i = 0; i < temp.length(); i++){
				//入力された文字のascllコード
				int ac = temp.charAt(i) - 97;
				if (ac < 0 || 26 <= ac){
					continue;
				}
				result[ac]++;
			}
		}
		
		//結果の出力
		char[] value = {'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'};
		
		for (int i = 0; i < 26; i++){
			System.out.println(value[i] + " : " + result[i]);
		}
	}
} import java.util.Scanner; Scanner java.util public class Main{
	public static void main(String[] args){
		//データ入力の準備
		Scanner sc = new Scanner(System.in);
		
		//データ数の配列
		int result[] = new int[26];
		for (int i = 0; i < 26; i++){
			result[i] = 0;
		}
		
		while (sc.hasNext() == true){
			
			//データを小文字に変換して入力
			String temp = sc.nextLine().toLowerCase();
			
			for (int i = 0; i < temp.length(); i++){
				//入力された文字のascllコード
				int ac = temp.charAt(i) - 97;
				if (ac < 0 || 26 <= ac){
					continue;
				}
				result[ac]++;
			}
		}
		
		//結果の出力
		char[] value = {'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'};
		
		for (int i = 0; i < 26; i++){
			System.out.println(value[i] + " : " + result[i]);
		}
	}
} Main public static void main(String[] args){
		//データ入力の準備
		Scanner sc = new Scanner(System.in);
		
		//データ数の配列
		int result[] = new int[26];
		for (int i = 0; i < 26; i++){
			result[i] = 0;
		}
		
		while (sc.hasNext() == true){
			
			//データを小文字に変換して入力
			String temp = sc.nextLine().toLowerCase();
			
			for (int i = 0; i < temp.length(); i++){
				//入力された文字のascllコード
				int ac = temp.charAt(i) - 97;
				if (ac < 0 || 26 <= ac){
					continue;
				}
				result[ac]++;
			}
		}
		
		//結果の出力
		char[] value = {'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'};
		
		for (int i = 0; i < 26; i++){
			System.out.println(value[i] + " : " + result[i]);
		}
	} main {
		//データ入力の準備
		Scanner sc = new Scanner(System.in);
		
		//データ数の配列
		int result[] = new int[26];
		for (int i = 0; i < 26; i++){
			result[i] = 0;
		}
		
		while (sc.hasNext() == true){
			
			//データを小文字に変換して入力
			String temp = sc.nextLine().toLowerCase();
			
			for (int i = 0; i < temp.length(); i++){
				//入力された文字のascllコード
				int ac = temp.charAt(i) - 97;
				if (ac < 0 || 26 <= ac){
					continue;
				}
				result[ac]++;
			}
		}
		
		//結果の出力
		char[] value = {'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'};
		
		for (int i = 0; i < 26; i++){
			System.out.println(value[i] + " : " + result[i]);
		}
	} Scanner sc = new Scanner(System.in); sc new Scanner(System.in) int result[] = new int[26]; result new int[26] 26 for (int i = 0; i < 26; i++){
			result[i] = 0;
		} int i = 0; int i = 0; i 0 i < 26 i 26 i++ i++ i {
			result[i] = 0;
		} {
			result[i] = 0;
		} result[i] = 0 result[i] result i 0 while (sc.hasNext() == true){
			
			//データを小文字に変換して入力
			String temp = sc.nextLine().toLowerCase();
			
			for (int i = 0; i < temp.length(); i++){
				//入力された文字のascllコード
				int ac = temp.charAt(i) - 97;
				if (ac < 0 || 26 <= ac){
					continue;
				}
				result[ac]++;
			}
		} sc.hasNext() == true sc.hasNext() sc.hasNext sc true {
			
			//データを小文字に変換して入力
			String temp = sc.nextLine().toLowerCase();
			
			for (int i = 0; i < temp.length(); i++){
				//入力された文字のascllコード
				int ac = temp.charAt(i) - 97;
				if (ac < 0 || 26 <= ac){
					continue;
				}
				result[ac]++;
			}
		} String temp = sc.nextLine().toLowerCase(); temp sc.nextLine().toLowerCase() sc.nextLine().toLowerCase sc.nextLine() sc.nextLine sc for (int i = 0; i < temp.length(); i++){
				//入力された文字のascllコード
				int ac = temp.charAt(i) - 97;
				if (ac < 0 || 26 <= ac){
					continue;
				}
				result[ac]++;
			} int i = 0; int i = 0; i 0 i < temp.length() i temp.length() temp.length temp i++ i++ i {
				//入力された文字のascllコード
				int ac = temp.charAt(i) - 97;
				if (ac < 0 || 26 <= ac){
					continue;
				}
				result[ac]++;
			} {
				//入力された文字のascllコード
				int ac = temp.charAt(i) - 97;
				if (ac < 0 || 26 <= ac){
					continue;
				}
				result[ac]++;
			} int ac = temp.charAt(i) - 97; ac temp.charAt(i) - 97 temp.charAt(i) temp.charAt temp i 97 if (ac < 0 || 26 <= ac){
					continue;
				} ac < 0 || 26 <= ac ac < 0 ac 0 26 <= ac 26 ac {
					continue;
				} continue; result[ac]++ result[ac] result ac char[] value = {'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'}; value {'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'} 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 'q' 'r' 's' 't' 'u' 'v' 'w' 'x' 'y' 'z' for (int i = 0; i < 26; i++){
			System.out.println(value[i] + " : " + result[i]);
		} int i = 0; int i = 0; i 0 i < 26 i 26 i++ i++ i {
			System.out.println(value[i] + " : " + result[i]);
		} {
			System.out.println(value[i] + " : " + result[i]);
		} System.out.println(value[i] + " : " + result[i]) System.out.println System.out System System.out value[i] + " : " + result[i] value[i] + " : " + result[i] value[i] value i " : " result[i] result i String[] args args public class Main{
	public static void main(String[] args){
		//データ入力の準備
		Scanner sc = new Scanner(System.in);
		
		//データ数の配列
		int result[] = new int[26];
		for (int i = 0; i < 26; i++){
			result[i] = 0;
		}
		
		while (sc.hasNext() == true){
			
			//データを小文字に変換して入力
			String temp = sc.nextLine().toLowerCase();
			
			for (int i = 0; i < temp.length(); i++){
				//入力された文字のascllコード
				int ac = temp.charAt(i) - 97;
				if (ac < 0 || 26 <= ac){
					continue;
				}
				result[ac]++;
			}
		}
		
		//結果の出力
		char[] value = {'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'};
		
		for (int i = 0; i < 26; i++){
			System.out.println(value[i] + " : " + result[i]);
		}
	}
} public class Main{
	public static void main(String[] args){
		//データ入力の準備
		Scanner sc = new Scanner(System.in);
		
		//データ数の配列
		int result[] = new int[26];
		for (int i = 0; i < 26; i++){
			result[i] = 0;
		}
		
		while (sc.hasNext() == true){
			
			//データを小文字に変換して入力
			String temp = sc.nextLine().toLowerCase();
			
			for (int i = 0; i < temp.length(); i++){
				//入力された文字のascllコード
				int ac = temp.charAt(i) - 97;
				if (ac < 0 || 26 <= ac){
					continue;
				}
				result[ac]++;
			}
		}
		
		//結果の出力
		char[] value = {'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'};
		
		for (int i = 0; i < 26; i++){
			System.out.println(value[i] + " : " + result[i]);
		}
	}
} Main
import java.util.Scanner;

public class Main{
	public static void main(String[] args){
		//データ入力の準備
		Scanner sc = new Scanner(System.in);
		
		//データ数の配列
		int result[] = new int[26];
		for (int i = 0; i < 26; i++){
			result[i] = 0;
		}
		
		while (sc.hasNext() == true){
			
			//データを小文字に変換して入力
			String temp = sc.nextLine().toLowerCase();
			
			for (int i = 0; i < temp.length(); i++){
				//入力された文字のascllコード
				int ac = temp.charAt(i) - 97;
				if (ac < 0 || 26 <= ac){
					continue;
				}
				result[ac]++;
			}
		}
		
		//結果の出力
		char[] value = {'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'};
		
		for (int i = 0; i < 26; i++){
			System.out.println(value[i] + " : " + result[i]);
		}
	}
}
