permute a string