#include <iostream>
using namespace std;
template <class T>
class Klasa;
template <class T>
ostream& operator<<(ostream& out, const Klasa<T>& right);
template <class T>
class Klasa{
private:
int a;
T rElement;
public:
Klasa(T rElement, int a) : a(a), rElement(rElement){}
Klasa( int a) : a(a), rElement(0){}
template<class U>
friend ostream& operator<<(ostream& out, const Klasa<U> &);
};
template <class T>
ostream& operator<<(ostream& out, const Klasa<T>& right){
out << right.rElement;
return out;
}
int main() {
Klasa <int> obiekt0(2,7);
Klasa <int> obiekt1(9,7);
cout << obiekt0 << ' ' << obiekt1 << endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCnRlbXBsYXRlIDxjbGFzcyBUPgpjbGFzcyBLbGFzYTsKdGVtcGxhdGUgPGNsYXNzIFQ+Cm9zdHJlYW0mIG9wZXJhdG9yPDwob3N0cmVhbSYgb3V0LCAgY29uc3QgS2xhc2E8VD4mIHJpZ2h0KTsKCnRlbXBsYXRlIDxjbGFzcyBUPgpjbGFzcyBLbGFzYXsKcHJpdmF0ZToKCWludCBhOwoJVCByRWxlbWVudDsKcHVibGljOgoJS2xhc2EoVCByRWxlbWVudCwgaW50IGEpIDogYShhKSwgckVsZW1lbnQockVsZW1lbnQpe30KCUtsYXNhKCBpbnQgYSkgOiBhKGEpLCByRWxlbWVudCgwKXt9CgogICAgdGVtcGxhdGU8Y2xhc3MgVT4KCWZyaWVuZCBvc3RyZWFtJiBvcGVyYXRvcjw8KG9zdHJlYW0mIG91dCwgY29uc3QgS2xhc2E8VT4gJik7Cn07Cgp0ZW1wbGF0ZSA8Y2xhc3MgVD4Kb3N0cmVhbSYgb3BlcmF0b3I8PChvc3RyZWFtJiBvdXQsICBjb25zdCBLbGFzYTxUPiYgcmlnaHQpewkKCW91dCA8PCByaWdodC5yRWxlbWVudDsKCXJldHVybiBvdXQ7Cn0KCmludCBtYWluKCkgewogICAgS2xhc2EgPGludD4gb2JpZWt0MCgyLDcpOwogICAgS2xhc2EgPGludD4gb2JpZWt0MSg5LDcpOwoKICAgIGNvdXQgPDwgb2JpZWt0MCA8PCAnICcgPDwgb2JpZWt0MSA8PCBlbmRsOyAKCiAgICByZXR1cm4gMDsKfQ==