시간 제한
메모리 제한
시간 제한
2초
메모리 제한
128 MB
양의 정수 m을 n개의 원소로 나눈 분할(단, n ≤ m)이란, a₁ + ... + aₙ = m이고 a₁ ≤ a₂ ≤ ... ≤ aₙ을 만족하는 양의 정수 수열 a₁, ..., aₙ을 말한다. m을 n개의 원소로 나눈 모든 분할을 사전순으로 나열했을 때 k번째에 오는 분할을 구하여라.
분할 사이의 사전순은 다음과 같이 정의한다. m을 n개로 나눈 두 분할 a = [a₁, ..., aₙ]와 b = [b₁, ..., bₙ]에 대하여, 어떤 1 ≤ i ≤ n이 존재하여 모든 j < i에서 aⱼ = bⱼ이고 aᵢ < bᵢ이면 a < b이다. 분할은 사전순 오름차순으로 나열하며, 가장 먼저 오는 분할은 1, 1, ..., 1, m − n + 1이다.
첫째 줄에 테스트 케이스의 수 c가 주어진다. 이어지는 c개의 줄에는 각각 세 정수 m, n, k가 주어지며, 1 ≤ m ≤ 220, 1 ≤ n ≤ 10, 1 ≤ k이고 k는 m을 n개의 원소로 나눈 분할의 개수 이하이다.
각 테스트 케이스마다 m을 n개의 원소로 나눈 k번째 분할을 출력한다. 분할의 각 원소는 한 줄에 하나씩 출력한다.