#include <iostream>
#include <unordered_map>
#include <string>
using namespace std;
int main() {
// your code goes here
std::unordered_map<int, string> m;
m[1]="aa";
m[2]="bb";
m[3]="cc";
//std::lock_guard<std::mutex> lock(m_mutex);
for (auto& pos: m) {
auto key = pos.first;
//auto val = pos.second;
pos.second = "new val";
//cout<<key<<" "<<val<<endl;
}
for (auto& pos: m) {
auto key = pos.first;
auto val = pos.second;
cout<<key<<" "<<val<<endl;
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dW5vcmRlcmVkX21hcD4KI2luY2x1ZGUgPHN0cmluZz4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmludCBtYWluKCkgewoJLy8geW91ciBjb2RlIGdvZXMgaGVyZQoJc3RkOjp1bm9yZGVyZWRfbWFwPGludCwgc3RyaW5nPiBtOwoJbVsxXT0iYWEiOwoJbVsyXT0iYmIiOwoJbVszXT0iY2MiOwoJLy9zdGQ6OmxvY2tfZ3VhcmQ8c3RkOjptdXRleD4gbG9jayhtX211dGV4KTsKICAgIGZvciAoYXV0byYgcG9zOiBtKSB7CiAgICAgICAgYXV0byBrZXkgPSBwb3MuZmlyc3Q7CiAgICAgICAgLy9hdXRvIHZhbCA9IHBvcy5zZWNvbmQ7CiAgICAgICAgcG9zLnNlY29uZCA9ICJuZXcgdmFsIjsKICAgICAgICAvL2NvdXQ8PGtleTw8IiAiPDx2YWw8PGVuZGw7CiAgICB9CiAgICBmb3IgKGF1dG8mIHBvczogbSkgewogICAgICAgIGF1dG8ga2V5ID0gcG9zLmZpcnN0OwogICAgICAgIGF1dG8gdmFsID0gcG9zLnNlY29uZDsKICAgICAgICBjb3V0PDxrZXk8PCIgIjw8dmFsPDxlbmRsOwogICAgfQoJcmV0dXJuIDA7Cn0=