#include <iostream>
using namespace std;
template<class T>
void fun(T a){
a();
}
struct A{
void operator()(){cout << "A() called" << endl;}
};
int main(){
fun(A());
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKdGVtcGxhdGU8Y2xhc3MgVD4Kdm9pZCBmdW4oVCBhKXsKICAgIGEoKTsKfQoKc3RydWN0IEF7CiAgICB2b2lkIG9wZXJhdG9yKCkoKXtjb3V0IDw8ICJBKCkgY2FsbGVkIiA8PCBlbmRsO30KfTsKCmludCBtYWluKCl7CiAgICBmdW4oQSgpKTsKICAgIHJldHVybiAwOwp9Cg==