#include <iostream>
using namespace std;
struct X {
int a = 1;
};
struct Y {
X &_x;
Y(X &x) : _x(x) {}
};
struct Z {
X &_x;
Z(X x) : _x(x) {}
};
int main() {
X x;
Y y(x);
Z z(x);
cout << "x: " << &x << endl;
cout << "y.x: " << &y._x << endl;
cout << "z.x: " << &z._x << endl;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKc3RydWN0IFggewogICAgaW50IGEgPSAxOwp9OwoKc3RydWN0IFkgewogICAgWCAmX3g7CiAgICBZKFggJngpIDogX3goeCkge30KfTsKc3RydWN0IFogewogICAgWCAmX3g7CiAgICBaKFggeCkgOiBfeCh4KSB7fQp9OwoKaW50IG1haW4oKSB7CiAgICBYIHg7CiAgICBZIHkoeCk7CiAgICBaIHooeCk7CiAgICBjb3V0IDw8ICJ4OiAiIDw8ICZ4IDw8IGVuZGw7CiAgICBjb3V0IDw8ICJ5Lng6ICIgPDwgJnkuX3ggPDwgZW5kbDsKICAgIGNvdXQgPDwgInoueDogIiA8PCAmei5feCA8PCBlbmRsOwoKfQ==