#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;
						 
						 
}