class A {
private:
int n;
public:
A(int n) : n(n) {
}
bool operator < (const A *obj) {
if (obj->n < this->n)
return true;
else if (this->n < obj->n)
return false;
}
operator const A* () const {
return this;
}
};
int main()
{
A a(4), b(5);
a < b;
}
Y2xhc3MgQSB7CnByaXZhdGU6CglpbnQgbjsKcHVibGljOgoJQShpbnQgbikgOiBuKG4pIHsKCX0KCWJvb2wgb3BlcmF0b3IgPCAoY29uc3QgQSAqb2JqKSB7CgkJaWYgKG9iai0+biA8IHRoaXMtPm4pCgkJCXJldHVybiB0cnVlOwoJCWVsc2UgaWYgKHRoaXMtPm4gPCBvYmotPm4pCgkJCXJldHVybiBmYWxzZTsKCX0KCW9wZXJhdG9yIGNvbnN0IEEqICgpIGNvbnN0IHsKCQlyZXR1cm4gdGhpczsKCX0KfTsKCmludCBtYWluKCkKewoJQSBhKDQpLCBiKDUpOwoJYSA8IGI7Cn0=