- #include <iostream> 
-   
- using namespace std; 
-   
- class A { 
- protected: 
-     int val; 
- public: 
-     A(int x) : val(x) {} 
- }; 
-   
- struct B : public A { 
-     B(int x) : A(x) {} 
- }; 
-   
- struct C : public B { 
-     C(int x) : B(x) {} 
-     void show() { 
-         cout << val << endl; 
-     } 
- }; 
-   
- int main() { 
- 	C c(123); 
-     c.show(); 
- 	return 0; 
- } 
				I2luY2x1ZGUgPGlvc3RyZWFtPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmNsYXNzIEEgewpwcm90ZWN0ZWQ6CiAgICBpbnQgdmFsOwpwdWJsaWM6CiAgICBBKGludCB4KSA6IHZhbCh4KSB7fQp9OwoKc3RydWN0IEIgOiBwdWJsaWMgQSB7CiAgICBCKGludCB4KSA6IEEoeCkge30KfTsKCnN0cnVjdCBDIDogcHVibGljIEIgewogICAgQyhpbnQgeCkgOiBCKHgpIHt9CiAgICB2b2lkIHNob3coKSB7CiAgICAgICAgY291dCA8PCB2YWwgPDwgZW5kbDsKICAgIH0KfTsKCmludCBtYWluKCkgewoJQyBjKDEyMyk7CiAgICBjLnNob3coKTsKCXJldHVybiAwOwp9