#include <vector>
#include <map>
#include <algorithm>
using namespace std;
int main()
{
typedef map<int, vector<int> > Map;
Map m;
int x = 2;
int y = 3;
map<int, vector<int> >::iterator itTemp;
itTemp = m.find(x);
if (itTemp == m.end())
itTemp = m.insert(make_pair(x,vector<int>())).first;
itTemp->second.push_back(y);
for (Map::iterator it = m.begin(); it != m.end(); ++it)
{
sort(it->second.begin(), it->second.end());
}
}
I2luY2x1ZGUgPHZlY3Rvcj4KI2luY2x1ZGUgPG1hcD4KI2luY2x1ZGUgPGFsZ29yaXRobT4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmludCBtYWluKCkKewogICAgdHlwZWRlZiBtYXA8aW50LCB2ZWN0b3I8aW50PiA+IE1hcDsKICAgIE1hcCBtOwogICAgCiAgICBpbnQgeCA9IDI7CiAgICBpbnQgeSA9IDM7CiAgICBtYXA8aW50LCB2ZWN0b3I8aW50PiA+OjppdGVyYXRvciBpdFRlbXA7CiAgICAKICAgIGl0VGVtcCA9IG0uZmluZCh4KTsKICAgIGlmIChpdFRlbXAgPT0gbS5lbmQoKSkKICAgICAgICBpdFRlbXAgPSBtLmluc2VydChtYWtlX3BhaXIoeCx2ZWN0b3I8aW50PigpKSkuZmlyc3Q7CiAgICBpdFRlbXAtPnNlY29uZC5wdXNoX2JhY2soeSk7CgogICAgZm9yIChNYXA6Oml0ZXJhdG9yIGl0ID0gbS5iZWdpbigpOyBpdCAhPSBtLmVuZCgpOyArK2l0KQogICAgewogICAgICAgIHNvcnQoaXQtPnNlY29uZC5iZWdpbigpLCBpdC0+c2Vjb25kLmVuZCgpKTsKICAgIH0KfQ==