#include <vector>
#include <map>
#include <string>
class Base {
};
class Derived : public Base {
};
using MyMap = std::map<std::string, std::vector<Base*>>;
int main() {
Base* tanuki = new Derived;
MyMap myMap;
auto it = myMap.find("racoon");
if (it == myMap.end())
myMap.insert(std::make_pair<std::string, std::vector<Base*>>("racoon", {tanuki}));
else
it->second.push_back(tanuki);
return 0;
}
I2luY2x1ZGUgPHZlY3Rvcj4KI2luY2x1ZGUgPG1hcD4KI2luY2x1ZGUgPHN0cmluZz4KCmNsYXNzIEJhc2Ugewp9OwoKY2xhc3MgRGVyaXZlZCA6IHB1YmxpYyBCYXNlIHsKfTsKCnVzaW5nIE15TWFwID0gc3RkOjptYXA8c3RkOjpzdHJpbmcsIHN0ZDo6dmVjdG9yPEJhc2UqPj47CgppbnQgbWFpbigpIHsKCUJhc2UqIHRhbnVraSA9IG5ldyBEZXJpdmVkOwoJCglNeU1hcCBteU1hcDsKCWF1dG8gaXQgPSBteU1hcC5maW5kKCJyYWNvb24iKTsKCWlmIChpdCA9PSBteU1hcC5lbmQoKSkKCQlteU1hcC5pbnNlcnQoc3RkOjptYWtlX3BhaXI8c3RkOjpzdHJpbmcsIHN0ZDo6dmVjdG9yPEJhc2UqPj4oInJhY29vbiIsIHt0YW51a2l9KSk7CgllbHNlCgkJaXQtPnNlY29uZC5wdXNoX2JhY2sodGFudWtpKTsKCglyZXR1cm4gMDsKfQ==