#include <iostream>
using std::cout;
using std::endl;
template <class T> void function(T a)
{
cout << "function(T a): " << a << endl;
}
template <class X, class Y> void function(X a, Y b)
{
cout << "function(X a, Y b): " << a << " " << b << endl;
}
int main()
{
function(7);
function(12, 99);
return 0;
}
/*
run:
function(T a): 7
function(X a, Y b): 12 99
*/