#include <map>
#include <string>
#include <iostream>
#include <iomanip>
int main() {
std :: map < char , size_t > collection ;
std :: string str ;
std :: cout << "Input string: " << std :: endl ;
std :: cout.flush ( ) ;
std :: getline ( std :: cin , str ) ;
for ( std :: string :: const_iterator it = str.begin ( ) , itEnd = str.end ( ) ; it != itEnd ; ++it ) {
collection [ * it ] += 1 ;
}
for ( std :: map < char , size_t > :: const_iterator it = collection.begin ( ) , itEnd = collection.end ( ) ; it != itEnd ; ++it ) {
std :: cout << std :: setw ( 5 ) << std :: setfill ( ' ' ) << std :: left << it -> first
<< std :: setw ( it -> second ) << std :: setfill ( '#' ) << std :: left << "" << std :: endl ;
}
}
I2luY2x1ZGUgPG1hcD4KI2luY2x1ZGUgPHN0cmluZz4KI2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8aW9tYW5pcD4KIAppbnQgbWFpbigpIHsKICAgc3RkIDo6IG1hcCA8IGNoYXIgLCBzaXplX3QgPiBjb2xsZWN0aW9uIDsKICAgc3RkIDo6IHN0cmluZyBzdHIgOwogICBzdGQgOjogY291dCA8PCAiSW5wdXQgc3RyaW5nOiAiIDw8IHN0ZCA6OiBlbmRsIDsKICAgc3RkIDo6IGNvdXQuZmx1c2ggKCApIDsKICAgc3RkIDo6IGdldGxpbmUgKCBzdGQgOjogY2luICwgc3RyICkgOwogICBmb3IgKCBzdGQgOjogc3RyaW5nIDo6IGNvbnN0X2l0ZXJhdG9yIGl0ID0gc3RyLmJlZ2luICggKSAsIGl0RW5kID0gc3RyLmVuZCAoICkgOyBpdCAhPSBpdEVuZCA7ICsraXQgKSB7CiAgICAgIGNvbGxlY3Rpb24gWyAqIGl0IF0gKz0gMSA7IAogICB9CiAgIGZvciAoIHN0ZCA6OiBtYXAgPCBjaGFyICwgc2l6ZV90ID4gOjogY29uc3RfaXRlcmF0b3IgaXQgPSBjb2xsZWN0aW9uLmJlZ2luICggKSAsIGl0RW5kID0gY29sbGVjdGlvbi5lbmQgKCApIDsgaXQgIT0gaXRFbmQgOyArK2l0ICkgewoJICAgc3RkIDo6IGNvdXQgPDwgc3RkIDo6IHNldHcgKCA1ICkgPDwgc3RkIDo6IHNldGZpbGwgKCAnICcgKSA8PCBzdGQgOjogbGVmdCA8PCBpdCAtPiBmaXJzdAoJICAgICAgPDwgc3RkIDo6IHNldHcgKCBpdCAtPiBzZWNvbmQgKSA8PCBzdGQgOjogc2V0ZmlsbCAoICcjJyApIDw8IHN0ZCA6OiBsZWZ0IDw8ICIiIDw8IHN0ZCA6OiBlbmRsIDsKICAgfQp9