#include <iostream>
#include <set>
#include <tuple>
using namespace std;
class State{
public:
int a;
int b;
State(int a1, int b1){
a = a1;
b = b1;
}
};
class Node{
public:
State *s;
Node(State *s1){
s = s1;
}
Node(){
s = NULL;
}
};
bool operator==(const State &s1, const State &s2){
if(s1.a == s2.a && s1.b == s2.b)
return true;
else
return false;
}
bool operator<(const State &lhs, const State &rhs){
return tie(lhs.a, lhs.b) < tie(rhs.a, rhs.b);
}
bool operator>(const State &s1, const State &s2){
if(s1.a > s2.a && s1.b > s2.b)
return true;
else
return false;
}
int main() {
State *s = new State(5, 6);
State *z = new State(5, 6);
Node *n = new Node(s);
set<State> states;
states.insert(*s);
cout<<states.count(*z);
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c2V0PgojaW5jbHVkZSA8dHVwbGU+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKY2xhc3MgU3RhdGV7CnB1YmxpYzoKCWludCBhOwoJaW50IGI7CglTdGF0ZShpbnQgYTEsIGludCBiMSl7CgkJYSA9IGExOwoJCWIgPSBiMTsKCX0KfTsKCmNsYXNzIE5vZGV7CnB1YmxpYzoKCVN0YXRlICpzOwoJTm9kZShTdGF0ZSAqczEpewoJCXMgPSBzMTsKCX0KCU5vZGUoKXsKCQlzID0gTlVMTDsKCX0KfTsKYm9vbCBvcGVyYXRvcj09KGNvbnN0IFN0YXRlICZzMSwgY29uc3QgU3RhdGUgJnMyKXsKCWlmKHMxLmEgPT0gczIuYSAmJiBzMS5iID09IHMyLmIpCgkJcmV0dXJuIHRydWU7CgllbHNlCgkJcmV0dXJuIGZhbHNlOwp9CmJvb2wgb3BlcmF0b3I8KGNvbnN0IFN0YXRlICZsaHMsIGNvbnN0IFN0YXRlICZyaHMpewogICAgcmV0dXJuIHRpZShsaHMuYSwgbGhzLmIpIDwgdGllKHJocy5hLCByaHMuYik7Cn0KYm9vbCBvcGVyYXRvcj4oY29uc3QgU3RhdGUgJnMxLCBjb25zdCBTdGF0ZSAmczIpewoJaWYoczEuYSA+IHMyLmEgJiYgczEuYiA+IHMyLmIpCgkJcmV0dXJuIHRydWU7CgllbHNlCgkJcmV0dXJuIGZhbHNlOwp9CmludCBtYWluKCkgewoJU3RhdGUgKnMgPSBuZXcgU3RhdGUoNSwgNik7CglTdGF0ZSAqeiA9IG5ldyBTdGF0ZSg1LCA2KTsKCU5vZGUgKm4gPSBuZXcgTm9kZShzKTsKCXNldDxTdGF0ZT4gc3RhdGVzOwoJc3RhdGVzLmluc2VydCgqcyk7Cgljb3V0PDxzdGF0ZXMuY291bnQoKnopOwoJcmV0dXJuIDA7Cn0=