#include <iostream>
#include <typeinfo>
using namespace std;

template <typename T>
void f(const T&) {
	cout << "f(T&)" << endl;
}

template <typename T>
void f(const T*) {
	cout << "f(T*)" << endl;
}

int main() {
	// your code goes here
	f(new int);
	return 0;
}