solution: unique paths 1 -> [math] permutation and combination
solution: unique paths 2 -> dp
solution: generate parentheses 1 -> recursive