바이티에게는 주사위 m개가 있습니다. 각 주사위는 면이 n개이고, 각 면에는 1,2,…,n의 눈이 하나씩 적혀 있습니다.
바이티는 주사위를 한 줄로 늘어놓되, 왼쪽부터 읽은 윗면의 눈들이 감소하지 않는(non-decreasing) 수열, 즉 각 값이 바로 앞의 값보다 작지 않은 배열만 생각합니다.
이런 배열 두 개를 비교할 때는, 값이 처음으로 달라지는 가장 왼쪽 위치를 보고 그 자리에 더 작은 값이 있는 쪽을 더 "나쁜" 배열로 봅니다. 즉 배열들을 사전순으로 정렬한 것과 같습니다.
바이티는 모든 윗면이 1인 가장 나쁜 배열에서 시작해, 이 순서대로 배열들을 하나씩 나열합니다. 이 나열에서 k번째 배열이 무엇인지 구하세요.
즉, 다음을 수행하는 프로그램을 작성하면 됩니다.
한 줄에 양의 정수 세 개 m, n, k가 주어집니다 (1≤m≤20, 4≤n≤50, 1≤k≤1018).
입력은 항상 k번째 배열이 존재하도록 주어집니다.
k번째 배열에 해당하는 주사위 m개의 윗면 눈을 공백으로 구분하여 한 줄에 출력합니다.