generate parentheses

recursion