PERMUTE (Algorithm 86)
CACM August, 1962
Collison, D. M.
