#include #define min(a, b) ((a) < (b) ? (a) : (b)) #define max(a, b) ((a) > (b) ? (a) : (b)) typedef long long integer; integer factorial(integer n); integer permutations_no_repetition(integer n, integer r); integer permutations_with_repetition(integer n, integer r); integer combinations_no_repetition(integer n, integer r); integer combinations_with_repetition(integer n, integer r);