Partitions diofant.combinatorics.partitions Partition IntegerPartition random_integer_partition RGS_generalized RGS_enum RGS_unrank RGS_rank