#include <functional>
#include <iostream>
#include <map>
#include <string>
using namespace std;
void foo();
void foo2();
int main(){
map<string, function<void()>> funcs{{"foo", foo},{"foo2", foo2}};
string s;
cin >> s;
/*Take the input from cin and turn it into a function call, or some other
form of runnable code, like so*/
auto findIt = funcs.find(s);
if (findIt != end(funcs)) (findIt->second)();
}
void foo(){
cout << "Foo works, yay :D";
}
void foo2(){
cout << "Foo2 works, yay :D";
}
I2luY2x1ZGUgPGZ1bmN0aW9uYWw+CiNpbmNsdWRlIDxpb3N0cmVhbT4KI2luY2x1ZGUgPG1hcD4KI2luY2x1ZGUgPHN0cmluZz4KCnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgp2b2lkIGZvbygpOwp2b2lkIGZvbzIoKTsKCmludCBtYWluKCl7CiAgICBtYXA8c3RyaW5nLCBmdW5jdGlvbjx2b2lkKCk+PiBmdW5jc3t7ImZvbyIsIGZvb30seyJmb28yIiwgZm9vMn19OwogICAgCiAgICBzdHJpbmcgczsKICAgIGNpbiA+PiBzOwoKICAgIC8qVGFrZSB0aGUgaW5wdXQgZnJvbSBjaW4gYW5kIHR1cm4gaXQgaW50byBhIGZ1bmN0aW9uIGNhbGwsIG9yIHNvbWUgb3RoZXIKICAgIGZvcm0gb2YgcnVubmFibGUgY29kZSwgbGlrZSBzbyovCgoJYXV0byBmaW5kSXQgPSBmdW5jcy5maW5kKHMpOwoJaWYgKGZpbmRJdCAhPSBlbmQoZnVuY3MpKSAoZmluZEl0LT5zZWNvbmQpKCk7Cn0KCnZvaWQgZm9vKCl7CiAgICBjb3V0IDw8ICJGb28gd29ya3MsIHlheSA6RCI7Cn0KCnZvaWQgZm9vMigpewogICAgY291dCA8PCAiRm9vMiB3b3JrcywgeWF5IDpEIjsKfQo=