Задача №3348. Сумма (AB)
Рассматриваются все разбиения натурального числа \(N\) на сумму \(К\) неотрицательных слагаемых (\(1 \leq N \leq 32\), \(2 \leq K \leq 32\)). Суммы, отличающиеся только порядком слагаемых, считаем различными. Упорядочим все разбиения по убыванию первого слагаемого, а при равных первых слагаемых – по убыванию второго слагаемого, а при равных первых и вторых слагаемых – по убыванию третьего слагаемого и т. д. Пронумеруем их. Например, при \(N=4\), \(К=3\) имеем:
| Номер | 1 слагаемое | 2 слагаемое | 3 слагаемое | 
|---|---|---|---|
| 1 | 4 | 0 | 0 | 
| 2 | 3 | 1 | 0 | 
| 3 | 3 | 0 | 1 | 
| 4 | 2 | 2 | 0 | 
| 5 | 2 | 1 | 1 | 
| 6 | 2 | 0 | 2 | 
| 7 | 1 | 3 | 0 | 
| 8 | 1 | 2 | 1 | 
| 9 | 1 | 1 | 2 | 
| 10 | 1 | 0 | 3 | 
| 11 | 0 | 4 | 0 | 
| 12 | 0 | 3 | 1 | 
| 13 | 0 | 2 | 2 | 
| 14 | 0 | 1 | 3 | 
| 15 | 0 | 0 | 4 | 
В первой строке входного файла записана последовательность чисел. Если первое число \(0\), то необходимо найти разбиение по номеру, а если \(1\), то номер по разбиению. В первом случае далее в файле записано количество слагаемых, сумма и номер разбиения. Во втором случае далее в файле записано количество слагаемых \(K\) и затем разбиение (\(K\) неотрицательных чисел, сумма которых \(N\)). Все числа разделены пробелами.
Выведите в выходной файл разбиение либо номер.
0 3 4 9
1 1 2
1 3 0 1 3
14