#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;
}
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8cXVldWU+CiNpbmNsdWRlIDxzZXQ+CgovLyDQl9Cw0L/QvtC70L3Rj9C10Lwg0LLQtdC60YLQvtGAINGH0LDRgdGC0L7RgiDRgdC40LzQstC+0LvQvtCyCi8vINCh0L7RhdGA0LDQvdGP0LXQvCDQstGB0LUg0YHQuNC80LLQvtC70Ysg0LDQu9GE0LDQstC40YLQsCDQsiBzdGQ6OnNldAp2b2lkIGdldF9kYXRhKHN0ZDo6dmVjdG9yPGRvdWJsZT4gJmFscGhhKXsKCWNoYXIgY291bnQgPSAwLCBjOwoKCXdoaWxlKHN0ZDo6Y2luID4+IGMpCgkJaWYoYyA8IGFscGhhLnNpemUoKSl7CgkJCWFscGhhW2NdKys7CgkJCWNvdW50Kys7CgkJfQoKCWZvcihzdGQ6OnZlY3Rvcjxkb3VibGU+OjppdGVyYXRvciBpdCA9IGFscGhhLmJlZ2luKCk7IGl0ICE9IGFscGhhLmVuZCgpOyBpdCsrKQoJCSgqaXQpID0gKCppdCkgLyBkb3VibGUoY291bnQpOwp9Cgp2b2lkIEh1ZmZtYW4oc3RkOjpzZXQ8Y2hhcj4gJmFscGhhLCBzdGQ6OnZlY3Rvcjxkb3VibGU+ICZmcmVxKXsKCn0KCmludCBtYWluKCl7CglzdGQ6OnZlY3Rvcjxkb3VibGU+IGFscGhhKDI1NiwgMCk7CgoJZ2V0X2RhdGEoYWxwaGEpOwoJCglmb3IoaW50IGkgPSAwOyBpIDwgYWxwaGEuc2l6ZSgpOyBpKyspCgkJaWYoYWxwaGFbaV0gIT0gMCl7CgkJCXN0ZDo6Y291dCA8PCBjaGFyKGkpIDw8ICIgIjsKCQkJc3RkOjpjb3V0IDw8IGFscGhhW2ldOwoJCQlzdGQ6OmNvdXQgPDwgc3RkOjplbmRsOwoJCX0KfQ==