prm:{$[x~*x;;:x@o@#x];(x-1){,/'((,(#*x)##x),x)m*(!l)+&\m:~=l:1+#x}/0} perm:{x[prm[#x]]} perm[" "\"some random text"] (("text";"text";"random";"some";"random";"some") ("random";"some";"text";"text";"some";"random") ("some";"random";"some";"random";"text";"text"))