#include <iostream>
template<typename T>
class TRational;
template<typename T>
bool operator == (const TRational<T>& lObj, const TRational<T>& rObj);
template<typename T>
class TRational{
// ...
friend bool operator == <> (const TRational& lObj, const TRational& rObj);
// ...
};
template<typename T>
bool operator == (const TRational<T>& lObj, const TRational<T>& rObj) { return true; }
int main() {
std::cout << (TRational<int>{} == TRational<int>{}) << std::endl;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgogICAgIAp0ZW1wbGF0ZTx0eXBlbmFtZSBUPgpjbGFzcyBUUmF0aW9uYWw7CiAgICAgCnRlbXBsYXRlPHR5cGVuYW1lIFQ+CmJvb2wgb3BlcmF0b3IgPT0gKGNvbnN0IFRSYXRpb25hbDxUPiYgbE9iaiwgY29uc3QgVFJhdGlvbmFsPFQ+JiByT2JqKTsKICAgICAKdGVtcGxhdGU8dHlwZW5hbWUgVD4KY2xhc3MgVFJhdGlvbmFsewogICAgLy8gLi4uCiAgICBmcmllbmQgYm9vbCBvcGVyYXRvciA9PSA8PiAoY29uc3QgVFJhdGlvbmFsJiBsT2JqLCBjb25zdCBUUmF0aW9uYWwmIHJPYmopOwogICAgLy8gLi4uCn07CiAgICAgCnRlbXBsYXRlPHR5cGVuYW1lIFQ+CmJvb2wgb3BlcmF0b3IgPT0gKGNvbnN0IFRSYXRpb25hbDxUPiYgbE9iaiwgY29uc3QgVFJhdGlvbmFsPFQ+JiByT2JqKSB7IHJldHVybiB0cnVlOyB9CiAgICAgCiAgICAgCmludCBtYWluKCkgewogICAgc3RkOjpjb3V0IDw8IChUUmF0aW9uYWw8aW50Pnt9ID09IFRSYXRpb25hbDxpbnQ+e30pIDw8IHN0ZDo6ZW5kbDsKfQ==