#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;
}