#include <iostream>
using namespace std;
template<typename T>
class foo {
T a;
public:
foo(T a) : a{a} {};
friend ostream &operator<<(ostream &cout, foo const& a) {
cout << a.a;
return cout;
}
};
int main() {
foo<int> a = 10;
foo<double> b = 3.14;
cout << a << " " << b << "\n";
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKdGVtcGxhdGU8dHlwZW5hbWUgVD4KY2xhc3MgZm9vIHsKCVQgYTsKcHVibGljOgoJZm9vKFQgYSkgOiBhe2F9IHt9OwoJZnJpZW5kIG9zdHJlYW0gJm9wZXJhdG9yPDwob3N0cmVhbSAmY291dCwgZm9vIGNvbnN0JiBhKSB7CgkJY291dCA8PCBhLmE7CgkJcmV0dXJuIGNvdXQ7Cgl9Cn07CgoKaW50IG1haW4oKSB7Cglmb288aW50PiBhID0gMTA7Cglmb288ZG91YmxlPiBiID0gMy4xNDsKCWNvdXQgPDwgYSA8PCAiICIgPDwgYiA8PCAiXG4iOwoJcmV0dXJuIDA7Cn0=