#include <iostream>
#include <string>
#include<algorithm>
#include <map>
using namespace std;
int main ()
{
std::multimap<int,std::string> src{
{1,"dwa"},
{4,"dwa"},
{1,"jeden"},
{2,"jeden"},
{5, "piec"}
};
std::multimap<std::string,int> dst;
std::transform(src.begin(), src.end(), std::inserter(dst, dst.begin()),
[] (const std::pair<int,std::string> &p) {
return std::pair<std::string,int>(p.second, p.first);
}
);
std::multimap<std::string,int>::iterator it = dst.begin();
for(int count = 0;it !=dst.end();++it,++count)
std::cout<<it->first<<" "<<it->second<<std::endl;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgojaW5jbHVkZTxhbGdvcml0aG0+CiNpbmNsdWRlIDxtYXA+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwppbnQgbWFpbiAoKQp7Cgogc3RkOjptdWx0aW1hcDxpbnQsc3RkOjpzdHJpbmc+IHNyY3sKICAgIHsxLCJkd2EifSwKICAgIHs0LCJkd2EifSwKICAgIHsxLCJqZWRlbiJ9LAogICAgezIsImplZGVuIn0sCgl7NSwgInBpZWMifQogIH07CgogIHN0ZDo6bXVsdGltYXA8c3RkOjpzdHJpbmcsaW50PiBkc3Q7CgogIHN0ZDo6dHJhbnNmb3JtKHNyYy5iZWdpbigpLCBzcmMuZW5kKCksIHN0ZDo6aW5zZXJ0ZXIoZHN0LCBkc3QuYmVnaW4oKSksIAogICAgICAgICAgICAgICAgICAgICAgICAgICBbXSAoY29uc3Qgc3RkOjpwYWlyPGludCxzdGQ6OnN0cmluZz4gJnApIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHN0ZDo6cGFpcjxzdGQ6OnN0cmluZyxpbnQ+KHAuc2Vjb25kLCBwLmZpcnN0KTsKCQkJCQkJIAogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICApOwoJCQoKCnN0ZDo6bXVsdGltYXA8c3RkOjpzdHJpbmcsaW50Pjo6aXRlcmF0b3IgaXQgPSBkc3QuYmVnaW4oKTsKCiBmb3IoaW50IGNvdW50ID0gMDtpdCAhPWRzdC5lbmQoKTsrK2l0LCsrY291bnQpCiAgIHN0ZDo6Y291dDw8aXQtPmZpcnN0PDwiICI8PGl0LT5zZWNvbmQ8PHN0ZDo6ZW5kbDsKCQkJCQkJIAoJCQkJCQkgCn0=