We programmers know and love Pascal’s triangle: an array of
numbers with $1$ at the
top and whose entries are the sum of the two numbers directly
above (except numbers at both ends, which are always
$1$). For programming this
generation rule, the triangle is best represented leftaligned;
then the numbers on the left column and on the top row equal
$1$ and every other is the
sum of the numbers immediately above and to its left. The
numbers highlighted in bold correspond to the base of Pascal’s
triangle of height $5$:
\[ \begin{array}{rrrrr} \hline 1 & 1
& 1 & 1 & \textbf{1}\\ 1 & 2 & 3 &
\textbf{4} \\ 1 & 3 & \textbf{6} \\ 1 & \textbf{4}
\\ \textbf{1} \end{array} \]
Pascal’s hyperpyramids generalize
the triangle to higher dimensions. In $3$ dimensions, the value at position
$(x, y, z)$ is the sum of
up to three other values:

$(x, y, z1)$, the
value immediately below it if we are not on the bottom face
($z=0$);

$(x, y1, z)$, the
value immediately behind if we are not on the back face
($y=0$);

$(x1, y, z)$, the
value immediately to the left if we are not on the leftmost
face ($x=0$).
All values at the bottom, back, and leftmost faces are
$1$.
The following figure depicts Pascal’s 3Dpyramid of height
$5$ as a series of plane
cuts obtained by fixing the value of the $z$ coordinate.
$z = 0$

$z = 1$

$z = 2$

$z = 3$

$z
= 4$

\[ \begin{array}{rrrrr}
\hline 1 & 1 & 1 & 1 & \textbf{1} \\ 1
& 2 & 3 & \textbf{4} \\ 1 & 3 &
\textbf{6} \\ 1 & \textbf{4} \\ \textbf{1}
\end{array} \]

\[ \begin{array}{rrrr}
\hline 1 & 2 & 3 & \textbf{4} \\ 2 & 6
& \textbf{12} \\ 3 & \textbf{12} \\ \textbf{4}
\end{array} \]

\[ \begin{array}{rrr}
\hline 1 & 3 & \textbf{6} \\ 3 &
\textbf{12} \\ \textbf{6} & \end{array} \]

\[ \begin{array}{rr}
\hline 1 & \textbf{4} \\ \textbf{4} \\ \end{array}
\]

\[ \begin{array}{c}
\hline \textbf{1} \end{array} \]

For example, the number at position $x=1$, $y=2$, $z=1$ is the sum of the values at
$(0, 2, 1)$, $(1, 1, 1)$ and $(1, 2, 0)$, namely, $6 + 3 + 3 = 12$. The base of the
pyramid corresponds to a plane of positions such that
$x+y+z = 4$ (highlighted
in bold above).
The size of each layer grows quadratically with the height
of the pyramid, but there are many repeated values due to
symmetries: numbers at positions that are permutations of one
another must be equal. For example, the numbers at positions
$(0,1,2)$, $(1,2,0)$ and $(2,1,0)$ above are all equal to
$3$.
Task
Write a program that, given the number of dimensions
$D$ of the hyperspace and
the height $H$ of a
hyperpyramid, computes the set of numbers at the base.
Input
A single line with two positive integers: the number of
dimensions, $D$, and the
height of the hyperpyramid, $H$.
Constraints
$2$

$\leq $

$D$

$<$

$32$

Number of dimensions

$1$

$\leq $

$H$

$<$

$32$

Height

$D$ and
$H$ are such that
all numbers in the hyperpyramid are less than
$2^{63}$.

Output
The set of numbers at the base of the hyperpyramid, with no
repetitions, one number per line, and in ascending order.
Sample Input 1 
Sample Output 1 
2 5

1
4
6

Sample Input 2 
Sample Output 2 
3 5

1
4
6
12
