#include <iostream>
#include <unordered_map>
#include <memory>
using namespace std;
int main() {
auto m = std::unordered_map<int, std::unique_ptr<int>>{};
m.emplace(std::make_pair(10, std::make_unique<int>(5)));
for (auto &i : m)
cout << i.first << " and " << *(i.second) << endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dW5vcmRlcmVkX21hcD4KI2luY2x1ZGUgPG1lbW9yeT4KCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbWFpbigpIHsKCWF1dG8gbSA9IHN0ZDo6dW5vcmRlcmVkX21hcDxpbnQsIHN0ZDo6dW5pcXVlX3B0cjxpbnQ+Pnt9OwoJbS5lbXBsYWNlKHN0ZDo6bWFrZV9wYWlyKDEwLCBzdGQ6Om1ha2VfdW5pcXVlPGludD4oNSkpKTsKCWZvciAoYXV0byAmaSA6IG0pCgkgICBjb3V0IDw8IGkuZmlyc3QgPDwgIiBhbmQgIiA8PCAqKGkuc2Vjb25kKSA8PCBlbmRsOwoJcmV0dXJuIDA7Cn0=