eolymp
bolt
Спробуйте наш новий інтерфейс для відправки розв'язків
Задачі

Плюсы и звездочки – 2

Плюсы и звездочки – 2

Задана последовательность целых чисел \textbf{a_1} ? \textbf{a_2} ? \textbf{a_3} ? … ? \textbf{a_n}. Следует заменить каждый \textbf{?} либо +, либо *. Далее выражение вычисляется согласно арифметическим правилам, где + обозначает сложение, * обозначает умножение. Умножение имеет больший приоритет над сложением, то есть \textbf{2} + \textbf{2} * \textbf{2} равно \textbf{6}, а не \textbf{8}. Сколькими способами можно получить результат \textbf{r}? \InputFile Первая строка содержит два числа \textbf{n} и \textbf{r} - количество значений \textbf{a_i} и требуемый результат. Вторая строка содержит разделенные пробелом числа \textbf{a_1}, \textbf{a_2}, \textbf{a_3}, …, \textbf{a_n} (\textbf{3} ≤ \textbf{n} ≤ \textbf{36}, \textbf{1} ≤ \textbf{r} ≤ \textbf{2^42}, \textbf{1} ≤ \textbf{a_k} ≤ \textbf{2^17}). \OutputFile Вывести одно число - количество способов, которыми можно получить значение \textbf{r}.
Ліміт часу 4 секунди
Ліміт використання пам'яті 64 MiB
Вхідні дані #1
2 4
2 2
Вихідні дані #1
2

Пояснення: Пять вариантов: 2+2+2+2; 2+2+2*2; 2+2*2+2; 2*2+2+2; 2*2+2*2.

Джерело 2014 ACM-ICPC Украина, 2ой Раунд Украина, Сентябрь 13, Задача B