#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