#include <iostream>
template <typename T>
struct A
{
friend void f(T x)
{
std::cout << "A\n";
}
operator int(){return 1;}
};
int main()
{
//f(new A<void*>());
//f(A());
f(A<int>());
}
CiAgICAjaW5jbHVkZSA8aW9zdHJlYW0+CiAgICAKICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgogICAgc3RydWN0IEEKICAgIHsKICAgICAgICBmcmllbmQgdm9pZCBmKFQgeCkKICAgICAgICB7CiAgICAgICAgICAgIHN0ZDo6Y291dCA8PCAiQVxuIjsKICAgICAgICB9CiAgICAgICAgb3BlcmF0b3IgaW50KCl7cmV0dXJuIDE7fQogICAgfTsKICAgIAogICAgaW50IG1haW4oKQogICAgewogICAgICAgIC8vZihuZXcgQTx2b2lkKj4oKSk7CiAgICAgICAgLy9mKEEoKSk7CiAgICAgICAgZihBPGludD4oKSk7CgogICAgfQoK