string recursive permutations