import java.util.*;
import java.io.*;

public class Main{
	public static void main(String args[]) throws IOException{
		BufferedReader buf = new BufferedReader(new InputStreamReader(System.in));
		char ch[] = new char[1200];
		int exist[] = new int[26];
		int index;
		String str;
		
		while((str = buf.readLine()) != null){
			if(str.length() >= 1200){
				break;
			}
			
			ch = str.toCharArray();
			
			for(char c : ch){
				if(Character.isUpperCase(c)){
					index = (int)(c - 'A');
					exist[index] ++;
				}
				else if(Character.isLowerCase(c)){
					index = (int)(c - 'a');
					exist[index] ++;
				}
			}
		}
		for(int i = 0; i < 26; i++){
			char c = (char)('a' + i);
			System.out.println(c + " : " + exist[i]);
		}
	}
} import java.util.*; util.* java import java.io.*; io.* java public class Main{
	public static void main(String args[]) throws IOException{
		BufferedReader buf = new BufferedReader(new InputStreamReader(System.in));
		char ch[] = new char[1200];
		int exist[] = new int[26];
		int index;
		String str;
		
		while((str = buf.readLine()) != null){
			if(str.length() >= 1200){
				break;
			}
			
			ch = str.toCharArray();
			
			for(char c : ch){
				if(Character.isUpperCase(c)){
					index = (int)(c - 'A');
					exist[index] ++;
				}
				else if(Character.isLowerCase(c)){
					index = (int)(c - 'a');
					exist[index] ++;
				}
			}
		}
		for(int i = 0; i < 26; i++){
			char c = (char)('a' + i);
			System.out.println(c + " : " + exist[i]);
		}
	}
} Main public static void main(String args[]) throws IOException{
		BufferedReader buf = new BufferedReader(new InputStreamReader(System.in));
		char ch[] = new char[1200];
		int exist[] = new int[26];
		int index;
		String str;
		
		while((str = buf.readLine()) != null){
			if(str.length() >= 1200){
				break;
			}
			
			ch = str.toCharArray();
			
			for(char c : ch){
				if(Character.isUpperCase(c)){
					index = (int)(c - 'A');
					exist[index] ++;
				}
				else if(Character.isLowerCase(c)){
					index = (int)(c - 'a');
					exist[index] ++;
				}
			}
		}
		for(int i = 0; i < 26; i++){
			char c = (char)('a' + i);
			System.out.println(c + " : " + exist[i]);
		}
	} main {
		BufferedReader buf = new BufferedReader(new InputStreamReader(System.in));
		char ch[] = new char[1200];
		int exist[] = new int[26];
		int index;
		String str;
		
		while((str = buf.readLine()) != null){
			if(str.length() >= 1200){
				break;
			}
			
			ch = str.toCharArray();
			
			for(char c : ch){
				if(Character.isUpperCase(c)){
					index = (int)(c - 'A');
					exist[index] ++;
				}
				else if(Character.isLowerCase(c)){
					index = (int)(c - 'a');
					exist[index] ++;
				}
			}
		}
		for(int i = 0; i < 26; i++){
			char c = (char)('a' + i);
			System.out.println(c + " : " + exist[i]);
		}
	} BufferedReader buf = new BufferedReader(new InputStreamReader(System.in)); buf new BufferedReader(new InputStreamReader(System.in)) char ch[] = new char[1200]; ch new char[1200] 1200 int exist[] = new int[26]; exist new int[26] 26 int index; index String str; str while((str = buf.readLine()) != null){
			if(str.length() >= 1200){
				break;
			}
			
			ch = str.toCharArray();
			
			for(char c : ch){
				if(Character.isUpperCase(c)){
					index = (int)(c - 'A');
					exist[index] ++;
				}
				else if(Character.isLowerCase(c)){
					index = (int)(c - 'a');
					exist[index] ++;
				}
			}
		} (str = buf.readLine()) != null (str = buf.readLine()) str buf.readLine() buf.readLine buf null {
			if(str.length() >= 1200){
				break;
			}
			
			ch = str.toCharArray();
			
			for(char c : ch){
				if(Character.isUpperCase(c)){
					index = (int)(c - 'A');
					exist[index] ++;
				}
				else if(Character.isLowerCase(c)){
					index = (int)(c - 'a');
					exist[index] ++;
				}
			}
		} if(str.length() >= 1200){
				break;
			} str.length() >= 1200 str.length() str.length str 1200 {
				break;
			} break; ch = str.toCharArray() ch str.toCharArray() str.toCharArray str for(char c : ch){
				if(Character.isUpperCase(c)){
					index = (int)(c - 'A');
					exist[index] ++;
				}
				else if(Character.isLowerCase(c)){
					index = (int)(c - 'a');
					exist[index] ++;
				}
			} char c ch {
				if(Character.isUpperCase(c)){
					index = (int)(c - 'A');
					exist[index] ++;
				}
				else if(Character.isLowerCase(c)){
					index = (int)(c - 'a');
					exist[index] ++;
				}
			} {
				if(Character.isUpperCase(c)){
					index = (int)(c - 'A');
					exist[index] ++;
				}
				else if(Character.isLowerCase(c)){
					index = (int)(c - 'a');
					exist[index] ++;
				}
			} if(Character.isUpperCase(c)){
					index = (int)(c - 'A');
					exist[index] ++;
				}
				else if(Character.isLowerCase(c)){
					index = (int)(c - 'a');
					exist[index] ++;
				} Character.isUpperCase(c) Character.isUpperCase Character c {
					index = (int)(c - 'A');
					exist[index] ++;
				} index = (int)(c - 'A') index (int)(c - 'A') c 'A' exist[index] ++ exist[index] exist index if(Character.isLowerCase(c)){
					index = (int)(c - 'a');
					exist[index] ++;
				} Character.isLowerCase(c) Character.isLowerCase Character c {
					index = (int)(c - 'a');
					exist[index] ++;
				} index = (int)(c - 'a') index (int)(c - 'a') c 'a' exist[index] ++ exist[index] exist index for(int i = 0; i < 26; i++){
			char c = (char)('a' + i);
			System.out.println(c + " : " + exist[i]);
		} int i = 0; int i = 0; i 0 i < 26 i 26 i++ i++ i {
			char c = (char)('a' + i);
			System.out.println(c + " : " + exist[i]);
		} {
			char c = (char)('a' + i);
			System.out.println(c + " : " + exist[i]);
		} char c = (char)('a' + i); c (char)('a' + i) 'a' i System.out.println(c + " : " + exist[i]) System.out.println System.out System System.out c + " : " + exist[i] c + " : " + exist[i] c " : " exist[i] exist i String args[] args public class Main{
	public static void main(String args[]) throws IOException{
		BufferedReader buf = new BufferedReader(new InputStreamReader(System.in));
		char ch[] = new char[1200];
		int exist[] = new int[26];
		int index;
		String str;
		
		while((str = buf.readLine()) != null){
			if(str.length() >= 1200){
				break;
			}
			
			ch = str.toCharArray();
			
			for(char c : ch){
				if(Character.isUpperCase(c)){
					index = (int)(c - 'A');
					exist[index] ++;
				}
				else if(Character.isLowerCase(c)){
					index = (int)(c - 'a');
					exist[index] ++;
				}
			}
		}
		for(int i = 0; i < 26; i++){
			char c = (char)('a' + i);
			System.out.println(c + " : " + exist[i]);
		}
	}
} public class Main{
	public static void main(String args[]) throws IOException{
		BufferedReader buf = new BufferedReader(new InputStreamReader(System.in));
		char ch[] = new char[1200];
		int exist[] = new int[26];
		int index;
		String str;
		
		while((str = buf.readLine()) != null){
			if(str.length() >= 1200){
				break;
			}
			
			ch = str.toCharArray();
			
			for(char c : ch){
				if(Character.isUpperCase(c)){
					index = (int)(c - 'A');
					exist[index] ++;
				}
				else if(Character.isLowerCase(c)){
					index = (int)(c - 'a');
					exist[index] ++;
				}
			}
		}
		for(int i = 0; i < 26; i++){
			char c = (char)('a' + i);
			System.out.println(c + " : " + exist[i]);
		}
	}
} Main
import java.util.*;
import java.io.*;

public class Main{
	public static void main(String args[]) throws IOException{
		BufferedReader buf = new BufferedReader(new InputStreamReader(System.in));
		char ch[] = new char[1200];
		int exist[] = new int[26];
		int index;
		String str;
		
		while((str = buf.readLine()) != null){
			if(str.length() >= 1200){
				break;
			}
			
			ch = str.toCharArray();
			
			for(char c : ch){
				if(Character.isUpperCase(c)){
					index = (int)(c - 'A');
					exist[index] ++;
				}
				else if(Character.isLowerCase(c)){
					index = (int)(c - 'a');
					exist[index] ++;
				}
			}
		}
		for(int i = 0; i < 26; i++){
			char c = (char)('a' + i);
			System.out.println(c + " : " + exist[i]);
		}
	}
}