#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;
}
I2luY2x1ZGUgPG1hcD4KI2luY2x1ZGUgPGlvc3RyZWFtPgoKaW50IG1haW4oKQp7CiAgICBzdGQ6Om1hcDxpbnQsIGludD4gbSA9IHt7MSwgMTB9LCB7MiwgNX0sIHs0LCA2fSwgezYsIDF9fTsKICAgIHN0ZDo6bXVsdGltYXA8aW50LCBpbnQ+IG1tOwoKICAgIGZvcihhdXRvIGNvbnN0ICZrdiA6IG0pCiAgICAgICAgbW0uaW5zZXJ0KHN0ZDo6bWFrZV9wYWlyKGt2LnNlY29uZCwga3YuZmlyc3QpKTsKCiAgICBmb3IoYXV0byBjb25zdCAma3YgOiBtbSkKICAgICAgICBzdGQ6OmNvdXQgPDwgIm1bIiA8PCBrdi5zZWNvbmQgPDwgIl0gPSAiIDw8IGt2LmZpcnN0IDw8IHN0ZDo6ZW5kbDsKCiAgICByZXR1cm4gMDsKfQ==