#include <iostream>
using namespace std;
class inner
{
public:
inner() { cout << "inner\n"; }
~inner() { cout << "~inner\n"; }
};
inner& get_inner()
{
static inner i;
return i;
}
class outer
{
public:
outer() { cout << "outer\n"; get_inner(); }
~outer() { cout << "~outer\n"; }
};
outer& get_outer()
{
static outer o;
return o;
}
int main()
{
get_outer();
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKY2xhc3MgaW5uZXIKewpwdWJsaWM6Cglpbm5lcigpIHsgY291dCA8PCAiaW5uZXJcbiI7IH0KCX5pbm5lcigpIHsgY291dCA8PCAifmlubmVyXG4iOyB9Cn07Cgppbm5lciYgZ2V0X2lubmVyKCkKewoJc3RhdGljIGlubmVyIGk7CglyZXR1cm4gaTsKfQoKY2xhc3Mgb3V0ZXIKewpwdWJsaWM6CglvdXRlcigpIHsgY291dCA8PCAib3V0ZXJcbiI7IGdldF9pbm5lcigpOyB9Cgl+b3V0ZXIoKSB7IGNvdXQgPDwgIn5vdXRlclxuIjsgfQp9OwoKb3V0ZXImIGdldF9vdXRlcigpCnsKCXN0YXRpYyBvdXRlciBvOwoJcmV0dXJuIG87Cn0KCmludCBtYWluKCkKewoJZ2V0X291dGVyKCk7CglyZXR1cm4gMDsKfQo=