>>36
#include <stdio.h>

int fact( int n ) { return ( n < 2 ) ? 1 : n * fact( n - 1 ); }
int nPr( int n, int r ) { return fact( n ) / fact( n - r );}
int nCr( int n, int r ) { return nPr( n, r ) / fact( r );}
int max( int a, int b ) { return ( a > b ) ? a : b ; }
int min( int a, int b ) { return ( a > b ) ? b : a ; }

int main( void )
{
int a,b,c,M,m;
printf( "a=" ); scanf( "%d",&a );
printf( "b=" ); scanf( "%d",&b );
printf( "c=" ); scanf( "%d",&c );
printf( "M=%d\n", M = max( max( a, b ), c ) );
printf( "m=%d\n", m = min( min( a, b ), c ) );
printf( "MPm=%dP%d=%d\n", M, m, nPr( M, m ) );
printf( "MCm=%dC%d=%d\n", M, m, nCr( M, m ) );
return 0;
}