#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;
}