#include <iostream>
using namespace std;
class A {
public:
A* self;
A() : self(this) { }
A(const A&) = default;
A(A&&) = default;
};
int main() {
cout << boolalpha;
A a1;
cout << &a1 << " = " << a1.self << " " << (&a1 == a1.self) << endl;
A a2(std::move(a1));
cout << &a2 << " = " << a2.self << " " << (&a2 == a2.self) << endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKY2xhc3MgQSB7CnB1YmxpYzoKCglBKiBzZWxmOwoJCglBKCkgOiBzZWxmKHRoaXMpIHsgfQoJQShjb25zdCBBJikgPSBkZWZhdWx0OwoJQShBJiYpID0gZGVmYXVsdDsKfTsKCmludCBtYWluKCkgewoJY291dCA8PCBib29sYWxwaGE7CgkKCUEgYTE7Cgljb3V0IDw8ICZhMSA8PCAiID0gIiA8PCBhMS5zZWxmIDw8ICIgIiA8PCAoJmExID09IGExLnNlbGYpIDw8IGVuZGw7CgkKCUEgYTIoc3RkOjptb3ZlKGExKSk7Cgljb3V0IDw8ICZhMiA8PCAiID0gIiA8PCBhMi5zZWxmIDw8ICIgIiA8PCAoJmEyID09IGEyLnNlbGYpIDw8IGVuZGw7CgkKCXJldHVybiAwOwp9