// Generate Parentheses — MEDIUM
// Category: backtracking
Given `n` pairs of parentheses, write a function to generate all combinations of well-formed parentheses.
**Approach:** Backtrack — add `(` if open count < n, add `)` if close count < open count.
Example: n = 3
Output: ["((()))","(()())","(())()","()(())","()()()"]