#include <iostream>
#include <string>
typedef int (*get_max)();
template<get_max FUNC>
get_max func()
{
return FUNC;
}
int foo(){ return 5; }
int main()
{
std::cout << func<foo>()() << std::endl;
};
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgoKdHlwZWRlZiBpbnQgKCpnZXRfbWF4KSgpOwoKdGVtcGxhdGU8Z2V0X21heCBGVU5DPgpnZXRfbWF4IGZ1bmMoKQp7CiAgICAgICAgcmV0dXJuIEZVTkM7Cn0KCmludCBmb28oKXsgcmV0dXJuIDU7IH0KCmludCBtYWluKCkKewoJc3RkOjpjb3V0IDw8IGZ1bmM8Zm9vPigpKCkgPDwgc3RkOjplbmRsOwp9Owo=