Ви працюєте на касi на розважальному ярмарку i у вас є рiзнi номiнали монет, якi доступнi вам у нескiнченних кiлькостях. Значення кожної монети дається. Необхiдно визначити кiлькiсть способiв набору певної суми за допомогою заданих номiналiв монет?
Наприклад, якщо у вас є 4 типи монет, а номiнали задано вiдповiдно 8,3,2,1, ви можете набрати суму 3 трьома способами: {1,1,1}, {1,2} i {3}.
Формат вхiдних даних
Перший рядок мiстить два цiлих цiлих числа ~n~ ~(1 \le n \le 250)~ та ~m~ ~(1 \le m \le 50)~, де:
~n~ - сума, яку треба набрати;
~m~ - кiлькiсть номiналiв монет.
Другий рядок мiстить цiлi числа, що описують вiдповiднi значення кожного номiналу монет: ~c_0, c_1 ,...,c_{m−1}~ ~(1 \le c_i \le 50)~
Формат вихiдних даних
Вивести одне число - кiлькiсть способiв набору суми ~n~ даними номiналами монет.
Приклад вхідних даних
4 3
1 2 3
Приклад вихідних даних
4
Коментарі