- #include <iostream> 
-   
- using std::cout; 
- using std::endl; 
-   
- class A { 
- public: 
-   int i; 
-   A(int i_) : i(i_) { 
-     cout << "A(): " << i << endl; 
-   } 
-   A(const A& a_) : i(a_.i) { 
-   	cout << "A(const A&): " << i << endl; 
-   } 
-   ~A() { 
-     cout << "~A(): " << i << endl; 
-   } 
- }; 
-   
- class B { 
- public: 
-   A a; 
-   int b; 
-   B(const A& a_) : a(a_) { 
-     cout << "B(): " << a.i << endl; 
-   } 
-   ~B() { 
-     cout << "~B(): " << a.i << endl; 
-   } 
- }; 
-   
- int main(void) { 
-   for(int c = 0; c < 3; ++c) { 
-     A a(c+1); 
-     B b(a); 
-     cout << b.a.i << endl; 
-   } 
-   return 0; 
- } 
				I2luY2x1ZGUgPGlvc3RyZWFtPgoKdXNpbmcgc3RkOjpjb3V0Owp1c2luZyBzdGQ6OmVuZGw7CgpjbGFzcyBBIHsKcHVibGljOgogIGludCBpOwogIEEoaW50IGlfKSA6IGkoaV8pIHsKICAgIGNvdXQgPDwgIkEoKTogIiA8PCBpIDw8IGVuZGw7CiAgfQogIEEoY29uc3QgQSYgYV8pIDogaShhXy5pKSB7CiAgCWNvdXQgPDwgIkEoY29uc3QgQSYpOiAiIDw8IGkgPDwgZW5kbDsKICB9CiAgfkEoKSB7CiAgICBjb3V0IDw8ICJ+QSgpOiAiIDw8IGkgPDwgZW5kbDsKICB9Cn07CgpjbGFzcyBCIHsKcHVibGljOgogIEEgYTsKICBpbnQgYjsKICBCKGNvbnN0IEEmIGFfKSA6IGEoYV8pIHsKICAgIGNvdXQgPDwgIkIoKTogIiA8PCBhLmkgPDwgZW5kbDsKICB9CiAgfkIoKSB7CiAgICBjb3V0IDw8ICJ+QigpOiAiIDw8IGEuaSA8PCBlbmRsOwogIH0KfTsKCmludCBtYWluKHZvaWQpIHsKICBmb3IoaW50IGMgPSAwOyBjIDwgMzsgKytjKSB7CiAgICBBIGEoYysxKTsKICAgIEIgYihhKTsKICAgIGNvdXQgPDwgYi5hLmkgPDwgZW5kbDsKICB9CiAgcmV0dXJuIDA7Cn0=