import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		// TODO 自動生成されたメソッド・スタブ
		Scanner scan = new Scanner(System.in);
		char[] alf = {'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'};
		int[] count = new int[26];
		
		StringBuilder str_kari = new StringBuilder();
		while(scan.hasNextLine()) {
			str_kari.append(scan.nextLine());
		}

		String str = str_kari.toString();
		for(int i = 0; i < str.length(); i++) {
			char temp = str.charAt(i);
			// not alfabet
			if(!Character.isLetter(temp)) {
				// nothing
			}
			else {
				// 大文字なら小文字へ
				if(Character.isUpperCase(temp)) {
					temp = Character.toLowerCase(temp);
				}
				for(int j = 0; j < 26; j++) {
					if(temp == alf[j]) count[j]++;
				}
				
			}
		}
		
		for(int i = 0; i < 26; i++) {
			System.out.println(alf[i] + " : " + count[i]);
		}
			
		
		
	}

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

	public static void main(String[] args) {
		// TODO 自動生成されたメソッド・スタブ
		Scanner scan = new Scanner(System.in);
		char[] alf = {'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'};
		int[] count = new int[26];
		
		StringBuilder str_kari = new StringBuilder();
		while(scan.hasNextLine()) {
			str_kari.append(scan.nextLine());
		}

		String str = str_kari.toString();
		for(int i = 0; i < str.length(); i++) {
			char temp = str.charAt(i);
			// not alfabet
			if(!Character.isLetter(temp)) {
				// nothing
			}
			else {
				// 大文字なら小文字へ
				if(Character.isUpperCase(temp)) {
					temp = Character.toLowerCase(temp);
				}
				for(int j = 0; j < 26; j++) {
					if(temp == alf[j]) count[j]++;
				}
				
			}
		}
		
		for(int i = 0; i < 26; i++) {
			System.out.println(alf[i] + " : " + count[i]);
		}
			
		
		
	}

} Main public static void main(String[] args) {
		// TODO 自動生成されたメソッド・スタブ
		Scanner scan = new Scanner(System.in);
		char[] alf = {'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'};
		int[] count = new int[26];
		
		StringBuilder str_kari = new StringBuilder();
		while(scan.hasNextLine()) {
			str_kari.append(scan.nextLine());
		}

		String str = str_kari.toString();
		for(int i = 0; i < str.length(); i++) {
			char temp = str.charAt(i);
			// not alfabet
			if(!Character.isLetter(temp)) {
				// nothing
			}
			else {
				// 大文字なら小文字へ
				if(Character.isUpperCase(temp)) {
					temp = Character.toLowerCase(temp);
				}
				for(int j = 0; j < 26; j++) {
					if(temp == alf[j]) count[j]++;
				}
				
			}
		}
		
		for(int i = 0; i < 26; i++) {
			System.out.println(alf[i] + " : " + count[i]);
		}
			
		
		
	} main {
		// TODO 自動生成されたメソッド・スタブ
		Scanner scan = new Scanner(System.in);
		char[] alf = {'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'};
		int[] count = new int[26];
		
		StringBuilder str_kari = new StringBuilder();
		while(scan.hasNextLine()) {
			str_kari.append(scan.nextLine());
		}

		String str = str_kari.toString();
		for(int i = 0; i < str.length(); i++) {
			char temp = str.charAt(i);
			// not alfabet
			if(!Character.isLetter(temp)) {
				// nothing
			}
			else {
				// 大文字なら小文字へ
				if(Character.isUpperCase(temp)) {
					temp = Character.toLowerCase(temp);
				}
				for(int j = 0; j < 26; j++) {
					if(temp == alf[j]) count[j]++;
				}
				
			}
		}
		
		for(int i = 0; i < 26; i++) {
			System.out.println(alf[i] + " : " + count[i]);
		}
			
		
		
	} Scanner scan = new Scanner(System.in); scan new Scanner(System.in) char[] alf = {'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'}; alf {'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' int[] count = new int[26]; count new int[26] 26 StringBuilder str_kari = new StringBuilder(); str_kari new StringBuilder() while(scan.hasNextLine()) {
			str_kari.append(scan.nextLine());
		} scan.hasNextLine() scan.hasNextLine scan {
			str_kari.append(scan.nextLine());
		} str_kari.append(scan.nextLine()) str_kari.append str_kari scan.nextLine() scan.nextLine scan String str = str_kari.toString(); str str_kari.toString() str_kari.toString str_kari for(int i = 0; i < str.length(); i++) {
			char temp = str.charAt(i);
			// not alfabet
			if(!Character.isLetter(temp)) {
				// nothing
			}
			else {
				// 大文字なら小文字へ
				if(Character.isUpperCase(temp)) {
					temp = Character.toLowerCase(temp);
				}
				for(int j = 0; j < 26; j++) {
					if(temp == alf[j]) count[j]++;
				}
				
			}
		} int i = 0; int i = 0; i 0 i < str.length() i str.length() str.length str i++ i++ i {
			char temp = str.charAt(i);
			// not alfabet
			if(!Character.isLetter(temp)) {
				// nothing
			}
			else {
				// 大文字なら小文字へ
				if(Character.isUpperCase(temp)) {
					temp = Character.toLowerCase(temp);
				}
				for(int j = 0; j < 26; j++) {
					if(temp == alf[j]) count[j]++;
				}
				
			}
		} {
			char temp = str.charAt(i);
			// not alfabet
			if(!Character.isLetter(temp)) {
				// nothing
			}
			else {
				// 大文字なら小文字へ
				if(Character.isUpperCase(temp)) {
					temp = Character.toLowerCase(temp);
				}
				for(int j = 0; j < 26; j++) {
					if(temp == alf[j]) count[j]++;
				}
				
			}
		} char temp = str.charAt(i); temp str.charAt(i) str.charAt str i if(!Character.isLetter(temp)) {
				// nothing
			}
			else {
				// 大文字なら小文字へ
				if(Character.isUpperCase(temp)) {
					temp = Character.toLowerCase(temp);
				}
				for(int j = 0; j < 26; j++) {
					if(temp == alf[j]) count[j]++;
				}
				
			} !Character.isLetter(temp) Character.isLetter(temp) Character.isLetter Character temp {
				// nothing
			} {
				// 大文字なら小文字へ
				if(Character.isUpperCase(temp)) {
					temp = Character.toLowerCase(temp);
				}
				for(int j = 0; j < 26; j++) {
					if(temp == alf[j]) count[j]++;
				}
				
			} if(Character.isUpperCase(temp)) {
					temp = Character.toLowerCase(temp);
				} Character.isUpperCase(temp) Character.isUpperCase Character temp {
					temp = Character.toLowerCase(temp);
				} temp = Character.toLowerCase(temp) temp Character.toLowerCase(temp) Character.toLowerCase Character temp for(int j = 0; j < 26; j++) {
					if(temp == alf[j]) count[j]++;
				} int j = 0; int j = 0; j 0 j < 26 j 26 j++ j++ j {
					if(temp == alf[j]) count[j]++;
				} {
					if(temp == alf[j]) count[j]++;
				} if(temp == alf[j]) count[j]++; temp == alf[j] temp alf[j] alf j count[j]++ count[j] count j for(int i = 0; i < 26; i++) {
			System.out.println(alf[i] + " : " + count[i]);
		} int i = 0; int i = 0; i 0 i < 26 i 26 i++ i++ i {
			System.out.println(alf[i] + " : " + count[i]);
		} {
			System.out.println(alf[i] + " : " + count[i]);
		} System.out.println(alf[i] + " : " + count[i]) System.out.println System.out System System.out alf[i] + " : " + count[i] alf[i] + " : " + count[i] alf[i] alf i " : " count[i] count i String[] args args public class Main {

	public static void main(String[] args) {
		// TODO 自動生成されたメソッド・スタブ
		Scanner scan = new Scanner(System.in);
		char[] alf = {'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'};
		int[] count = new int[26];
		
		StringBuilder str_kari = new StringBuilder();
		while(scan.hasNextLine()) {
			str_kari.append(scan.nextLine());
		}

		String str = str_kari.toString();
		for(int i = 0; i < str.length(); i++) {
			char temp = str.charAt(i);
			// not alfabet
			if(!Character.isLetter(temp)) {
				// nothing
			}
			else {
				// 大文字なら小文字へ
				if(Character.isUpperCase(temp)) {
					temp = Character.toLowerCase(temp);
				}
				for(int j = 0; j < 26; j++) {
					if(temp == alf[j]) count[j]++;
				}
				
			}
		}
		
		for(int i = 0; i < 26; i++) {
			System.out.println(alf[i] + " : " + count[i]);
		}
			
		
		
	}

} public class Main {

	public static void main(String[] args) {
		// TODO 自動生成されたメソッド・スタブ
		Scanner scan = new Scanner(System.in);
		char[] alf = {'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'};
		int[] count = new int[26];
		
		StringBuilder str_kari = new StringBuilder();
		while(scan.hasNextLine()) {
			str_kari.append(scan.nextLine());
		}

		String str = str_kari.toString();
		for(int i = 0; i < str.length(); i++) {
			char temp = str.charAt(i);
			// not alfabet
			if(!Character.isLetter(temp)) {
				// nothing
			}
			else {
				// 大文字なら小文字へ
				if(Character.isUpperCase(temp)) {
					temp = Character.toLowerCase(temp);
				}
				for(int j = 0; j < 26; j++) {
					if(temp == alf[j]) count[j]++;
				}
				
			}
		}
		
		for(int i = 0; i < 26; i++) {
			System.out.println(alf[i] + " : " + count[i]);
		}
			
		
		
	}

} Main
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		// TODO 自動生成されたメソッド・スタブ
		Scanner scan = new Scanner(System.in);
		char[] alf = {'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'};
		int[] count = new int[26];
		
		StringBuilder str_kari = new StringBuilder();
		while(scan.hasNextLine()) {
			str_kari.append(scan.nextLine());
		}

		String str = str_kari.toString();
		for(int i = 0; i < str.length(); i++) {
			char temp = str.charAt(i);
			// not alfabet
			if(!Character.isLetter(temp)) {
				// nothing
			}
			else {
				// 大文字なら小文字へ
				if(Character.isUpperCase(temp)) {
					temp = Character.toLowerCase(temp);
				}
				for(int j = 0; j < 26; j++) {
					if(temp == alf[j]) count[j]++;
				}
				
			}
		}
		
		for(int i = 0; i < 26; i++) {
			System.out.println(alf[i] + " : " + count[i]);
		}
			
		
		
	}

}

