#include <iostream>
using namespace std;
class Name
{
int a;
int b;
};
class Name1
{
int a;
int b;
};
template <class T>
void doMyStuff(T *t) { } // in general do nothing
template <>
void doMyStuff(Name *t) {
cout << "do something with Name*"<<endl;
}
template <>
void doMyStuff(Name1 *t) {
cout << "do something with Name1*"<<endl;
}
int main() {
Name *n;
Name1 *n1;
doMyStuff(n);
doMyStuff(n1);
// your code goes here
return 0;
}
ICAgICNpbmNsdWRlIDxpb3N0cmVhbT4KICAgIHVzaW5nIG5hbWVzcGFjZSBzdGQ7CiAgICAgCiAgICBjbGFzcyBOYW1lCiAgICB7CiAgICBpbnQgYTsKICAgIGludCBiOwogICAgfTsKICAgICAKICAgIGNsYXNzIE5hbWUxCiAgICB7CiAgICBpbnQgYTsKICAgIGludCBiOwogICAgfTsKICAgICAKICAgIHRlbXBsYXRlIDxjbGFzcyBUPgogICAgdm9pZCBkb015U3R1ZmYoVCAqdCkgeyB9ICAvLyBpbiBnZW5lcmFsIGRvIG5vdGhpbmcgCiAgICAgCiAgICB0ZW1wbGF0ZSA8PgogICAgdm9pZCBkb015U3R1ZmYoTmFtZSAqdCkgewogICAgICAgIGNvdXQgPDwgImRvIHNvbWV0aGluZyB3aXRoIE5hbWUqIjw8ZW5kbDsKICAgIH0KICAgIHRlbXBsYXRlIDw+CiAgICB2b2lkIGRvTXlTdHVmZihOYW1lMSAqdCkgewogICAgICAgIGNvdXQgPDwgImRvIHNvbWV0aGluZyB3aXRoIE5hbWUxKiI8PGVuZGw7CiAgICB9CiAgICAgCiAgICBpbnQgbWFpbigpIHsKICAgIE5hbWUgKm47CiAgICBOYW1lMSAqbjE7CiAgICBkb015U3R1ZmYobik7CiAgICBkb015U3R1ZmYobjEpOwoKICAgIC8vIHlvdXIgY29kZSBnb2VzIGhlcmUKICAgIHJldHVybiAwOwogICAgfQ==