#include <unordered_map>
#include <algorithm>
#include <string>
#include <iostream>
int main() {
std::string input = "hello world";
std::unordered_map<char, unsigned int> counts;
std::for_each(std::begin(input), std::end(input), [&counts](char c) {
counts[c]++;
});
for(auto& kv: counts) {
std::cout << kv.first << ": " << kv.second << "\n";
}
return 0;
}
I2luY2x1ZGUgPHVub3JkZXJlZF9tYXA+CiNpbmNsdWRlIDxhbGdvcml0aG0+CiNpbmNsdWRlIDxzdHJpbmc+CiNpbmNsdWRlIDxpb3N0cmVhbT4KCmludCBtYWluKCkgewogICAgc3RkOjpzdHJpbmcgaW5wdXQgPSAiaGVsbG8gd29ybGQiOwogICAgc3RkOjp1bm9yZGVyZWRfbWFwPGNoYXIsIHVuc2lnbmVkIGludD4gY291bnRzOwogICAgc3RkOjpmb3JfZWFjaChzdGQ6OmJlZ2luKGlucHV0KSwgc3RkOjplbmQoaW5wdXQpLCBbJmNvdW50c10oY2hhciBjKSB7CiAgICAgICAgY291bnRzW2NdKys7CiAgICB9KTsKICAgIGZvcihhdXRvJiBrdjogY291bnRzKSB7CiAgICAgICAgc3RkOjpjb3V0IDw8IGt2LmZpcnN0IDw8ICI6ICIgPDwga3Yuc2Vjb25kIDw8ICJcbiI7CiAgICB9CiAgICByZXR1cm4gMDsKfQ==