#include <iostream>
using namespace std;
class X {
public:
X() {cout<<"\nX()";}
~X() {cout<<"\n~X()";}
};
class A {
public:
A(){cout<<"\nA()";}
~A(){cout<<"\n~A()";}
};
class Y : X {
A a;
public:
Y(){cout<<"\nY()";}
~Y() {cout <<"\n~Y()";}
};
int main()
{
cout <<"init";
X x;
}
I2luY2x1ZGUgPGlvc3RyZWFtPiAKdXNpbmcgbmFtZXNwYWNlIHN0ZDsgICAKY2xhc3MgWCB7CglwdWJsaWM6CglYKCkge2NvdXQ8PCJcblgoKSI7fQoJflgoKSB7Y291dDw8IlxuflgoKSI7fQp9OwpjbGFzcyBBIHsKCXB1YmxpYzoKCUEoKXtjb3V0PDwiXG5BKCkiO30KCX5BKCl7Y291dDw8IlxufkEoKSI7fQp9OwoKY2xhc3MgWSA6IFggewoJCglBIGE7CglwdWJsaWM6CglZKCl7Y291dDw8IlxuWSgpIjt9Cgl+WSgpIHtjb3V0IDw8IlxuflkoKSI7fQp9OwoKaW50IG1haW4oKQp7Cgljb3V0IDw8ImluaXQiOwoJWCB4Owp9