#include <algorithm>
#include <iostream>
#include <map>
#include <string>

typedef std::map<std::string, std::string(*)(std::string)> MyMap;

std::string forward(std::string s) { return s; }
std::string backward(std::string s) { std::reverse(s.begin(), s.end()); return s; }

MyMap Init()
{
	MyMap map;
	map["forward"] = &forward;
	map["backward"] = &backward;
	return map;
}

const MyMap Map = Init();

int main()
{
	for (MyMap::const_iterator iter = Map.begin(); iter != Map.end(); iter++)
		std::cout << (*iter->second)(iter->first) << "\n";;
	return 0;
}