import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {
	public static void main(String[] args) {
		BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
    
		int[] count = new int[26];
		String x = "";
		
		for (int i = 0; i < count.length; i++) {
			count[i] = 0;
		}
		
		try {
			while ((x = in.readLine()) != null) {
				for (int i = 0; i < x.length(); i++) {
					char c = x.charAt(i);
					if ((c < 'A') || (c > 'z')) continue;
					
					if (c < 'a') {
						count[c - 'A']++;
					} else {
						count[c - 'a']++;
					}
				}
			}
		} catch (NumberFormatException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		for (int i = 0; i < count.length; i++) {
			char c = (char)(i + 'a');
			System.out.println(c + " : " + count[i]);
		}
	}
} import java.io.BufferedReader; BufferedReader java.io import java.io.IOException; IOException java.io import java.io.InputStreamReader; InputStreamReader java.io public class Main {
	public static void main(String[] args) {
		BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
    
		int[] count = new int[26];
		String x = "";
		
		for (int i = 0; i < count.length; i++) {
			count[i] = 0;
		}
		
		try {
			while ((x = in.readLine()) != null) {
				for (int i = 0; i < x.length(); i++) {
					char c = x.charAt(i);
					if ((c < 'A') || (c > 'z')) continue;
					
					if (c < 'a') {
						count[c - 'A']++;
					} else {
						count[c - 'a']++;
					}
				}
			}
		} catch (NumberFormatException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		for (int i = 0; i < count.length; i++) {
			char c = (char)(i + 'a');
			System.out.println(c + " : " + count[i]);
		}
	}
} Main public static void main(String[] args) {
		BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
    
		int[] count = new int[26];
		String x = "";
		
		for (int i = 0; i < count.length; i++) {
			count[i] = 0;
		}
		
		try {
			while ((x = in.readLine()) != null) {
				for (int i = 0; i < x.length(); i++) {
					char c = x.charAt(i);
					if ((c < 'A') || (c > 'z')) continue;
					
					if (c < 'a') {
						count[c - 'A']++;
					} else {
						count[c - 'a']++;
					}
				}
			}
		} catch (NumberFormatException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		for (int i = 0; i < count.length; i++) {
			char c = (char)(i + 'a');
			System.out.println(c + " : " + count[i]);
		}
	} main {
		BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
    
		int[] count = new int[26];
		String x = "";
		
		for (int i = 0; i < count.length; i++) {
			count[i] = 0;
		}
		
		try {
			while ((x = in.readLine()) != null) {
				for (int i = 0; i < x.length(); i++) {
					char c = x.charAt(i);
					if ((c < 'A') || (c > 'z')) continue;
					
					if (c < 'a') {
						count[c - 'A']++;
					} else {
						count[c - 'a']++;
					}
				}
			}
		} catch (NumberFormatException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		for (int i = 0; i < count.length; i++) {
			char c = (char)(i + 'a');
			System.out.println(c + " : " + count[i]);
		}
	} BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); in new BufferedReader(new InputStreamReader(System.in)) int[] count = new int[26]; count new int[26] 26 String x = ""; x "" for (int i = 0; i < count.length; i++) {
			count[i] = 0;
		} int i = 0; int i = 0; i 0 i < count.length i count.length count count.length i++ i++ i {
			count[i] = 0;
		} {
			count[i] = 0;
		} count[i] = 0 count[i] count i 0 try {
			while ((x = in.readLine()) != null) {
				for (int i = 0; i < x.length(); i++) {
					char c = x.charAt(i);
					if ((c < 'A') || (c > 'z')) continue;
					
					if (c < 'a') {
						count[c - 'A']++;
					} else {
						count[c - 'a']++;
					}
				}
			}
		} catch (NumberFormatException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (NumberFormatException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} NumberFormatException e {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} e.printStackTrace() e.printStackTrace e catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} IOException e {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} e.printStackTrace() e.printStackTrace e {
			while ((x = in.readLine()) != null) {
				for (int i = 0; i < x.length(); i++) {
					char c = x.charAt(i);
					if ((c < 'A') || (c > 'z')) continue;
					
					if (c < 'a') {
						count[c - 'A']++;
					} else {
						count[c - 'a']++;
					}
				}
			}
		} while ((x = in.readLine()) != null) {
				for (int i = 0; i < x.length(); i++) {
					char c = x.charAt(i);
					if ((c < 'A') || (c > 'z')) continue;
					
					if (c < 'a') {
						count[c - 'A']++;
					} else {
						count[c - 'a']++;
					}
				}
			} (x = in.readLine()) != null (x = in.readLine()) x in.readLine() in.readLine in null {
				for (int i = 0; i < x.length(); i++) {
					char c = x.charAt(i);
					if ((c < 'A') || (c > 'z')) continue;
					
					if (c < 'a') {
						count[c - 'A']++;
					} else {
						count[c - 'a']++;
					}
				}
			} for (int i = 0; i < x.length(); i++) {
					char c = x.charAt(i);
					if ((c < 'A') || (c > 'z')) continue;
					
					if (c < 'a') {
						count[c - 'A']++;
					} else {
						count[c - 'a']++;
					}
				} int i = 0; int i = 0; i 0 i < x.length() i x.length() x.length x i++ i++ i {
					char c = x.charAt(i);
					if ((c < 'A') || (c > 'z')) continue;
					
					if (c < 'a') {
						count[c - 'A']++;
					} else {
						count[c - 'a']++;
					}
				} {
					char c = x.charAt(i);
					if ((c < 'A') || (c > 'z')) continue;
					
					if (c < 'a') {
						count[c - 'A']++;
					} else {
						count[c - 'a']++;
					}
				} char c = x.charAt(i); c x.charAt(i) x.charAt x i if ((c < 'A') || (c > 'z')) continue; (c < 'A') || (c > 'z') (c < 'A') c 'A' (c > 'z') c 'z' continue; if (c < 'a') {
						count[c - 'A']++;
					} else {
						count[c - 'a']++;
					} c < 'a' c 'a' {
						count[c - 'A']++;
					} count[c - 'A']++ count[c - 'A'] count c - 'A' c 'A' {
						count[c - 'a']++;
					} count[c - 'a']++ count[c - 'a'] count c - 'a' c 'a' for (int i = 0; i < count.length; i++) {
			char c = (char)(i + 'a');
			System.out.println(c + " : " + count[i]);
		} int i = 0; int i = 0; i 0 i < count.length i count.length count count.length i++ i++ i {
			char c = (char)(i + 'a');
			System.out.println(c + " : " + count[i]);
		} {
			char c = (char)(i + 'a');
			System.out.println(c + " : " + count[i]);
		} char c = (char)(i + 'a'); c (char)(i + 'a') i 'a' System.out.println(c + " : " + count[i]) System.out.println System.out System System.out c + " : " + count[i] c + " : " + count[i] c " : " count[i] count i String[] args args public class Main {
	public static void main(String[] args) {
		BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
    
		int[] count = new int[26];
		String x = "";
		
		for (int i = 0; i < count.length; i++) {
			count[i] = 0;
		}
		
		try {
			while ((x = in.readLine()) != null) {
				for (int i = 0; i < x.length(); i++) {
					char c = x.charAt(i);
					if ((c < 'A') || (c > 'z')) continue;
					
					if (c < 'a') {
						count[c - 'A']++;
					} else {
						count[c - 'a']++;
					}
				}
			}
		} catch (NumberFormatException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		for (int i = 0; i < count.length; i++) {
			char c = (char)(i + 'a');
			System.out.println(c + " : " + count[i]);
		}
	}
} public class Main {
	public static void main(String[] args) {
		BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
    
		int[] count = new int[26];
		String x = "";
		
		for (int i = 0; i < count.length; i++) {
			count[i] = 0;
		}
		
		try {
			while ((x = in.readLine()) != null) {
				for (int i = 0; i < x.length(); i++) {
					char c = x.charAt(i);
					if ((c < 'A') || (c > 'z')) continue;
					
					if (c < 'a') {
						count[c - 'A']++;
					} else {
						count[c - 'a']++;
					}
				}
			}
		} catch (NumberFormatException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		for (int i = 0; i < count.length; i++) {
			char c = (char)(i + 'a');
			System.out.println(c + " : " + count[i]);
		}
	}
} Main
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {
	public static void main(String[] args) {
		BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
    
		int[] count = new int[26];
		String x = "";
		
		for (int i = 0; i < count.length; i++) {
			count[i] = 0;
		}
		
		try {
			while ((x = in.readLine()) != null) {
				for (int i = 0; i < x.length(); i++) {
					char c = x.charAt(i);
					if ((c < 'A') || (c > 'z')) continue;
					
					if (c < 'a') {
						count[c - 'A']++;
					} else {
						count[c - 'a']++;
					}
				}
			}
		} catch (NumberFormatException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		for (int i = 0; i < count.length; i++) {
			char c = (char)(i + 'a');
			System.out.println(c + " : " + count[i]);
		}
	}
}