generates all combinations of elements taken
at a time
generates all permutations of elements
returns random combinations of elements taken
at a time
returns generates a random permutation of elements from a finite set of
elements,
returns random permutations of elements