#include <iostream>

template<class T1, class T2>
void foo(T1 a, T1 b)
{
	std::cout << "same\n";
}

template<class T1, class T2>
void foo(T1 a, T2 b)
{
	std::cout << "different\n";
}

int main()
{
	foo(1,1);
	//foo(1,2.3);
	foo<int,int>(1, 1);
	//foo<int,int>(1, 2.3);

}