Generate takes in multiple substitutions, generates different combinations and outputs only the distinct combinations from multiple alternate substitutions