a collection of combinatorial functions
int unordered_triple_pair_rank(int i, int j, int k, int l, int m, int n)
void unordered_triple_pair_unrank(int rk, int &i, int &j, int &k, int &l, int &m, int &n)
void set_partition_4_into_2_unrank(int rk, int *v)