generate all legal parenthesis paris of size n
generate all permutations of a string