Додавання
Для заданої суми та списку можливих доданків, які є цілими числами, знайти усі способи отримання заданої суми. Наприклад, якщо задано суму 4 та список чисел 4 3 2 2 1 1, то отримаємо
Sums of 4: 4 3+1 2+2 2+1+1
Вхідні дані
Вхідний файл може містити довільну кількість тестів. Дані для кожного тесту можуть міститись у одному рядку. Перші два числа вказують суму та кількість чисел у списку. Далі міститься сам список чисел. Усі числа буде відокремлено одним або декількома пропусками. Числа у кожному списку відображаються у порядку спадання, але можуть бути повтори. Усього буде не більше 12 чисел у кожному списку, і кожне число буде додатним цілим числом меншим 1000. Сума є додатним цілим числом меншим 1000.
Вихідні дані
Для кожного набору вхідних даних виведіть спочатку рядок з повідомленням "Sums of", і подальшим значенням самої суми. Далі перерахуйте суми по одній у рядку. Якщо немає можливості набрати таку суму, виведіть рядок "NONE". Числа у кожній сумі повинні бути у порядку спадання. Число може бути повторено у сумі стільки разів, скільки воно було повторено у початковому списку. Кожен тест для суми повинен бути відсортований так, як це показано у прикладі вихідних даних. При виведенні списку сум не повинно бути ніяких дублюючих рядків. Кожен рядок повинен бути виведений з нового рядка. Виводьте одиночні пропуски до і після слова " of ".