#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
using namespace std;
bool comp(const std::pair<float, std::string>&a, const std::pair<float, std::string>&b){
if(a.first == b.first) return 0;
else return a.first < b.first;
}
int main()
{
std::vector<std::pair<float, std::string>> vec;
vec = {{1, "e"}, {1, "d"}, {1, "c"}, {1, "b"}, {1, "a"}};
std::sort(vec.begin(), vec.end(), comp);
for (auto i : vec)
std::cout << i.first << ", " << i.second << '\n';
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8c3RyaW5nPgojaW5jbHVkZSA8YWxnb3JpdGhtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKYm9vbCBjb21wKGNvbnN0IHN0ZDo6cGFpcjxmbG9hdCwgc3RkOjpzdHJpbmc+JmEsIGNvbnN0IHN0ZDo6cGFpcjxmbG9hdCwgc3RkOjpzdHJpbmc+JmIpewoJaWYoYS5maXJzdCA9PSBiLmZpcnN0KSByZXR1cm4gMDsKCWVsc2UgcmV0dXJuIGEuZmlyc3QgPCBiLmZpcnN0Owp9CgppbnQgbWFpbigpCnsKICAgIHN0ZDo6dmVjdG9yPHN0ZDo6cGFpcjxmbG9hdCwgc3RkOjpzdHJpbmc+PiB2ZWM7CiAgICB2ZWMgPSB7ezEsICJlIn0sIHsxLCAiZCJ9LCB7MSwgImMifSwgezEsICJiIn0sIHsxLCAiYSJ9fTsKICAgIHN0ZDo6c29ydCh2ZWMuYmVnaW4oKSwgdmVjLmVuZCgpLCBjb21wKTsKICAgIGZvciAoYXV0byBpIDogdmVjKQogICAgICAgIHN0ZDo6Y291dCA8PCBpLmZpcnN0IDw8ICIsICIgPDwgaS5zZWNvbmQgPDwgJ1xuJzsKfQ==