#include <iostream>
using namespace std;
template<typename T>
class Example : T {
};
struct A {
A() {
cout << "I am an A!" << endl;
}
};
struct B {
B() {
cout << "I am a B!" << endl;
}
};
int main() {
Example<A> a;
Example<B> b;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKdGVtcGxhdGU8dHlwZW5hbWUgVD4KY2xhc3MgRXhhbXBsZSA6IFQgewp9OwoKc3RydWN0IEEgewoJQSgpIHsKCQljb3V0IDw8ICJJIGFtIGFuIEEhIiA8PCBlbmRsOwoJfQp9OwpzdHJ1Y3QgQiB7CglCKCkgewoJCWNvdXQgPDwgIkkgYW0gYSBCISIgPDwgZW5kbDsKCX0KfTsKCmludCBtYWluKCkgewoJRXhhbXBsZTxBPiBhOwoJRXhhbXBsZTxCPiBiOwoJcmV0dXJuIDA7Cn0=