#include <iostream>
using namespace std;



class Base {};
class Derived : public Base {};

template<typename T>
void doSomething(T t) { cout << "Type!" << endl; }

template<>
void doSomething(Base b) { cout << "Base!" << endl; }



int main() {
	Base b;
	doSomething(b);
	
	Derived d;
	doSomething(d);
	
	return 0;
}