#include <iostream>
using namespace std;
template<typename TYPE>
class _property
{
public:
_property(const TYPE& a) : member(a) {}
TYPE& operator=(const TYPE& a) { member = a; return member; }
operator TYPE&() { return member; }
operator const TYPE&() const { return member; }
TYPE* operator&() { return &member; }
const TYPE* operator&() const { return &member; }
private:
TYPE member;
};
int main() {
_property<int> a(2);
int b = a;
// your code goes here
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKdGVtcGxhdGU8dHlwZW5hbWUgVFlQRT4KY2xhc3MgX3Byb3BlcnR5CnsKcHVibGljOgpfcHJvcGVydHkoY29uc3QgVFlQRSYgYSkgOiBtZW1iZXIoYSkge30KClRZUEUmIG9wZXJhdG9yPShjb25zdCBUWVBFJiBhKSB7IG1lbWJlciA9IGE7IHJldHVybiBtZW1iZXI7IH0KCgpvcGVyYXRvciBUWVBFJigpIHsgcmV0dXJuIG1lbWJlcjsgfQpvcGVyYXRvciBjb25zdCBUWVBFJigpIGNvbnN0IHsgcmV0dXJuIG1lbWJlcjsgfQoKVFlQRSogb3BlcmF0b3ImKCkgeyByZXR1cm4gJm1lbWJlcjsgfQpjb25zdCBUWVBFKiBvcGVyYXRvciYoKSBjb25zdCB7IHJldHVybiAmbWVtYmVyOyB9Cgpwcml2YXRlOgpUWVBFIG1lbWJlcjsKfTsKCgppbnQgbWFpbigpIHsKCV9wcm9wZXJ0eTxpbnQ+IGEoMik7CglpbnQgYiA9IGE7CgkvLyB5b3VyIGNvZGUgZ29lcyBoZXJlCglyZXR1cm4gMDsKfQ==