#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;
}