#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;
}
