- #include <iostream> 
-   
- struct D{ 
- 	int x; 
- 	D(int a):x(a){} 
- }; 
-   
- struct C{ 
- 	D d; 
- 	C(int x=0):d(x){} 
- 	friend C operator+(C a,C b){ 
- 		return C{a.d.x+b.d.x}; 
- 	} 
- 	friend std::ostream& operator<< (std::ostream &os, const C &x){ 
- 		return os<<" C["<<x.d.x<<"]"; 
- 	} 
-   
- }; 
-   
- int main() 
- { 
-   
- 	C c; 
- 	c = 1 + c; 
- 	std::cout << c; 
-   
- 	return 0; 
- } 
-   
				I2luY2x1ZGUgPGlvc3RyZWFtPgoKc3RydWN0IER7CglpbnQgeDsKCUQoaW50IGEpOngoYSl7fQp9OwoKc3RydWN0IEN7CglEIGQ7CglDKGludCB4PTApOmQoeCl7fQoJZnJpZW5kIEMgb3BlcmF0b3IrKEMgYSxDIGIpewoJCXJldHVybiBDe2EuZC54K2IuZC54fTsKCX0KCWZyaWVuZCBzdGQ6Om9zdHJlYW0mIG9wZXJhdG9yPDwgKHN0ZDo6b3N0cmVhbSAmb3MsIGNvbnN0IEMgJngpewoJCXJldHVybiBvczw8IiBDWyI8PHguZC54PDwiXSI7Cgl9Cgp9OwoKaW50IG1haW4oKQp7CgoJQyBjOwoJYyA9IDEgKyBjOwoJc3RkOjpjb3V0IDw8IGM7CgoJcmV0dXJuIDA7Cn0K