#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;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dHlwZWluZm8+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgp0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4Kdm9pZCBmKGNvbnN0IFQmKSB7Cgljb3V0IDw8ICJmKFQmKSIgPDwgZW5kbDsKfQoKdGVtcGxhdGUgPHR5cGVuYW1lIFQ+CnZvaWQgZihjb25zdCBUKikgewoJY291dCA8PCAiZihUKikiIDw8IGVuZGw7Cn0KCmludCBtYWluKCkgewoJLy8geW91ciBjb2RlIGdvZXMgaGVyZQoJZihuZXcgaW50KTsKCXJldHVybiAwOwp9