#include <iostream>
template <typename> class test;
template <>
class test<int> {
int y;
public:
test(int k) : y(k) {}
friend std::ostream& operator<<(std::ostream& os, const test& t);
};
std::ostream& operator<< (std::ostream& os, const test<int>& t)
{
return os << t.y;
}
int main()
{
test<int> a(42);
std::cout << a << std::endl;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKdGVtcGxhdGUgPHR5cGVuYW1lPiBjbGFzcyB0ZXN0OwoKdGVtcGxhdGUgPD4gCmNsYXNzIHRlc3Q8aW50PiB7CiAgICBpbnQgeTsgCnB1YmxpYzogICAgIAogICAgdGVzdChpbnQgaykgOiB5KGspIHt9ICAgICAKICAgIGZyaWVuZCBzdGQ6Om9zdHJlYW0mIG9wZXJhdG9yPDwoc3RkOjpvc3RyZWFtJiBvcywgY29uc3QgdGVzdCYgdCk7IAp9OyAgCgpzdGQ6Om9zdHJlYW0mIG9wZXJhdG9yPDwgKHN0ZDo6b3N0cmVhbSYgb3MsIGNvbnN0IHRlc3Q8aW50PiYgdCkgCnsKICAgIHJldHVybiBvcyA8PCB0Lnk7Cn0gIAoKaW50IG1haW4oKQp7Cgl0ZXN0PGludD4gYSg0Mik7CglzdGQ6OmNvdXQgPDwgYSA8PCBzdGQ6OmVuZGw7Cn0K