// Mon Oct 12 16:00:12 EDT 2009 // Mon Oct 12 16:05:02 EDT 2009 #include #include #include using namespace std; typedef multiset stringset; main() { map vals; map ::iterator vit; stringset *ss; stringset::iterator ssit; int v; string s; while (cin >> s >> v) { vit = vals.find(v); if (vit == vals.end()) vals[v] = new stringset; vals[v]->insert(s); } for (vit = vals.begin(); vit != vals.end(); vit++) { ss = vit->second; for (ssit = ss->begin(); ssit != ss->end(); ssit++) { cout << *ssit << endl; } } }