Variations with recursion.
combinations with recursion