This includes algorithm for repeated combinations.