#include <map>
#include <iostream>
bool is_printable(char ch)
{
return ch >= 32 && ch <= 126;
}
int main()
{
std::map<char, unsigned> printable_count;
unsigned characters_processed = 0;
char ch;
while (std::cin.get(ch))
{
++characters_processed;
if (is_printable(ch))
++printable_count[ch];
}
unsigned printable_characters = 0;
for (auto count : printable_count)
{
printable_characters += count.second;
std::cout << count.first << ": " << count.second << '\n';
}
std::cout << "Of " << characters_processed << ", ";
std::cout << printable_characters << " were printable.\n";
}
I2luY2x1ZGUgPG1hcD4KI2luY2x1ZGUgPGlvc3RyZWFtPgoKYm9vbCBpc19wcmludGFibGUoY2hhciBjaCkKewogICAgcmV0dXJuIGNoID49IDMyICYmIGNoIDw9IDEyNjsKfQoKaW50IG1haW4oKQp7CiAgICBzdGQ6Om1hcDxjaGFyLCB1bnNpZ25lZD4gcHJpbnRhYmxlX2NvdW50OwoKICAgIHVuc2lnbmVkIGNoYXJhY3RlcnNfcHJvY2Vzc2VkID0gMDsKICAgIGNoYXIgY2g7CiAgICB3aGlsZSAoc3RkOjpjaW4uZ2V0KGNoKSkKICAgIHsKICAgICAgICArK2NoYXJhY3RlcnNfcHJvY2Vzc2VkOwoKICAgICAgICBpZiAoaXNfcHJpbnRhYmxlKGNoKSkKICAgICAgICAgICAgKytwcmludGFibGVfY291bnRbY2hdOwogICAgfQoKICAgIHVuc2lnbmVkIHByaW50YWJsZV9jaGFyYWN0ZXJzID0gMDsKCiAgICBmb3IgKGF1dG8gY291bnQgOiBwcmludGFibGVfY291bnQpCiAgICB7CiAgICAgICAgcHJpbnRhYmxlX2NoYXJhY3RlcnMgKz0gY291bnQuc2Vjb25kOwogICAgICAgIHN0ZDo6Y291dCA8PCBjb3VudC5maXJzdCA8PCAiOiAiIDw8IGNvdW50LnNlY29uZCA8PCAnXG4nOwogICAgfQoKICAgIHN0ZDo6Y291dCA8PCAiT2YgIiA8PCBjaGFyYWN0ZXJzX3Byb2Nlc3NlZCA8PCAiLCAiOwogICAgc3RkOjpjb3V0IDw8IHByaW50YWJsZV9jaGFyYWN0ZXJzIDw8ICIgd2VyZSBwcmludGFibGUuXG4iOwp9
TWFyeSBoYWQgYSBsaXR0bGUgbGFtYgpJdHMgZmxlZWNlIHdhcyB3aGl0ZSBhcyAmR2FtbWE7JmFscGhhO3Nub3cKYW5kIGV2ZXJ5d2hlcmXilZkgdGhhdCBNYXJ5IHdlbnQKdGhlIGxhbWIgd2FzIHN1cmUgdG8gZ28u
Mary had a little lamb
Its fleece was white as Γαsnow
and everywhereâ•™ that Mary went
the lamb was sure to go.