#include <map>
#include <vector>
#include <algorithm>
#include <iostream>
int main()
{
std::map<int, int> m = {{1, 10}, {2, 5}, {4, 6}, {6, 1}};
using mypair = std::pair<int, int>;
std::vector<mypair> v(begin(m), end(m));
std::sort(std::begin(v), std::end(v), [](const mypair& a, const mypair& b) { return a.second < b.second; });
for(auto const &p : v)
std::cout << "m[" << p.first << "] = " << p.second << std::endl;
return 0;
}
I2luY2x1ZGUgPG1hcD4KI2luY2x1ZGUgPHZlY3Rvcj4KI2luY2x1ZGUgPGFsZ29yaXRobT4KI2luY2x1ZGUgPGlvc3RyZWFtPgoKaW50IG1haW4oKQp7CiAgICBzdGQ6Om1hcDxpbnQsIGludD4gbSA9IHt7MSwgMTB9LCB7MiwgNX0sIHs0LCA2fSwgezYsIDF9fTsKICAgIHVzaW5nIG15cGFpciA9IHN0ZDo6cGFpcjxpbnQsIGludD47CgogICAgc3RkOjp2ZWN0b3I8bXlwYWlyPiB2KGJlZ2luKG0pLCBlbmQobSkpOwoKICAgIHN0ZDo6c29ydChzdGQ6OmJlZ2luKHYpLCBzdGQ6OmVuZCh2KSwgW10oY29uc3QgbXlwYWlyJiBhLCBjb25zdCBteXBhaXImIGIpIHsgcmV0dXJuIGEuc2Vjb25kIDwgYi5zZWNvbmQ7IH0pOwoKICAgIGZvcihhdXRvIGNvbnN0ICZwIDogdikKICAgICAgICBzdGQ6OmNvdXQgPDwgIm1bIiA8PCBwLmZpcnN0IDw8ICJdID0gIiA8PCBwLnNlY29uZCA8PCBzdGQ6OmVuZGw7CgogICAgcmV0dXJuIDA7Cn0=