“…Several algorithms are known to generate descending k-compositions in lexicographic [19,58], reverse lexicographic [43], and minimal-change [45] order. Hindenburg's eighteenth century algorithm [13, p.106] generates ascending kcompositions in lexicographic order and is regarded as the canonical method to generate partitions into a fixed number of parts: see Knuth [27,p.2], Andrews [4, p.232] or Reingold, Nievergelt & Deo [42, p.191].…”