int func( int x, int y, int z )
{
if( x == 1 || y == 1 || z == 1 ) return 1;
if( x < y && x < z )
return func( x, y - 1, z ) + func( x, y, z - 1 );
if( y < x && y < z )
return func( x - 1, y, z ) + func( x, y, z - 1 );
return func( x - 1, y, z ) + func( x, y - 1, z );
}
int main()
{
cout << func( 3, 3, 2 );
return 0;
}