#include <iostream>
template<typename F, typename T>
void
apply(F f, T t){
f(t);
}
template<typename T>
void
print(T t){
std::cout << t << std::endl;
}
int
main(){
apply(print<int>, 10);
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgogCnRlbXBsYXRlPHR5cGVuYW1lIEYsIHR5cGVuYW1lIFQ+CnZvaWQKYXBwbHkoRiBmLCBUIHQpewogICAgICAgIGYodCk7Cn0KIAp0ZW1wbGF0ZTx0eXBlbmFtZSBUPgp2b2lkCnByaW50KFQgdCl7CiAgICAgICAgc3RkOjpjb3V0IDw8IHQgPDwgc3RkOjplbmRsOwp9CiAKIAppbnQKbWFpbigpewogICAgICAgIGFwcGx5KHByaW50PGludD4sIDEwKTsKICAgICAgICByZXR1cm4gMDsKfQ==