#include <iostream>
#include <vector>
#include <queue>
#include <set>

// Заполняем вектор частот символов
// Сохраняем все символы алфавита в std::set
void get_data(std::vector<double> &alpha){
	char count = 0, c;

	while(std::cin >> c)
		if(c < alpha.size()){
			alpha[c]++;
			count++;
		}

	for(std::vector<double>::iterator it = alpha.begin(); it != alpha.end(); it++)
		(*it) = (*it) / double(count);
}

void Huffman(std::set<char> &alpha, std::vector<double> &freq){

}

int main(){
	std::vector<double> alpha(256, 0);

	get_data(alpha);
	
	for(int i = 0; i < alpha.size(); i++)
		if(alpha[i] != 0){
			std::cout << char(i) << " ";
			std::cout << alpha[i];
			std::cout << std::endl;
		}
}