# CombinatorialCase011

This case produces M Multicombinations of N items. A multicombination is a collection of Multisets (sets which may contain repeated elements) according to certain criteria. In particular, it produces a matrix whose rows are multisets of length M, from the values ⍳N.

• M unlabeled balls (0), N labeled boxes (1), any # balls per box (1)
• Sensitive to ⎕IO
• Allows Lexicographic and Gray Code order
• Counted result is an integer scalar
• Generated result is an integer matrix.

The count for this function is M!M+N-1.

For example:

If we have 2 unlabeled balls (●●) and 3 labeled boxes (123) with any # of balls per box, there are 6 (↔ 2!2+3-1) ways to meet these criteria:

 ●● 1 2 3
 ● ● 1 2 3
 ● ● 1 2 3
 ●● 1 2 3
 ● ● 1 2 3
 ●● 1 2 3

The diagram above corresponds to:

```      11 1‼2 3 ⍝ Multicombinations in unspecified order
1 1
2 2
1 2
3 3
2 3
1 3
11 2‼2 3 ⍝ Multicombinations in Lexicographic order
1 1
1 2
1 3
2 2
2 3
3 3
11 3‼2 3 ⍝ Multicombinations in Gray Code order
1 1
2 2
1 2
3 3
2 3
1 3
⍝ M Multicombinations of N items
⍝ Unlabeled balls, labeled boxes, any # Balls per Box
11 2‼3 3
1 1 1
1 1 2
1 1 3
1 2 2
1 2 3
1 3 3
2 2 2
2 2 3
2 3 3
3 3 3
11 2‼3 2
1 1 1
1 1 2
1 2 2
2 2 2
11 2‼3 1
1 1 1
```

In general, this case is related to that of Combinations (010) via the following identities:

```010 1‼M N ↔ (011 1‼M,N-M-1)+[⎕IO+1] 0..M-1
011 1‼M N ↔ (010 1‼M,M+N-1)-[⎕IO+1] 0..M-1
```