A recursive approach to the generation of combinatorial configurations