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

public class Main{

	public static void main(String[] args) throws IOException {

		BufferedReader input = new BufferedReader(new InputStreamReader(System.in));

		// ??????????????°?????¢?????????????????????????????§????´???????array
		int[] count_array = new int[26];

		// ??°???????????¨?????¨??????????????????
		char word_a = 'a';

		while (true) {

			// ???????????\???
			String Strings = input.readLine();

			if (Strings==null) {
				break;
			}

			// 1?????????????????¢??????????????????????????°?????°????????????????????????????´?
			char[] String_array = Strings.toCharArray();

			// ??\?????????????°??????????a~z????????£?????????????????????????????°
			int count = 0;

			// ??????String_array???????´????????????????????????????????????????????????????a~z??§???????????????
			for (int String_spot = 0; String_spot < String_array.length; String_spot++) {

				// AOJ????????¨??????????????????????????????????°??????????
				if (Character.isUpperCase(String_array[String_spot])) {

					String_array[String_spot] = Character.toLowerCase(String_array[String_spot]);

				}

				// a^z?????????????????????????´¢????????¨?????????????????????????????????
				char one_word = String_array[String_spot];

				// ?????????Z????¬??????????????????????
				word_a = 'a';

				// ??\???????????????????????????????????????????????¢?????????????????????????????????????´¢????????????
				for (int word_spot = 0; word_spot <= ('z' - 'a'); word_spot++) {

					// ??\??????????????????????????????????????¢????????????????????????????????¨?????´????????¨???
					if (one_word == word_a) {

						// ????????????
						count = 1;

						// output??¨
						count_array[word_spot] += count;

					}

					// ?¬??????????
					word_a++;

				}

			}
		}

		// ?????????Z????¬??????????????????????
		word_a = 'a';

		// ??\???????????????????????????????????¢?????????????????????z
		for (int word_spot = 0; word_spot < 26; word_spot++) {

			System.out.println(word_a + " " + ":" + " " + count_array[word_spot]);

			word_a++;

		}

	}
}
/tmp/hf-datasets-cache/medium/datasets/42704881117311-config-parquet-and-info-qiankunmu-Project_CodeNet-896c9d36/hub/datasets--qiankunmu--Project_CodeNet_Python800_and_Java250/snapshots/c899fde44a77ba1cc14973ed3de064e4ff3aadc7/Project_CodeNet_Java250.tar.gz