우표

아직 제출이 없습니다시간 제한1초메모리 제한128 MB

문제

노바 마레테라니아 정부는 세입을 얻기 위해 여러 법률 문서에 수입 인지(우표)를 붙인다. 최근 법에 따르면 문서의 종류마다 붙일 수 있는 우표의 개수에 상한이 있다. 정부는 이 상한 안에서 만들 수 있는 금액의 범위를 최대한 넓히기 위해, 어떤 액면가의 우표를 몇 종류나 발행해야 하는지 알고 싶어 한다. 모든 우표의 액면가는 양의 정수(달러 단위)이다.

한 문서에 우표를 최대 $h$장까지 붙일 수 있고 사용할 수 있는 액면가가 $k$종류일 때, $n(h,k)$를 "$1$부터 $N$까지의 모든 금액을 우표 $h$장 이하로 만들 수 있는 가장 큰 값 $N$"으로 정의한다. 같은 액면가의 우표는 여러 장 사용할 수 있고 각 액면가의 수량에는 제한이 없다(오직 총 장수 $h$만 제한된다). $1$원을 만들려면 반드시 액면가 $1$이 필요하므로, 액면가 중 하나는 항상 $1$이다.

예를 들어 $h = 3$, $k = 2$인 경우: 액면가 $1$과 $4$를 쓰면 $1$부터 $6$까지의 모든 금액을 만들 수 있지만, 액면가 $1$과 $3$을 쓰면 $1$부터 $7$까지 모두 만들 수 있다. 두 번째 선택이 더 좋으므로 $n(3, 2) = 7$이다.

$h$와 $k$가 주어질 때, $n(h,k)$를 최대로 만드는 $k$개의 액면가를 골라, 그 액면가들과 $n(h,k)$의 값을 함께 출력하라.

입력

입력은 여러 줄로 이루어진다. 각 줄에는 공백으로 구분된 두 정수 $h$와 $k$가 주어지며, $h \ge 1$, $k \ge 1$, $h + k \le 9$이다.

입력의 끝은 0 0만 있는 줄로 표시되며, 이 줄은 질의가 아니므로 처리하지 않는다.

출력

각 질의마다 한 줄을 출력한다. 고른 $k$개의 액면가를 오름차순으로 각각 폭 3칸에 오른쪽 정렬하여 쓰고, 이어서 공백 하나와 화살표 ->, 그리고 $n(h,k)$의 값을 폭 3칸에 오른쪽 정렬하여 출력한다.

서로 다른 여러 액면가 집합이 같은 최댓값 $n(h,k)$에 도달할 수 있다. 이 경우 사전순으로 가장 작은 집합을 출력한다. 즉, 두 오름차순 액면가 수열을 앞에서부터 한 자리씩 비교하여 처음으로 값이 달라지는 자리에서 더 작은 값을 갖는 쪽을 택한다.