Permutations, combinations, and variations