#include <iostream>

using namespace std;

struct A {virtual void foo(){}};
struct B {virtual void foo(){}};

int main() {
    A *a = new A();	
    B *b = new B();
    A *aPtr1 = dynamic_cast<A*>(b);
    cout << (aPtr1 == 0) << endl;
    A *aPtr2 = dynamic_cast<A*>(a);
    cout << (aPtr2 == 0) << endl;
    delete a;
    delete b;
	return 0;
}