#include <iostream>
using namespace std;

template <typename T>
T maximus( T t1, T t2 );
template <typename T>
T maximus( T x, T y, T z );
int main()
{
    cout << maximus( 1, 0 ) << endl;
    cout << maximus( 2, 1, 3 ) << endl;
    return 0;
}

template <typename T>
T maximus( T t1, T t2 )
{
    return t1 > t2 ? t1 : t2;
}
template <typename T>
T maximus( T x, T y, T z )
{
    return ( x > y ) ? ( ( x > z ) ? x : z ) : ( ( y > z ) ? y : z );
}