#include <stdio.h>

#define PRINTABLE 94 
#define OFFSET 32
#define MAX 127

void main(){
	int c, i;
	int arr[PRINTABLE];
	
	for (i = 0; i < PRINTABLE; i++) {
		arr[i] = 0;
	}
	
	while ((c = getchar()) != EOF) {
		if (c >= OFFSET && c < MAX) {
			arr[c - OFFSET]++;
		}
	}
	
	for (i = 0; i < PRINTABLE; i++) { //horizontal histogram
		if (arr[i] > 0) {
			printf("%c: ", i + OFFSET);
			for (int k = 0; k < arr[i]; k++) {
				putchar('|');
			}
			putchar('\n');
		}
	}
	
	//vertical histogram
	int max = 0;
	int k;
	
	for (i = 0; i < PRINTABLE; i++) {
		if (arr[i] > max) {
			max = arr[i];
		}
	}
	
	for (;max > 0; max--) {
		for (k = 0; k < PRINTABLE; k++) {
			if (arr[k] == max) {
				arr[k]--;
				putchar('*');
			}
			else if (arr[k] > 0){
				putchar(' ');
			}
		}
		putchar('\n');
	}
}