#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;
}
