#include <iostream>
#include <functional>
#include <map>
int main(int argc, char *argv[]) {
std::function<bool(int, int)> cmp;
if (argc > 2) cmp = std::less<int>{};
else cmp = std::greater<int>{};
std::multimap<int, int, decltype(cmp)> map(cmp);
map.emplace(1, 1);
map.emplace(2, 2);
map.emplace(3, 3);
for (auto p: map) {
std::cout << p.first << " ";
}
std::cout << std::endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8ZnVuY3Rpb25hbD4KI2luY2x1ZGUgPG1hcD4KCmludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pIHsKCXN0ZDo6ZnVuY3Rpb248Ym9vbChpbnQsIGludCk+IGNtcDsKCWlmIChhcmdjID4gMikgY21wID0gc3RkOjpsZXNzPGludD57fTsKCWVsc2UgY21wID0gc3RkOjpncmVhdGVyPGludD57fTsKCXN0ZDo6bXVsdGltYXA8aW50LCBpbnQsIGRlY2x0eXBlKGNtcCk+IG1hcChjbXApOwoJbWFwLmVtcGxhY2UoMSwgMSk7CgltYXAuZW1wbGFjZSgyLCAyKTsKCW1hcC5lbXBsYWNlKDMsIDMpOwoJZm9yIChhdXRvIHA6IG1hcCkgewoJCXN0ZDo6Y291dCA8PCBwLmZpcnN0IDw8ICIgIjsKCX0KCXN0ZDo6Y291dCA8PCBzdGQ6OmVuZGw7CglyZXR1cm4gMDsKfQ==