Given n pairs of parentheses, generate all combinations of well-formed parentheses.
n = 3
["((()))","(()())","(())()","()(())","()()()"]
n = 1
["()"]