#include <iostream>
template <typename T>
void test(T&& arg)
{
arg += arg;
}
int main() {
int i = 12;
std::string s("ab");
std::cout << "i = " << i << " s = " << s << std::endl;
test(i);
std::cout << "i = " << i << std::endl;
test((int)i);
std::cout << "i = " << i << std::endl;
test(s);
std::cout << "s = " << s << std::endl;
test((std::string)s);
std::cout << "s = " << s << std::endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKdGVtcGxhdGUgPHR5cGVuYW1lIFQ+CnZvaWQgdGVzdChUJiYgYXJnKQp7CglhcmcgKz0gYXJnOwp9CgppbnQgbWFpbigpIHsKCWludCBpID0gMTI7IAoJc3RkOjpzdHJpbmcgcygiYWIiKTsgCglzdGQ6OmNvdXQgPDwgImkgPSAiIDw8IGkgPDwgIiAgIHMgPSAiIDw8IHMgPDwgc3RkOjplbmRsOwoJdGVzdChpKTsKCXN0ZDo6Y291dCA8PCAiaSA9ICIgPDwgaSA8PCBzdGQ6OmVuZGw7Cgl0ZXN0KChpbnQpaSk7CglzdGQ6OmNvdXQgPDwgImkgPSAiIDw8IGkgPDwgc3RkOjplbmRsOwoJdGVzdChzKTsKCXN0ZDo6Y291dCA8PCAicyA9ICIgPDwgcyA8PCBzdGQ6OmVuZGw7Cgl0ZXN0KChzdGQ6OnN0cmluZylzKTsKCXN0ZDo6Y291dCA8PCAicyA9ICIgPDwgcyA8PCBzdGQ6OmVuZGw7CglyZXR1cm4gMDsKfQ==