#include <map>
#include <utility>
#include <iostream>
#include <algorithm>
using namespace std;
namespace {
auto pair2params = [](auto&& f)
{
return [f](auto&& p) {
f(p.first, p.second);
};
};
}
int main()
{
auto values = map<int, string>{
{0, "hello"},
{1, "world!"}
};
for_each(begin(values), end(values), pair2params([](int i, const string& s) {
cout << i << ": " << s << endl;
}));
}
I2luY2x1ZGUgPG1hcD4KI2luY2x1ZGUgPHV0aWxpdHk+CiNpbmNsdWRlIDxpb3N0cmVhbT4KI2luY2x1ZGUgPGFsZ29yaXRobT4KCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgoKbmFtZXNwYWNlIHsKCiAgICBhdXRvIHBhaXIycGFyYW1zID0gW10oYXV0byYmIGYpCiAgICB7CiAgICAJcmV0dXJuIFtmXShhdXRvJiYgcCkgewogICAgCQlmKHAuZmlyc3QsIHAuc2Vjb25kKTsKICAgIAl9OwogICAgfTsKCn0KCgppbnQgbWFpbigpCnsKICAgIGF1dG8gdmFsdWVzID0gbWFwPGludCwgc3RyaW5nPnsKICAgICAgICB7MCwgImhlbGxvIn0sCiAgICAgICAgezEsICJ3b3JsZCEifQogICAgfTsKICAgIAogICAgZm9yX2VhY2goYmVnaW4odmFsdWVzKSwgZW5kKHZhbHVlcyksIHBhaXIycGFyYW1zKFtdKGludCBpLCBjb25zdCBzdHJpbmcmIHMpIHsKICAgICAgICBjb3V0IDw8IGkgPDwgIjogIiA8PCBzIDw8IGVuZGw7CiAgICB9KSk7Cn0=