#include <iostream>
using namespace std;
template<typename T>
int test(T t1, T t2)
{
return t1() + t2();
}
int main() {
cout << test<int (*)()>([](){ return 10;}, [](){ return 20;});
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKdGVtcGxhdGU8dHlwZW5hbWUgVD4KaW50IHRlc3QoVCB0MSwgVCB0MikKewoJcmV0dXJuIHQxKCkgKyB0MigpOwp9CgppbnQgbWFpbigpIHsKCWNvdXQgPDwgdGVzdDxpbnQgKCopKCk+KFtdKCl7IHJldHVybiAxMDt9LCBbXSgpeyByZXR1cm4gMjA7fSk7CgkKCQoJcmV0dXJuIDA7Cn0=