class A {
public:
A() {};
protected:
virtual int Action() = 0;
};
class B: public A {
public:
int Action();
};
int B::Action() {
return 4;
}
int main() {
B newB;
newB.Action();
}
Y2xhc3MgQSB7CnB1YmxpYzoKICAgIEEoKSB7fTsKcHJvdGVjdGVkOgogICAgdmlydHVhbCBpbnQgQWN0aW9uKCkgPSAwOwp9OwoKY2xhc3MgQjogcHVibGljIEEgewpwdWJsaWM6CiAgICBpbnQgQWN0aW9uKCk7Cn07CgppbnQgQjo6QWN0aW9uKCkgewogICByZXR1cm4gNDsKfQogCmludCBtYWluKCkgewogICAgQiBuZXdCOwogICAgbmV3Qi5BY3Rpb24oKTsKfQo=