#include <iostream>
using namespace std;
template <typename T>
void f(T & t)
{
cout << __PRETTY_FUNCTION__ << endl;
}
void f(const string &)
{
cout << __PRETTY_FUNCTION__ << endl;
}
void f(int)
{
cout << __PRETTY_FUNCTION__ << endl;
}
int main()
{
f(1.0);
f(1);
f(string("sss"));
string a;
f(a);
}
ICAgICNpbmNsdWRlIDxpb3N0cmVhbT4KICAgIHVzaW5nIG5hbWVzcGFjZSBzdGQ7CiAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KICAgIHZvaWQgZihUICYgdCkKICAgIHsKICAgICAgIGNvdXQgPDwgX19QUkVUVFlfRlVOQ1RJT05fXyA8PCBlbmRsOwogICAgfQogICAgdm9pZCBmKGNvbnN0IHN0cmluZyAmKQogICAgewogICAgICAgY291dCA8PCBfX1BSRVRUWV9GVU5DVElPTl9fIDw8IGVuZGw7CiAgICB9CiAgICB2b2lkIGYoaW50KQogICAgewogICAgICAgY291dCA8PCBfX1BSRVRUWV9GVU5DVElPTl9fIDw8IGVuZGw7CiAgICB9CiAgICBpbnQgbWFpbigpCiAgICB7CiAgICAgICAgZigxLjApOwogICAgICAgIGYoMSk7CiAgICAgICAgZihzdHJpbmcoInNzcyIpKTsKCXN0cmluZyBhOwoJZihhKTsKICAgIH0K