정수 분할

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

문제

양의 정수 $k$의 분할이란 $k$를 양의 정수들의 합으로 나타내되, 그 정수들을 넓은 의미의 감소(비증가) 순서로 나열한 것이다. 분할은 $a_1 \ge a_2 \ge \dots \ge a_n \ge 1$이고 $a_1 + a_2 + \dots + a_n = k$인 수열 $(a_1, a_2, \dots, a_n)$으로 표현한다. 예를 들어 $(12)$, $(2,2,2,2,2,2)$, $(5,3,2,1,1)$은 모두 $12$의 분할이다.

서로 다른 두 분할 $A = (a_1, a_2, \dots, a_n)$과 $B = (b_1, b_2, \dots, b_m)$에 대해, 두 수열이 처음으로 달라지는 위치를 $t$라 하자(즉 $i < t$인 모든 $i$에서 $a_i = b_i$이고 $a_t \ne b_t$). 이때 $a_t > b_t$이면 $A > B$로 정의한다. $A$와 $B$가 같은 정수의 분할이므로 이러한 위치 $t$는 항상 존재한다.

이 규칙에 따라 $k$의 모든 분할을 사전식으로 작은 것부터 큰 것까지 정렬할 수 있다. 예를 들어 $5$의 분할을 순서대로 나열하면 다음과 같다.

(1,1,1,1,1)
(2,1,1,1)
(2,2,1)
(3,1,1)
(3,2)
(4,1)
(5)

$k$와 양의 정수 $a$가 주어질 때, 이렇게 정렬한 $k$의 분할 목록에서 ($1$부터 세어) $a$번째 분할을 구하여라.

입력

첫째 줄에 테스트 케이스의 수 $N$이 주어진다. 이어지는 $N$개의 줄에는 각각 두 양의 정수 $k$와 $a$가 주어진다.

출력

각 테스트 케이스마다 $k$의 분할을 사전식 순서로 나열했을 때 $a$번째 분할을 출력한다. 각 부분을 쉼표로 구분하고 전체를 괄호로 감싸서, 예를 들어 (5,3,2,1,1)과 같은 형식으로 출력한다. 만약 $a$가 $k$의 분할의 총 개수보다 크면 대신 Too big을 출력한다.