#include <iostream>
#include <string>
using namespace std;
template<typename T>
std::string toString(const T& t) {
return std::to_string(t);
}
std::string toString(const char* t) {
return t;
}
std::string toString(const std::string& t) {
return t;
}
int main() {
cout << toString(10) << endl;
cout << toString(1.5) << endl;
cout << toString("char*") << endl;
cout << toString(std::string("string")) << endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKdGVtcGxhdGU8dHlwZW5hbWUgVD4Kc3RkOjpzdHJpbmcgdG9TdHJpbmcoY29uc3QgVCYgdCkgewogICAgcmV0dXJuIHN0ZDo6dG9fc3RyaW5nKHQpOwp9CgpzdGQ6OnN0cmluZyB0b1N0cmluZyhjb25zdCBjaGFyKiB0KSB7CiAgICByZXR1cm4gdDsKfQoKc3RkOjpzdHJpbmcgdG9TdHJpbmcoY29uc3Qgc3RkOjpzdHJpbmcmIHQpIHsKICAgIHJldHVybiB0Owp9CgppbnQgbWFpbigpIHsKICAgIGNvdXQgPDwgdG9TdHJpbmcoMTApIDw8IGVuZGw7CiAgICBjb3V0IDw8IHRvU3RyaW5nKDEuNSkgPDwgZW5kbDsKICAgIGNvdXQgPDwgdG9TdHJpbmcoImNoYXIqIikgPDwgZW5kbDsKICAgIGNvdXQgPDwgdG9TdHJpbmcoc3RkOjpzdHJpbmcoInN0cmluZyIpKSA8PCBlbmRsOwogICAgcmV0dXJuIDA7Cn0K