Permutation Generator (Algorithm 87)
CACM August, 1962
Collison, D. M.
