Задача №3348. Сумма (AB)

Рассматриваются все разбиения натурального числа \(N\) на сумму \(К\) неотрицательных слагаемых (\(1 \leq N \leq 32\), \(2 \leq K \leq 32\)). Суммы, отличающиеся только порядком слагаемых, считаем различными. Упорядочим все разбиения по убыванию первого слагаемого, а при равных первых слагаемых – по убыванию второго слагаемого, а при равных первых и вторых слагаемых – по убыванию третьего слагаемого и т. д. Пронумеруем их. Например, при \(N=4\), \(К=3\) имеем:

Номер1 слагаемое2 слагаемое3 слагаемое
1400
2310
3301
4220
5211
6202
7130
8121
9112
10103
11040
12031
13022
14013
15004
Напишите программу, которая находит разбиение по номеру либо номер по разбиению.

Входные данные

В первой строке входного файла записана последовательность чисел. Если первое число \(0\), то необходимо найти разбиение по номеру, а если \(1\), то номер по разбиению. В первом случае далее в файле записано количество слагаемых, сумма и номер разбиения. Во втором случае далее в файле записано количество слагаемых \(K\) и затем разбиение (\(K\) неотрицательных чисел, сумма которых \(N\)). Все числа разделены пробелами.

Выходные данные

Выведите в выходной файл разбиение либо номер.

Примеры
Входные данные
0 3 4 9
Выходные данные
1 1 2 
Входные данные
1 3 0 1 3
Выходные данные
14
Сдать: для сдачи задач необходимо войти в систему