add various next-permutation style programs