¿Cómo obtener todas las combinaciones únicas n-largas de un conjunto de elementos duplicables?

He encontrado muchas soluciones que dan una colección de elementos combinados en todos los pedidos posibles, pero todos usan cada elemento solo una vez en cada resultado, mientras que necesito que sean tratados como reutilizables.

Por ejemplo, si los elementos de entrada son {"a", "b", "c"} y el número es 2, la salida será {"a", "a"}, {"a", "b"}, { "a", "c"}, {"b", "a"}, {"b", "b"}, {"b", "c"}, {"c", "a"}, { "c", "b"}, {"a", "c"}.

Respuestas a la pregunta(5)

Su respuesta a la pregunta