#include <iostream>
using namespace std;
void f() {}
void f(int arg) {}
template<typename F, typename ...Args>
void execution(F func, Args&&... args)
{
func(std::forward<Args>(args)...);
}
int main()
{
execution<void(int)>(f, 1);
execution<void()>(f);
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKdm9pZCBmKCkge30Kdm9pZCBmKGludCBhcmcpIHt9Cgp0ZW1wbGF0ZTx0eXBlbmFtZSBGLCB0eXBlbmFtZSAuLi5BcmdzPgp2b2lkIGV4ZWN1dGlvbihGIGZ1bmMsIEFyZ3MmJi4uLiBhcmdzKQp7CglmdW5jKHN0ZDo6Zm9yd2FyZDxBcmdzPihhcmdzKS4uLik7Cn0KCmludCBtYWluKCkKewoJZXhlY3V0aW9uPHZvaWQoaW50KT4oZiwgMSk7CglleGVjdXRpb248dm9pZCgpPihmKTsKCglyZXR1cm4gMDsKfQ==