https://oj.leetcode.com/problems/generate-parentheses/