#include <map>
#include <iostream>

int main()
{
    std::map<int, int> m = {{1, 10}, {2, 5}, {4, 6}, {6, 1}};
    std::multimap<int, int> mm;

    for(auto const &kv : m)
        mm.insert(std::make_pair(kv.second, kv.first));

    for(auto const &kv : mm)
        std::cout << "m[" << kv.second << "] = " << kv.first << std::endl;

    return 0;
}