#include <iostream>
using namespace std;
class Base{};
class Derived: public Base {};
int main()
{
Derived d;
try{
throw d;
}
catch(Base b){
cout<<"Caught Base Exception";
}
catch(Derived d){
cout<<"Caught Derived exception";
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmNsYXNzIEJhc2V7fTsKY2xhc3MgRGVyaXZlZDogcHVibGljIEJhc2Uge307CgppbnQgbWFpbigpCnsKICAgRGVyaXZlZCBkOwoKICAgdHJ5ewogICAgICAgIHRocm93IGQ7CiAgIH0KICAgY2F0Y2goQmFzZSBiKXsKICAgICAgICBjb3V0PDwiQ2F1Z2h0IEJhc2UgRXhjZXB0aW9uIjsKICAgfQogICBjYXRjaChEZXJpdmVkIGQpewogICAgICAgIGNvdXQ8PCJDYXVnaHQgRGVyaXZlZCBleGNlcHRpb24iOwogICB9CiAgIHJldHVybiAwOwp9