- #include <iostream> 
-   
- class A {  
- private: 
-     int a; 
- public: 
-     A(int a) : a(a) { }  
-     void print() { std::cout << a; } 
-   
-     A& operator+=(const A &other) { 
-         a += other.a; 
-         return *this; 
-     }    
- }; 
-   
- class B : public A {  
- private: 
-     int b; 
- public: 
-     B(int a, int b) : A(a), b(b) { }  
-     void print() {  
-     	std::cout << '(';  
-     	A::print(); 
-     	std::cout << ", " << b << ')' << std::endl; 
-     } 
-   
-     B& operator+=(const B &other) { 
-         A::operator+=(other); 
-         b += other.b; 
-         return *this; 
-     }    
- }; 
-   
- int main() { 
-     B b1(1, 2);  
-     B b2(3, 4);  
-     b1.print(); 
-     b1 += b2;  
-     b1.print(); 
-   
-     return 0; 
- } 
				I2luY2x1ZGUgPGlvc3RyZWFtPgoKY2xhc3MgQSB7IApwcml2YXRlOgogICAgaW50IGE7CnB1YmxpYzoKICAgIEEoaW50IGEpIDogYShhKSB7IH0gCiAgICB2b2lkIHByaW50KCkgeyBzdGQ6OmNvdXQgPDwgYTsgfQogICAgCiAgICBBJiBvcGVyYXRvcis9KGNvbnN0IEEgJm90aGVyKSB7CiAgICAgICAgYSArPSBvdGhlci5hOwogICAgICAgIHJldHVybiAqdGhpczsKICAgIH0gICAKfTsKCmNsYXNzIEIgOiBwdWJsaWMgQSB7IApwcml2YXRlOgogICAgaW50IGI7CnB1YmxpYzoKICAgIEIoaW50IGEsIGludCBiKSA6IEEoYSksIGIoYikgeyB9IAogICAgdm9pZCBwcmludCgpIHsgCiAgICAJc3RkOjpjb3V0IDw8ICcoJzsgCiAgICAJQTo6cHJpbnQoKTsKICAgIAlzdGQ6OmNvdXQgPDwgIiwgIiA8PCBiIDw8ICcpJyA8PCBzdGQ6OmVuZGw7CiAgICB9CiAgICAKICAgIEImIG9wZXJhdG9yKz0oY29uc3QgQiAmb3RoZXIpIHsKICAgICAgICBBOjpvcGVyYXRvcis9KG90aGVyKTsKICAgICAgICBiICs9IG90aGVyLmI7CiAgICAgICAgcmV0dXJuICp0aGlzOwogICAgfSAgIAp9OwoKaW50IG1haW4oKSB7CiAgICBCIGIxKDEsIDIpOyAKICAgIEIgYjIoMywgNCk7IAogICAgYjEucHJpbnQoKTsKICAgIGIxICs9IGIyOyAKICAgIGIxLnByaW50KCk7CiAgICAgICAgCiAgICByZXR1cm4gMDsKfQ==