Given n pairs of parentheses, write a function to generate all combinations of well-formed parentheses.