#include <iostream>
#include <map>
using namespace std;
int f1(int a, int b) { return a+b; }
int f2(int a, int b) { return a*b; }
int main() {
int x = 5;
int y = 3;
map<string, int(*)(int, int)> f;
f["add"] = &f1;
f["mul"] = &f2;
cout << f["add"](x,y) << "\n";
cout << f["mul"](x,y) << "\n";
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8bWFwPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IGYxKGludCBhLCBpbnQgYikgeyByZXR1cm4gYStiOyB9CmludCBmMihpbnQgYSwgaW50IGIpIHsgcmV0dXJuIGEqYjsgfQoKaW50IG1haW4oKSB7CglpbnQgeCA9IDU7CglpbnQgeSA9IDM7CgltYXA8c3RyaW5nLCBpbnQoKikoaW50LCBpbnQpPiBmOwoJCglmWyJhZGQiXSA9ICZmMTsKCWZbIm11bCJdID0gJmYyOwoJCgljb3V0IDw8IGZbImFkZCJdKHgseSkgPDwgIlxuIjsKCWNvdXQgPDwgZlsibXVsIl0oeCx5KSA8PCAiXG4iOwoJcmV0dXJuIDA7Cn0=