#include <iostream>
using namespace std;
template<typename T>
struct A
{
T x;
bool operator==(T* y) const
{
return *y == x;
}
bool operator==(const T* y) const
{
return *y == x;
}
};
int main() {
A<int> a{10};
//A<const int> b{10} // - will not compile
int b = 10;
std::cout << (a == &b);
// your code goes here
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKdGVtcGxhdGU8dHlwZW5hbWUgVD4Kc3RydWN0IEEKewoJVCB4OwoJYm9vbCBvcGVyYXRvcj09KFQqIHkpIGNvbnN0Cgl7CgkJcmV0dXJuICp5ID09IHg7Cgl9Cglib29sIG9wZXJhdG9yPT0oY29uc3QgVCogeSkgY29uc3QKCXsKCQlyZXR1cm4gKnkgPT0geDsKCX0KCn07CgppbnQgbWFpbigpIHsKCUE8aW50PiBhezEwfTsKCS8vQTxjb25zdCBpbnQ+IGJ7MTB9ICAvLyAtIHdpbGwgbm90IGNvbXBpbGUKCWludCBiID0gMTA7CglzdGQ6OmNvdXQgPDwgKGEgPT0gJmIpOwoJLy8geW91ciBjb2RlIGdvZXMgaGVyZQoJcmV0dXJuIDA7Cn0=