
import java.util.Scanner;
import java.util.TreeMap;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

class Main {

	public static void main(String[] args) {

		Scanner sc = new Scanner(System.in);

		String sentence = "";
		while(sc.hasNext()) {
			sentence += sc.nextLine();
		}

		// アルファベット数格納用
		TreeMap<Character, Integer> countAlph = new TreeMap<>();
		char alphabet = 'a';
		final int ALPHABET_SIZE = 'z' - 'a';
		for(int i=0; i<=ALPHABET_SIZE; i++) {
			countAlph.put(alphabet, 0);
			alphabet++;
		}

		// debug
//		alphabet = 'a';
//		for(int i=0; i<=ALPHABET_SIZE; i++) {
//			System.out.println(String.valueOf(alphabet) + " : " + countAlph.get(alphabet));
//			alphabet++;
//		}

		// アルファベットの数を数える
//		System.out.println(sentence.length());

		for(int i=0; i<sentence.length(); i++) {
			if(sentence.charAt(i) == ' ') continue;
			String checkChar = String.valueOf(sentence.charAt(i));
//			System.out.print(checkChar + ", ");
			if(Character.isUpperCase(checkChar.charAt(0))) checkChar = checkChar.toLowerCase();
			// えいじかどうかのはんてい
			Pattern p = Pattern.compile("[a-z]");
			Matcher m = p.matcher(checkChar);
			if(m.find()) countAlph.put(checkChar.toCharArray()[0], countAlph.get(checkChar.toCharArray()[0]) + 1);
		}

		// 出力
		alphabet = 'a';
		for(int i=0; i<=ALPHABET_SIZE; i++) {
			System.out.println(String.valueOf(alphabet) + " : " + countAlph.get(alphabet));
			alphabet++;
		}

		sc.close();

	}

} import java.util.Scanner; Scanner java.util import java.util.TreeMap; TreeMap java.util import java.util.regex.Matcher; Matcher java.util.regex import java.util.regex.Pattern; Pattern java.util.regex class Main {

	public static void main(String[] args) {

		Scanner sc = new Scanner(System.in);

		String sentence = "";
		while(sc.hasNext()) {
			sentence += sc.nextLine();
		}

		// アルファベット数格納用
		TreeMap<Character, Integer> countAlph = new TreeMap<>();
		char alphabet = 'a';
		final int ALPHABET_SIZE = 'z' - 'a';
		for(int i=0; i<=ALPHABET_SIZE; i++) {
			countAlph.put(alphabet, 0);
			alphabet++;
		}

		// debug
//		alphabet = 'a';
//		for(int i=0; i<=ALPHABET_SIZE; i++) {
//			System.out.println(String.valueOf(alphabet) + " : " + countAlph.get(alphabet));
//			alphabet++;
//		}

		// アルファベットの数を数える
//		System.out.println(sentence.length());

		for(int i=0; i<sentence.length(); i++) {
			if(sentence.charAt(i) == ' ') continue;
			String checkChar = String.valueOf(sentence.charAt(i));
//			System.out.print(checkChar + ", ");
			if(Character.isUpperCase(checkChar.charAt(0))) checkChar = checkChar.toLowerCase();
			// えいじかどうかのはんてい
			Pattern p = Pattern.compile("[a-z]");
			Matcher m = p.matcher(checkChar);
			if(m.find()) countAlph.put(checkChar.toCharArray()[0], countAlph.get(checkChar.toCharArray()[0]) + 1);
		}

		// 出力
		alphabet = 'a';
		for(int i=0; i<=ALPHABET_SIZE; i++) {
			System.out.println(String.valueOf(alphabet) + " : " + countAlph.get(alphabet));
			alphabet++;
		}

		sc.close();

	}

} Main public static void main(String[] args) {

		Scanner sc = new Scanner(System.in);

		String sentence = "";
		while(sc.hasNext()) {
			sentence += sc.nextLine();
		}

		// アルファベット数格納用
		TreeMap<Character, Integer> countAlph = new TreeMap<>();
		char alphabet = 'a';
		final int ALPHABET_SIZE = 'z' - 'a';
		for(int i=0; i<=ALPHABET_SIZE; i++) {
			countAlph.put(alphabet, 0);
			alphabet++;
		}

		// debug
//		alphabet = 'a';
//		for(int i=0; i<=ALPHABET_SIZE; i++) {
//			System.out.println(String.valueOf(alphabet) + " : " + countAlph.get(alphabet));
//			alphabet++;
//		}

		// アルファベットの数を数える
//		System.out.println(sentence.length());

		for(int i=0; i<sentence.length(); i++) {
			if(sentence.charAt(i) == ' ') continue;
			String checkChar = String.valueOf(sentence.charAt(i));
//			System.out.print(checkChar + ", ");
			if(Character.isUpperCase(checkChar.charAt(0))) checkChar = checkChar.toLowerCase();
			// えいじかどうかのはんてい
			Pattern p = Pattern.compile("[a-z]");
			Matcher m = p.matcher(checkChar);
			if(m.find()) countAlph.put(checkChar.toCharArray()[0], countAlph.get(checkChar.toCharArray()[0]) + 1);
		}

		// 出力
		alphabet = 'a';
		for(int i=0; i<=ALPHABET_SIZE; i++) {
			System.out.println(String.valueOf(alphabet) + " : " + countAlph.get(alphabet));
			alphabet++;
		}

		sc.close();

	} main {

		Scanner sc = new Scanner(System.in);

		String sentence = "";
		while(sc.hasNext()) {
			sentence += sc.nextLine();
		}

		// アルファベット数格納用
		TreeMap<Character, Integer> countAlph = new TreeMap<>();
		char alphabet = 'a';
		final int ALPHABET_SIZE = 'z' - 'a';
		for(int i=0; i<=ALPHABET_SIZE; i++) {
			countAlph.put(alphabet, 0);
			alphabet++;
		}

		// debug
//		alphabet = 'a';
//		for(int i=0; i<=ALPHABET_SIZE; i++) {
//			System.out.println(String.valueOf(alphabet) + " : " + countAlph.get(alphabet));
//			alphabet++;
//		}

		// アルファベットの数を数える
//		System.out.println(sentence.length());

		for(int i=0; i<sentence.length(); i++) {
			if(sentence.charAt(i) == ' ') continue;
			String checkChar = String.valueOf(sentence.charAt(i));
//			System.out.print(checkChar + ", ");
			if(Character.isUpperCase(checkChar.charAt(0))) checkChar = checkChar.toLowerCase();
			// えいじかどうかのはんてい
			Pattern p = Pattern.compile("[a-z]");
			Matcher m = p.matcher(checkChar);
			if(m.find()) countAlph.put(checkChar.toCharArray()[0], countAlph.get(checkChar.toCharArray()[0]) + 1);
		}

		// 出力
		alphabet = 'a';
		for(int i=0; i<=ALPHABET_SIZE; i++) {
			System.out.println(String.valueOf(alphabet) + " : " + countAlph.get(alphabet));
			alphabet++;
		}

		sc.close();

	} Scanner sc = new Scanner(System.in); sc new Scanner(System.in) String sentence = ""; sentence "" while(sc.hasNext()) {
			sentence += sc.nextLine();
		} sc.hasNext() sc.hasNext sc {
			sentence += sc.nextLine();
		} sentence += sc.nextLine() sentence sc.nextLine() sc.nextLine sc TreeMap<Character, Integer> countAlph = new TreeMap<>(); countAlph new TreeMap<>() char alphabet = 'a'; alphabet 'a' final int ALPHABET_SIZE = 'z' - 'a'; ALPHABET_SIZE 'z' - 'a' 'z' 'a' for(int i=0; i<=ALPHABET_SIZE; i++) {
			countAlph.put(alphabet, 0);
			alphabet++;
		} int i=0; int i=0; i 0 i<=ALPHABET_SIZE i ALPHABET_SIZE i++ i++ i {
			countAlph.put(alphabet, 0);
			alphabet++;
		} {
			countAlph.put(alphabet, 0);
			alphabet++;
		} countAlph.put(alphabet, 0) countAlph.put countAlph alphabet 0 alphabet++ alphabet for(int i=0; i<sentence.length(); i++) {
			if(sentence.charAt(i) == ' ') continue;
			String checkChar = String.valueOf(sentence.charAt(i));
//			System.out.print(checkChar + ", ");
			if(Character.isUpperCase(checkChar.charAt(0))) checkChar = checkChar.toLowerCase();
			// えいじかどうかのはんてい
			Pattern p = Pattern.compile("[a-z]");
			Matcher m = p.matcher(checkChar);
			if(m.find()) countAlph.put(checkChar.toCharArray()[0], countAlph.get(checkChar.toCharArray()[0]) + 1);
		} int i=0; int i=0; i 0 i<sentence.length() i sentence.length() sentence.length sentence i++ i++ i {
			if(sentence.charAt(i) == ' ') continue;
			String checkChar = String.valueOf(sentence.charAt(i));
//			System.out.print(checkChar + ", ");
			if(Character.isUpperCase(checkChar.charAt(0))) checkChar = checkChar.toLowerCase();
			// えいじかどうかのはんてい
			Pattern p = Pattern.compile("[a-z]");
			Matcher m = p.matcher(checkChar);
			if(m.find()) countAlph.put(checkChar.toCharArray()[0], countAlph.get(checkChar.toCharArray()[0]) + 1);
		} {
			if(sentence.charAt(i) == ' ') continue;
			String checkChar = String.valueOf(sentence.charAt(i));
//			System.out.print(checkChar + ", ");
			if(Character.isUpperCase(checkChar.charAt(0))) checkChar = checkChar.toLowerCase();
			// えいじかどうかのはんてい
			Pattern p = Pattern.compile("[a-z]");
			Matcher m = p.matcher(checkChar);
			if(m.find()) countAlph.put(checkChar.toCharArray()[0], countAlph.get(checkChar.toCharArray()[0]) + 1);
		} if(sentence.charAt(i) == ' ') continue; sentence.charAt(i) == ' ' sentence.charAt(i) sentence.charAt sentence i ' ' continue; String checkChar = String.valueOf(sentence.charAt(i)); checkChar String.valueOf(sentence.charAt(i)) String.valueOf String sentence.charAt(i) sentence.charAt sentence i if(Character.isUpperCase(checkChar.charAt(0))) checkChar = checkChar.toLowerCase(); Character.isUpperCase(checkChar.charAt(0)) Character.isUpperCase Character checkChar.charAt(0) checkChar.charAt checkChar 0 checkChar = checkChar.toLowerCase() checkChar checkChar.toLowerCase() checkChar.toLowerCase checkChar Pattern p = Pattern.compile("[a-z]"); p Pattern.compile("[a-z]") Pattern.compile Pattern "[a-z]" Matcher m = p.matcher(checkChar); m p.matcher(checkChar) p.matcher p checkChar if(m.find()) countAlph.put(checkChar.toCharArray()[0], countAlph.get(checkChar.toCharArray()[0]) + 1); m.find() m.find m countAlph.put(checkChar.toCharArray()[0], countAlph.get(checkChar.toCharArray()[0]) + 1) countAlph.put countAlph checkChar.toCharArray()[0] checkChar.toCharArray() checkChar.toCharArray checkChar 0 countAlph.get(checkChar.toCharArray()[0]) + 1 countAlph.get(checkChar.toCharArray()[0]) countAlph.get countAlph checkChar.toCharArray()[0] checkChar.toCharArray() checkChar.toCharArray checkChar 0 1 alphabet = 'a' alphabet 'a' for(int i=0; i<=ALPHABET_SIZE; i++) {
			System.out.println(String.valueOf(alphabet) + " : " + countAlph.get(alphabet));
			alphabet++;
		} int i=0; int i=0; i 0 i<=ALPHABET_SIZE i ALPHABET_SIZE i++ i++ i {
			System.out.println(String.valueOf(alphabet) + " : " + countAlph.get(alphabet));
			alphabet++;
		} {
			System.out.println(String.valueOf(alphabet) + " : " + countAlph.get(alphabet));
			alphabet++;
		} System.out.println(String.valueOf(alphabet) + " : " + countAlph.get(alphabet)) System.out.println System.out System System.out String.valueOf(alphabet) + " : " + countAlph.get(alphabet) String.valueOf(alphabet) + " : " + countAlph.get(alphabet) String.valueOf(alphabet) String.valueOf String alphabet " : " countAlph.get(alphabet) countAlph.get countAlph alphabet alphabet++ alphabet sc.close() sc.close sc String[] args args

import java.util.Scanner;
import java.util.TreeMap;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

class Main {

	public static void main(String[] args) {

		Scanner sc = new Scanner(System.in);

		String sentence = "";
		while(sc.hasNext()) {
			sentence += sc.nextLine();
		}

		// アルファベット数格納用
		TreeMap<Character, Integer> countAlph = new TreeMap<>();
		char alphabet = 'a';
		final int ALPHABET_SIZE = 'z' - 'a';
		for(int i=0; i<=ALPHABET_SIZE; i++) {
			countAlph.put(alphabet, 0);
			alphabet++;
		}

		// debug
//		alphabet = 'a';
//		for(int i=0; i<=ALPHABET_SIZE; i++) {
//			System.out.println(String.valueOf(alphabet) + " : " + countAlph.get(alphabet));
//			alphabet++;
//		}

		// アルファベットの数を数える
//		System.out.println(sentence.length());

		for(int i=0; i<sentence.length(); i++) {
			if(sentence.charAt(i) == ' ') continue;
			String checkChar = String.valueOf(sentence.charAt(i));
//			System.out.print(checkChar + ", ");
			if(Character.isUpperCase(checkChar.charAt(0))) checkChar = checkChar.toLowerCase();
			// えいじかどうかのはんてい
			Pattern p = Pattern.compile("[a-z]");
			Matcher m = p.matcher(checkChar);
			if(m.find()) countAlph.put(checkChar.toCharArray()[0], countAlph.get(checkChar.toCharArray()[0]) + 1);
		}

		// 出力
		alphabet = 'a';
		for(int i=0; i<=ALPHABET_SIZE; i++) {
			System.out.println(String.valueOf(alphabet) + " : " + countAlph.get(alphabet));
			alphabet++;
		}

		sc.close();

	}

}
