#include <iostream>
using namespace std;

    class  Base {
        public :
        void show() {
            cout<<"This is base class"<<endl;
        }
    };
    class  Derived : public Base {
        public:
        virtual void show() {
            cout<<"This is derived class"<<endl;
        }
    };

    class D2 : public Derived {
        public :
        void show () {
            cout<<"This is derived 2"<<endl;
        }
    };

    int main() {
        // your code goes here
        Derived *obj = new D2();
        obj->show();
        return 0;
}