#include <unordered_map>
#include <iostream>
#include <iomanip>

int main()
{
    std::unordered_map<int, std::pair<int, int>> m {
        {  1, {  2,  2 } },
        { -3, { 10, -9 } },
        {  8, {  4,  4 } },
    };

    auto it = m.find(8);

    if (it == m.end()) { it =m.emplace(8, std::make_pair(0, 0)).first; }

    ++it->second.first;

    for (auto const & p : m)
        std::cout << std::setw(2) << p.first << " => [" << std::setw(2)
                  << p.second.first << " :: " << std::setw(2)
                  << p.second.second << "]\n";
}
