#include <iostream>
using namespace std;
class A { public: virtual int get() {return 1;} };
class B : public A { public: int get() {return 2;} };
class C : public B { public: int get() {return 3;} };
int main() {
B *x = new C();
int i = x->get();
delete x;
cout << i << endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKY2xhc3MgQSB7IHB1YmxpYzogdmlydHVhbCBpbnQgZ2V0KCkge3JldHVybiAxO30gfTsKY2xhc3MgQiA6IHB1YmxpYyBBIHsgcHVibGljOiBpbnQgZ2V0KCkge3JldHVybiAyO30gfTsKY2xhc3MgQyA6IHB1YmxpYyBCIHsgcHVibGljOiBpbnQgZ2V0KCkge3JldHVybiAzO30gfTsKCmludCBtYWluKCkgewoJQiAqeCA9IG5ldyBDKCk7CglpbnQgaSA9IHgtPmdldCgpOwoJZGVsZXRlIHg7Cgljb3V0IDw8IGkgPDwgZW5kbDsKCXJldHVybiAwOwp9