Diverse Permutation (constructive algorithms)