#include <functional>
#include <iostream>
std::function<void(int)> wrapper(std::function<void(int)> f){
return [f](int arg){
f(arg);
};
}
void print_n(int n){
std::cout << n << std::endl;
}
int main()
{
wrapper(print_n)(10);
return 0;
}
I2luY2x1ZGUgPGZ1bmN0aW9uYWw+CiNpbmNsdWRlIDxpb3N0cmVhbT4KCnN0ZDo6ZnVuY3Rpb248dm9pZChpbnQpPiB3cmFwcGVyKHN0ZDo6ZnVuY3Rpb248dm9pZChpbnQpPiBmKXsKICAgIHJldHVybiBbZl0oaW50IGFyZyl7CiAgICAgICAgZihhcmcpOwogICAgfTsKfQoKdm9pZCBwcmludF9uKGludCBuKXsKCXN0ZDo6Y291dCA8PCBuIDw8IHN0ZDo6ZW5kbDsKfQoKaW50IG1haW4oKQp7CQoJd3JhcHBlcihwcmludF9uKSgxMCk7CglyZXR1cm4gMDsKfQ==