파스칼의 초피라미드
시간 제한2초메모리 제한512 MB
높이 H인 D차원 파스칼 초피라미드의 밑면에 나타나는 서로 다른 값을 오름차순으로 출력한다.
문제
파스칼의 삼각형은 맨 위에 1이 놓이고, 나머지 수는 바로 위에 있는 두 수의 합이다. 양 끝의 수는 항상 1이다. 이 규칙은 삼각형을 왼쪽으로 맞춰 그리면 프로그램으로 다루기 쉽다. 이렇게 그리면 맨 왼쪽 열과 맨 위 행은 모두 1이고, 나머지 수는 바로 위의 수와 바로 왼쪽의 수를 더한 값이다. 아래 그림에서 굵게 표시한 수가 높이 5인 파스칼 삼각형의 밑면이다.

파스칼의 초피라미드는 이 규칙을 더 높은 차원으로 확장한다. 3차원에서 위치 의 값은 최대 세 값의 합이다.
- , 바로 아래의 값. 위치가 밑면 에 있으면 빼고 센다.
- , 바로 뒤의 값. 위치가 뒷면 에 있으면 빼고 센다.
- , 바로 왼쪽의 값. 위치가 왼쪽 면 에 있으면 빼고 센다.
꼭대기 의 값은 1이다. 아래 그림은 높이 5인 3차원 피라미드를 값을 하나씩 고정한 평면 단면으로 보여 준다.

예를 들어 위치 , , 의 수는 , , 의 값을 더한 이다. 피라미드의 밑면은 인 위치가 이루는 평면이고, 위 그림에서 굵게 표시한 부분이다.
차원에서도 규칙은 같다. 꼭대기 의 값은 1이고, 다른 위치 의 값은 좌표 하나를 1 줄여서 얻는 위치들의 값을 모두 더한 값이다. 이미 0인 좌표는 줄이지 않고 넘어간다. 높이 인 초피라미드의 밑면은 을 만족하는 위치의 집합이다.
한 층의 크기는 피라미드의 높이에 대해 이차로 커지지만, 대칭 때문에 같은 값이 많이 나온다. 서로 순서만 바꾼 위치는 같은 수를 가진다. 예를 들어 위 그림의 , , 은 모두 3이다.
차원 수 와 높이 가 주어질 때, 초피라미드 밑면에 놓인 수의 집합을 구하는 프로그램을 작성하시오.
입력
첫째 줄에 차원 수 와 초피라미드의 높이 가 양의 정수로 주어진다.
출력
초피라미드 밑면에 놓인 수를 중복 없이, 한 줄에 하나씩, 증가하는 순서로 출력한다.
제한
- , 차원 수
- , 높이
- 초피라미드에 놓인 모든 수가 보다 작도록 와 가 주어진다.