#include <iostream>
#include <map>
#include <vector>
#include <string>
int main() {
typedef std::vector< std::string > strings_t;
typedef std::multimap<int, strings_t > map_t;
map_t m;
{
strings_t v;
v.push_back( "one" ); v.push_back( "two" ); v.push_back( "three" );
m.insert( std::make_pair( 1, v ) );
}
{
strings_t v;
v.push_back( "ten" ); v.push_back( "twenty" ); v.push_back( "thirty" );
m.insert( std::make_pair( 10, v ) );
}
{
strings_t v;
v.push_back( "foutry" ); v.push_back( "two" );
m.insert( std::make_pair( 42, v ) );
}
for ( map_t::const_iterator i = m.begin(), e = m.end(); i != e; ++i ) {
std::cout << i->first << " : " << std::endl;
for ( strings_t::const_iterator i_v = i->second.begin(), e_v = i->second.end(); i_v != e_v; ++i_v ) {
std::cout << (*i_v) << std::endl;
}
}
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8bWFwPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8c3RyaW5nPgoKaW50IG1haW4oKSB7CiAgICB0eXBlZGVmIHN0ZDo6dmVjdG9yPCBzdGQ6OnN0cmluZyA+IHN0cmluZ3NfdDsKICAgIHR5cGVkZWYgc3RkOjptdWx0aW1hcDxpbnQsIHN0cmluZ3NfdCA+IG1hcF90OwogICAgbWFwX3QgbTsKCiAgICB7CiAgICAgICAgc3RyaW5nc190IHY7CiAgICAgICAgdi5wdXNoX2JhY2soICJvbmUiICk7IHYucHVzaF9iYWNrKCAidHdvIiApOyB2LnB1c2hfYmFjayggInRocmVlIiApOwogICAgICAgIG0uaW5zZXJ0KCBzdGQ6Om1ha2VfcGFpciggMSwgdiApICk7CiAgICB9CiAgICB7CiAgICAgICAgc3RyaW5nc190IHY7CiAgICAgICAgdi5wdXNoX2JhY2soICJ0ZW4iICk7IHYucHVzaF9iYWNrKCAidHdlbnR5IiApOyB2LnB1c2hfYmFjayggInRoaXJ0eSIgKTsKICAgICAgICBtLmluc2VydCggc3RkOjptYWtlX3BhaXIoIDEwLCB2ICkgKTsKICAgIH0KICAgIHsKICAgICAgICBzdHJpbmdzX3QgdjsKICAgICAgICB2LnB1c2hfYmFjayggImZvdXRyeSIgKTsgdi5wdXNoX2JhY2soICJ0d28iICk7CiAgICAgICAgbS5pbnNlcnQoIHN0ZDo6bWFrZV9wYWlyKCA0MiwgdiApICk7CiAgICB9CgogICAgZm9yICggbWFwX3Q6OmNvbnN0X2l0ZXJhdG9yIGkgPSBtLmJlZ2luKCksIGUgPSBtLmVuZCgpOyBpICE9IGU7ICsraSApIHsKICAgICAgICBzdGQ6OmNvdXQgPDwgaS0+Zmlyc3QgPDwgIiA6ICIgPDwgc3RkOjplbmRsOwogICAgICAgIGZvciAoIHN0cmluZ3NfdDo6Y29uc3RfaXRlcmF0b3IgaV92ID0gaS0+c2Vjb25kLmJlZ2luKCksIGVfdiA9IGktPnNlY29uZC5lbmQoKTsgaV92ICE9IGVfdjsgKytpX3YgKSB7CiAgICAgICAgICAgIHN0ZDo6Y291dCA8PCAoKmlfdikgPDwgc3RkOjplbmRsOwogICAgICAgIH0KICAgIH0KfQ==